/* Maddy 4.0 production stylesheet */
:root{
  --theme-bg:#f5f7fb;--theme-soft:#f9fafc;
  --accent:#315bff;--accent-strong:#2448d8;--accent-dark:#6d8bff;--accent-dark-strong:#8ca3ff;
  --bg:var(--theme-bg);--surface:#fff;--surface-soft:var(--theme-soft);--surface-tint:color-mix(in srgb,var(--accent) 9%,#fff);
  --text:#172033;--muted:#667085;--border:#e3e7ef;--primary:var(--accent);--primary-strong:var(--accent-strong);
  --success:#1baa5c;--warning:#f59e0b;--danger:#e5484d;--info:#4f7cff;
  --shadow:0 12px 36px rgba(27,38,73,.08);--shadow-sm:0 4px 16px rgba(27,38,73,.06);
  --radius:16px;--radius-sm:11px;--sidebar:260px;--sidebar-mini:78px;--topbar:70px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --scale:1;
  color-scheme:light;
}
:root[data-accent="blue"]{--theme-bg:#f6f9ff;--theme-soft:#f8fbff;--accent:#356ae6;--accent-strong:#2755bd;--accent-dark:#7da0ff;--accent-dark-strong:#a3b9ff}
:root[data-accent="pink"]{--theme-bg:#fff7fb;--theme-soft:#fffafd;--accent:#c43f7d;--accent-strong:#a62f67;--accent-dark:#f083b3;--accent-dark-strong:#f5a5c8}
:root[data-accent="green"]{--theme-bg:#f5fbf7;--theme-soft:#f8fcf9;--accent:#2f8f5b;--accent-strong:#237247;--accent-dark:#67c994;--accent-dark-strong:#8edaae}
:root[data-accent="purple"]{--theme-bg:#faf7ff;--theme-soft:#fcfaff;--accent:#7957d5;--accent-strong:#6242b8;--accent-dark:#a98bf5;--accent-dark-strong:#c2adfa}
:root[data-accent="red"]{--theme-bg:#fff7f7;--theme-soft:#fffafa;--accent:#dc3f45;--accent-strong:#b82e34;--accent-dark:#f1767a;--accent-dark-strong:#f59a9d}
:root[data-accent="orange"]{--theme-bg:#fff8f3;--theme-soft:#fffbf8;--accent:#e66a24;--accent-strong:#bd5218;--accent-dark:#f59a61;--accent-dark-strong:#f8b486}
:root[data-accent="teal"]{--theme-bg:#f3fbfa;--theme-soft:#f8fdfc;--accent:#16877f;--accent-strong:#0f6d67;--accent-dark:#5bc4bb;--accent-dark-strong:#82d7cf}
:root[data-theme="dark"]{
  --bg:#0b1020;--surface:#12192b;--surface-soft:#172036;--surface-tint:color-mix(in srgb,var(--accent-dark) 18%,#12192b);
  --text:#f3f6ff;--muted:#a5b0c7;--border:#293451;--primary:var(--accent-dark);--primary-strong:var(--accent-dark-strong);
  --shadow:0 16px 42px rgba(0,0,0,.28);--shadow-sm:0 5px 18px rgba(0,0,0,.22);color-scheme:dark;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0b1020;--surface:#12192b;--surface-soft:#172036;--surface-tint:color-mix(in srgb,var(--accent-dark) 18%,#12192b);
  --text:#f3f6ff;--muted:#a5b0c7;--border:#293451;--primary:var(--accent-dark);--primary-strong:var(--accent-dark-strong);
  --shadow:0 16px 42px rgba(0,0,0,.28);--shadow-sm:0 5px 18px rgba(0,0,0,.22);color-scheme:dark;
}}
:root[data-font="inter"]{--font:Inter,ui-sans-serif,system-ui,sans-serif}
:root[data-font="manrope"]{--font:Manrope,ui-sans-serif,system-ui,sans-serif}
:root[data-font="dm-sans"]{--font:"DM Sans",ui-sans-serif,system-ui,sans-serif}
:root[data-font="jakarta"]{--font:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif}
:root[data-font="source-sans"]{--font:"Source Sans 3",ui-sans-serif,system-ui,sans-serif}
:root[data-font-size="compact"]{--scale:.88}
:root[data-font-size="default"]{--scale:1}
:root[data-font-size="comfortable"]{--scale:1.08}
:root[data-font-size="large"]{--scale:1.16}
:root[data-font-size="xlarge"]{--scale:1.26}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}
body{font-size:calc(14px * var(--scale));line-height:1.45}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}
svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.icon.sm{width:17px;height:17px}.icon.lg{width:24px;height:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:9px 13px;font-weight:750;font-size:calc(12px * var(--scale));background:var(--surface);color:var(--text);transition:.16s;white-space:nowrap;min-height:38px}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary:hover{background:var(--primary-strong)}.btn.secondary{border-color:var(--border)}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--border))}.btn.success{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.btn.warning{background:color-mix(in srgb,var(--warning) 16%,var(--surface));color:color-mix(in srgb,var(--warning) 72%,var(--text));border-color:color-mix(in srgb,var(--warning) 36%,var(--border))}.btn.icon-only{width:38px;padding:0}.btn.sm{min-height:32px;padding:6px 9px;border-radius:9px;font-size:calc(11px * var(--scale))}.btn.pill{border-radius:999px}
.input,.select,.textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:11px;padding:10px 12px;outline:none;transition:.15s;min-height:40px}.textarea{min-height:96px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--danger)}
.label{display:block;font-weight:750;font-size:calc(11px * var(--scale));color:var(--muted);margin-bottom:6px}.help{font-size:calc(10px * var(--scale));color:var(--muted);margin-top:5px}.field{min-width:0}.required:after{content:" *";color:var(--danger)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card.pad{padding:18px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{margin:0;font-size:calc(14px * var(--scale));letter-spacing:-.02em}.card-head p{margin:4px 0 0;color:var(--muted);font-size:calc(10px * var(--scale))}.card-body{padding:18px}.card-footer{padding:13px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:9px}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-weight:800;font-size:calc(9px * var(--scale));border:1px solid var(--border);background:var(--surface-soft);white-space:nowrap}.badge.primary{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,var(--border));background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.badge.success{color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,var(--border));background:color-mix(in srgb,var(--success) 9%,var(--surface))}.badge.warning{color:#b46a00;border-color:color-mix(in srgb,var(--warning) 30%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.badge.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.badge.info{color:var(--info);border-color:color-mix(in srgb,var(--info) 25%,var(--border));background:color-mix(in srgb,var(--info) 9%,var(--surface))}
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr)}.login-art{position:relative;overflow:hidden;padding:56px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#173ba9,#315bff 55%,#6c84ff);color:#fff}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}.login-art:before{width:520px;height:520px;right:-170px;top:-190px}.login-art:after{width:360px;height:360px;left:-160px;bottom:-120px}.login-content{position:relative;z-index:1}.login-brand-logo{display:block;width:min(430px,82%);height:auto;object-fit:contain;filter:drop-shadow(0 18px 36px rgba(7,19,78,.28));margin:-58px 0 -40px -52px}.login-panel-logo{display:block;width:210px;max-width:66%;height:auto;object-fit:contain;margin:-44px 0 -27px -26px}.login-logo{display:none}.login h1{font-size:48px;line-height:1.05;letter-spacing:-.05em;max-width:680px;margin:28px 0 16px}.login-art p{max-width:620px;font-size:17px;color:rgba(255,255,255,.8)}.login-pills{display:flex;flex-wrap:wrap;gap:9px}.login-pill{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:750}.login-panel{display:grid;place-items:center;padding:42px}.login-card{width:min(440px,100%)}.login-card h2{font-size:30px;letter-spacing:-.035em;margin:0 0 7px}.login-card .sub{color:var(--muted);margin:0 0 26px}.login-card .field{margin-bottom:15px}.login-error{min-height:22px;color:var(--danger);font-size:12px;margin-top:10px}.login-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:17px;margin-top:20px;color:var(--muted);font-size:11px}
.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .18s}.shell.mini{grid-template-columns:var(--sidebar-mini) minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);overflow:hidden;z-index:30}.side-brand{height:var(--topbar);display:flex;align-items:center;gap:8px;padding:0 11px;border-bottom:1px solid var(--border);overflow:hidden}.brand-logo-full{display:block;width:132px;height:48px;object-fit:contain;object-position:left center}.brand-logo-mark{display:none;width:42px;height:44px;object-fit:contain}.brand-mark{display:none}.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:14px}.brand-copy span{display:block;font-size:9px;color:var(--muted)}.shell.mini .brand-copy,.shell.mini .nav-label,.shell.mini .nav-section,.shell.mini .side-user-copy{display:none}.side-scroll{flex:1;overflow:auto;padding:13px 10px}.nav-section{padding:13px 10px 7px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--muted)}.nav-btn{width:100%;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;font-weight:720;text-align:left;margin:2px 0;position:relative}.nav-btn:hover{background:var(--surface-soft);color:var(--text)}.nav-btn.active{background:var(--surface-tint);color:var(--primary)}.nav-btn .count{margin-left:auto;min-width:21px;height:21px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:9px}.shell.mini .nav-btn{justify-content:center;padding:10px}.shell.mini .nav-btn .count{position:absolute;right:3px;top:2px;min-width:16px;height:16px;padding:0 4px}.side-user{border-top:1px solid var(--border);padding:13px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary);font-weight:900;flex:0 0 auto}.side-user-copy{min-width:0;flex:1}.side-user-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.side-user-copy span{display:block;color:var(--muted);font-size:9px}.workspace{min-width:0}.topbar{height:var(--topbar);position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.top-left,.top-right{display:flex;align-items:center;gap:10px;min-width:0}.page-title{min-width:0}.page-title strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title span{display:block;font-size:9px;color:var(--muted)}.client-switch{display:flex;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);padding:3px}.client-switch button{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:7px 10px;font-weight:800;font-size:10px}.client-switch button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.connection-dot.online{background:var(--success)}.connection-dot.loading{background:var(--warning)}.connection-dot.offline,.connection-dot.error{background:var(--danger)}
.main{padding:22px;max-width:1800px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h1{font-size:calc(25px * var(--scale));letter-spacing:-.04em;margin:0}.page-head p{color:var(--muted);margin:5px 0 0;font-size:calc(11px * var(--scale));max-width:760px}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stat-card{padding:17px}.stat-label{font-size:calc(10px * var(--scale));font-weight:800;color:var(--muted)}.stat-value{font-size:calc(29px * var(--scale));font-weight:850;letter-spacing:-.05em;margin-top:7px}.stat-meta{font-size:calc(9px * var(--scale));color:var(--muted);margin-top:4px}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));transform:translateY(-1px)}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.quick-action{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface);text-align:left}.quick-action:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:var(--shadow-sm)}.quick-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary)}.quick-action strong{display:block;font-size:11px}.quick-action span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.list{list-style:none;padding:0;margin:0}.list-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-main{min-width:0;flex:1}.list-main strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-main span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.list-value{font-size:11px;font-weight:800}
.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}.toolbar .tool{min-width:140px;flex:1}.toolbar .tool.search{min-width:220px;flex:2}.toolbar-actions{display:flex;align-items:center;gap:8px}.more-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.data-table th{position:sticky;top:0;background:var(--surface-soft);z-index:2;text-align:left;font-size:calc(9px * var(--scale));text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 11px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:11px;border-bottom:1px solid var(--border);font-size:calc(10px * var(--scale));vertical-align:top}.data-table tr:hover td{background:color-mix(in srgb,var(--surface-tint) 30%,var(--surface))}.data-table tr.selected td{background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.data-table .narration{min-width:300px;max-width:620px;white-space:normal;line-height:1.45}.data-table .matter{min-width:160px}.data-table .work{min-width:150px}.data-table .sno{width:54px}.data-table .hours{white-space:nowrap;font-weight:800}.cell-sub{display:block;font-size:8px;color:var(--muted);margin-top:3px}.checkbox{width:16px;height:16px;accent-color:var(--primary)}.row-menu{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + 5px);min-width:195px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:30}.menu-pop button{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:9px;text-align:left;padding:9px;border-radius:8px;font-size:10px}.menu-pop button:hover{background:var(--surface-soft)}.menu-pop button.danger{color:var(--danger)}
.mobile-cards{display:none}.entry-card{padding:14px}.entry-card + .entry-card{margin-top:10px}.entry-card-head{display:flex;justify-content:space-between;gap:12px}.entry-card-head>div{min-width:0;flex:1}.entry-card-title-label{display:block;margin-bottom:3px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.entry-card h3{font-size:13px;margin:0;line-height:1.35;overflow-wrap:anywhere}.entry-card .meta{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.45;overflow-wrap:anywhere}.entry-card .narr{font-size:10px;margin:12px 0;color:var(--text)}.entry-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0}.entry-card-fields>div{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.entry-card-fields>div>span{display:block;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;line-height:1.25}.entry-card-fields>div>strong{display:block;margin-top:5px;color:var(--text);font-size:10px;line-height:1.45;font-weight:780;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.entry-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:10px;flex-wrap:wrap}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;flex-wrap:wrap}.pagination .pages{display:flex;align-items:center;gap:5px}.page-btn{min-width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:10px;font-weight:800}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.bulk-bar{position:sticky;bottom:14px;z-index:18;margin:12px auto 0;max-width:980px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--primary) 6%);box-shadow:var(--shadow)}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.form-sections{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form-grid .span2{grid-column:span 2}.form-grid .span3{grid-column:1/-1}.summary-panel{position:sticky;top:calc(var(--topbar) + 16px)}.summary-list{display:grid;gap:10px}.summary-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:9px;border-bottom:1px solid var(--border)}.summary-item:last-child{border-bottom:0;padding-bottom:0}.summary-item span{font-size:9px;color:var(--muted)}.summary-item strong{font-size:10px;text-align:right;max-width:190px}.narration-preview{padding:12px;border:1px dashed var(--border);border-radius:11px;background:var(--surface-soft);font-size:10px;white-space:pre-wrap}.dirty-dot{width:7px;height:7px;background:var(--warning);border-radius:50%;display:inline-block;margin-right:5px}
.tabs{display:flex;gap:5px;padding:5px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);overflow:auto}.tab{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:8px 11px;font-weight:800;font-size:10px;white-space:nowrap}.tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}
.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty .empty-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin:0 auto 12px;background:var(--surface-tint);color:var(--primary)}.empty h3{color:var(--text);font-size:14px;margin:0}.empty p{font-size:10px;margin:5px auto 0;max-width:430px}.loading{padding:42px;text-align:center;color:var(--muted)}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}
.alert{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:12px;border:1px solid var(--border);font-size:10px}.alert.info{background:color-mix(in srgb,var(--info) 8%,var(--surface));border-color:color-mix(in srgb,var(--info) 25%,var(--border))}.alert.warning{background:color-mix(in srgb,var(--warning) 10%,var(--surface));border-color:color-mix(in srgb,var(--warning) 28%,var(--border))}.alert.danger{background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-color:color-mix(in srgb,var(--danger) 25%,var(--border))}.alert.success{background:color-mix(in srgb,var(--success) 9%,var(--surface));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}
.toast-zone{position:fixed;right:18px;bottom:18px;z-index:120;display:grid;gap:9px;width:min(390px,calc(100vw - 28px))}.toast{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);background:var(--surface);border-radius:13px;box-shadow:var(--shadow);padding:12px}.toast strong{display:block;font-size:11px}.toast span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.toast.success{border-left:4px solid var(--success)}.toast.warning{border-left:4px solid var(--warning)}.toast.error{border-left:4px solid var(--danger)}.toast.info{border-left:4px solid var(--info)}
.modal-backdrop{position:fixed;inset:0;background:rgba(7,12,24,.55);backdrop-filter:blur(2px);z-index:80;display:grid;place-items:center;padding:18px}.modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.modal.wide{width:min(1120px,100%)}.modal.small{width:min(470px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:16px;margin:0}.modal-head p{font-size:9px;color:var(--muted);margin:4px 0 0}.modal-body{padding:18px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:13px 18px;border-top:1px solid var(--border)}
.appearance-panel{position:fixed;right:18px;top:78px;width:min(410px,calc(100vw - 28px));max-height:calc(100vh - 96px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);z-index:75}.appearance-body{padding:18px;display:grid;gap:18px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.choice-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.choice{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 7px;font-size:9px;font-weight:800}.choice.active{background:var(--surface-tint);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:13px;overflow:hidden}.cal-head,.cal-day{background:var(--surface);padding:9px;min-height:96px}.cal-head{min-height:auto;font-size:9px;font-weight:850;color:var(--muted);text-align:center}.cal-day.muted-day{background:var(--surface-soft);color:var(--muted)}.cal-date{font-size:10px;font-weight:850}.cal-event{margin-top:5px;padding:5px 6px;border-radius:7px;background:var(--surface-tint);color:var(--primary);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.overdue{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.cal-event.today{background:color-mix(in srgb,var(--warning) 13%,var(--surface));color:#a35e00}
.chart{display:flex;align-items:flex-end;gap:9px;height:180px;padding:18px 12px 8px;border-bottom:1px solid var(--border)}.bar{flex:1;min-width:18px;max-width:54px;background:linear-gradient(to top,var(--primary),#8fa3ff);border-radius:7px 7px 0 0;position:relative}.bar span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:8px;color:var(--muted);white-space:nowrap}.bar strong{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:8px}
.mobile-bottom{display:none}.mobile-drawer{display:none}
@media(max-width:1180px){.grid.five,.grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{grid-template-columns:minmax(0,1fr) 300px}.more-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.shell,.shell.mini{display:block}.sidebar{display:none}.topbar{padding:0 13px}.desktop-only{display:none!important}.main{padding:16px 12px 86px}.grid.three,.grid.four,.grid.five,.grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{display:block}.summary-panel{position:static;margin-top:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span3{grid-column:1/-1}.desktop-table{display:none}.mobile-cards{display:block;padding:12px}.mobile-bottom{position:fixed;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(15px);border-top:1px solid var(--border);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-btn{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px;font-weight:800}.mobile-nav-btn.active{color:var(--primary)}.mobile-drawer{display:block;position:fixed;inset:0;z-index:70;background:rgba(8,13,27,.52)}.mobile-drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(340px,88vw);background:var(--surface);padding:16px;overflow:auto}.login{display:block}.login-art{display:none}.login-panel{min-height:100vh}.page-head{align-items:flex-start}.page-actions{justify-content:flex-start}.client-switch button{padding:7px 8px}.calendar{grid-template-columns:repeat(7,minmax(70px,1fr));overflow:auto}.appearance-panel{right:10px;top:10px;max-height:calc(100vh - 20px)}}
@media(max-width:620px){.grid.two,.grid.three,.grid.four,.grid.five,.grid.six{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span3{grid-column:auto}.page-head{display:block}.page-actions{margin-top:12px}.topbar{height:64px}.page-title span{display:none}.top-right .user-label{display:none}.toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.toolbar .tool,.toolbar .tool.search{min-width:0}.billing-filter-toolbar{grid-template-columns:1fr}.billing-filter-toolbar .tool,.billing-filter-toolbar .tool.search,.billing-filter-toolbar .arrangement-tool{width:100%;min-width:0!important}.billing-filter-toolbar .toolbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.billing-filter-toolbar .toolbar-actions .btn{min-height:44px}.billing-filter-toolbar .toolbar-actions .btn:last-child{grid-column:1/-1}.toolbar-actions{grid-column:1/-1;justify-content:flex-end}.more-filters{grid-template-columns:1fr}.choice-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-bar{display:block}.bulk-bar .row{margin-top:9px;flex-wrap:wrap}.pagination{justify-content:center}.pagination>span{width:100%;text-align:center}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}}
@media(max-width:900px){
  .bulk-bar{bottom:82px}
  .toast-zone{bottom:82px}
  .modal{max-height:calc(100dvh - 36px)}
  .entry-card-foot .row{flex-wrap:wrap}
  .entry-card-foot .btn{min-height:40px}
}
@media(max-width:620px){
  .entry-card-fields{grid-template-columns:1fr;gap:9px;margin-top:11px}
  .entry-card-fields>div{padding:10px 11px}
  .entry-card-fields>div>span{margin-bottom:1px}
  .matter-input-row{flex-wrap:wrap;align-items:stretch}
  .matter-input-row .input{flex:1 1 190px;min-width:0}
  .matter-input-row .matter-setup-btn{flex:1 1 100%;width:100%;white-space:normal}
  .card-footer,.modal-foot{flex-wrap:wrap;align-items:stretch}
  .card-footer .btn,.modal-foot .btn{flex:1 1 140px;white-space:normal}
  .toolbar-actions{flex-wrap:wrap;width:100%}
  .toolbar-actions .btn{flex:1 1 130px;white-space:normal}
  .pagination .pages{flex-wrap:wrap;justify-content:center}
  .pagination .row{width:100%;justify-content:center}
  .input,.select{min-height:44px}
}
@media(max-width:420px){
  .billing-summary-strip{grid-template-columns:1fr}
  .entry-card{padding:12px}
  .entry-card-head{gap:9px}
  .entry-card-foot{align-items:stretch}
  .entry-card-foot>.btn,.entry-card-foot>.row,.entry-card-foot>.review-action-stack{width:100%}
  .entry-card-foot .row .btn{flex:1 1 120px;white-space:normal}
}
@media print{.sidebar,.topbar,.mobile-bottom,.page-actions,.toolbar,.bulk-bar,.pagination,.no-print{display:none!important}.shell,.shell.mini{display:block}.main{padding:0}.card{box-shadow:none}.data-table{min-width:0}.data-table th,.data-table td{font-size:8px;padding:6px}.mobile-cards{display:none!important}.desktop-table{display:block!important}}

/* Responsive table preference */
.mobile-view-toggle{display:none}
@media(max-width:900px){
  .mobile-view-toggle{display:inline-flex}
  .desktop-table.mobile-table-active{display:block;overflow:auto}
  .mobile-cards.mobile-cards-hidden{display:none}
}

.shell.mini .brand-logo-full{display:none}.shell.mini .brand-logo-mark{display:block}.shell.mini .side-brand{justify-content:center;padding:0 5px}.topbar-brand-mark{display:none;width:35px;height:37px;object-fit:contain}.mobile-drawer-brand{margin-bottom:14px}.mobile-drawer-brand img{width:145px;height:48px;object-fit:contain;object-position:left center}.input[readonly]{background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.form-sections .label.required:after{content:" *";color:var(--danger)}
@media(max-width:900px){.topbar-brand-mark{display:block}.login{grid-template-columns:1fr}.login-art{display:none}.login-panel-logo{width:220px;margin:-42px auto -20px}.login-panel{padding:25px}.user-label{display:none}}
@media(max-width:520px){.topbar-brand-mark{width:30px;height:32px}.client-switch button{padding:6px 7px}.login-panel-logo{width:190px}}


.episode-picker-field{grid-column:1/-1!important}
.episode-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.episode-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.episode-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);max-height:310px;overflow:auto}
.episode-chip{min-height:42px!important;border-radius:11px!important;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:none!important;font-weight:750!important}
.episode-chip:hover{border-color:var(--primary)!important;background:var(--surface-tint)!important;transform:none!important}
.episode-chip.selected{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 6px 16px rgba(49,91,255,.20)!important}
.episode-selection-summary{margin-top:10px;padding:9px 11px;border-radius:10px;background:var(--surface-tint);color:var(--text);font-size:11px}
.episode-picker-empty{padding:18px;border:1px dashed var(--border);border-radius:13px;background:var(--surface-soft);color:var(--muted)}
.episode-picker-warning{margin:0}
.arrangement-tool{min-width:190px!important}
.billing-group-row td{background:var(--surface-tint)!important;color:var(--primary-strong)!important;font-weight:850!important;font-size:11px!important;letter-spacing:.02em!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;padding:9px 12px!important}
.mobile-group-title{margin:15px 0 8px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-tint);color:var(--primary-strong);font-weight:850;font-size:11px}
@media(max-width:760px){.episode-picker-head{flex-direction:column}.episode-picker-actions{justify-content:flex-start}.episode-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}.arrangement-tool{min-width:100%!important}}

.billing-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:13px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.billing-summary-item,.billing-summary-strip>div{min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.billing-summary-item span,.billing-summary-strip>div>span{display:block;color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.billing-summary-item strong,.billing-summary-strip>div>strong{display:block;margin-top:4px;font-size:15px;line-height:1.2;color:var(--text)}
.advocate-colour-legend{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);font-size:10px;color:var(--muted)}
.advocate-colour-legend strong{color:var(--text)}
.advocate-colour-legend span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.advocate-colour-legend i{display:block;width:10px;height:10px;border-radius:50%;background:var(--advocate-pastel)}
.others-advocate-row>td{background:color-mix(in srgb,var(--advocate-pastel) 56%,var(--surface))!important}
.others-advocate-card{background:color-mix(in srgb,var(--advocate-pastel) 48%,var(--surface))!important;border-color:color-mix(in srgb,var(--advocate-pastel) 74%,var(--border))!important}
.display-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.display-column-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);font-size:11px;font-weight:720}
.display-column-option input{width:16px;height:16px;accent-color:var(--primary)}
.quick-bill-card{overflow:hidden}
.quick-bill-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(220px,1fr) minmax(130px,.55fr) auto;gap:14px;align-items:end}
.quick-bill-action{min-width:150px}
.quick-shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.quick-shelf{min-width:0}.quick-shelf-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.quick-shelf-title strong{font-size:11px}
.quick-matter-list{display:flex;flex-wrap:wrap;gap:7px}.quick-matter-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.alliance-table{min-width:1240px}.alliance-table .select{min-width:126px;padding:7px 9px;min-height:35px;font-size:10px}.alliance-table td{vertical-align:middle}.alliance-table .cell-sub{display:block;margin-top:4px;color:var(--muted);font-size:8px}
.tracker-table{min-width:1020px}.tracker-group-row td{padding:10px 12px!important;background:var(--surface-tint)!important;color:var(--primary-strong)!important;font-weight:850!important;border-top:1px solid var(--border)!important}.tracker-group-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;font-weight:850;padding:0}.tracker-group-count{margin-left:auto;color:var(--muted);font-size:9px}.tracker-open{color:var(--muted)}.tracker-pending{color:#a35e00}.tracker-billed{color:var(--success)}
.backup-schedule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.backup-schedule-dates{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.backup-schedule-dates span{padding:6px 9px;border-radius:999px;background:var(--surface-tint);color:var(--primary);font-size:9px;font-weight:850}
.backup-list{display:grid;gap:9px}.backup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.backup-row strong{display:block;font-size:11px}.backup-row span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.backup-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.stats-controls{position:relative}.stats-controls .grid{align-items:end}.stats-rank-list{display:grid;gap:12px}.stats-rank-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(120px,1.2fr);gap:15px;align-items:center}.stats-rank-row strong{display:block;font-size:10px}.stats-rank-row span{display:block;margin-top:2px;color:var(--muted);font-size:8px}.stats-mini-bar{height:8px;border-radius:999px;background:var(--surface-soft);overflow:hidden;border:1px solid var(--border)}.stats-mini-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#8fa3ff)}
.second-review-layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,.9fr);gap:16px;align-items:start}.second-review-detail{position:sticky;top:calc(var(--topbar) + 16px)}.second-review-detail .summary-list{margin-top:0}.review-linked-note{padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:11px;background:var(--surface-tint);color:var(--text);font-size:10px}
@media(max-width:1180px){.quick-bill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-bill-action{min-width:0}.second-review-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr)}}
@media(max-width:900px){.billing-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-bill-grid,.quick-shelves,.second-review-layout{grid-template-columns:1fr}.second-review-detail{position:static}.backup-schedule-card{grid-template-columns:1fr}.backup-row{grid-template-columns:1fr}.backup-actions{justify-content:flex-start}.stats-rank-row{grid-template-columns:1fr}.alliance-table{min-width:1120px}}
@media(max-width:620px){.billing-summary-strip{grid-template-columns:1fr 1fr;padding:10px}.display-column-grid{grid-template-columns:1fr}.quick-shelves{display:block}.quick-shelf+.quick-shelf{margin-top:16px}.backup-actions .btn{flex:1}.advocate-colour-legend{align-items:flex-start}}
.display-column-option>span{display:grid;gap:2px;min-width:0}.display-column-option strong{display:block;color:var(--text);font-size:10px}.display-column-option small{display:block;color:var(--muted);font-size:8px;font-weight:600}

@media(max-width:900px){
  html,body{min-height:100%;min-height:100dvh}
  .login{min-height:100dvh;overflow:auto;overscroll-behavior:contain}
  .login-panel{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(22px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom))}
  .login-card{position:relative;z-index:2;width:100%;max-width:440px}
  .login-panel-logo{pointer-events:none;user-select:none;-webkit-user-select:none}
  .login-card .input{position:relative;z-index:3;pointer-events:auto;touch-action:manipulation;font-size:16px;min-height:48px;-webkit-user-select:text;user-select:text}
  .login-card .btn{min-height:48px}
}


#mobile-menu-btn{display:none}
.mobile-menu-trigger{touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto}
.billing-mode-card{margin-bottom:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface-tint) 44%,var(--surface)))}
.billing-mode-copy{display:grid;gap:4px;min-width:0}.billing-mode-copy .badge{width:max-content}.billing-mode-copy strong{font-size:13px}.billing-mode-copy small{font-size:9px;color:var(--muted)}
.billing-mode-tabs{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft);flex:0 0 auto}
.billing-mode-tab{min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;font-size:10px;font-weight:820;white-space:nowrap}
.billing-mode-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}
.alliance-embedded-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface))}
.alliance-embedded-head h2{margin:9px 0 3px;font-size:17px}.alliance-embedded-head p{margin:0;color:var(--muted);font-size:10px}
@media(max-width:900px){
  #mobile-menu-btn{display:inline-flex!important;position:relative;z-index:62;flex:0 0 auto}
  .mobile-drawer{display:block;touch-action:none;overscroll-behavior:contain}
  .mobile-drawer-panel{z-index:1;box-shadow:-18px 0 52px rgba(7,15,35,.25);padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));touch-action:pan-y}
  .mobile-drawer-panel .nav-btn{min-height:44px;touch-action:manipulation}
  .billing-mode-card,.alliance-embedded-head{align-items:stretch;flex-direction:column}
  .billing-mode-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .billing-mode-tab{width:100%;white-space:normal}
  .alliance-embedded-head>.row{justify-content:flex-start}
}
@media(max-width:520px){
  .top-left{gap:6px}.topbar-brand-mark{display:none}.page-title strong{max-width:126px}
  .top-right{gap:5px}.top-right>.btn.icon-only{width:34px;min-height:34px}.connection-dot{display:none}
  .client-switch button{font-size:8px;padding:6px}
}

.review-direct-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:260px}
.review-direct-actions .btn{white-space:nowrap;justify-content:center;font-weight:800}
.review-direct-actions .review-bill-button{box-shadow:0 5px 14px color-mix(in srgb,var(--success) 12%,transparent)}
.review-direct-actions .review-no-bill-button{box-shadow:0 5px 14px color-mix(in srgb,var(--warning) 12%,transparent)}
.review-action-stack{display:flex;flex-direction:column;gap:7px;min-width:280px;max-width:430px}
.review-return-notice{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--text);font-size:9px;line-height:1.4;font-weight:650}
.review-return-notice .icon{flex:0 0 auto;margin-top:1px;color:var(--warning)}
.second-review-return-banner{display:flex;align-items:flex-start;gap:9px;margin:12px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--warning) 9%,var(--surface));font-size:10px;line-height:1.45}
.second-review-return-banner strong{display:block;margin-bottom:2px}
.review-restore-button{box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 12%,transparent)}
@media(max-width:760px){
  .entry-card-foot .review-direct-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:0;gap:8px}
  .entry-card-foot .review-direct-actions .btn{width:100%;min-height:46px;padding:9px 8px;line-height:1.15;white-space:normal}
}
@media(max-width:390px){
  .entry-card-foot .review-direct-actions{grid-template-columns:1fr}
}


.billing-table-text-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.billing-table-text-control>div:first-child{display:flex;flex-direction:column;gap:2px}.billing-table-text-control strong{font-size:11px}.billing-table-text-control span{font-size:9px;color:var(--muted)}.billing-table-size-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.billing-table-size-compact .data-table td{font-size:calc(9px * var(--scale));padding:9px}.billing-table-size-compact .entry-card .narr,.billing-table-size-compact .entry-card-fields strong{font-size:9px}
.billing-table-size-default .data-table td{font-size:calc(10px * var(--scale))}
.billing-table-size-large .data-table td{font-size:calc(12px * var(--scale));padding:13px 12px;line-height:1.55}.billing-table-size-large .data-table th{font-size:calc(10px * var(--scale));padding:11px 12px}.billing-table-size-large .entry-card h3{font-size:15px}.billing-table-size-large .entry-card .meta{font-size:11px}.billing-table-size-large .entry-card .narr,.billing-table-size-large .entry-card-fields strong{font-size:12px;line-height:1.55}
.billing-table-size-xlarge .data-table td{font-size:calc(14px * var(--scale));padding:15px 13px;line-height:1.65}.billing-table-size-xlarge .data-table th{font-size:calc(11px * var(--scale));padding:12px 13px}.billing-table-size-xlarge .entry-card h3{font-size:17px}.billing-table-size-xlarge .entry-card .meta{font-size:12px}.billing-table-size-xlarge .entry-card .narr,.billing-table-size-xlarge .entry-card-fields strong{font-size:14px;line-height:1.65}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-check{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);font-size:10px;color:var(--text)}.permission-check .checkbox{flex:0 0 auto;margin-top:1px}.billing-section-row td{background:var(--primary-strong)!important;color:white!important;text-align:center!important;font-weight:850!important;padding:9px 12px!important}
@media(max-width:700px){.billing-table-text-control{align-items:flex-start;flex-direction:column}.billing-table-size-buttons{justify-content:flex-start;width:100%}.billing-table-size-buttons .btn{flex:1;min-width:86px}.permission-grid{grid-template-columns:1fr}}


.billing-view-block{margin:0 0 18px}.billing-view-block:last-child{margin-bottom:0}.billing-view-block-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;background:var(--surface-soft);color:var(--text)}.billing-view-block-head strong{font-size:12px;color:var(--primary)}.billing-view-block-head span{font-size:10px;font-weight:800;color:var(--muted)}.billing-view-block .table-wrap{border-radius:0 0 12px 12px}.billing-view-block .data-table{border-radius:0 0 12px 12px}.advocate-billing-block .billing-view-block-head{background:linear-gradient(135deg,var(--surface-soft),rgba(49,91,255,.08));border-color:rgba(49,91,255,.25)}.advocate-billing-block .billing-view-block-head strong{font-size:13px}.mobile-group-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.mobile-group-title span{font-size:9px;color:var(--muted);font-weight:800;text-align:right}@media(max-width:760px){.billing-view-block-head{align-items:flex-start;flex-direction:column;gap:4px}.billing-view-block-head span{text-align:left}.quick-bill-grid{grid-template-columns:1fr!important}}


.final-login{min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);background:var(--bg)}
.final-login-art{position:relative;isolation:isolate;padding:56px 62px;background:linear-gradient(145deg,#10224f 0%,#173b9c 58%,#315bff 100%);color:#fff}
.final-login-art:before{width:430px;height:430px;right:-180px;top:-170px;background:rgba(255,255,255,.08)}
.final-login-art:after{width:300px;height:300px;left:-145px;bottom:-125px;background:rgba(255,255,255,.065)}
.final-login-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:720px;min-height:calc(100vh - 180px);min-height:calc(100dvh - 180px)}
.final-login .login-brand-logo{width:min(330px,72%);margin:-28px 0 4px -35px;filter:drop-shadow(0 14px 28px rgba(2,11,45,.25))}
.login-eyebrow{display:inline-flex;align-items:center;gap:7px;color:inherit;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.final-login-art .login-eyebrow{color:rgba(255,255,255,.72)}
.final-login h1{max-width:660px;margin:18px 0 16px;font-size:clamp(40px,4.3vw,62px);line-height:1.04;letter-spacing:-.052em;font-weight:800}
.final-login-art p{max-width:560px;margin:0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.65}
.final-login-panel{position:relative;padding:42px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,var(--surface-tint)),var(--surface))}
.final-login-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 34%);pointer-events:none}
.final-login-card{position:relative;z-index:1;width:min(470px,100%);padding:34px 34px 26px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 24px 70px rgba(21,36,73,.12)}
.final-login-card-head{display:flex;align-items:center;gap:14px;margin-bottom:5px}
.final-login .login-panel-logo{width:118px;max-width:none;margin:-23px -9px -18px -18px;flex:0 0 auto}
.final-login-card h2{margin:3px 0 0;font-size:28px;letter-spacing:-.038em}
.final-login-card .login-eyebrow{color:var(--primary);font-size:9px}
.final-login-card .sub{margin:0 0 24px;color:var(--muted);font-size:12px}
.final-login-card .field{margin-bottom:16px}
.final-login-card .label{font-size:10px;margin-bottom:7px}
.final-login-card .input{min-height:50px;border-radius:12px;padding:12px 14px;background:var(--surface);font-size:14px}
.final-login-card .input:focus{border-color:color-mix(in srgb,var(--primary) 65%,var(--border));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 11%,transparent)}
.final-login-submit{width:100%;min-height:50px;border-radius:12px;margin-top:2px;font-size:12px;font-weight:850;box-shadow:0 12px 24px color-mix(in srgb,var(--primary) 22%,transparent)}
.google-sso-btn{width:100%;min-height:50px;border-radius:12px;margin:2px 0 14px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#fff,#f8fafc);color:#1f2937;border:1px solid #d8dee9;box-shadow:0 8px 22px rgba(31,41,55,.08),inset 0 1px 0 rgba(255,255,255,.98);font-size:12px;font-weight:850}.google-sso-btn:hover{border-color:#bcc7d8;box-shadow:0 11px 26px rgba(31,41,55,.12),inset 0 1px 0 #fff;transform:translateY(-1px)}.google-sso-btn:active{transform:translateY(0);box-shadow:0 5px 14px rgba(31,41,55,.08),inset 0 1px 3px rgba(31,41,55,.06)}.google-sso-btn:disabled{opacity:.62;transform:none}.google-sso-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font:900 14px/1 Arial,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.18);box-shadow:inset 0 0 0 3px #fff,0 2px 5px rgba(0,0,0,.12)}.google-sso-divider{display:flex;align-items:center;gap:10px;margin:2px 0 16px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.google-sso-divider:before,.google-sso-divider:after{content:"";height:1px;flex:1;background:var(--border)}html[data-theme="dark"] .google-sso-btn{background:linear-gradient(180deg,#f9fafb,#eef2f7);color:#172033;border-color:#cbd5e1}.sso-access-table{min-width:880px}
.final-login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:9px;margin-top:8px}
.final-login-security span{color:var(--success);font-size:8px}
.final-login-card .login-error{min-height:20px;margin-top:9px;text-align:center}
.final-login-card .login-foot{margin-top:18px;padding-top:16px;font-size:9px}
.final-login-mobile-quote{display:none}
@media(max-width:900px){
  .final-login{display:block;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,var(--bg)),var(--bg) 42%)}
  .final-login .login-art{display:none}
  .final-login-panel{min-height:100vh;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));background:transparent}
  .final-login-card{max-width:460px;padding:28px 24px 22px;border-radius:18px;box-shadow:0 18px 48px rgba(21,36,73,.13)}
  .final-login-card-head{display:block;text-align:center}
  .final-login-card .login-eyebrow{display:none}
  .final-login .login-panel-logo{width:178px;margin:-44px auto -24px}
  .final-login-card h2{font-size:26px;margin-top:4px}
  .final-login-card .sub{text-align:center;margin-bottom:8px}
  .final-login-mobile-quote{display:block;margin:0 0 22px;text-align:center;color:var(--primary-strong);font-size:10px;font-weight:750;letter-spacing:.01em}
  .final-login-card .input{font-size:16px;min-height:50px}
}
@media(max-width:420px){
  .final-login-panel{align-items:flex-start;padding-top:max(14px,env(safe-area-inset-top))}
  .final-login-card{padding:24px 18px 20px;border-radius:16px}
  .final-login .login-panel-logo{width:160px;margin:-39px auto -22px}
  .final-login-card h2{font-size:24px}
  .final-login-card .login-foot{display:grid;text-align:center;gap:5px}
}

.second-review-stats{align-items:stretch}
.second-review-stats .stat-card{min-width:0}
@media(max-width:760px){.review-direct-actions .btn{min-width:0}}

.final-login-remember{display:flex;align-items:flex-start;gap:10px;margin:-2px 0 15px;padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface-tint) 58%,var(--surface));cursor:pointer}.final-login-remember .checkbox{margin-top:2px;flex:0 0 auto}.final-login-remember span{display:grid;gap:2px}.final-login-remember strong{font-size:10px;color:var(--text)}.final-login-remember small{font-size:8.5px;line-height:1.4;color:var(--muted)}.activity-table{min-width:1040px}.activity-table td.narration{min-width:390px;line-height:1.55}@media(max-width:900px){.final-login-remember strong{font-size:11px}.final-login-remember small{font-size:9px}.activity-table{min-width:980px}}

.stats-category-wrap{display:grid;gap:16px;margin-top:16px}.stats-category-block{background:var(--surface,#fff);border:1px solid var(--border,#dce3ec);border-radius:18px;padding:16px}.stats-category-block>h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px}.stats-dot{width:9px;height:9px;border-radius:50%;background:#3b82f6}.stats-category-block.profit .stats-dot{background:#10b981}.stats-category-block.trends .stats-dot{background:#8b5cf6}.stats-category-block.projection .stats-dot{background:#f59e0b}.stats-category-block.team .stats-dot{background:#64748b}.stat-card.billing{background:linear-gradient(180deg,#eff6ff,#fff)}.stat-card.profit{background:linear-gradient(180deg,#ecfdf5,#fff)}.stat-card.trends{background:linear-gradient(180deg,#f5f3ff,#fff)}.stat-card.projection{background:linear-gradient(180deg,#fff7ed,#fff)}.stat-card.team{background:linear-gradient(180deg,#f8fafc,#fff)}.stats-export-toggle{min-height:42px;border:1px solid var(--border,#dce3ec);border-radius:12px;padding:9px 11px;background:var(--surface,#fff)}[data-theme="dark"] .stat-card.billing,[data-theme="dark"] .stat-card.profit,[data-theme="dark"] .stat-card.trends,[data-theme="dark"] .stat-card.projection,[data-theme="dark"] .stat-card.team{background:var(--surface,#111827)}@media(max-width:700px){.stats-category-block{padding:12px}}


.games-shell{max-width:980px;margin:0 auto}.game-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.game-tab{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}.game-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.game-stage{max-width:760px;margin:0 auto}.game-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.game-head h2{margin:0 0 4px}.game-head p{margin:0;color:var(--muted)}.game-actions{display:flex;justify-content:center;gap:8px;margin-top:16px}.sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,504px);aspect-ratio:1;margin:18px auto;border:3px solid var(--text);background:var(--border)}.sudoku-cell{width:100%;min-width:0;text-align:center;border:1px solid var(--border);background:var(--surface);font:800 clamp(16px,4vw,25px)/1 var(--font);color:var(--text);outline:0;border-radius:0}.sudoku-cell:nth-child(9n+3),.sudoku-cell:nth-child(9n+6){border-right:3px solid var(--text)}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid var(--text)}.sudoku-cell.given{background:var(--bg);font-weight:900}.sudoku-cell:focus{box-shadow:inset 0 0 0 2px var(--primary);z-index:2}.sudoku-cell.wrong{background:#fee2e2;color:#991b1b}.sudoku-cell.right,.sudoku-cell.hint{background:#dcfce7;color:#166534}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:520px;margin:20px auto}.memory-grid.low{max-width:430px}.memory-grid.medium{max-width:480px}.daily-quiz-tag{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;border-radius:999px;background:var(--surface-tint);color:var(--primary);font-size:9px;font-weight:800}.memory-card{aspect-ratio:1;border:1px solid var(--border);border-radius:14px;background:var(--primary);color:#fff;font-size:clamp(22px,7vw,38px);font-weight:900;cursor:pointer;box-shadow:var(--shadow-sm)}.memory-card.open{background:var(--surface);color:var(--text)}.memory-card.matched{background:#dcfce7;border-color:#86efac}.memory-stats{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center}.memory-stats strong{font-size:17px}.memory-stats span{font-size:9px;color:var(--muted);text-transform:uppercase}.quiz-meta{display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px;color:var(--muted);font-size:11px}.quiz-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:var(--surface)}.quiz-card h3{font-size:17px;line-height:1.45;margin:0 0 16px}.quiz-options{display:grid;gap:9px}.quiz-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:12px 13px;font-weight:700;cursor:pointer}.quiz-option span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--border)}.quiz-option:hover{border-color:var(--primary)}.quiz-option.correct{background:#dcfce7;border-color:#86efac;color:#166534}.quiz-option.wrong{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.quiz-explain{margin-top:14px;border-radius:12px;padding:12px 14px}.quiz-explain.success{background:#ecfdf5}.quiz-explain.warning{background:#fff7ed}.quiz-explain p{margin:5px 0 0;line-height:1.5}.game-note{font-size:9px;color:var(--muted);text-align:center;margin-top:12px}.select.compact{min-width:110px}@media(max-width:600px){.games-shell .card-body{padding:12px}.game-head{flex-direction:column}.game-head>.row,.game-head>.select{width:100%}.game-head .select.compact{flex:1}.sudoku-grid{width:100%;max-width:440px}.sudoku-cell{font-size:19px}.memory-grid{gap:8px}.quiz-card{padding:14px}.quiz-option{padding:11px}.game-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.game-tab{padding:9px 7px;font-size:10px}}

.game-tabs{align-items:center}.game-tab{min-height:38px}.game-stage{max-width:820px}.game-level-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.game-score-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);font-size:10px;font-weight:850;color:var(--text)}
.word-clue{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:22px auto 18px;padding:18px;border:1px dashed var(--border);border-radius:16px;background:var(--surface-soft)}.word-clue-char{min-width:30px;height:38px;display:grid;place-items:center;border-bottom:2px solid var(--primary);font-size:18px;font-weight:900;letter-spacing:.02em}.word-clue-space{width:14px}.word-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;max-width:620px;margin:0 auto}.word-entry-row .input{text-transform:uppercase;font-weight:800;letter-spacing:.04em}.word-attempts{display:grid;gap:7px;margin:18px auto;max-width:720px}.word-attempt{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.word-tile{width:30px;height:34px;border:1px solid var(--border);border-radius:7px;display:grid;place-items:center;background:var(--surface);font-size:13px;font-weight:900;text-transform:uppercase}.word-tile.correct{background:#dcfce7;border-color:#86efac;color:#166534}.word-tile.present{background:#fef3c7;border-color:#fbbf24;color:#92400e}.word-tile.absent{background:var(--surface-soft);color:var(--muted)}.word-tile.space{width:12px;border:0;background:transparent}.word-hint{max-width:650px;margin:12px auto;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));font-size:11px;line-height:1.5}.word-result{text-align:center;margin:14px auto 0;font-weight:800}
.challenge-progress{height:7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);overflow:hidden;margin:10px 0 15px}.challenge-progress i{display:block;height:100%;background:var(--primary);border-radius:999px}.challenge-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.rapid-panel{text-align:center;padding:20px 16px}.rapid-clock{font-size:52px;line-height:1;font-weight:900;letter-spacing:-.05em;color:var(--primary);margin:8px 0}.rapid-best{font-size:10px;color:var(--muted)}.rapid-question{margin-top:15px;text-align:left}.rapid-question h3{font-size:18px;line-height:1.45}.rapid-question .quiz-options{grid-template-columns:1fr 1fr}.rapid-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px auto;max-width:560px}.rapid-summary>div{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.rapid-summary strong{display:block;font-size:23px}.rapid-summary span{font-size:9px;color:var(--muted);text-transform:uppercase}.challenge-case-label{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--surface-tint);color:var(--primary);font-size:9px;font-weight:850;margin-bottom:9px}
@media(max-width:700px){.game-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-tab{white-space:normal}.word-entry-row{grid-template-columns:1fr}.word-entry-row .btn{width:100%}.word-tile{width:27px;height:31px;font-size:12px}.rapid-question .quiz-options{grid-template-columns:1fr}.rapid-summary{grid-template-columns:1fr 1fr}.rapid-summary>div:last-child{grid-column:1/-1}}

.password-top-btn{gap:7px;min-width:auto}.password-top-btn .password-label{font-size:10px;font-weight:820}.password-due-badge{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--warning) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));color:#a35e00;font-size:9px;font-weight:800}.password-policy{display:grid;gap:7px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);font-size:9px;color:var(--muted)}.password-policy strong{color:var(--text);font-size:10px}.password-status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.password-status-line span{font-size:9px;color:var(--muted)}.password-status-line strong{font-size:10px;text-align:right}.dashboard-metric-card{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 11%,var(--surface)) 0%,color-mix(in srgb,var(--primary) 5%,var(--surface)) 100%);border-color:color-mix(in srgb,var(--primary) 24%,var(--border));box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 8%,transparent)}.dashboard-metric-card .stat-label{color:var(--primary-strong)}.dashboard-metric-card .stat-value{color:var(--primary-strong);font-variant-numeric:tabular-nums}.dashboard-metric-card .stat-meta{line-height:1.45;color:color-mix(in srgb,var(--primary-strong) 48%,var(--muted))}.dashboard-metric-card.clickable:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 13%,transparent)}@media(max-width:1080px){.password-top-btn .password-label{display:none}.password-top-btn{width:38px;padding:0}}


.shell.password-gated{filter:blur(7px);pointer-events:none;user-select:none;transition:filter .18s ease}
.password-gate-backdrop{background:rgba(7,12,24,.44);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.password-gate-backdrop .modal{box-shadow:0 28px 90px rgba(5,12,32,.34)}
.password-grace-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--warning) 11%,var(--surface));margin-bottom:14px}
.password-grace-banner.danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--surface))}
.password-grace-banner strong{display:block;font-size:11px}.password-grace-banner span{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}
.password-notice-dot{width:9px;height:9px;border-radius:50%;background:var(--warning);flex:0 0 auto;margin-top:5px}.password-notice-dot.danger{background:var(--danger)}
.admin-password-box{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.admin-password-box h3{margin:0 0 5px;font-size:12px}.admin-password-box p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}
.temp-password-display{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:12px}.temp-password-display .input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;letter-spacing:.03em}
.password-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.password-admin-actions .btn{flex:1;min-width:120px}
@media(max-width:620px){.temp-password-display{grid-template-columns:1fr}.password-admin-actions{display:grid;grid-template-columns:1fr}.password-admin-actions .btn{width:100%}}

.admin-setting-checks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-setting-check{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);font-size:10px;font-weight:750}.admin-setting-check input{flex:0 0 auto}.admin-verify{margin-top:14px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface-tint) 45%,var(--surface))}.admin-verify .help{margin-top:5px}.month-lock-controls{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(170px,.8fr) minmax(220px,1.3fr);gap:12px;align-items:end}.month-lock-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.month-lock-table{min-width:900px}.security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.security-config-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(150px,.7fr);gap:12px;align-items:end}.security-user-table{min-width:1050px}.security-locked{border-left:4px solid var(--danger)}.health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.health-table{min-width:980px}.health-severity{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.health-severity i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.health-severity.danger i{background:var(--danger)}.health-severity.warning i{background:var(--warning)}.health-severity.info i{background:var(--info)}.month-lock-banner{margin-bottom:14px}.admin-tabs-wrap{overflow:auto;padding-bottom:2px}.admin-tabs-wrap .tabs{min-width:max-content}.admin-tabs-wrap .tab{font-size:calc(10px + 1pt)}.retention-actions{display:flex;gap:8px;flex-wrap:wrap}.retention-actions .btn{min-width:140px}
@media(max-width:1100px){.admin-setting-checks{grid-template-columns:repeat(3,minmax(0,1fr))}.security-summary,.health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.month-lock-controls,.security-config-grid{grid-template-columns:1fr 1fr}.month-lock-controls .span-all,.security-config-grid .span-all{grid-column:1/-1}}
@media(max-width:700px){.admin-setting-checks{grid-template-columns:1fr 1fr}.security-summary,.health-summary,.month-lock-controls,.security-config-grid{grid-template-columns:1fr}.month-lock-controls .span-all,.security-config-grid .span-all{grid-column:auto}.retention-actions{display:grid;grid-template-columns:1fr}.retention-actions .btn{width:100%}}


.stats-category-block.expenses .stats-dot{background:#0ea5e9}.stat-card.expenses{background:linear-gradient(180deg,#f0f9ff,#fff)}
[data-theme="dark"] .stat-card.expenses{background:var(--surface,#111827)}
.finance-setup{margin-top:16px}.finance-setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.finance-setup-grid .span2{grid-column:span 2}.finance-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.finance-table{min-width:1180px}.finance-table td,.finance-table th{white-space:nowrap}.finance-note{white-space:normal!important;min-width:220px}.stats-assumption-note{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);font-size:9px;color:var(--muted)}.stats-assumption-note strong{color:var(--text)}
.setting-saved-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--success) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 25%,var(--border));color:var(--success);font-size:9px;font-weight:800}
@media(max-width:1050px){.finance-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-setup-grid .span2{grid-column:1/-1}}
@media(max-width:650px){.finance-setup-grid{grid-template-columns:1fr}.finance-setup-grid .span2{grid-column:auto}.finance-table{min-width:1050px}}


/* Colour palettes stay independent of Light/Dark mode. */
.accent-choice{display:flex;align-items:center;gap:8px;justify-content:flex-start;text-align:left}.accent-swatch{width:17px;height:17px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(17,24,39,.10);flex:0 0 auto}.accent-choice.active .accent-swatch{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent),inset 0 0 0 1px rgba(17,24,39,.08)}
.stats-model-card{overflow:hidden}.stats-model-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}.stats-model-fields .field{min-width:0}.stats-model-fields .label{min-height:32px;display:flex;align-items:flex-end;line-height:1.25}.stats-model-fields .help{min-height:34px;line-height:1.45}.stats-model-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap}.stats-model-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:9px;color:var(--muted)}.stats-model-toolbar .btn{min-width:200px}.stats-anchor{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:9px;color:var(--muted)}
.stats-target-hero{position:relative;overflow:hidden;padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface) 60%)}.stats-target-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-105px;top:-120px;background:color-mix(in srgb,var(--primary) 8%,transparent);pointer-events:none}.stats-target-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.stats-target-title h2{margin:5px 0 3px;font-size:18px}.stats-target-title p{margin:0;color:var(--muted);font-size:10px}.stats-target-number{font-size:34px;font-weight:900;letter-spacing:-.055em;line-height:1}.stats-target-number small{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:0}.stats-target-progress{position:relative;height:14px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);overflow:hidden;margin:18px 0 10px}.stats-target-progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 60%,var(--success)));min-width:2px}.stats-target-marker{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);opacity:.4}.stats-target-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;position:relative;z-index:1}.stats-target-meta>div{padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.stats-target-meta span{display:block;font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.stats-target-meta strong{display:block;margin-top:3px;font-size:13px}.target-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900;border:1px solid var(--border)}.target-status.on-track,.target-status.achieved{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.target-status.within-reach{color:#a35e00;background:color-mix(in srgb,var(--warning) 12%,var(--surface));border-color:color-mix(in srgb,var(--warning) 28%,var(--border))}.target-status.at-risk{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 25%,var(--border))}
.stats-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stats-kpi{padding:15px;min-width:0}.stats-kpi .stat-value{font-size:24px}.stats-kpi .stat-meta{line-height:1.45}.stats-kpi.accent{border-color:color-mix(in srgb,var(--primary) 25%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface))}.stats-kpi.good{background:linear-gradient(180deg,color-mix(in srgb,var(--success) 7%,var(--surface)),var(--surface))}.stats-kpi.warn{background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 8%,var(--surface)),var(--surface))}
.stats-insights{display:grid;gap:9px}.stats-insight{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.stats-insight-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary);font-weight:900}.stats-insight strong{display:block;font-size:10px}.stats-insight span{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:2px}
.stats-month-bars{display:grid;gap:11px}.stats-month-bar-row{display:grid;grid-template-columns:78px minmax(0,1fr) 92px;gap:10px;align-items:center}.stats-month-bar-row>strong{font-size:10px}.stats-month-bar-track{position:relative;height:12px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);overflow:visible}.stats-month-bar-fill{height:100%;border-radius:999px;background:var(--primary)}.stats-month-bar-fill.hit{background:var(--success)}.stats-month-target-line{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);opacity:.35}.stats-month-bar-value{text-align:right;font-size:9px;font-weight:850}.stats-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats-forecast-card{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.stats-forecast-card span{display:block;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.stats-forecast-card strong{display:block;margin-top:5px;font-size:19px}.stats-forecast-card small{display:block;color:var(--muted);font-size:8.5px;margin-top:4px}.stats-finance-table{min-width:1500px}.stats-finance-table td,.stats-finance-table th{white-space:nowrap}.stats-finance-table tr.current td{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.stats-finance-table .profit-positive{color:var(--success);font-weight:850}.stats-finance-table .profit-negative{color:var(--danger);font-weight:850}
@media(max-width:1320px){.stats-model-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.stats-target-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stats-model-fields{grid-template-columns:1fr 1fr}.stats-model-toolbar{align-items:stretch;flex-direction:column}.stats-model-toolbar .btn{width:100%;min-width:0}.stats-target-top{flex-direction:column}.stats-target-meta{grid-template-columns:1fr 1fr}.stats-forecast-grid{grid-template-columns:1fr}.stats-month-bar-row{grid-template-columns:64px minmax(0,1fr) 76px}}
@media(max-width:520px){.stats-model-fields,.stats-target-meta,.stats-kpi-grid{grid-template-columns:1fr}.accent-choice{justify-content:flex-start}}





.jio-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.jio-col-3{grid-column:span 3}.jio-col-4{grid-column:span 4}.jio-col-6{grid-column:span 6}.jio-col-12{grid-column:span 12}.jio-money{font-size:21px;font-weight:900;color:var(--primary);letter-spacing:-.02em}.jio-amount-box{min-height:45px;display:flex;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.jio-help{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}.jio-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.jio-summary-grid>div{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-soft)}.jio-summary-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em}.jio-summary-grid strong{display:block;margin-top:4px;color:var(--text)}.jio-instructions{line-height:1.45}.jio-instructions span{display:block;color:var(--muted);font-size:11px}.jio-table .narration{min-width:320px}.jio-mobile-list{display:none}.jio-table .title-cell{min-width:190px}.jio-table .instructions-cell{min-width:190px}.jio-mobile-card .jio-card-amount{font-size:18px;font-weight:900;color:var(--primary)}
@media(max-width:950px){.jio-form-grid{grid-template-columns:1fr}.jio-col-3,.jio-col-4,.jio-col-6,.jio-col-12{grid-column:1}.jio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.jio-summary-grid{grid-template-columns:1fr}.jio-table-wrap{display:none}.jio-mobile-list{display:block}.jio-table-wrap.mobile-table-active{display:block}.jio-table-wrap.mobile-table-active + .jio-mobile-list{display:none}}

/* ================================================================
   MADDY 4.0 — PREMIUM HIGH-DPI VISUAL REFRESH v1.9.39
   Visual-only layer: no billing/business behaviour changes.
   ================================================================ */
:root{
  --premium-line:color-mix(in srgb,var(--border) 72%,#fff 28%);
  --premium-glow:color-mix(in srgb,var(--primary) 18%,transparent);
  --premium-glow-strong:color-mix(in srgb,var(--primary) 28%,transparent);
  --premium-surface:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,#fff 2%),color-mix(in srgb,var(--surface) 95%,var(--surface-soft) 5%));
  --premium-shadow:0 18px 50px rgba(24,36,68,.09),0 2px 7px rgba(24,36,68,.045),inset 0 1px 0 rgba(255,255,255,.78);
  --premium-shadow-soft:0 9px 26px rgba(24,36,68,.075),0 1px 3px rgba(24,36,68,.04),inset 0 1px 0 rgba(255,255,255,.7);
}
:root[data-theme="dark"]{
  --premium-line:color-mix(in srgb,var(--border) 84%,#fff 16%);
  --premium-surface:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff 4%),var(--surface));
  --premium-shadow:0 20px 54px rgba(0,0,0,.34),0 2px 8px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055);
  --premium-shadow-soft:0 10px 28px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --premium-line:color-mix(in srgb,var(--border) 84%,#fff 16%);
  --premium-surface:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff 4%),var(--surface));
  --premium-shadow:0 20px 54px rgba(0,0,0,.34),0 2px 8px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055);
  --premium-shadow-soft:0 10px 28px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
}}

html{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-kerning:normal;
}
body{
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"tnum" 1;
  background:
    radial-gradient(1100px 560px at 88% -8%,color-mix(in srgb,var(--primary) 7%,transparent),transparent 68%),
    radial-gradient(900px 480px at -8% 92%,color-mix(in srgb,var(--primary) 4%,transparent),transparent 72%),
    var(--bg);
}
button,input,select,textarea{font-kerning:normal;letter-spacing:-.005em}
.page-head h1,.login-card h2,.stat-value,.card-head h2,.card-head h3{font-feature-settings:"kern" 1,"liga" 1,"ss01" 1;}
.page-head h1{font-weight:850;letter-spacing:-.045em;text-wrap:balance}
.page-head p{line-height:1.55}
.label{letter-spacing:.01em;font-weight:800}
.help,.muted,.cell-sub{letter-spacing:.002em}

/* Premium cards and panels */
.card{
  background:var(--premium-surface);
  border-color:var(--premium-line);
  box-shadow:var(--premium-shadow-soft);
  position:relative;
}
.card:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 58%,transparent);
  opacity:.52;
}
.card-head,.card-footer{position:relative;z-index:1}
.card-head{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 50%,transparent),transparent)}
.stat-card,.quick-action,.billing-mode-card,.alliance-embedded-head{box-shadow:var(--premium-shadow-soft)}
.stat-card{overflow:hidden}
.stat-card:after{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-88px;top:-92px;
  background:radial-gradient(circle,color-mix(in srgb,var(--primary) 11%,transparent),transparent 70%);pointer-events:none;
}
.stat-value{background:linear-gradient(180deg,var(--text),color-mix(in srgb,var(--text) 72%,var(--muted)));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Classy glossy button system */
.btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:12px;
  border-color:color-mix(in srgb,var(--border) 88%,#fff 12%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#fff 6%) 0%,var(--surface) 54%,color-mix(in srgb,var(--surface) 94%,var(--text) 6%) 100%);
  box-shadow:0 5px 13px rgba(24,36,68,.065),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(12,20,40,.045);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
  text-shadow:0 1px 0 color-mix(in srgb,var(--surface) 45%,transparent);
}
.btn:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px 1px 52% 1px;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.04));
  pointer-events:none;
  opacity:.68;
}
.btn:after{
  content:"";
  position:absolute;
  z-index:2;
  top:-70%;left:-42%;width:34%;height:240%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(12deg) translateX(-220%);
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  opacity:.55;
}
.btn:hover:not(:disabled){
  transform:translateY(-1.5px);
  border-color:color-mix(in srgb,var(--primary) 22%,var(--border));
  box-shadow:0 10px 24px rgba(24,36,68,.11),0 2px 5px rgba(24,36,68,.055),inset 0 1px 0 rgba(255,255,255,.86);
}
.btn:hover:not(:disabled):after{transform:rotate(12deg) translateX(520%)}
.btn:active:not(:disabled){
  transform:translateY(.5px) scale(.992);
  box-shadow:0 2px 6px rgba(24,36,68,.08),inset 0 2px 5px rgba(15,25,48,.08),inset 0 1px 0 rgba(255,255,255,.52);
}
.btn:focus-visible{outline:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 17%,transparent),0 8px 22px rgba(24,36,68,.10),inset 0 1px 0 rgba(255,255,255,.8)}
.btn.primary{
  background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 82%,#fff 18%) 0%,var(--primary) 50%,color-mix(in srgb,var(--primary) 80%,#000 20%) 100%);
  border-color:color-mix(in srgb,var(--primary) 82%,#000 18%);
  box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 23%,transparent),inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(0,0,0,.18);
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
.btn.primary:hover:not(:disabled){
  background:linear-gradient(180deg,color-mix(in srgb,var(--primary-strong) 76%,#fff 24%),var(--primary-strong) 56%,color-mix(in srgb,var(--primary-strong) 80%,#000 20%));
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.54);
}
.btn.secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 90%,#fff 10%),var(--surface));}
.btn.ghost{box-shadow:none;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 25%,transparent),transparent)}
.btn.danger,.btn.success,.btn.warning{box-shadow:0 5px 14px rgba(24,36,68,.055),inset 0 1px 0 rgba(255,255,255,.5)}
.btn.icon-only{border-radius:12px}
.btn.sm{border-radius:10px}

/* High-detail fields */
.input,.select,.textarea{
  border-color:var(--premium-line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,#fff 3%),var(--surface));
  box-shadow:inset 0 1px 2px rgba(24,36,68,.025),0 1px 0 rgba(255,255,255,.45);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}
.input:focus,.select:focus,.textarea:focus{
  background:var(--surface);
  border-color:color-mix(in srgb,var(--primary) 80%,#fff 20%);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent),0 6px 18px color-mix(in srgb,var(--primary) 8%,transparent),inset 0 1px 1px rgba(24,36,68,.025);
}

/* Premium navigation and top bar */
.sidebar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,#fff 2%),var(--surface));
  border-right-color:var(--premium-line);
  box-shadow:6px 0 24px rgba(24,36,68,.025);
}
.side-brand,.side-user{border-color:var(--premium-line)}
.nav-section{letter-spacing:.13em}
.nav-btn{transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.nav-btn:hover{transform:translateX(1px);background:linear-gradient(90deg,var(--surface-soft),color-mix(in srgb,var(--surface-tint) 42%,var(--surface-soft)))}
.nav-btn.active{
  background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 14%,var(--surface)),color-mix(in srgb,var(--primary) 7%,var(--surface)));
  box-shadow:inset 3px 0 0 var(--primary),inset 0 1px 0 rgba(255,255,255,.45),0 5px 14px color-mix(in srgb,var(--primary) 8%,transparent);
}
.topbar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface) 88%,transparent));
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  border-bottom-color:var(--premium-line);
  box-shadow:0 8px 30px rgba(24,36,68,.035);
}
.client-switch,.billing-mode-tabs{
  border-color:var(--premium-line);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.45);
}
.client-switch button.active,.billing-mode-tab.active{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,#fff 8%),var(--surface));
  box-shadow:0 5px 14px rgba(24,36,68,.08),inset 0 1px 0 rgba(255,255,255,.65);
}

/* Tables, lists, badges */
.table-wrap{border-radius:13px}
.data-table th{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 92%,#fff 8%),var(--surface-soft));
  letter-spacing:.075em;
  font-weight:850;
  border-bottom-color:var(--premium-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48);
}
.data-table td{border-bottom-color:color-mix(in srgb,var(--border) 90%,transparent)}
.data-table tr:hover td{background:linear-gradient(90deg,color-mix(in srgb,var(--surface-tint) 35%,var(--surface)),color-mix(in srgb,var(--surface-tint) 18%,var(--surface)))}
.badge{
  border-color:var(--premium-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 2px 6px rgba(24,36,68,.035);
  letter-spacing:.015em;
}
.avatar{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 5px 14px color-mix(in srgb,var(--primary) 9%,transparent)}
.quick-action{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.quick-action:hover{transform:translateY(-2px);box-shadow:var(--premium-shadow-soft)}
.quick-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.56)}

/* Popovers / modal-like surfaces */
.menu-pop,.modal,.dialog,.popover{
  box-shadow:var(--premium-shadow);
  border-color:var(--premium-line);
}

/* Crisp controls */
.checkbox{filter:drop-shadow(0 1px 1px rgba(24,36,68,.08))}
.connection-dot.online{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 14%,transparent),0 0 12px color-mix(in srgb,var(--success) 30%,transparent)}
.connection-dot.loading{box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 14%,transparent),0 0 12px color-mix(in srgb,var(--warning) 30%,transparent)}
.connection-dot.offline,.connection-dot.error{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent),0 0 12px color-mix(in srgb,var(--danger) 30%,transparent)}

/* Login premium finish */
.final-login-art,.login-art{
  background:
    radial-gradient(650px 420px at 22% 17%,rgba(255,255,255,.11),transparent 60%),
    radial-gradient(520px 430px at 90% 88%,rgba(114,149,255,.22),transparent 66%),
    linear-gradient(145deg,#0c1a41 0%,#173b9c 54%,#315bff 100%);
}
.login-brand-logo,.login-panel-logo{filter:drop-shadow(0 20px 42px rgba(7,19,78,.28)) saturate(1.03)}

/* Mobile retains richness without excessive effects */
@media(max-width:760px){
  body{background:var(--bg)}
  .card{box-shadow:0 7px 20px rgba(24,36,68,.065),inset 0 1px 0 rgba(255,255,255,.5)}
  .btn:hover:not(:disabled){transform:none}
  .quick-action:hover{transform:none}
  .topbar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
}
@media(hover:none){
  .btn:after{display:none}
  .nav-btn:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .btn,.nav-btn,.quick-action,.input,.select,.textarea{transition:none!important}
  .btn:after{display:none}
}

/* v1.9.39 Final Bill month/matter controls + Admin Others review rules */
.final-bill-filter-toolbar .final-matter-search{min-width:280px;flex:2.2}.final-bill-filter-toolbar .final-billing-month{min-width:210px;flex:1.15}.final-bill-filter-toolbar .final-matter-search input{font-weight:650}.final-bill-filter-toolbar .final-billing-month select{font-weight:650}
@media(max-width:900px){.final-bill-filter-toolbar .final-matter-search,.final-bill-filter-toolbar .final-billing-month{min-width:180px}}
@media(max-width:620px){.final-bill-filter-toolbar .final-matter-search,.final-bill-filter-toolbar .final-billing-month{min-width:0;width:100%}}

@media (max-width:620px){.google-sso-btn{min-height:52px;font-size:13px}.google-sso-divider{margin-bottom:14px}.sso-access-table{min-width:780px}}

/* =====================================================================
   MADDY LOGIN — ENTERPRISE LAYOUT REFRESH (CSS ONLY)
   21 Sep 2026
   Presentation-only override. No authentication, SSO, Supabase, form,
   password, session, permission or event logic is changed.
   ===================================================================== */

/* Overall split: calmer brand panel + focused sign-in workspace */
.final-login{
  grid-template-columns:minmax(520px,1.03fr) minmax(520px,.97fr);
  background:#f7f9fc;
}
.final-login-art{
  padding:64px 72px;
  background:
    radial-gradient(620px 500px at 92% 2%,rgba(255,255,255,.10),transparent 62%),
    radial-gradient(520px 420px at 4% 98%,rgba(114,149,255,.16),transparent 64%),
    linear-gradient(145deg,#101f49 0%,#183a89 48%,#244fc2 100%);
}
.final-login-art:before{
  width:420px;height:420px;right:-175px;top:-185px;
  background:rgba(255,255,255,.06);
}
.final-login-art:after{
  width:280px;height:280px;left:-132px;bottom:-118px;
  background:rgba(255,255,255,.045);
}
.final-login-brand{
  max-width:650px;
  min-height:calc(100vh - 128px);
  min-height:calc(100dvh - 128px);
  justify-content:center;
}
.final-login .login-brand-logo{
  width:min(290px,68%);
  margin:-12px 0 18px -25px;
  filter:drop-shadow(0 12px 28px rgba(4,15,52,.24)) saturate(1.02);
}
.final-login-art .login-eyebrow{
  font-size:10px;
  letter-spacing:.14em;
  color:rgba(255,255,255,.72);
}
.final-login h1{
  max-width:620px;
  margin:22px 0 18px;
  font-size:clamp(44px,4.25vw,68px);
  line-height:1.025;
  letter-spacing:-.055em;
  font-weight:800;
}
.final-login-art p{
  max-width:500px;
  font-size:16px;
  line-height:1.55;
  color:rgba(255,255,255,.75);
}

/* Right side becomes a restrained authentication workspace */
.final-login-panel{
  padding:48px 56px;
  background:
    radial-gradient(520px 320px at 95% 4%,rgba(33,77,183,.055),transparent 68%),
    linear-gradient(180deg,#fbfcfe 0%,#f7f9fc 100%);
}
.final-login-panel:before{display:none}
.final-login-card{
  width:min(500px,100%);
  padding:38px 40px 30px;
  border:1px solid #dfe5ef;
  border-radius:24px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 55px rgba(25,42,78,.10),0 3px 12px rgba(25,42,78,.04);
}
.final-login-card-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:15px;
  margin:0 0 12px;
}
.final-login .login-panel-logo{
  width:102px;
  max-width:none;
  margin:-16px -3px -16px -11px;
  filter:drop-shadow(0 8px 18px rgba(7,31,95,.13)) saturate(1.02);
}
.final-login-card .login-eyebrow{
  display:block;
  margin-bottom:5px;
  font-size:9px;
  letter-spacing:.13em;
  color:#3156ad;
}
.final-login-card h2{
  margin:0;
  font-size:29px;
  line-height:1.08;
  letter-spacing:-.04em;
  color:#132347;
}
.final-login-card .sub{
  margin:0 0 24px;
  max-width:420px;
  color:#66728a;
  font-size:12px;
  line-height:1.55;
}

/* SSO is visually first, password login remains clearly secondary */
.google-sso-btn{
  min-height:52px;
  margin:0 0 18px;
  border-radius:13px;
  border:1px solid #d7deea;
  background:#fff;
  color:#15233e;
  box-shadow:0 4px 12px rgba(25,42,78,.055);
  font-size:12px;
  font-weight:800;
}
.google-sso-btn:hover:not(:disabled){
  border-color:#bfcadc;
  background:#fbfcff;
  box-shadow:0 7px 18px rgba(25,42,78,.08);
  transform:translateY(-1px);
}
.google-sso-divider{
  gap:12px;
  margin:0 0 19px;
  color:#8993a6;
  font-size:8.5px;
  letter-spacing:.075em;
}
.google-sso-divider:before,.google-sso-divider:after{background:#e2e7ef}
.google-sso-mark{width:22px;height:22px;font-size:13px}

/* Form rhythm */
.final-login-card .field{margin-bottom:17px}
.final-login-card .label{
  margin-bottom:7px;
  color:#4f5e78;
  font-size:10px;
  font-weight:800;
}
.final-login-card .input{
  min-height:52px;
  border:1px solid #dce3ed;
  border-radius:12px;
  padding:12px 14px;
  background:#fff;
  color:#17233a;
  font-size:14px;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025);
}
.final-login-card .input:hover{border-color:#c8d2e1}
.final-login-card .input:focus{
  border-color:#315bca;
  box-shadow:0 0 0 4px rgba(49,91,202,.10);
}
.final-login-card .input::placeholder{color:#9aa4b4}

/* Remember-me reads like an option, not another large form field */
.final-login-remember{
  gap:10px;
  margin:-1px 0 18px;
  padding:10px 12px;
  border:1px solid #e3e8f0;
  border-radius:11px;
  background:#f8faff;
}
.final-login-remember strong{font-size:10px;color:#253552}
.final-login-remember small{font-size:8.5px;color:#7b8698}

/* Keep sign-in colour consistent with the Maddy brand on the login page */
.final-login-submit,
.final-login-submit.btn.primary{
  min-height:52px;
  margin-top:0;
  border:1px solid #183a89!important;
  border-radius:12px;
  background:linear-gradient(180deg,#2856c7 0%,#183f9c 100%)!important;
  color:#fff!important;
  font-size:12px;
  font-weight:850;
  box-shadow:0 10px 24px rgba(31,72,169,.20)!important;
}
.final-login-submit:hover:not(:disabled),
.final-login-submit.btn.primary:hover:not(:disabled){
  background:linear-gradient(180deg,#2f61d9 0%,#1b469f 100%)!important;
  box-shadow:0 13px 28px rgba(31,72,169,.24)!important;
}

/* Footer/security information stays present but no longer dominates */
.final-login-card .login-error{min-height:18px;margin-top:8px}
.final-login-security{
  margin-top:7px;
  color:#7c8799;
  font-size:8.5px;
}
.final-login-card .login-foot{
  align-items:flex-start;
  margin-top:16px;
  padding-top:14px;
  border-color:#e5e9f0;
  color:#8a94a6;
  font-size:8px;
  line-height:1.45;
}
.final-login-card .login-foot span:first-child{font-weight:750;color:#647088}
.final-login-card .login-foot span:last-child{max-width:295px;text-align:right}

/* Dark-mode login remains legible and restrained */
html[data-theme="dark"] .final-login{background:#0b1020}
html[data-theme="dark"] .final-login-panel{
  background:linear-gradient(180deg,#0c1221 0%,#0a101d 100%);
}
html[data-theme="dark"] .final-login-card{
  border-color:#26334a;
  background:#111a2a;
  box-shadow:0 24px 58px rgba(0,0,0,.34);
}
html[data-theme="dark"] .final-login-card h2{color:#f4f7fb}
html[data-theme="dark"] .final-login-card .sub{color:#9ca8bb}
html[data-theme="dark"] .final-login-card .label{color:#b4bfd0}
html[data-theme="dark"] .final-login-card .input{background:#0d1524;border-color:#2c3950;color:#eef3fa}
html[data-theme="dark"] .final-login-remember{background:#0e1727;border-color:#2a374d}
html[data-theme="dark"] .final-login-remember strong{color:#dfe7f2}
html[data-theme="dark"] .final-login-card .login-foot{border-color:#26334a}

/* Tablet */
@media(max-width:1100px) and (min-width:901px){
  .final-login{grid-template-columns:minmax(430px,.94fr) minmax(480px,1.06fr)}
  .final-login-art{padding:52px 46px}
  .final-login h1{font-size:clamp(40px,4.8vw,56px)}
  .final-login-panel{padding:36px}
  .final-login-card{padding:34px 34px 27px}
}

/* Mobile: one clean card, no cramped desktop composition */
@media(max-width:900px){
  .final-login{
    display:block;
    background:linear-gradient(180deg,#edf3ff 0%,#f7f9fc 36%,#f7f9fc 100%);
  }
  .final-login-panel{
    min-height:100vh;
    min-height:100dvh;
    padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));
    background:transparent;
    align-items:center;
  }
  .final-login-card{
    max-width:480px;
    padding:30px 24px 24px;
    border-radius:20px;
  }
  .final-login-card-head{
    display:flex;
    flex-direction:column;
    gap:0;
    text-align:center;
    margin-bottom:8px;
  }
  .final-login .login-panel-logo{
    width:150px;
    margin:-38px auto -20px;
  }
  .final-login-card .login-eyebrow{display:none}
  .final-login-card h2{font-size:27px}
  .final-login-card .sub{text-align:center;margin:0 auto 8px}
  .final-login-mobile-quote{
    margin:0 0 22px;
    color:#3156ad;
    font-size:10px;
  }
  .final-login-card .input{font-size:16px}
  .final-login-card .login-foot{display:grid;gap:5px;text-align:center}
  .final-login-card .login-foot span:last-child{max-width:none;text-align:center}
}

@media(max-width:420px){
  .final-login-panel{padding-left:12px;padding-right:12px;align-items:flex-start}
  .final-login-card{padding:26px 17px 21px;border-radius:17px}
  .final-login .login-panel-logo{width:138px;margin:-34px auto -18px}
  .final-login-card h2{font-size:25px}
  .google-sso-btn,.final-login-submit{min-height:50px}
  .final-login-card .field{margin-bottom:14px}
  .final-login-remember{margin-bottom:15px}
}
