/* ShopKichele — theme.css (extracted from index.html) */
/* ============ UNIFIED SEMANTIC DESIGN TOKENS ============
   One token system for the whole app. Legacy variables (--bg, --surface,
   --d-bg, --d-surface ...) are aliased onto these so every existing screen
   follows the theme without being rewritten. */
:root{
  color-scheme: light;
  --app-bg:#F3F5F9;
  --app-surface:#FFFFFF;
  --app-surface-2:#F7F9FC;
  --app-surface-elevated:#FFFFFF;
  --app-text:#0F1B2B;
  --app-text-muted:#5F6C80;
  --app-text-subtle:#8A96A8;
  --app-border:#E3E9F1;
  --app-brand:#0B2A62;
  --app-brand-hover:#071C42;
  --app-brand-contrast:#FFFFFF;
  --app-accent:#FF4D00;
  --app-success:#16A34A;
  --app-success-soft:#E7F8EE;
  --app-warning:#F59E0B;
  --app-warning-soft:#FFF3DC;
  --app-danger:#DC2626;
  --app-danger-soft:#FDECEC;
  --app-info:#2F6FED;
  --app-info-soft:#E9F0FE;
  --app-sidebar:#0B1220;
  --app-sidebar-2:#141F38;
  --app-sidebar-line:#1D2A46;
  --app-sidebar-text:#C9D2E3;
  --app-sidebar-muted:#8590A6;
  --app-shadow:0 1px 2px rgba(15,27,43,.05),0 8px 24px rgba(15,27,43,.06);
  --app-focus:#2F6FED;
}
html[data-theme="dark"]{
  color-scheme: dark;
  --app-bg:#0B1017;
  --app-surface:#141B24;
  --app-surface-2:#1A222D;
  --app-surface-elevated:#1E2733;
  --app-text:#E8EDF4;
  --app-text-muted:#9AA7B8;
  --app-text-subtle:#778394;
  --app-border:#26313F;
  --app-brand:#3D6FD6;
  --app-brand-hover:#5686EC;
  --app-brand-contrast:#FFFFFF;
  --app-accent:#FF6A29;
  --app-success:#34D399;
  --app-success-soft:#10291F;
  --app-warning:#FBBF24;
  --app-warning-soft:#2C2312;
  --app-danger:#F87171;
  --app-danger-soft:#2E1717;
  --app-info:#60A5FA;
  --app-info-soft:#13233A;
  --app-sidebar:#070B11;
  --app-sidebar-2:#141B24;
  --app-sidebar-line:#26313F;
  --app-sidebar-text:#C7D2E0;
  --app-sidebar-muted:#8A96A8;
  --app-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.45);
}
/* Legacy variable aliases — every old screen now inherits the theme. */
:root, html[data-theme="dark"]{
  --bg:var(--app-bg); --surface:var(--app-surface); --text:var(--app-text);
  --muted:var(--app-text-muted); --line:var(--app-border);
  --brand:var(--app-brand); --brand-d:var(--app-brand-hover);
  --accent:var(--app-accent); --accent-d:var(--app-accent);
  --good:var(--app-success); --warn:var(--app-warning); --bad:var(--app-danger);
  --shadow:var(--app-shadow);
  --d-bg:var(--app-bg); --d-surface:var(--app-surface); --d-text:var(--app-text);
  --d-muted:var(--app-text-muted); --d-line:var(--app-border);
  --d-navy:var(--app-sidebar); --d-navy-2:var(--app-sidebar-2); --d-navy-line:var(--app-sidebar-line);
  --d-good:var(--app-success); --d-good-l:var(--app-success-soft);
  --d-blue:var(--app-info); --d-blue-l:var(--app-info-soft);
  --d-orange:var(--app-accent); --d-orange-l:var(--app-warning-soft);
  --d-red:var(--app-danger); --d-red-l:var(--app-danger-soft);
  --d-shadow:var(--app-shadow);
}
html[data-theme="dark"] .sidebar .brand img,
html[data-theme="dark"] .bizcard{filter:none}
html[data-theme="dark"] .sidebar .brand img,
html[data-theme="dark"] .topbar .brandlogo,
html[data-theme="dark"] .topbar > img,
html[data-theme="dark"] .startup-logo,
html[data-theme="dark"] .startup-logo img,
html[data-theme="dark"] [role="img"][aria-label="ShopKichele"] img,
html[data-theme="dark"] .sk-login-panel img[alt="ShopKichele"]{
  background:#fff !important;
  border-radius:12px !important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:var(--app-surface-2);color:var(--app-text);border-color:var(--app-border)}
html[data-theme="dark"] .sk-card,
html[data-theme="dark"] .dcard,
html[data-theme="dark"] .kpi-d,
html[data-theme="dark"] .sheet{background:var(--app-surface);color:var(--app-text)}
html[data-theme="dark"] .sk-login-page{background:var(--app-bg)}
html[data-theme="dark"] .sk-login-panel{background:var(--app-bg)}
html[data-theme="dark"] .sk-login-panel .sk-card,
html[data-theme="dark"] .sk-login-panel .sk-card *{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}
html[data-theme="dark"] .sk-login-panel .small,
html[data-theme="dark"] .sk-login-panel .muted,
html[data-theme="dark"] .sk-login-panel .tiny,
html[data-theme="dark"] .sk-login-panel .spread a,
html[data-theme="dark"] .sk-login-panel .spread{color:var(--app-text-muted)}
body{background:var(--app-bg);color:var(--app-text)}

:where(button,a,input,select,textarea):focus-visible{
  outline:2px solid var(--app-focus);outline-offset:2px;border-radius:10px}

/* ============ PRO GATE ============ */
.progate{max-width:520px;margin:6vh auto;text-align:center;background:var(--app-surface);
  border:1px solid var(--app-border);border-radius:18px;padding:28px 22px;box-shadow:var(--app-shadow)}
.progate .ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:0 auto 14px;
  background:var(--app-info-soft);color:var(--app-info)}
.progate h2{margin:0;font-size:19px}
.progate p{margin:8px 0 18px;color:var(--app-text-muted);font-size:14px;line-height:1.5}
.progate .sk-btn{width:100%}
.pro-tag{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  background:var(--app-info-soft);color:var(--app-info);border-radius:999px;padding:3px 7px;margin-left:auto}

/* ============ CONTEXTUAL BACK ============ */
.backbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;
  border-radius:12px;color:var(--app-text-muted);font-size:14px;font-weight:600;background:transparent}
.backbtn:hover{background:var(--app-surface-2);color:var(--app-text)}

/* ============ MOBILE: NO SIDEBAR, ICON-ONLY BOTTOM NAV ============ */
.bottomnav{display:none}
@media(max-width:899.98px){
  body.shell-on .sidebar,
  .sidebar-scrim,
  .menubtn{display:none !important}
  body.shell-on #app{display:block}
  body.shell-on main#view{padding:14px 14px calc(var(--nav-h) + 20px + var(--safe-b))}
  body.shell-on .bottomnav{
    display:grid !important;position:fixed;left:0;right:0;bottom:0;z-index:70;
    grid-template-columns:repeat(5,1fr);background:var(--app-surface);
    border-top:1px solid var(--app-border);padding-bottom:var(--safe-b);
    box-shadow:0 -2px 14px rgba(0,0,0,.06)}
  body.shell-on .bottomnav button{
    height:var(--nav-h);min-height:44px;display:grid;place-items:center;color:var(--app-text-muted);
    background:none;border:0}
  body.shell-on .bottomnav button .lucide{width:23px;height:23px}
  body.shell-on .bottomnav button[aria-current="page"]{color:var(--app-brand)}
  body.shell-on .bottomnav button[aria-current="page"]::after{
    content:"";position:absolute;margin-top:34px;width:18px;height:3px;border-radius:2px;background:var(--app-brand)}
  body.shell-on .topbar .searchbox{display:none}
}
@media(min-width:900px){ body.shell-on .bottomnav{display:none !important} }
@media print{ .bottomnav{display:none !important} }

/* Keep A4 documents independent from the thermal-receipt print layout. */
@page docA4{size:A4 portrait;margin:12mm}
@media print{
  body:has(> #printArea.doc-print),html:has(body > #printArea.doc-print){width:auto!important;min-height:0!important}
  body > #printArea.doc-print{display:block!important;width:auto!important;min-height:0!important;padding:0!important}
  #printArea.doc-print .docpaper{page:docA4;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
  #printArea.doc-print .dp-logo img{max-height:18mm;max-width:52mm}
  #printArea.doc-print .dp-items{display:table!important;width:100%!important;table-layout:auto!important}
  #printArea.doc-print .dp-items thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}
  #printArea.doc-print .dp-items tbody{display:table-row-group!important}
  #printArea.doc-print .dp-items tr{display:table-row!important;border:0!important;break-inside:avoid!important;page-break-inside:avoid!important}
  #printArea.doc-print .dp-items th,#printArea.doc-print .dp-items td{display:table-cell!important;padding:7px 8px!important;white-space:normal!important}
  #printArea.doc-print .dp-items td:nth-child(1){display:table-cell!important}
  #printArea.doc-print .dp-items td::before{display:none!important;content:none!important}
  #printArea.doc-print .dp-head,#printArea.doc-print .dp-parties,#printArea.doc-print .dp-foot{flex-direction:row!important}
  #printArea.doc-print .dp-meta{text-align:right!important}
  #printArea.doc-print .dp-totals{width:64mm!important;margin-left:auto!important}
}

/* ============ MOBILE MORE HUB ============ */
.morehub .grouplabel{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--app-text-subtle);margin:18px 4px 8px;font-weight:700}
.morerow{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;text-align:left;
  padding:10px 14px;background:var(--app-surface);border:1px solid var(--app-border);
  border-radius:14px;color:var(--app-text);font-size:14px;margin-bottom:8px}
.morerow .lucide{width:19px;height:19px;color:var(--app-text-muted);flex:none}
.morerow .chev{margin-left:auto;color:var(--app-text-subtle)}
