:root{--bg:#f6f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--primary:#2563eb;--danger:#dc2626;--success:#16a34a}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text)}body.dark{--bg:#0f172a;--card:#111827;--text:#f9fafb;--muted:#9ca3af;--line:#1f2937;--primary:#60a5fa}a{text-decoration:none;color:inherit}.container{max-width:1200px;margin:auto;padding:24px}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}.btn.primary{background:var(--primary);color:white;border-color:var(--primary)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.04)}.stat{font-size:30px;font-weight:800;margin-top:8px}.muted{color:var(--muted)}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.mobile-bar{display:none}.overlay{display:none}.sidebar{background:var(--card);border-right:1px solid var(--line);padding:20px;position:sticky;top:0;height:100vh}.sidebar a{display:block;padding:11px 12px;border-radius:12px;margin:4px 0;color:var(--muted)}.sidebar a:hover,.sidebar a.active{background:rgba(37,99,235,.12);color:var(--primary)}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--card);border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px;white-space:nowrap}.form{display:grid;gap:14px}.input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text)}label{font-size:14px;color:var(--muted)}.filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.hero{padding:70px 24px;text-align:center}.hero h1{font-size:48px;margin:0 auto 16px;max-width:850px}.hero p{font-size:18px;color:var(--muted);max-width:720px;margin:0 auto 24px}.badge{padding:4px 8px;border-radius:999px;background:rgba(37,99,235,.12);color:var(--primary);font-size:12px}.danger{color:var(--danger)}.success{color:var(--success)}
@media(max-width:860px){.mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.layout{display:block;min-height:100vh}.sidebar{position:fixed;left:-280px;top:0;width:260px;height:100vh;z-index:50;transition:left .2s ease;box-shadow:10px 0 30px rgba(0,0,0,.18);border-right:1px solid var(--line);overflow:auto}.sidebar.open{left:0}.overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}.topbar{gap:12px;align-items:flex-start;flex-direction:column;padding:14px 16px}.desktop-theme{display:none}.container{padding:16px}.grid-4,.grid-2,.filters{grid-template-columns:1fr}.hero h1{font-size:34px}.table th,.table td{padding:10px;font-size:14px}}
.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.actions form{display:inline}.btn.small{padding:7px 10px;font-size:13px;border-radius:10px}.danger-btn{border-color:rgba(220,38,38,.35);color:var(--danger)}.notice{padding:12px 14px;border-radius:14px;margin-bottom:14px;border:1px solid var(--line);background:var(--card)}.success-box{border-color:rgba(22,163,74,.35);color:var(--success)}.error-box{border-color:rgba(220,38,38,.35);color:var(--danger)}.pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;border:1px solid var(--line)}.pill.ok{color:var(--success);background:rgba(22,163,74,.08)}.pill.off{color:var(--muted);background:rgba(107,114,128,.08)}

/* v6 polish: dropdown actions and product images */
.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;user-select:none}.action-menu summary::-webkit-details-marker{display:none}.action-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.14);z-index:20}.action-panel a,.action-panel button{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;border-radius:10px;background:transparent;border:0;color:var(--text);font:inherit;cursor:pointer}.action-panel a:hover,.action-panel button:hover{background:rgba(37,99,235,.10)}.action-panel form{margin:0}.action-panel .danger-link{color:var(--danger)}.thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:var(--bg);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700}.thumb-lg{width:180px;height:180px;border-radius:20px;object-fit:cover;border:1px solid var(--line);background:var(--bg)}.image-field{display:grid;gap:10px}.product-title-cell{display:flex;align-items:center;gap:12px}.table td.actions-cell{position:relative;overflow:visible}.table-wrap:has(.action-menu[open]){overflow:visible}@media(max-width:860px){.product-title-cell{min-width:220px}.action-panel{right:auto;left:0}.thumb-lg{width:140px;height:140px}}

/* v8 SaaS admin and branding */
.admin-sidebar{background:linear-gradient(180deg,var(--card),rgba(37,99,235,.06));}
.brand-preview{display:flex;gap:14px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.logo-preview{width:86px;height:86px;border-radius:18px;object-fit:cover;border:1px solid var(--line);background:var(--bg)}.logo-placeholder{width:86px;height:86px;border-radius:18px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--bg)}textarea.input{font-family:inherit;resize:vertical}.admin-layout .topbar{border-bottom:1px solid rgba(37,99,235,.18)}
.client-brand{display:flex;align-items:center;gap:10px}.side-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:var(--bg)}.report-header{border-left:5px solid var(--primary)}

.support-banner{margin:14px 20px 0;padding:12px 16px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.support-banner a{font-weight:700;color:#9a3412;text-decoration:underline}
.dark .support-banner{background:#43240b;border-color:#92400e;color:#fed7aa}
.btn.warning,.badge.warning{background:#f59e0b;color:white;border-color:#f59e0b}
.action-row{display:flex;gap:6px;flex-wrap:wrap}
.check-row{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.check-row label{display:flex;gap:6px;align-items:center;background:var(--soft);padding:8px 10px;border-radius:10px}.usage-list{display:grid;gap:10px}.usage-list div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.mini-list{display:grid;gap:8px}.mini-list div{padding:10px;border-left:3px solid var(--primary);background:var(--soft);border-radius:8px}.alert.success{background:#dcfce7;color:#166534}.dark .alert.success{background:#052e16;color:#bbf7d0}


/* v15 sales/purchase UI cleanup */
.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.detail-header h2{margin:0}.no-margin{margin:0 0 4px}.detail-grid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(37,99,235,.035)}.detail-grid span{display:block;color:var(--muted);font-size:13px;margin-bottom:5px}.detail-grid strong{font-size:15px}.badge.completed,.badge.received{background:rgba(22,163,74,.12);color:var(--success)}.badge.cancelled{background:rgba(220,38,38,.12);color:var(--danger)}.badge.draft{background:rgba(107,114,128,.12);color:var(--muted)}.badge.confirmed,.badge.ordered,.badge.partially_received{background:rgba(245,158,11,.15);color:#b45309}.action-note{display:block;padding:9px 10px;font-size:12px}.table-wrap{border-radius:14px}@media print{.sidebar,.mobile-bar,.topbar,.actions,.btn,.support-banner{display:none!important}.layout{display:block}.container{max-width:none;padding:0}.card{box-shadow:none;border:0;border-radius:0}.table th,.table td{white-space:normal}}
.report-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}
.summary-box{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--bg)}
.print-brand{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}
.print-logo{width:64px;height:64px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:#fff}
.table-wrap{overflow:auto}
@media print{
  body{background:#fff!important;color:#111!important}
  .sidebar,.topbar,.no-print,.theme-btn,.mobile-menu-btn{display:none!important}
  .layout{display:block!important}
  .main{margin:0!important;width:100%!important}
  .card{box-shadow:none!important;border:0!important;padding:0!important}
  .printable-report{display:block!important}
  table{font-size:12px;width:100%;border-collapse:collapse}
  th,td{border:1px solid #ddd;padding:8px}
}

/* v17 barcode / label printing */
.barcode-box{display:inline-flex;height:54px;align-items:stretch;gap:2px;background:#fff;padding:8px;border:1px solid var(--border);border-radius:10px;max-width:100%;overflow:hidden}
.barcode-box span{display:block;background:#111;height:100%;min-width:1px}
.label-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.product-label{border:1px dashed var(--border);border-radius:14px;padding:14px;background:var(--card);break-inside:avoid;text-align:center}
.product-label h4{margin:8px 0 4px;font-size:16px}.product-label .code{font-weight:800;letter-spacing:.5px}.scan-hero{max-width:720px;margin:auto}.scan-input{font-size:22px;padding:18px}.quick-scan-results{margin-top:16px}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-bar,.overlay,.no-print{display:none!important}.layout{display:block}.main{margin:0}.container{padding:0}.card{box-shadow:none;border:none}.product-label{page-break-inside:avoid;border:1px solid #222;background:#fff;color:#111}.barcode-box{border:none}.btn{display:none!important}}

.cards-5{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1000px){.cards-5{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.cards-5{grid-template-columns:1fr;}}
.stack-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.help-box{background:var(--soft);border:1px solid var(--border);border-radius:14px;padding:12px}.compact-list{margin:10px 0 0 20px;padding:0}.compact-list li{margin:6px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat{background:var(--soft);border:1px solid var(--border);border-radius:14px;padding:14px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{font-size:26px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.grid.two,.stats-grid{grid-template-columns:1fr}}

/* v24 printable business documents */
.print-page{background:#eef1f6;color:#111827;font-family:Inter,Arial,sans-serif;padding:24px}
.print-toolbar{max-width:900px;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}
.doc-sheet{max-width:900px;margin:0 auto;background:#fff;border-radius:18px;padding:36px;box-shadow:0 20px 60px rgba(15,23,42,.12)}
.doc-header{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #e5e7eb;padding-bottom:24px;margin-bottom:24px}
.doc-brand{display:flex;gap:14px;align-items:flex-start}.doc-brand img{width:74px;height:74px;object-fit:contain;border:1px solid #e5e7eb;border-radius:14px;padding:6px}.doc-brand h1{margin:0 0 6px;font-size:24px}.doc-brand p,.doc-title p{margin:3px 0;color:#4b5563}.doc-title{text-align:right}.doc-title h2{margin:0 0 10px;font-size:28px;letter-spacing:.04em}.doc-title strong{display:block;margin-bottom:10px}.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}.doc-meta h3,.doc-notes h3{margin:0 0 8px}.doc-meta p{margin:4px 0}.doc-table{width:100%;border-collapse:collapse;margin:24px 0}.doc-table th{background:#f8fafc;text-align:left;border-bottom:1px solid #d1d5db;padding:12px}.doc-table td{border-bottom:1px solid #e5e7eb;padding:12px;vertical-align:top}.right{text-align:right}.doc-totals{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.doc-totals table{width:100%;border-collapse:collapse}.doc-totals td{padding:10px;border-bottom:1px solid #e5e7eb}.doc-totals .grand td{font-size:20px;font-weight:800;border-top:2px solid #111827}.doc-footer{display:flex;justify-content:space-between;gap:24px;margin-top:52px;color:#4b5563}.receipt-sheet{max-width:420px;border-radius:12px;padding:24px}.receipt-sheet .doc-header,.receipt-sheet .doc-meta,.receipt-sheet .doc-totals,.receipt-sheet .doc-footer{display:block}.receipt-sheet .doc-title{text-align:left;margin-top:16px}.receipt-sheet .doc-brand img{width:54px;height:54px}.receipt-sheet .doc-table th,.receipt-sheet .doc-table td{padding:8px;font-size:13px}.receipt-sheet .doc-totals table{margin-top:16px}.receipt-mode{padding:12px}
@media print{.no-print,.mobile-bar,.sidebar,.topbar,.support-banner,.overlay{display:none!important}body,.print-page{background:#fff!important;padding:0!important}.doc-sheet,.receipt-sheet{max-width:none;box-shadow:none;border-radius:0;padding:0}.doc-header{margin-top:0}.badge{border:1px solid #d1d5db}.layout{display:block}.main{margin:0!important;padding:0!important}.container{padding:0!important}.card{box-shadow:none!important;border:none!important}.doc-footer{page-break-inside:avoid}}
@media(max-width:700px){.print-page{padding:12px}.doc-sheet{padding:20px}.doc-header,.doc-meta,.doc-totals,.doc-footer{display:block}.doc-title{text-align:left;margin-top:16px}.doc-totals table{margin-top:16px}.doc-table{font-size:13px}}

/* v25 advanced dashboard analytics */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(22,163,74,.08));}
.dashboard-hero h2{margin:6px 0;font-size:28px}.dashboard-hero p{margin:0}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-cards{grid-template-columns:repeat(6,minmax(0,1fr));}.metric-card{display:flex;gap:12px;align-items:center;padding:16px}.metric-card .stat{font-size:22px;margin-top:4px}.metric-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(37,99,235,.12);font-size:20px;flex:0 0 auto}.alert-metric .metric-icon{background:rgba(220,38,38,.10)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h3{margin:0}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-chart{height:190px;display:flex;align-items:flex-end;gap:8px;padding:12px 4px 0;border-bottom:1px solid var(--line);overflow-x:auto}.bar-col{min-width:22px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%}.bar-col .bar{display:block;width:100%;min-width:16px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--primary),rgba(37,99,235,.45));}.purchase-chart .bar-col .bar{background:linear-gradient(180deg,var(--success),rgba(22,163,74,.45));}.bar-col small{font-size:10px;color:var(--muted)}.rank-list,.simple-list,.alert-list{display:grid;gap:10px}.rank-item,.simple-list a,.alert-row{display:block;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(37,99,235,.035)}.rank-item:hover,.simple-list a:hover,.alert-row:hover{border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.08)}.rank-item strong,.simple-list strong{display:block}.rank-item span,.simple-list span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.rank-bar{height:8px;background:rgba(107,114,128,.15);border-radius:999px;margin-top:10px;overflow:hidden}.rank-bar span{display:block;height:100%;background:var(--primary);border-radius:999px}.alert-row{display:flex;justify-content:space-between;align-items:center}.alert-row strong{font-size:22px}.empty-state{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;background:rgba(107,114,128,.05)}
@media(max-width:1200px){.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-3{grid-template-columns:1fr 1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.dashboard-cards,.grid-3{grid-template-columns:1fr}.metric-card .stat{font-size:20px}.dashboard-hero h2{font-size:22px}.mini-chart{height:160px}.dashboard-actions .btn{flex:1;justify-content:center}}

/* v26.1: keep v25 dashboard design; only small font/overflow fixes + notification form styling */
.metric-card{min-width:0;overflow:hidden}
.metric-card>div:last-child{min-width:0}
.metric-card .muted{line-height:1.25}
.metric-card .stat{font-size:clamp(20px,1.7vw,24px);line-height:1.12;white-space:normal;overflow-wrap:anywhere}
.sidebar{overflow-y:auto}
.switch-line{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(37,99,235,.035);color:var(--text)}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-grid label{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(107,114,128,.045);color:var(--text)}
.soft-details{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(107,114,128,.04)}
.soft-details summary{cursor:pointer;font-weight:700}
.mt{margin-top:16px}.mt-sm{margin-top:10px}
@media(max-width:900px){.check-grid{grid-template-columns:1fr}.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1;justify-content:center}}

/* v29 polish: grouped sidebar, white-label branding, cleaner dark tables/forms */
.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.brand-logo-sm{width:42px;height:42px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:4px}.user-name{margin:2px 0 0}.side-groups{display:grid;gap:8px}.side-section{border:1px solid transparent;border-radius:14px}.side-section-title{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:rgba(107,114,128,.07);color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:9px 12px;border-radius:12px;cursor:pointer}.side-section-links{display:grid;gap:2px;padding:6px 0}.side-section.collapsed .side-section-links{display:none}.side-section.collapsed .side-section-title span{transform:rotate(-90deg)}.sidebar a{border-radius:12px;margin:1px 0}.sidebar a:hover{background:rgba(37,99,235,.10);color:var(--text)}.dark .sidebar a:hover{background:rgba(96,165,250,.16)}
.brand-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(37,99,235,.04)}.brand-preview img{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--line);padding:6px}.color-dot{display:inline-block;width:16px;height:16px;border-radius:999px;border:1px solid var(--line);vertical-align:middle;margin-right:6px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid-2 label,.form-grid-3 label{display:grid;gap:7px}.form-grid-2 .full,.form-grid-3 .full{grid-column:1/-1}
.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin:12px 0}.filter-bar .btn{height:44px}.data-card{overflow:hidden}.table-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto;background:var(--card)}.table-wrap table{margin:0}.table th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.table td,.table th{vertical-align:middle}.dark input,.dark select,.dark textarea{background:#0f172a;color:#e5e7eb;border-color:#334155}.dark input::placeholder{color:#94a3b8}.dark .table-wrap{background:#111827}.dark .card{box-shadow:none}.dark .badge{border:1px solid rgba(255,255,255,.08)}
.polished-page .card{border-radius:18px}.polished-page .table-wrap{margin-top:10px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(37,99,235,.10);color:var(--primary);font-weight:700;font-size:12px}.dark .status-pill{background:rgba(96,165,250,.15)}
@media(max-width:900px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.sidebar{width:290px}.side-section-title{font-size:11px}.filter-bar{grid-template-columns:1fr}.table-wrap{border-radius:12px}.mobile-bar strong{font-size:15px}}
/* v30 dashboard polish: prevent currency values from stacking vertically */
.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;}
.metric-card{min-height:110px;}
.metric-card .stat{font-size:clamp(16px,1.35vw,23px)!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
@media(max-width:1200px){.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important}.metric-card{padding:14px}.metric-card .stat{font-size:clamp(15px,1.5vw,20px)!important}.metric-icon{width:38px;height:38px}}
@media(max-width:760px){.dashboard-cards{grid-template-columns:1fr 1fr!important}.metric-card{min-height:96px}.metric-card .stat{font-size:18px!important}.metric-card .muted{font-size:13px}}
@media(max-width:430px){.dashboard-cards{grid-template-columns:1fr!important}.metric-card .stat{font-size:20px!important}}
/* v30 newer-page polish */
.filters{align-items:end;gap:12px}.filters input,.filters select{min-width:180px}.table-wrap{border-radius:14px;scrollbar-width:thin}.dark .table-wrap{background:#0f172a}.dark input,.dark select,.dark textarea{background:#0b1220;color:#e5e7eb;border-color:#263244}.dark .table th,.dark .table td{border-color:#263244}.dark .badge{background:#1e293b;color:#cbd5e1}
.auth-card-small{max-width:520px}

/* v31 loading overlay */
.loading-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px)}
.loading-overlay.show{display:flex}.loading-card{background:var(--card,#fff);color:var(--text,#0f172a);border:1px solid var(--border,#e5e7eb);border-radius:22px;padding:28px;min-width:280px;text-align:center;box-shadow:0 25px 60px rgba(0,0,0,.25)}
.spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(37,99,235,.18);border-top-color:#2563eb;margin:0 auto 14px;animation:spin 1s linear infinite}.progress-bar{height:8px;background:rgba(148,163,184,.25);border-radius:999px;margin-top:16px;overflow:hidden}.progress-bar span{display:block;height:100%;width:15%;background:#2563eb;border-radius:999px;transition:width .5s ease}@keyframes spin{to{transform:rotate(360deg)}}
.input-hint{font-size:.82rem;color:var(--muted,#64748b);margin-top:4px}.nowrap{white-space:nowrap}

/* v32 launch polish */
.app-hero h1{max-width:920px}.hero-actions{justify-content:center;margin-top:18px}.app-module-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(22,163,74,.08))}.divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#64748b}.divider:before,.divider:after{content:"";height:1px;background:#e5e7eb;flex:1}.dark .divider:before,.dark .divider:after{background:#334155}.permission-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.small-text{font-size:12px}.brand-logo-sm{max-width:32px;max-height:32px;vertical-align:middle;margin-right:8px;border-radius:8px}@media(max-width:720px){.app-module-card{display:block}.app-module-card .btn{margin-top:12px;width:100%}.permission-table{min-width:850px}}

/* v33 launch homepage + Google signup polish */
.erp-nav{height:72px;padding:14px 7vw;background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
.dark .erp-nav{background:rgba(15,23,42,.92)}
.zoe-brand{display:flex;align-items:center;gap:10px;font-size:22px}.brand-logo-main{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--line);padding:3px}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a:not(.btn){font-weight:700;color:#1f2937}.dark .nav-links a:not(.btn){color:#e5e7eb}
.erp-hero{position:relative;overflow:hidden;text-align:center;padding:84px 24px 132px;background:#fff}.erp-hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-80px;height:170px;background:#f3f4f7;border-radius:50% 50% 0 0/100% 100% 0 0}.dark .erp-hero{background:#0b1220}.dark .erp-hero:after{background:#111827}.hero-inner{position:relative;z-index:1;max-width:1080px;margin:auto}.erp-hero h1{font-size:clamp(42px,6vw,88px);line-height:1.04;margin:18px auto 12px;font-weight:900;letter-spacing:-.055em;max-width:1050px}.erp-hero mark{background:linear-gradient(90deg,#fbbf24,#f59e0b);padding:0 .12em;border-radius:18px;color:inherit}.hero-sub{font-size:clamp(20px,2.5vw,34px);font-weight:700;line-height:1.25;margin:0 auto 26px;max-width:820px;color:#111827}.dark .hero-sub{color:#f9fafb}.badge.warm{background:rgba(245,158,11,.14);color:#92400e}.apps-section{position:relative;background:#f3f4f7;padding:8px 0 56px}.dark .apps-section{background:#111827}.section-center{text-align:center;margin-bottom:26px}.erp-app-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:30px 34px;max-width:920px;margin:0 auto}.erp-app{text-align:center;display:grid;gap:9px;justify-items:center}.erp-app .app-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);font-size:34px}.dark .erp-app .app-icon{background:#0f172a;border:1px solid #263244}.erp-app strong{font-size:15px}.erp-app span{font-size:12px;color:var(--muted)}.erp-app.active .app-icon{outline:3px solid rgba(124,45,144,.18)}.erp-app.soon{opacity:.72}.launch-section{padding-top:34px}.launch-card{margin-bottom:18px}.business-types{margin-top:18px}.public-footer{display:flex;justify-content:center;gap:14px;align-items:center;padding:32px 24px;background:#fff;border-top:1px solid var(--line)}.dark .public-footer{background:#0b1220}.google-box,.google-profile-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin:14px 0;background:rgba(124,45,144,.04)}.google-profile-card{display:flex;align-items:center;gap:12px}.google-profile-card img{width:54px;height:54px;border-radius:50%;object-fit:cover}.signup-form{margin-top:14px}.big-btn{padding:13px 18px;font-weight:800}.block{display:block}.auth-card{box-shadow:0 20px 60px rgba(0,0,0,.08)}
@media(max-width:980px){.erp-app-grid{grid-template-columns:repeat(4,minmax(90px,1fr));gap:22px}.erp-nav{padding:12px 18px}.nav-links{gap:12px}.nav-links a:not(.btn){display:none}.erp-hero{padding-top:62px}.erp-app .app-icon{width:64px;height:64px}}
@media(max-width:620px){.erp-app-grid{grid-template-columns:repeat(3,minmax(80px,1fr));gap:18px 12px}.erp-app .app-icon{width:58px;height:58px;font-size:28px}.hero-actions{display:grid}.hero-actions .btn{justify-content:center}.erp-hero h1{font-size:42px}.hero-sub{font-size:19px}.brand-logo-main{width:38px;height:38px}.zoe-brand span{font-size:18px}.erp-nav .btn{padding:9px 11px}}
/* v34 launch polish */
.footer-brand{display:inline-flex;align-items:center;gap:10px}.footer-brand img{width:32px;height:32px;object-fit:contain;border-radius:9px;background:#fff;border:1px solid var(--line);padding:3px}.large-preview{align-items:center}.large-preview img{width:76px;height:76px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid var(--line);padding:6px}.admin-sidebar a[href$="admin/brands"]{display:none!important}
