/* ══════════════════════════════════════════════════════
   SHOPBOOK — APP CSS  (LedgerFlow-inspired redesign)
   ══════════════════════════════════════════════════════ */

/* ── Dark theme (default) ── */
:root {
  --sb-bg:         #0f1623;
  --sb-surface:    #141c2b;
  --sb-card:       #1a2236;
  --sb-card2:      #1e2840;
  --sb-border:     rgba(255,255,255,0.07);
  --sb-border2:    rgba(255,255,255,0.13);
  --sb-text:       #e8edf5;
  --sb-text2:      #b8c0d0;
  --sb-muted:      #7a8499;
  --sb-accent:     #3b7df8;
  --sb-accent2:    #10c9a0;
  --sb-input-bg:   rgba(255,255,255,0.05);
  --sb-input-bg2:  rgba(255,255,255,0.09);
  --sb-hover:      rgba(255,255,255,0.05);
  --sb-shadow:     0 2px 12px rgba(0,0,0,0.4);
  --sb-radius:     12px;
  --sb-bottom-h:   64px;
  --sb-sidebar-w:  220px;
  --font-main:     'Plus Jakarta Sans', sans-serif;
  --font-mono:     'JetBrains Mono', monospace;
  /* semantic colors */
  --c-green:  #10c9a0; --c-green-bg:  rgba(16,201,160,.14);
  --c-red:    #f56565; --c-red-bg:    rgba(245,101,101,.14);
  --c-blue:   #60a5fa; --c-blue-bg:   rgba(96,165,250,.14);
  --c-yellow: #f6c90e; --c-yellow-bg: rgba(246,201,14,.14);
  --c-purple: #a78bfa; --c-purple-bg: rgba(167,139,250,.14);
  --c-orange: #fb923c; --c-orange-bg: rgba(251,146,60,.14);
}

/* ── Light theme ── */
[data-theme="light"] {
  --sb-bg:         #f4f6fb;
  --sb-surface:    #eaecf4;
  --sb-card:       #ffffff;
  --sb-card2:      #f7f9ff;
  --sb-border:     rgba(0,0,0,0.08);
  --sb-border2:    rgba(0,0,0,0.15);
  --sb-text:       #1a2236;
  --sb-text2:      #3d4a60;
  --sb-muted:      #6b7a95;
  --sb-accent:     #2563eb;
  --sb-accent2:    #059669;
  --sb-input-bg:   rgba(0,0,0,0.04);
  --sb-input-bg2:  rgba(0,0,0,0.08);
  --sb-hover:      rgba(0,0,0,0.04);
  --sb-shadow:     0 2px 12px rgba(0,0,0,0.08);
  --c-green:  #059669; --c-green-bg:  rgba(5,150,105,.1);
  --c-red:    #dc2626; --c-red-bg:    rgba(220,38,38,.1);
  --c-blue:   #2563eb; --c-blue-bg:   rgba(37,99,235,.1);
  --c-yellow: #b45309; --c-yellow-bg: rgba(180,83,9,.1);
  --c-purple: #7c3aed; --c-purple-bg: rgba(124,58,237,.1);
  --c-orange: #ea580c; --c-orange-bg: rgba(234,88,12,.1);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--font-main);background:var(--sb-bg);color:var(--sb-text);min-height:100vh;padding-bottom:var(--sb-bottom-h);transition:background .22s,color .22s;font-size:14px}
@media(min-width:768px){body{padding-bottom:0;padding-left:var(--sb-sidebar-w)}}
a{color:inherit;text-decoration:none}

/* ── Top Navbar ── */
.sb-navbar{background:var(--sb-surface);border-bottom:1px solid var(--sb-border);height:56px;z-index:1040;transition:background .22s}
.sb-navbar .navbar-brand { color:var(--sb-text) !important; }
.sb-navbar .navbar-brand:hover { color:var(--sb-accent) !important; }
.sb-logo-icon{width:32px;height:32px;background:var(--sb-accent);border-radius:8px;display:grid;place-items:center;font-size:15px;color:#fff}
.sb-user-btn{background:var(--sb-input-bg);color:var(--sb-text);border:1px solid var(--sb-border);border-radius:8px;font-size:13px;padding:5px 12px}
.sb-user-btn:hover{background:var(--sb-input-bg2);color:var(--sb-text)}
.sb-theme-btn{width:34px;height:34px;border-radius:9px;background:var(--sb-input-bg);border:1px solid var(--sb-border);color:var(--sb-muted);display:grid;place-items:center;cursor:pointer;font-size:15px;transition:all .18s}
.sb-theme-btn:hover{background:var(--sb-input-bg2);color:var(--sb-text)}
.sb-add-btn{background:var(--sb-accent);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .18s;white-space:nowrap}
.sb-add-btn:hover{background:#2563eb;color:#fff}

/* ── Dropdown ── */
.sb-dropdown{background:var(--sb-card);border:1px solid var(--sb-border2);border-radius:var(--sb-radius);min-width:200px;box-shadow:var(--sb-shadow)}
.sb-dropdown .dropdown-item{color:var(--sb-text);font-size:13px;padding:9px 16px}
.sb-dropdown .dropdown-item:hover{background:var(--sb-hover);color:var(--sb-text)}
.sb-dropdown .dropdown-divider{border-color:var(--sb-border)}
.sb-dropdown-header{padding:10px 16px 6px;border-bottom:1px solid var(--sb-border)}

/* ── Sidebar (desktop) ── */
.sb-sidebar{position:fixed;top:56px;left:0;bottom:0;width:var(--sb-sidebar-w);background:var(--sb-surface);border-right:1px solid var(--sb-border);padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;z-index:1030;transition:background .22s}
.sb-side-item{display:flex;align-items:center;gap:9px;color:var(--sb-muted);text-decoration:none;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:600;transition:all .18s}
.sb-side-item i{font-size:17px;width:20px;text-align:center;transition:all .18s}
.sb-side-item:hover{background:var(--sb-hover);color:var(--sb-text)}
.sb-side-item:hover i{transform:scale(1.15)}

/* Colorful icons per section */
.sb-side-item[href*="dashboard"] i    { color:#60a5fa; }
.sb-side-item[href*="suppliers"] i    { color:#34d399; }
.sb-side-item[href*="purchases"] i    { color:#60a5fa; }
.sb-side-item[href*="payments"] i     { color:#f59e0b; }
.sb-side-item[href*="sales"] i        { color:#34d399; }
.sb-side-item[href*="expenses"] i     { color:#f87171; }
.sb-side-item[href*="accounts"] i     { color:#a78bfa; }
.sb-side-item[href*="advance"] i      { color:#fb923c; }
.sb-side-item[href*="transfer"] i     { color:#22d3ee; }
.sb-side-item[href*="reports"] i      { color:#60a5fa; }
.sb-side-item[href*="register_book"] i{ color:#fbbf24; }
.sb-side-item[href*="trash"] i        { color:#f87171; }
.sb-side-item[href*="profile"] i      { color:#a78bfa; }
.sb-side-item[href*="suppliers/discount"] i { color:#fbbf24; }

/* Active state — solid highlight with gradient */
.sb-side-item.active {
  background: linear-gradient(135deg, rgba(59,125,248,.22), rgba(59,125,248,.08));
  color: var(--sb-accent);
  font-weight: 700;
  border-left: 3px solid var(--sb-accent);
  padding-left: 9px;
  box-shadow: inset 0 0 0 1px rgba(59,125,248,.15);
}
.sb-side-item.active i { color: var(--sb-accent) !important; transform: scale(1.1); }

/* Light theme active */
[data-theme="light"] .sb-side-item.active {
  background: linear-gradient(135deg, rgba(37,99,235,.15), rgba(37,99,235,.05));
  color: #1d4ed8;
  border-left: 3px solid #2563eb;
}
[data-theme="light"] .sb-side-item.active i { color: #1d4ed8 !important; }

/* Light theme — logo, navbar, sidebar text fixes */
[data-theme="light"] .sb-navbar { background:#ffffff; border-bottom:1px solid rgba(0,0,0,.1); box-shadow:0 1px 4px rgba(0,0,0,.08); }
[data-theme="light"] .sb-logo-text { color:#1a2236 !important; }
[data-theme="light"] .sb-logo-icon { background:#2563eb; }
[data-theme="light"] .sb-sidebar { background:#f0f4ff; border-right:1px solid rgba(0,0,0,.08); }
[data-theme="light"] .sb-side-item { color:#3d4a60; }
[data-theme="light"] .sb-side-item:hover { background:rgba(37,99,235,.08); color:#1a2236; }
[data-theme="light"] .sb-side-item i { color:#5a6a8a; }
[data-theme="light"] .sb-side-item.active i { color:#1d4ed8; }
[data-theme="light"] .sb-side-section { color:#6b7a95; }
[data-theme="light"] .sb-navbar .sb-logo-text { color:#1a2236 !important; }
[data-theme="light"] .sb-user-btn { color:#1a2236; background:rgba(0,0,0,.05); }
[data-theme="light"] .sb-theme-btn { color:#3d4a60; }
[data-theme="light"] .sb-page-header h4 { color:#1a2236; }
[data-theme="light"] .sb-page-header p { color:#6b7a95; }
.sb-side-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--sb-muted);padding:10px 12px 4px;margin-top:4px}
.sb-side-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--sb-border)}
.sb-biz-name{padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:9px}
.sb-biz-name:hover{background:var(--sb-hover)}
.sb-biz-avatar{width:30px;height:30px;border-radius:8px;background:var(--sb-accent);display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}
.sb-biz-info{overflow:hidden}
.sb-biz-info small{display:block;font-size:10px;color:var(--sb-muted);text-transform:uppercase;letter-spacing:.4px}
.sb-biz-info strong{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Content ── */
.sb-content-wrap{padding:20px 16px;max-width:1080px}
@media(min-width:768px){.sb-content-wrap{padding:24px 24px}}

/* ── Page header ── */
.sb-page-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}
.sb-page-header-left h4{font-weight:700;font-size:19px;margin:0;color:var(--sb-text)}
.sb-page-header-left p{color:var(--sb-muted);margin:2px 0 0;font-size:12px}

/* ── Breadcrumb ── */
.sb-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sb-muted);margin-bottom:14px}
.sb-breadcrumb a{color:var(--sb-muted);text-decoration:none}
.sb-breadcrumb a:hover{color:var(--sb-text)}
.sb-breadcrumb span{color:var(--sb-text);font-weight:500}
.sb-breadcrumb i{font-size:10px}

/* ── Stat cards (LedgerFlow style) ── */
.sb-stat-card{background:var(--sb-card);border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:16px 18px;transition:background .22s;position:relative;overflow:hidden}
.sb-stat-card .s-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:20px;flex-shrink:0}
.sb-stat-card .s-label{font-size:11px;color:var(--sb-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.sb-stat-card .s-sub{font-size:11px;color:var(--sb-muted);margin-top:3px}
.sb-stat-card .s-value{font-size:21px;font-weight:700;font-family:var(--font-mono);color:var(--sb-text);line-height:1.2}
.stat-green  .s-icon{background:var(--c-green-bg);color:var(--c-green)}
.stat-red    .s-icon{background:var(--c-red-bg);color:var(--c-red)}
.stat-blue   .s-icon{background:var(--c-blue-bg);color:var(--c-blue)}
.stat-yellow .s-icon{background:var(--c-yellow-bg);color:var(--c-yellow)}
.stat-purple .s-icon{background:var(--c-purple-bg);color:var(--c-purple)}
.stat-orange .s-icon{background:var(--c-orange-bg);color:var(--c-orange)}
.stat-green  .s-value{color:var(--c-green)}
.stat-red    .s-value{color:var(--c-red)}
.stat-blue   .s-value{color:var(--c-blue)}
.stat-yellow .s-value{color:var(--c-yellow)}
.stat-purple .s-value{color:var(--c-purple)}
.stat-orange .s-value{color:var(--c-orange)}

/* ── Cards ── */
.sb-card{background:var(--sb-card);border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:20px;margin-bottom:16px;transition:background .22s}
.sb-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.sb-card-header h6{font-weight:700;font-size:14px;margin:0}

/* ── Forms ── */
.form-control,.form-select{background:var(--sb-input-bg);border:1px solid var(--sb-border);color:var(--sb-text);border-radius:9px;padding:9px 13px;font-size:13px;transition:all .18s;font-family:var(--font-main)}
.form-control:focus,.form-select:focus{background:var(--sb-input-bg2);border-color:var(--sb-accent);color:var(--sb-text);box-shadow:0 0 0 3px rgba(59,125,248,.18);outline:none}
.form-control::placeholder{color:var(--sb-muted)}
.form-select option{background:var(--sb-card);color:var(--sb-text)}
.form-select optgroup{background:var(--sb-card2);color:var(--sb-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.form-select optgroup option{background:var(--sb-card);color:var(--sb-text);font-weight:500;font-size:13px;text-transform:none;letter-spacing:0}
.form-label{font-size:11px;font-weight:700;color:var(--sb-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;display:block}
.form-text{color:var(--sb-muted)!important;font-size:12px}
.input-group-text{background:var(--sb-input-bg);border-color:var(--sb-border);color:var(--sb-muted)}
.form-check-input{background-color:var(--sb-input-bg);border-color:var(--sb-border2)}
.form-check-input:checked{background-color:var(--sb-accent);border-color:var(--sb-accent)}

/* ── Buttons ── */
.btn-sb-primary{background:var(--sb-accent);color:#fff;border:none;border-radius:9px;padding:9px 20px;font-weight:600;font-size:13px;transition:all .18s;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.btn-sb-primary:hover{background:#2563eb;color:#fff;transform:translateY(-1px)}
.btn-sb-secondary{background:var(--sb-input-bg);color:var(--sb-text);border:1px solid var(--sb-border);border-radius:9px;padding:9px 20px;font-weight:500;font-size:13px;transition:all .18s;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.btn-sb-secondary:hover{background:var(--sb-input-bg2);color:var(--sb-text)}
.btn-sb-danger{background:var(--c-red-bg);color:var(--c-red);border:1px solid rgba(245,101,101,.25);border-radius:9px;padding:6px 13px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.btn-sb-danger:hover{background:rgba(245,101,101,.22);color:var(--c-red)}
.btn-sb-success{background:var(--c-green-bg);color:var(--c-green);border:1px solid rgba(16,201,160,.25);border-radius:9px;padding:6px 13px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px}

/* ── Tables ── */
.sb-table{width:100%;border-collapse:collapse;font-size:13px}
.sb-table th{color:var(--sb-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--sb-border);white-space:nowrap;background:var(--sb-card2)}
.sb-table td{padding:11px 14px;border-bottom:1px solid var(--sb-border);vertical-align:middle}
.sb-table tbody tr:last-child td{border-bottom:none}
.sb-table tbody tr:hover{background:var(--sb-hover)}
.sb-table-wrap{overflow-x:auto;border-radius:var(--sb-radius);border:1px solid var(--sb-border)}
.sb-table-wrap .sb-table th:first-child{border-radius:var(--sb-radius) 0 0 0}
.sb-table-wrap .sb-table th:last-child{border-radius:0 var(--sb-radius) 0 0}

/* ── Pagination ── */
.sb-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--sb-border);font-size:12px;color:var(--sb-muted);flex-wrap:wrap;gap:8px}
.sb-page-btns{display:flex;gap:4px}
.sb-page-btn{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--sb-border);background:transparent;color:var(--sb-muted);transition:all .15s}
.sb-page-btn:hover{background:var(--sb-hover);color:var(--sb-text)}
.sb-page-btn.active{background:var(--sb-accent);color:#fff;border-color:var(--sb-accent)}
.sb-page-btn:disabled{opacity:.35;cursor:not-allowed}

/* ── Badges ── */
.badge{border-radius:6px;font-size:11px;padding:3px 8px;font-weight:600}
.badge-sale    {background:var(--c-green-bg);color:var(--c-green)}
.badge-expense {background:var(--c-red-bg);color:var(--c-red)}
.badge-purchase{background:var(--c-blue-bg);color:var(--c-blue)}
.badge-payment {background:var(--c-yellow-bg);color:var(--c-yellow)}

/* ── Bottom Nav (mobile) ── */
.sb-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--sb-bottom-h);background:var(--sb-surface);border-top:1px solid var(--sb-border);z-index:1039;display:flex;justify-content:space-around;align-items:center;padding:0 4px;transition:background .22s}
.sb-nav-item{display:flex;flex-direction:column;align-items:center;color:var(--sb-muted);text-decoration:none;font-size:10px;gap:2px;flex:1;padding:6px 0;transition:color .18s;background:none;border:none;cursor:pointer}
.sb-nav-item i{font-size:20px}
.sb-nav-item.active,.sb-nav-item:hover{color:var(--sb-accent)}
.sb-nav-more{color:var(--sb-muted)}
.sb-nav-more.active,.sb-nav-more:hover{color:var(--sb-accent)}
.sb-nav-fab-wrap{flex:none;display:flex;align-items:center;justify-content:center;padding:0 8px}
.sb-nav-add{width:50px;height:50px;border-radius:50%;background:var(--sb-accent);border:none;cursor:pointer;color:#fff;font-size:22px;display:grid;place-items:center;box-shadow:0 4px 14px rgba(59,125,248,.45);margin-bottom:10px;transition:transform .18s,background .18s;flex-shrink:0}
.sb-nav-add:hover{background:#2563eb;transform:scale(1.07)}
.sb-nav-add.open{transform:rotate(45deg);background:var(--c-red)}

/* ── FAB Menu ── */
.sb-fab-menu{position:fixed;bottom:calc(var(--sb-bottom-h) + 14px);right:14px;z-index:1050;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.sb-fab-item{display:flex;align-items:center;gap:10px;text-decoration:none;animation:fabIn .18s ease both}
.sb-fab-label{background:var(--sb-card);color:var(--sb-text);padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid var(--sb-border);box-shadow:var(--sb-shadow);white-space:nowrap}
.sb-fab-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:17px;box-shadow:0 3px 8px rgba(0,0,0,.25);flex-shrink:0}
@keyframes fabIn{from{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
.sb-fab-item:nth-child(1){animation-delay:.00s}.sb-fab-item:nth-child(2){animation-delay:.04s}.sb-fab-item:nth-child(3){animation-delay:.08s}.sb-fab-item:nth-child(4){animation-delay:.12s}

/* ── Drawer ── */
.sb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1045;backdrop-filter:blur(2px)}
.sb-drawer{position:fixed;bottom:0;left:0;right:0;background:var(--sb-card);border-top:1px solid var(--sb-border);border-radius:18px 18px 0 0;z-index:1050;padding:8px 0 28px;max-height:76vh;overflow-y:auto;animation:drawerUp .22s ease;transition:background .22s}
@keyframes drawerUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sb-drawer-handle{width:38px;height:4px;background:var(--sb-border2);border-radius:99px;margin:6px auto 10px;cursor:pointer}
.sb-drawer-title{font-size:11px;font-weight:700;color:var(--sb-muted);text-transform:uppercase;letter-spacing:.8px;padding:0 18px 8px;border-bottom:1px solid var(--sb-border);margin-bottom:4px}
.sb-drawer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:8px 10px}
.sb-drawer-item{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--sb-text);text-decoration:none;padding:11px 4px;border-radius:11px;font-size:11px;font-weight:500;transition:background .15s;text-align:center}
.sb-drawer-item i{font-size:22px;color:var(--sb-accent)}
.sb-drawer-item:hover,.sb-drawer-item.active{background:var(--sb-hover)}
.sb-drawer-item.active i{color:var(--sb-accent2)}

/* ── Auth ── */
.sb-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sb-bg);padding:20px 16px;transition:background .22s}
[data-theme="dark"] .sb-auth-wrap{background:radial-gradient(ellipse at 20% 50%,rgba(59,125,248,.1) 0%,transparent 60%),var(--sb-bg)}
.sb-auth-card{background:var(--sb-card);border:1px solid var(--sb-border);border-radius:18px;padding:32px 28px;width:100%;max-width:420px;box-shadow:var(--sb-shadow)}
.sb-auth-logo{text-align:center;margin-bottom:24px}
.sb-auth-logo .icon{width:52px;height:52px;background:var(--sb-accent);border-radius:14px;display:grid;place-items:center;font-size:24px;margin:0 auto 10px}
.sb-auth-logo h2{font-weight:800;font-size:22px;margin:0}
.sb-auth-logo p{color:var(--sb-muted);font-size:13px;margin:4px 0 0}
.divider-text{display:flex;align-items:center;gap:10px;color:var(--sb-muted);font-size:12px;margin:14px 0}
.divider-text::before,.divider-text::after{content:'';flex:1;height:1px;background:var(--sb-border)}

/* ── Alerts ── */
.alert{border-radius:10px;font-size:13px}
.alert-danger {background:rgba(245,101,101,.12);border-color:rgba(245,101,101,.3);color:#fca5a5}
.alert-success{background:rgba(16,201,160,.12);border-color:rgba(16,201,160,.3);color:#6ee7b7}
.alert-warning{background:rgba(246,201,14,.12);border-color:rgba(246,201,14,.3);color:#fde68a}
.alert-info   {background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.3);color:#bfdbfe}
[data-theme="light"] .alert-danger {background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.25);color:#991b1b}
[data-theme="light"] .alert-success{background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.25);color:#065f46}
[data-theme="light"] .alert-warning{background:rgba(180,83,9,.08);border-color:rgba(180,83,9,.25);color:#92400e}
[data-theme="light"] .alert-info   {background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.25);color:#1e40af}
.sb-flash{margin:10px 0 0;border-radius:10px}

/* ── Summary bar (LedgerFlow list-top summary) ── */
.sb-summary-bar{display:flex;gap:0;border:1px solid var(--sb-border);border-radius:var(--sb-radius);overflow:hidden;margin-bottom:16px;background:var(--sb-card)}
.sb-summary-item{flex:1;padding:14px 16px;border-right:1px solid var(--sb-border);min-width:0}
.sb-summary-item:last-child{border-right:none}
.sb-summary-item .si-label{font-size:11px;color:var(--sb-muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.sb-summary-item .si-value{font-size:16px;font-weight:700;font-family:var(--font-mono)}

/* ── Filter bar ── */
.sb-filter-bar{background:var(--sb-card);border:1px solid var(--sb-border);border-radius:var(--sb-radius);padding:12px 16px;margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.sb-filter-bar .form-control,.sb-filter-bar .form-select{padding:7px 11px;font-size:12px;border-radius:7px}
.sb-filter-bar .form-label{font-size:10px;margin-bottom:3px}

/* ── Type badge colors ── */
.bg-success{background:var(--c-green-bg)!important;color:var(--c-green)!important}
.bg-danger {background:var(--c-red-bg)!important;  color:var(--c-red)!important}
.bg-primary{background:var(--c-blue-bg)!important; color:var(--c-blue)!important}
.bg-warning{background:var(--c-yellow-bg)!important;color:var(--c-yellow)!important}
.bg-secondary{background:var(--sb-input-bg)!important;color:var(--sb-muted)!important}

/* ── Utils ── */
.fw-600{font-weight:600!important}.fw-700{font-weight:700!important}
.text-mono{font-family:var(--font-mono)}
.text-muted{color:var(--sb-muted)!important}
.text-green{color:var(--c-green)!important}.text-red{color:var(--c-red)!important}
.text-blue{color:var(--c-blue)!important}.text-yellow{color:var(--c-yellow)!important}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--sb-border2);border-radius:99px}

/* ── Theme cards ── */
.theme-card{cursor:pointer;padding:14px;border-radius:11px;border:2px solid var(--sb-border);transition:all .18s;text-align:center}

/* ── Print ── */
@media print{.sb-navbar,.sb-sidebar,.sb-bottom-nav{display:none!important}body{padding:0!important}}

/* ── Language toggle button ── */
.sb-lang-btn {
  background: linear-gradient(135deg, #FF9933 0%, #FF4500 40%, #8B00FF 100%);
  border: none !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  transition: all .22s;
  font-family: var(--font-main);
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(255,69,0,.45), 0 0 0 1px rgba(255,255,255,.1);
  letter-spacing: .3px;
  position: relative;
  overflow: hidden;
}
.sb-lang-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.15) 0%, transparent 60%);
  border-radius: 20px;
}
.sb-lang-btn:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 6px 20px rgba(255,69,0,.6), 0 0 0 1px rgba(255,255,255,.15);
  color: #fff !important;
  filter: brightness(1.1);
}
.sb-lang-btn:active {
  transform: translateY(0) scale(1);
}

/* ── Restrict future dates visually ── */
input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
}
/* Grey out future dates in date picker */
input[type="date"][max] {
  position: relative;
}