:root {
  --brand:#215eae; --brand-strong:#163f7c; --brand-soft:rgba(54,119,211,.11);
  --accent:#b58b38; --accent-soft:rgba(239,214,146,.3); --canvas:#dce8f6;
  --surface:rgba(255,255,255,.40); --surface-muted:rgba(221,234,248,.32);
  --text:#142d4c; --muted:#52677e; --border:rgba(78,122,175,.2);
  --radius:18px; --radius-lg:24px; --radius-sm:12px;
  --shadow-sm:0 14px 34px rgba(31,66,111,.10),inset 0 1px 0 rgba(255,255,255,.98),inset 1px 0 0 rgba(255,255,255,.52),inset 0 -1px 0 rgba(61,104,161,.12);
  --shadow:0 20px 55px rgba(22,58,105,.13); --rail:252px;
}
html { background:#dce8f6; }
body { background:transparent; letter-spacing:-.012em; }
body::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none; background:radial-gradient(ellipse at 88% 5%,rgba(235,196,116,.68),transparent 39%),radial-gradient(ellipse at 8% 16%,#76a7df,transparent 54%),radial-gradient(ellipse at 72% 88%,rgba(100,160,230,.48),transparent 47%),linear-gradient(125deg,#c4ddf4,#eaf2fb 58%,#c8dff6); }
body::after { content:""; position:fixed; z-index:-1; pointer-events:none; width:64vw; height:110vh; left:46vw; top:12vh; border:1px solid rgba(255,255,255,.85); border-right-color:rgba(211,178,111,.5); border-radius:50%; transform:rotate(-30deg); background:linear-gradient(130deg,rgba(255,255,255,.40),rgba(255,255,255,.03) 44%,rgba(102,157,220,.08) 72%); box-shadow:inset 22px 0 55px rgba(255,255,255,.27),inset -1px 0 0 rgba(255,255,255,.6),-12px 8px 48px rgba(54,102,164,.07); }
.app-header { position:fixed; inset:18px auto 18px 18px; width:var(--rail); height:auto; border:1px solid rgba(218,193,133,.66); border-top-color:rgba(247,237,206,.84); border-radius:28px; background:linear-gradient(120deg,rgba(255,255,255,.17),transparent 35%),linear-gradient(145deg,rgba(23,58,104,.82),rgba(27,65,110,.68)); backdrop-filter:blur(32px) saturate(160%); -webkit-backdrop-filter:blur(32px) saturate(160%); box-shadow:0 22px 50px rgba(31,67,113,.19),inset 0 1px 0 rgba(255,255,255,.62),inset 1px 0 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(103,160,232,.35); }
.app-header__inner { display:flex; flex-direction:column; align-items:stretch; gap:0; height:100%; padding:25px 15px 15px; }
.brand { padding:2px 10px 27px; color:white; gap:12px; }
.brand img { width:43px; height:43px; border-radius:14px; border:1px solid rgba(238,207,139,.7); }
.brand strong { color:#fff; font-size:25px; letter-spacing:-1px; font-weight:700; }
.brand small { color:#c6d9ef; font-size:9px; letter-spacing:2px; }
.nav-caption { padding:0 13px 12px; font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#a9c2df; }
.app-navigation { position:static; display:flex; flex:1; flex-direction:column; align-items:stretch; gap:6px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#6888af transparent; min-height:0; padding:0 0 16px; background:transparent; box-shadow:none; border:0; max-height:none; }
.nav-item,.nav-group__trigger { width:100%; padding:13px 12px; gap:11px; border:1px solid transparent; border-radius:13px; color:#d8e7f9; font-size:13px; font-weight:500; text-align:left; white-space:normal; }
.nav-item>.bi,.nav-group__trigger>.bi:first-child { font-size:17px; color:#b9d5f7; }
.nav-group__trigger .bi-chevron-down { margin-left:auto; }
.nav-item:hover,.nav-group__trigger:hover { color:#fff; background:rgba(255,255,255,.08); }
.nav-group.active>.nav-group__trigger,.nav-item.active { color:#fff; border-color:rgba(219,192,133,.55); background:linear-gradient(120deg,rgba(151,196,250,.2),rgba(255,255,255,.06)); box-shadow:inset 0 1px 0 rgba(255,255,255,.13); }
.nav-group.active>.nav-group__trigger>.bi:first-child,.nav-item.active>.bi { color:#f1d597; }
.nav-group__menu { position:static; min-width:0; padding:5px 0 5px 15px; margin:0 0 0 16px; border:0; border-left:1px solid rgba(205,222,241,.22); background:transparent; border-radius:0; box-shadow:none; }
.nav-group__menu a { white-space:normal; padding:8px 9px; color:#c8dbf2; font-size:12px; line-height:1.35; }
.nav-group__menu a:hover,.nav-group__menu a[aria-current="page"] { color:#ffe2a6; background:rgba(242,210,145,.08); }
.user-menu { border-top:1px solid rgba(213,229,248,.16); padding-top:15px; margin-top:auto; }
.user-menu__trigger { width:100%; color:#fff; padding:7px; }
.user-menu__trigger:hover { background:rgba(255,255,255,.08); border-color:transparent; }
.user-menu__identity small { color:#b6cbe2; }
.user-menu__trigger>.bi { margin-left:auto; }
.avatar { flex-shrink:0; background:linear-gradient(150deg,#dfc38a,#b69a62); color:#263c59; border:1px solid #e9d4a8; border-radius:12px; width:38px; height:38px; }
.user-menu__dropdown { top:auto; bottom:100%; left:0; right:0; background:#f1f6fd; z-index:5; }
.workspace-bar { margin-left:calc(var(--rail) + 52px); margin-right:32px; min-height:89px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(58,106,162,.16); }
.workspace-breadcrumb { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--muted); }
.workspace-breadcrumb strong { color:var(--text); font-weight:550; }
.workspace-meta { display:flex; align-items:center; gap:16px; font-size:11px; color:var(--muted); }
.workspace-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(74,121,179,.24); border-radius:30px; background:rgba(255,255,255,.38); color:#345675; }
.page-shell,.page-shell--wide { width:auto; max-width:none; margin:0 32px 0 calc(var(--rail) + 52px); padding:30px 0 35px; min-width:0; min-height:calc(100vh - 161px); }
.page-heading { align-items:center; margin-bottom:27px; gap:20px; }
.page-heading h1 { font-size:clamp(27px,2.3vw,38px); font-weight:650; letter-spacing:-1.3px; }
.page-heading p { font-size:13px; line-height:1.65; margin-top:8px; }
.page-eyebrow { display:block; margin-bottom:10px; color:#5b7392; font-size:10px; letter-spacing:2.2px; font-weight:650; text-transform:uppercase; }
.card,.form-container,.table-container,.kpi-card,.kpi-tile,.sales-metric,.period-card,.date-filter-form,.secondary-analytics { border:1px solid rgba(97,146,205,.42)!important; border-top-color:rgba(255,255,255,.98)!important; border-right-color:rgba(196,160,87,.54)!important; background:linear-gradient(115deg,rgba(255,255,255,.20),transparent 32%,rgba(255,255,255,.06) 73%,rgba(235,213,162,.12)),linear-gradient(145deg,rgba(255,255,255,.44),rgba(255,255,255,.17))!important; backdrop-filter:blur(28px) saturate(155%); -webkit-backdrop-filter:blur(28px) saturate(155%); box-shadow:var(--shadow-sm)!important; border-radius:22px; }
.card { padding:24px; margin-bottom:22px; }
.card h2 { font-size:18px; font-weight:650; }
.card h3 { font-size:16px; }
.card-body { min-width:0; }
.kpi-card { padding:22px; gap:17px; min-height:113px; }
.kpi-icon { width:45px; height:45px; border-radius:15px; border:1px solid rgba(64,126,201,.27); background:linear-gradient(135deg,rgba(192,218,253,.62),rgba(240,248,255,.4)); box-shadow:inset 0 1px 0 white; }
.kpi-card:nth-child(2n) .kpi-icon { color:#876320; border-color:rgba(174,135,50,.3); background:linear-gradient(135deg,rgba(240,218,168,.5),rgba(255,251,231,.3)); }
.kpi-value { font-size:25px!important; font-weight:650; letter-spacing:-1px; }
.kpi-label { font-size:11px; font-weight:550; }
.form-control,.form-select,input:not([type="checkbox"]):not([type="radio"]),select,textarea { border-color:rgba(93,135,187,.34); background-color:rgba(255,255,255,.42); border-radius:12px; min-height:44px; font-size:13px; box-shadow:inset 0 1px 3px rgba(34,69,110,.06),0 1px 0 rgba(255,255,255,.62); }
input::placeholder,textarea::placeholder { color:#718299; }
label,.form-label,.filter-label { font-size:11px; color:#3e5875; letter-spacing:.01em; }
.btn,button.btn-primary { padding:10px 16px; border-radius:12px; font-size:12px; min-height:42px; border-width:1px; border-style:solid; transition:background .15s,box-shadow .15s; }
.btn-primary,.btn-success { background:linear-gradient(135deg,#3679c5,#245797); border-color:#6796ce; box-shadow:0 4px 10px rgba(37,88,156,.15),inset 0 1px 0 rgba(255,255,255,.2); }
.btn-outline-secondary,.btn-light,.btn-outline-primary { background:rgba(255,255,255,.35); border-color:rgba(84,129,184,.32); color:#244c7d; }
.btn-outline-secondary:hover,.btn-outline-primary:hover { background:rgba(223,235,252,.9); color:#153a6b; }
.table-wrapper,.table-responsive { border-color:rgba(94,137,189,.2); border-radius:15px; scrollbar-width:thin; }
table,.table { background:transparent; --bs-table-bg:transparent; --bs-table-color:var(--text); --bs-table-hover-bg:rgba(209,229,251,.4); }
thead { background:rgba(207,224,245,.36); }
th { font-size:10px; letter-spacing:.055em; color:#526b88; font-weight:650; }
td { font-size:12px; }
th,td { padding:14px 16px!important; border-bottom-color:rgba(91,132,181,.13); }
tbody tr:hover { background:rgba(227,238,254,.55); }
.app-footer { width:auto; margin:0 32px 0 calc(var(--rail) + 52px); font-size:10px; border-color:rgba(85,123,168,.18); }
.ledger-tabs { display:inline-flex; flex-wrap:wrap; gap:4px; padding:5px; margin-bottom:22px; border:1px solid rgba(95,135,186,.29); border-top-color:rgba(255,255,255,.8); background:rgba(255,255,255,.18); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%); box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 6px 18px rgba(31,66,111,.06); border-radius:15px; }
.ledger-tabs a { padding:10px 17px; border-radius:11px; text-decoration:none; color:#526c8c; font-size:12px; font-weight:600; }
.ledger-tabs a[aria-current="page"] { color:#214e85; background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.37)); box-shadow:0 3px 10px rgba(45,81,128,.10),inset 0 1px 0 white; border:1px solid rgba(197,163,93,.55); }
.ledger-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ledger-filter-grid .field-group { min-width:0; }
.ledger-filter-grid .wide { grid-column:span 2; }
.ledger-advanced { grid-column:1/-1; }
.ledger-advanced>summary { display:flex; align-items:center; gap:9px; color:#315c8e; font-size:12px; cursor:pointer; padding:8px 0; }
.ledger-advanced>summary span { color:var(--muted); font-size:10px; margin-left:5px; }
.ledger-advanced>div { margin:10px 0; }
.ledger-filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding-top:3px; }
.ledger-table-heading,.ledger-pagination { display:flex; justify-content:space-between; align-items:center; gap:15px; flex-wrap:wrap; }
.ledger-table-heading { margin-bottom:20px; }
.ledger-table-heading h2 { margin-bottom:5px; }
.ledger-table-heading p,.ledger-pagination { color:var(--muted); font-size:12px; }
.ledger-pagination { margin-top:20px; }
.ledger-pagination nav { display:flex; gap:8px; }
.ledger-tag { display:inline-flex; align-items:center; padding:4px 9px; border:1px solid rgba(61,112,175,.2); border-radius:7px; background:rgba(190,214,247,.24); color:#365e90; font-size:10px; white-space:nowrap; }
.ledger-tag--success { color:#216546; background:#ddf2e9; border-color:#b4dccb; }
.ledger-tag--pending { color:#7e5a1e; background:#f5ecd5; border-color:#e3d2aa; }
.ledger-number { font-variant-numeric:tabular-nums; white-space:nowrap; font-weight:550; }
.table-responsive { position:relative; max-width:100%; }
.ledger-detail { min-width:210px; }
.ledger-detail dl { display:grid; grid-template-columns:1fr 1.4fr; gap:7px 12px; margin:12px 0; }
.ledger-detail dt,.ledger-detail dd { font-size:11px; margin:0; overflow-wrap:anywhere; }
.ledger-detail summary { color:var(--brand); cursor:pointer; }
.dashboard-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:22px; }
.dashboard-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:22px; }
.dashboard-kpi { display:flex; flex-direction:column; align-items:stretch; gap:13px; padding:22px; }
.dashboard-kpi-top { display:flex; align-items:center; justify-content:space-between; color:#486687; font-size:12px; }
.dashboard-kpi-top .kpi-icon { width:35px; height:35px; font-size:15px; border-radius:11px; }
.dashboard-kpi-amount { font-size:clamp(23px,2.3vw,34px); line-height:1.25; font-weight:650; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.dashboard-kpi-amount small { color:#6b8098; font-size:11px; letter-spacing:0; font-weight:500; }
.dashboard-kpi-bottom { display:flex; flex-direction:column; gap:5px; }
.dashboard-kpi-bottom strong { font-size:11px; color:#42648c; font-weight:600; }
.dashboard-kpi-bottom small { font-size:10px; color:var(--muted); }
.dashboard-sites>.ledger-table-heading>.bi { font-size:28px; color:#688db6; }
.dashboard-site { margin-bottom:19px; }
.dashboard-site>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; }
.dashboard-site strong { font-weight:600; }
.dashboard-site small { color:var(--muted); font-size:10px; }
.dashboard-bar { height:5px; border-radius:8px; background:rgba(77,122,179,.1); margin:9px 0 3px; overflow:hidden; }
.dashboard-bar span { height:100%; display:block; border-radius:8px; background:linear-gradient(90deg,#4280c1,#93b7e1); }
.dashboard-site:nth-child(2n) .dashboard-bar span { background:linear-gradient(90deg,#b39456,#dbc993); }
.dashboard-text-link { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; text-decoration:none; padding-top:14px; border-top:1px solid var(--border); }
.dashboard-shortcuts { background:linear-gradient(120deg,rgba(255,255,255,.45),rgba(208,229,255,.14) 58%,rgba(237,217,173,.17))!important; }
.dashboard-shortcuts>h2 { font-size:26px; letter-spacing:-.8px; margin-bottom:10px; }
.dashboard-shortcuts>p { color:var(--muted); font-size:12px; max-width:280px; }
.dashboard-shortcut-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:22px; }
.dashboard-shortcut-grid>a { display:flex; flex-direction:column; gap:4px; position:relative; padding:18px; border-radius:18px; border:1px solid rgba(255,255,255,.78); border-right-color:rgba(196,160,87,.35); background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,.12)); color:var(--text); text-decoration:none; box-shadow:var(--shadow-sm); }
.dashboard-shortcut-grid>a:hover { background:rgba(255,255,255,.7); }
.dashboard-shortcut-grid strong { margin-top:9px; font-size:13px; font-weight:600; }
.dashboard-shortcut-grid small { color:var(--muted); font-size:10px; }
.dashboard-shortcut-grid>a>.bi { position:absolute; top:20px; right:18px; color:#738cac; font-size:11px; }
.dashboard-shortcut-icon { width:37px; height:37px; border-radius:12px; display:grid; place-items:center; color:#2c65a7; background:rgba(161,196,239,.24); border:1px solid rgba(63,119,188,.2); font-size:18px; }
.dashboard-shortcut-icon.gold { color:#8e702f; border-color:rgba(164,127,46,.27); background:rgba(234,213,165,.3); }
.dashboard-geography>summary { padding:16px 4px; display:flex; justify-content:space-between; color:var(--muted); font-size:12px; cursor:pointer; }
.dashboard-geography>div { margin-top:10px; }
@media(max-width:800px) { .dashboard-grid { grid-template-columns:1fr; gap:0; } }
@media(max-width:650px) { .dashboard-kpis { grid-template-columns:1fr; gap:12px; } .dashboard-kpi { display:grid; grid-template-columns:1fr auto; gap:10px; padding:18px; } .dashboard-kpi-top { grid-column:1/-1; } .dashboard-kpi-bottom { text-align:right; } }
.ledger-empty { padding:50px 20px!important; text-align:center; }
.ledger-empty .bi { display:block; font-size:30px; color:#819bbc; margin-bottom:12px; }
.login-page { background:transparent; }
.login-shell { border:1px solid rgba(209,182,121,.65); background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(255,255,255,.19)); backdrop-filter:blur(32px) saturate(155%); -webkit-backdrop-filter:blur(32px) saturate(155%); border-radius:32px; box-shadow:0 30px 85px rgba(30,73,122,.18),inset 0 1px 0 white,inset 1px 0 0 rgba(255,255,255,.5); }
.login-brand { background:linear-gradient(130deg,rgba(255,255,255,.10),transparent 45%),linear-gradient(150deg,rgba(38,85,145,.82),rgba(51,100,163,.66)); border-right:1px solid rgba(219,184,113,.65); }
.login-brand img { border:1px solid #e5ca92; }
.login-page .app-footer { display:none; }
:focus-visible { outline:3px solid #a67c2d; outline-offset:3px; }
@media(min-width:1101px) { .nav-toggle { display:none; } }
@media(max-width:1100px) {
  .app-header { inset:12px 16px auto; width:auto; height:66px; border-radius:20px; }
  .app-header__inner { padding:10px 14px; flex-direction:row; align-items:center; gap:15px; }
  .brand { padding:0; margin-right:auto; } .brand img { width:36px;height:36px; } .brand strong { font-size:21px; } .brand small { font-size:8px; }
  .nav-caption { display:none; } .nav-toggle { display:grid; color:white; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.1); order:3; }
  .app-navigation { display:none; position:fixed; inset:75px 0 auto; max-height:calc(100dvh - 105px); padding:15px; background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 50%),rgba(24,60,104,.92); backdrop-filter:blur(30px); -webkit-backdrop-filter:blur(30px); border:1px solid rgba(188,164,112,.65); border-top-color:rgba(255,255,255,.7); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 18px 38px rgba(24,52,88,.16); border-radius:20px; }
  .app-navigation.is-open { display:flex; }
  .user-menu { margin:0; padding:0; border:0; } .user-menu__identity { display:none; } .user-menu__trigger>.bi { display:none; }
  .user-menu__dropdown { bottom:auto; top:55px; left:auto; right:0; }
  .workspace-bar { margin:90px 24px 0; min-height:47px; } .workspace-meta time { display:none; }
  .page-shell,.page-shell--wide { margin:0 24px; padding-top:25px; } .app-footer { margin:0 24px; }
}
@media(max-width:650px) {
  .workspace-bar { margin-left:17px;margin-right:17px; } .workspace-breadcrumb { font-size:10px;gap:7px; } .workspace-meta { display:none; }
  .page-shell,.page-shell--wide { margin:0 14px; padding-top:24px; } .page-heading { align-items:flex-start; } .page-heading h1 { font-size:28px; } .page-heading p { font-size:12px; }
  .card { padding:18px; } .kpi-card { padding:16px; } .kpi-value { font-size:22px!important; }
  .ledger-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; } .ledger-filter-grid .wide { grid-column:1/-1; }
  .ledger-advanced>summary span { display:none; }
  .ledger-pagination { align-items:flex-start; } .ledger-tabs { display:flex; } .ledger-tabs a { flex:1; text-align:center; padding:9px 10px; }
  .app-footer { margin:0 17px; } .login-page { padding:16px; } .login-brand { border-right:0; border-bottom:1px solid #ccb57d; } .login-card { padding:27px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
@supports not (backdrop-filter:blur(1px)) { .card,.kpi-card,.form-container,.table-container { background:#edf3fa!important; } }
@media print { body::before,body::after,.workspace-bar { display:none; } .page-shell,.page-shell--wide { margin:0; } .card { background:white!important; backdrop-filter:none; box-shadow:none!important; } }
