/* shadcn create b37aQi: Nova / Neutral / Inter / Lucide / 0.625rem.
   Brand override: VamoAli primary. Scoped to the operational administration UI. */
:root {
  --va-nova-background: #ffffff;
  --va-nova-foreground: #171717;
  --va-nova-muted: #f5f5f5;
  --va-nova-muted-foreground: #737373;
  --va-nova-border: #e5e5e5;
  --va-nova-primary: #18d34d;
  --va-nova-primary-foreground: #102a16;
  --va-nova-destructive: #b91c1c;
  --va-nova-danger-bg: #fef2f2;
  --va-nova-ring: #a3a3a3;
  --va-nova-radius: 0.625rem;
  --va-nova-sidebar: #fafafa;
  --va-nova-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
#view-admin, .va-admin-dialog {
  --va-refresh-bg: var(--va-nova-background);
  --va-refresh-surface: var(--va-nova-background);
  --va-refresh-text: var(--va-nova-foreground);
  --va-refresh-muted: var(--va-nova-muted-foreground);
  --va-refresh-line: var(--va-nova-border);
  --va-refresh-accent: var(--va-nova-primary-foreground);
  --va-refresh-active: var(--va-nova-muted);
  --va-refresh-radius: var(--va-nova-radius);
  --va-refresh-panel-radius: var(--va-nova-radius);
  --va-refresh-field-radius: 6px;
  --va-refresh-shadow: var(--va-nova-shadow);
  --va-directory-ink: var(--va-nova-foreground);
  --va-directory-muted: var(--va-nova-muted-foreground);
  --va-directory-line: var(--va-nova-border);
  --va-directory-tint: var(--va-nova-muted);
  font-family: 'Inter', sans-serif;
}
#view-admin .admin-sidebar { background: var(--va-nova-sidebar) !important; border-color: var(--va-nova-border) !important; padding: 20px 12px !important; }
#view-admin .admin-tab-btn { min-height: 36px; font-size: 13px; border-radius: 6px; padding: 8px 10px; }
#view-admin .admin-tab-btn.active { background: var(--va-nova-border); color: var(--va-nova-foreground); box-shadow: none; }
#view-admin .admin-tab-btn.active :is(i, svg) { color: var(--va-nova-foreground); }
#view-admin .admin-sidebar-section { color: var(--va-nova-muted-foreground) !important; font-size: 11px !important; text-transform: none !important; letter-spacing: 0 !important; }
#view-admin .admin-sidebar-label { margin-bottom: 20px !important; }
#view-admin .admin-topbar { height: 60px; padding: 0 28px; }
#view-admin .admin-workspace-heading small { font-size: 10px; letter-spacing: 0.04em; }
#view-admin .admin-workspace-heading strong { font-size: 13px; font-weight: 500; }
#view-admin #admin-content { padding: 28px; background: var(--va-nova-background); font-size: 13px; }
#view-admin #admin-content .va-nova-page-body { max-width: none !important; padding: 0 !important; min-height: 0 !important; margin: 0 !important; background: transparent !important; }
#view-admin #admin-content :is(h1, h2) { font-family: 'Inter', sans-serif !important; font-size: 24px !important; font-weight: 600 !important; color: var(--va-nova-foreground) !important; letter-spacing: -0.035em !important; line-height: 1.3 !important; }
#view-admin #admin-content :is(h3, h4) { color: var(--va-nova-foreground) !important; font-family: 'Inter', sans-serif !important; font-weight: 600 !important; }
#view-admin #admin-content .va-nova-page-header { padding: 0 0 24px !important; margin: 0 0 24px !important; border-bottom: 1px solid var(--va-nova-border); gap: 16px !important; flex-wrap: wrap !important; }
#view-admin #admin-content .va-nova-page-header p { color: var(--va-nova-muted-foreground) !important; font-size: 13px !important; line-height: 1.6; }
#view-admin #admin-content :is(.va-eyebrow, .admin-section-eyebrow) { color: var(--va-nova-muted-foreground) !important; background: transparent !important; border: 0 !important; font-size: 11px !important; text-transform: none !important; letter-spacing: 0 !important; padding: 0 !important; }
#view-admin #admin-content :is(.va-admin-card, .va-card, .card, .va-redesign-surface, .va-kpi-card, .va-stat-card, .va-partner-card, .va-pricing-card, .msg-category, .vg-inner, .va-promoters-directory, .va-promoters-overview) {
  border-radius: var(--va-nova-radius) !important;
  border: 1px solid var(--va-nova-border) !important;
  background: var(--va-nova-background) !important;
  box-shadow: var(--va-nova-shadow) !important;
  transform: none !important;
}
#view-admin #admin-content :is(.vg-outer, .vg-animate) { box-shadow: none !important; animation: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }
#view-admin #admin-content .vg-outer { padding: 0 !important; background: transparent !important; }
#view-admin #admin-content :is(.va-admin-card, .va-card) { padding: 20px; }
#view-admin #admin-content .va-stat-grid { gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
#view-admin #admin-content .va-stat-card { min-height: 134px; padding: 18px; gap: 8px; display: grid; grid-template-columns: 1fr 24px; }
#view-admin #admin-content .va-stat-card > div:last-child { grid-column: 1; grid-row: 1; }
#view-admin #admin-content .va-stat-icon { grid-column: 2; grid-row: 1; align-self: start; width: 24px; height: 24px; color: var(--va-nova-muted-foreground); background: transparent; border-radius: 0; }
#view-admin #admin-content .va-stat-label { font-size: 12px; font-weight: 500; color: var(--va-nova-muted-foreground); }
#view-admin #admin-content .va-stat-value { font-size: 25px; font-weight: 600; color: var(--va-nova-foreground); margin: 12px 0 6px; }
#view-admin #admin-content .va-stat-sub { font-size: 11px; }
#view-admin #admin-content .va-kpi-card { padding: 18px !important; }
#view-admin #admin-content :is(.va-admin-table-wrap, .admin-table-container) { border-radius: var(--va-nova-radius); box-shadow: none; }
#view-admin #admin-content table th { padding: 12px 16px !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; background: var(--va-nova-sidebar) !important; color: var(--va-nova-muted-foreground) !important; }
#view-admin #admin-content table td { padding: 12px 16px; font-size: 12px; border-color: var(--va-nova-border); }
#view-admin #admin-content table tbody tr:hover { background: var(--va-nova-muted); }
#view-admin #admin-content :is(.va-admin-toolbar, .va-promoters-toolbar) { background: transparent; box-shadow: none; border: 0; padding: 0 0 16px; border-radius: 0; gap: 12px; }
#view-admin #admin-content .va-promoters-toolbar { padding: 16px 20px; }
#view-admin #admin-content :is(.va-pill-group, .va-promoters-filters) { background: var(--va-nova-muted); border-radius: 7px; padding: 3px; gap: 2px; }
#view-admin #admin-content :is(.va-pill, .partner-filter-pill, .comm-tab-btn, .seg-btn) { border-radius: 5px !important; min-height: 32px; font-size: 12px !important; padding: 6px 12px !important; }
#view-admin #admin-content :is(.va-pill.active, .partner-filter-pill.active, .comm-tab-btn.active, .seg-btn.active) { background: var(--va-nova-background) !important; color: var(--va-nova-foreground) !important; box-shadow: var(--va-nova-shadow) !important; border-color: var(--va-nova-border) !important; }
#view-admin #admin-content :is(button, summary), .va-admin-dialog :is(button, summary) { font-family: 'Inter', sans-serif !important; font-weight: 500 !important; text-transform: none; }
#view-admin #admin-content :is([data-nova-variant], .va-btn-primary, .va-btn-secondary, .btn-primary, .btn-secondary, .va-btn-success), .va-admin-dialog :is(.btn-primary, .btn-secondary, .va-btn-primary, .va-btn-secondary) {
  border-radius: 6px !important; box-shadow: none !important; font-size: 12px !important; min-height: 36px; line-height: 1.4; transition: background 120ms ease;
}
#view-admin #admin-content :is([data-nova-variant='primary'], .va-btn-primary, .va-btn-success, .btn-primary):not([data-nova-variant='tab']), .va-admin-dialog :is(.btn-primary, .va-btn-primary, [data-nova-variant='primary']) {
  background: var(--va-nova-primary) !important; color: var(--va-nova-primary-foreground) !important; border: 1px solid var(--va-nova-primary) !important; box-shadow: none !important;
}
#view-admin #admin-content :is([data-nova-variant='primary'], .btn-primary, .va-btn-primary):not([data-nova-variant='tab']) :is(i, svg, span), .va-admin-dialog :is(.btn-primary, .va-btn-primary) :is(i, svg, span) { color: inherit !important; }
#view-admin #admin-content :is([data-nova-variant='outline'], .va-btn-secondary, .btn-secondary), .va-admin-dialog :is(.btn-secondary, .va-btn-secondary) { background: var(--va-nova-background) !important; border: 1px solid var(--va-nova-border) !important; color: var(--va-nova-foreground) !important; }
#view-admin #admin-content [data-nova-variant='destructive'] { background: var(--va-nova-danger-bg) !important; color: var(--va-nova-destructive) !important; border: 1px solid var(--va-nova-border) !important; }
#view-admin #admin-content :is(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='hidden']), select, textarea),
.va-admin-dialog :is(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='hidden']), select, textarea) {
  border: 1px solid var(--va-nova-border) !important; border-radius: 6px !important; min-height: 36px; background-color: var(--va-nova-background) !important; color: var(--va-nova-foreground) !important; font-size: 13px !important; font-weight: 400 !important; box-shadow: var(--va-nova-shadow) !important;
}
#view-admin #admin-content :is(input[type='checkbox'], input[type='radio']) { accent-color: var(--va-nova-primary); }
#view-admin #admin-content :is(input, textarea)::placeholder { color: var(--va-nova-muted-foreground); }
#view-admin :is(button, summary, input, select, textarea, a):focus-visible, .va-admin-dialog :is(button, summary, input, select, textarea, a):focus-visible { outline: 2px solid var(--va-nova-ring) !important; outline-offset: 2px; }
#view-admin #admin-content :is(.va-badge, .va-status-badge, .badge-pill, .va-promoter-status) { border-radius: 5px !important; font-size: 10px; font-weight: 500; }
#view-admin #admin-content .va-dashboard-analysis { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
#view-admin #admin-content .va-dashboard-charts { gap: 16px !important; }
#view-admin #admin-content .va-dashboard-analysis #admin-mapbox-canvas { height: 560px !important; }
/* Settings get an internal section rail, while every original field stays mounted. */
#view-admin #admin-content .va-nova-settings { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: start; gap: 32px; }
#view-admin #admin-content .va-nova-section-nav { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 0; }
#view-admin #admin-content .va-nova-section-nav > span { font-size: 11px; color: var(--va-nova-muted-foreground); padding: 8px 10px; }
#view-admin #admin-content .va-nova-section-nav a { display: block; padding: 9px 10px; color: var(--va-nova-muted-foreground); text-decoration: none; font-size: 12px; border-radius: 6px; }
#view-admin #admin-content .va-nova-section-nav a:hover, #view-admin #admin-content .va-nova-section-nav a[aria-current] { color: var(--va-nova-foreground); background: var(--va-nova-muted); }
#view-admin #admin-content .va-nova-settings-content { min-width: 0; max-width: 1080px; }
#view-admin #admin-content .va-nova-settings-section { scroll-margin-top: 16px; margin-bottom: 28px; }
#view-admin #admin-content .va-nova-settings-section > h3 { font-size: 15px !important; padding: 0 0 12px !important; margin: 0 !important; text-transform: none !important; }
#view-admin #admin-content .va-nova-settings-section > .card { padding: 20px !important; margin-bottom: 16px !important; }
#view-admin #admin-content .va-nova-create-layout { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 28px; align-items: start; }
#view-admin #admin-content .va-nova-create-panel { min-width: 0 !important; margin: 0 !important; background: var(--va-nova-background) !important; border: 1px solid var(--va-nova-border) !important; border-radius: var(--va-nova-radius) !important; padding: 20px !important; }
#view-admin #admin-content .va-nova-create-history { min-width: 0; }
#view-admin #admin-content .va-nova-form-page { display: grid; grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr); gap: 40px; align-items: start; }
#view-admin #admin-content .va-nova-form-page > .va-nova-page-header { border: 0; }
#view-admin #admin-content .va-nova-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
#view-admin #admin-content .va-nova-section-grid > * { min-width: 0; margin: 0 !important; }
#view-admin #admin-content .va-nova-list-row { box-shadow: none !important; border-radius: 6px !important; }
#view-admin #admin-content .va-promoters-overview { margin-bottom: 24px; }
#view-admin #admin-content .va-promoters-balance { background: var(--va-nova-sidebar); padding: 24px; }
#view-admin #admin-content .va-promoters-balance > strong { font-size: 32px; font-weight: 600; }
#view-admin #admin-content .va-promoters-metrics { padding: 24px; }
#view-admin #admin-content .va-promoter-summary { min-height: 68px; padding-block: 14px; }
#view-admin #admin-content .va-promoter-columns { font-size: 11px; text-transform: none; letter-spacing: 0; }
#view-admin #admin-content .va-promoter-person strong { font-size: 12px; }
#view-admin #admin-content .va-promoter-avatar { background: var(--va-nova-muted); color: var(--va-nova-foreground); }
#view-admin #admin-content #inbox-chat-panel { background: var(--va-nova-sidebar) !important; }
#view-admin #admin-content #inbox-conv-list { border-color: var(--va-nova-border) !important; }
.va-admin-dialog > :is(.modal-content, div:first-child) { border-radius: var(--va-nova-radius) !important; background: var(--va-nova-background) !important; border-color: var(--va-nova-border) !important; }
.va-admin-dialog :is(.admin-modal-tab, .modal-tab) { border-radius: 5px; font-size: 12px; }
.va-admin-dialog .admin-modal-tab.active { background: var(--va-nova-muted); color: var(--va-nova-foreground); border-color: var(--va-nova-border); }
@media (max-width: 1200px) {
  #view-admin #admin-content .va-dashboard-analysis { grid-template-columns: minmax(0, 1fr); }
  #view-admin #admin-content .va-dashboard-analysis #admin-mapbox-canvas { height: 320px !important; }
  #view-admin #admin-content .va-nova-create-layout { grid-template-columns: minmax(240px, 1fr) minmax(0, 1fr); }
}
@media (max-width: 900px) {
  #view-admin #admin-content :is(.va-nova-form-page, .va-nova-create-layout) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #view-admin #admin-content .va-nova-settings { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #view-admin #admin-content .va-nova-section-nav { flex-direction: row; flex-wrap: wrap; position: static; border-bottom: 1px solid var(--va-nova-border); padding-bottom: 12px; }
  #view-admin #admin-content .va-nova-section-nav > span { display: none; }
}
@media (max-width: 768px) {
  #view-admin #admin-content { padding: 20px 16px calc(96px + env(safe-area-inset-bottom)); }
  #view-admin #admin-content :is(.va-stat-grid, .va-dashboard-charts) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-admin #admin-content .va-stat-card { padding: 14px; }
  #view-admin #admin-content .va-stat-value { font-size: 22px; }
  #view-admin #admin-content :is(input, select, textarea), .va-admin-dialog :is(input, select, textarea) { font-size: 16px !important; }
  #view-admin #admin-content .va-nova-page-header { margin-bottom: 20px !important; padding-bottom: 20px !important; }
  #view-admin #admin-content .va-nova-settings-content [style*='grid-template-columns'] { grid-template-columns: minmax(0, 1fr) !important; }
  #view-admin #admin-content .va-nova-settings-content [style*='grid-template-columns'] > div { min-width: 0 !important; width: auto !important; }
  #view-admin #admin-content[data-admin-page='inbox'] { padding: 0 0 calc(80px + env(safe-area-inset-bottom)); }
  #view-admin #admin-content[data-admin-page='functions'] > div > div { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  #view-admin *, .va-admin-dialog * { transition: none !important; animation: none !important; }
}
#view-admin #admin-content button[data-nova-variant='primary'] {
  background: var(--va-nova-primary) !important;
  color: var(--va-nova-primary-foreground) !important;
  border-color: var(--va-nova-primary) !important;
}
.va-admin-dialog button:is([onclick^='save'], [onclick^='window.save'], [onclick^='create'], [onclick^='publish']) {
  background: var(--va-nova-primary) !important;
  color: var(--va-nova-primary-foreground) !important;
  border: 1px solid var(--va-nova-primary) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
#view-admin #admin-content:not([data-admin-page='inbox']) { padding: 28px !important; }
#view-admin #admin-content .va-nova-settings-content [style*='grid-template-columns'] > div { min-width: 0; max-width: 100%; }
#view-admin #admin-content .va-nova-settings-content input { max-width: 100%; }
@media (max-width: 768px) {
  #view-admin #admin-content:not([data-admin-page='inbox']) { padding: 20px 16px calc(96px + env(safe-area-inset-bottom)) !important; }
  #view-admin #admin-content .va-nova-page-header > div { flex-wrap: wrap !important; min-width: 0; max-width: 100%; }
  #view-admin #admin-content[data-admin-page='pricing'] [style*='grid-template-columns'] { grid-template-columns: minmax(0, 1fr) !important; }
  #view-admin #admin-content[data-admin-page='pricing'] [style*='grid-template-columns'] > div { min-width: 0 !important; max-width: 100%; }
  #view-admin #admin-content[data-admin-page='gamification'] .va-nova-page-header [style*='inline-flex'] { flex-wrap: wrap; width: 100%; }
  #view-admin #admin-content[data-admin-page='analytics'] :is(.vg-inner, .vg-outer, [class*='vg-col']) { min-width: 0; }
  #view-admin #admin-content[data-admin-page='analytics'] .vg-label { overflow-wrap: anywhere; white-space: normal; }
  #view-admin #admin-content[data-admin-page='analytics'] .vg-inner { padding: 14px !important; }
}
#view-admin #admin-content .va-nova-communication { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 28px; align-items: start; }
#view-admin #admin-content .va-nova-communication-content { min-width: 0; }
#view-admin #admin-content .va-nova-communication #comm-seg-wrapper { position: sticky; top: 0; min-width: 0; margin: 0 !important; }
#view-admin #admin-content .va-nova-communication #comm-seg-wrapper > div { flex-direction: column; min-width: 0 !important; width: 100%; background: transparent !important; border-radius: 6px !important; padding: 0 !important; }
#view-admin #admin-content .va-nova-communication .comm-tab-btn { white-space: normal !important; text-align: left; min-height: 40px; }
#view-admin #admin-content .va-nova-communication .comm-tab-btn.active { background: var(--va-nova-muted) !important; box-shadow: none !important; }
#view-admin #admin-content .apl-tier-card { border: 1px solid var(--va-nova-border); border-radius: var(--va-nova-radius) !important; box-shadow: none !important; }
#view-admin #admin-content .apl-tier-card > div:first-child { background: var(--va-nova-sidebar) !important; border-radius: var(--va-nova-radius) var(--va-nova-radius) 0 0 !important; }
#view-admin #admin-content .apl-tier-card > div:first-child :is(p, i, svg) { color: var(--va-nova-foreground) !important; }
#view-admin #admin-content .apl-tier-card > .va-redesign-surface { border: 0 !important; border-top: 1px solid var(--va-nova-border) !important; border-radius: 0 0 var(--va-nova-radius) var(--va-nova-radius) !important; }
#view-admin #admin-content #admin-plan-editor { margin-top: 20px !important; }
#view-admin #admin-content[data-admin-page='pricing'] [style*='minmax(300px'] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr) !important; }
@media (max-width: 1050px) {
  #view-admin #admin-content[data-admin-page='pricing'] [style*='minmax(300px'] { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 900px) {
  #view-admin #admin-content .va-nova-communication { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #view-admin #admin-content .va-nova-communication #comm-seg-wrapper { position: static; }
  #view-admin #admin-content .va-nova-communication #comm-seg-wrapper > div { flex-direction: row; flex-wrap: wrap; }
}
