:root{
  --bg:#eef1f5;--surface:#fff;--surface-2:#f8fafb;--surface-3:#fafbfc;--text:#111827;--muted:#687386;--line:#e4e8ee;--line-2:#edf0f3;
  --ink:#111827;--nav:#0c1524;--nav2:#111e32;--accent:#4f6df5;--accent2:#6f85ff;--good:#16875b;--bad:#c63b4a;--warn:#b26c00;
  --field-bg:#fff;--field-border:#dce2e9;--th-bg:#fafbfc;--row-hover:#f5f8ff;
  --shadow:0 18px 50px rgba(18,28,45,.10);--shadow-sm:0 1px 2px rgba(18,28,45,.04);--radius:18px
}
[data-theme="dark"]{
  --bg:#0a0f1a;--surface:#111827;--surface-2:#0f1522;--surface-3:#151d2e;--text:#e7ecf3;--muted:#8b97ab;--line:#232c3d;--line-2:#1e2636;
  --ink:#e7ecf3;--nav:#0a1120;--nav2:#0d1526;--accent:#6f85ff;--accent2:#8497ff;
  --field-bg:#0f1626;--field-border:#2a3548;--th-bg:#131b2b;--row-hover:#161f31;--topbar-bg:rgba(15,21,34,.82);
  --shadow:0 24px 60px rgba(0,0,0,.5);--shadow-sm:0 1px 2px rgba(0,0,0,.3)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html{transition:background .3s ease}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-art{padding:48px 56px;position:relative;color:#fff;background:radial-gradient(circle at 20% 10%,#284a87 0,transparent 42%),radial-gradient(circle at 90% 75%,#263f70 0,transparent 38%),linear-gradient(150deg,#07111f,#0d1c33 55%,#142847);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-art:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-200px;top:12%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.018)}
.brand{display:flex;align-items:center;gap:11px;font-weight:760;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent2),var(--accent));color:#fff;box-shadow:0 8px 25px rgba(79,109,245,.3)}.brand-light{position:relative;z-index:1}.hero-copy{max-width:610px;position:relative;z-index:1}.eyebrow,.top-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;color:#94a9d1}.eyebrow.dark{color:var(--accent)}.hero-copy h1{font-size:clamp(48px,6vw,82px);line-height:.96;letter-spacing:-.065em;margin:18px 0 24px}.hero-copy p{font-size:18px;line-height:1.65;color:#c8d4e8;max-width:560px}.mini-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;z-index:1}.mini-flow div{border-top:1px solid rgba(255,255,255,.18);padding-top:14px;display:flex;gap:10px;align-items:baseline}.mini-flow b{font-size:11px;color:#7891bd}.mini-flow span{font-size:13px;color:#d5def0}
.login-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(#fff,#fbfcfd)}.login-card{width:min(430px,100%);display:flex;flex-direction:column;gap:22px}.login-card h2{font-size:38px;letter-spacing:-.045em;margin:8px 0 4px}.login-card label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#364153}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.filter-input{border:1px solid var(--field-border);border-radius:12px;padding:13px 14px;background:var(--field-bg);color:var(--text);outline:none;transition:.18s}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.filter-input:focus{border-color:#91a2fc;box-shadow:0 0 0 4px rgba(79,109,245,.10)}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:750;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;box-shadow:0 8px 20px rgba(79,109,245,.28)}.btn-primary:hover{box-shadow:0 12px 26px rgba(79,109,245,.36)}.btn-soft{background:#eef1ff;color:#354fc6}.btn-soft:hover{background:#e3e8ff}.btn-danger{background:#fff0f1;color:#a62d3a}.btn-danger:hover{background:#ffe4e6}.btn-good{background:#e9f7f1;color:#126e4b}.btn-good:hover{background:#dcf2e8}.btn-block{width:100%;padding:14px}.form-error{color:var(--bad);font-size:13px;min-height:18px}.demo-box{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fafbfc}.demo-box summary{cursor:pointer;font-weight:700}.demo-box p{margin:8px 0}.mobile-brand{display:none}
.app-shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:linear-gradient(180deg,var(--nav),#0a1321);color:#fff;padding:25px 18px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 9px 24px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:12px}.nav-section{font-size:9px;font-weight:800;letter-spacing:.16em;color:#63718a;padding:18px 12px 6px}.nav-btn{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#9da9bb;padding:11px 12px;border-radius:11px;text-align:left;cursor:pointer;font-size:13px;font-weight:650}.nav-btn:hover{background:rgba(255,255,255,.05);color:#fff}.nav-btn.active{background:#172840;color:#fff;box-shadow:inset 3px 0 0 var(--accent2)}.nav-icon{width:20px;text-align:center;opacity:.95}.sidebar-footer{margin-top:auto;padding:16px 6px 2px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#233652}.user-mini{display:flex;flex-direction:column;min-width:0}.user-mini strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini span{font-size:10px;color:#79879e;text-transform:capitalize}.icon-btn,.menu-btn{border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px}.main-area{grid-column:2;min-width:0}.topbar{height:92px;padding:0 38px;background:var(--topbar-bg,rgba(255,255,255,.88));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar h1{font-size:22px;margin:2px 0 0;letter-spacing:-.03em}.top-kicker{color:#8994a5;font-size:9px}.role-badge{font-size:11px;text-transform:capitalize;background:#eef1f5;border:1px solid #e2e7ed;padding:7px 10px;border-radius:999px;color:#4a5667;font-weight:750}.menu-btn{display:none;color:#1f2937}.content{padding:34px 38px 60px;max-width:1550px;margin:0 auto;animation:fadeUp .32s ease}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.welcome-row h2{font-size:29px;letter-spacing:-.04em;margin:0 0 6px}.welcome-row p{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;box-shadow:0 1px 2px rgba(18,28,45,.04);transition:.2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(18,28,45,.09);border-color:#d7dde6}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone,var(--accent))}.stat-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;font-size:20px;font-weight:700;background:var(--tone-soft,#eef1ff);color:var(--tone,var(--accent))}.stat-body{min-width:0}.stat-card.tone-blue{--tone:#4f6df5;--tone-soft:#eef1ff}.stat-card.tone-green{--tone:#16875b;--tone-soft:#e8f7f0}.stat-card.tone-amber{--tone:#b26c00;--tone-soft:#fff5df}.stat-card.tone-red{--tone:#c63b4a;--tone-soft:#fff0f1}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8a94a3}.stat-value{font-size:32px;font-weight:760;letter-spacing:-.05em;margin-top:6px;line-height:1}.stat-sub{font-size:11px;color:var(--muted);margin-top:5px}.panel-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(18,28,45,.04);overflow:hidden;transition:.2s}.panel:hover{box-shadow:0 10px 30px rgba(18,28,45,.06)}.panel-header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-header h3{font-size:14px;margin:0}.panel-body{padding:20px}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty b{display:block;color:#374151;margin-bottom:6px}.quick-card{padding:22px;border-radius:16px;background:linear-gradient(145deg,#121f34,#1c3354);color:#fff;position:relative;overflow:hidden}.quick-card:after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(111,133,255,.35),transparent 70%)}.quick-card h3{font-size:17px;margin:0 0 7px;position:relative}.quick-card p{font-size:12px;line-height:1.55;color:#aebdd4;margin:0 0 15px;position:relative}.quick-card .btn{background:#fff;color:#1e2a3e;position:relative}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:var(--th-bg);padding:11px 14px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 14px;border-bottom:1px solid var(--line-2);font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover{background:var(--row-hover)}.mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:capitalize}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pending{background:#fff5df;color:#9a6204}.status-approved{background:#e8f7f0;color:#137551}.status-rejected{background:#fff0f1;color:#aa3440}.status-needs_review{background:#eef1ff;color:#4c59b6}.status-inactive{background:#eef0f3;color:#657081}.clickable{cursor:pointer}.small-btn{padding:7px 10px;font-size:11px}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.filter-input{padding:9px 11px;font-size:12px}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;max-width:850px;box-shadow:var(--shadow-sm)}.form-card h2{font-size:24px;margin:0 0 8px;letter-spacing:-.04em}.form-card>.muted{margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:105px;resize:vertical}.form-help{font-size:11px;color:#8b95a3;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.step-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:850px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.step{padding:13px 15px;border-right:1px solid var(--line);display:flex;align-items:center;gap:10px}.step:last-child{border-right:0}.step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef1ff;color:#4d60d4;font-size:10px;font-weight:800}.step span{font-size:11px;font-weight:750;color:#4b5563}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.detail-item{background:#f8fafb;border:1px solid #edf0f3;border-radius:11px;padding:12px}.detail-item small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.08em;color:#9aa4b2;font-weight:800;margin-bottom:5px}.detail-item b{font-size:12px;word-break:break-word}.history-list{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.history-item{display:flex;gap:10px;padding:8px 0}.history-dot{width:8px;height:8px;border-radius:50%;background:#8796ff;margin-top:5px}.history-copy b{font-size:11px}.history-copy div{font-size:10px;color:var(--muted);margin-top:2px}.modal-backdrop{position:fixed;inset:0;background:rgba(7,13,23,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(610px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px;position:relative;animation:modalIn .22s cubic-bezier(.2,.8,.2,1)}@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.modal-close{position:absolute;right:16px;top:13px;border:0;background:#f3f5f7;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:19px;color:#677180}.modal-card h2{font-size:22px;margin:0 0 5px;letter-spacing:-.035em}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.modal-note{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:14px;min-height:74px;resize:vertical}.toast{position:fixed;right:22px;bottom:22px;background:#101827;color:#fff;border-radius:12px;padding:12px 16px;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.toast.error{background:#9f2d39}.affiliate-rank{display:flex;align-items:center;gap:10px}.rank-num{width:24px;height:24px;border-radius:8px;background:#f0f2f5;display:grid;place-items:center;font-size:9px;font-weight:800}.progress{height:5px;background:#eef1f4;border-radius:999px;overflow:hidden;margin-top:6px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#8193ff);border-radius:999px}.note-card{border-left:3px solid var(--accent);background:#f6f8ff;border-radius:0 12px 12px 0;padding:12px 14px;font-size:11px;color:#536078;line-height:1.55}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.metric-row:last-child{border-bottom:0}.metric-row span{font-size:11px;color:var(--muted)}.metric-row b{font-size:13px}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.mobile-brand{display:flex;margin-bottom:16px}.app-shell{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main-area{grid-column:1}.menu-btn{display:block}.topbar{padding:0 20px}.content{padding:25px 20px 50px}.stat-grid{grid-template-columns:repeat(2,1fr)}.panel-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.step-strip{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}}
@media(max-width:560px){.login-panel{padding:28px 22px}.login-card h2{font-size:32px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.stat-value{font-size:27px}.welcome-row{align-items:flex-start;flex-direction:column}.detail-grid{grid-template-columns:1fr}.content{padding:20px 14px 40px}.topbar{height:80px;padding:0 14px}.topbar h1{font-size:19px}.role-badge{display:none}.form-card{padding:18px}.panel-header{padding:15px}.mini-flow{display:none}}

/* Submission evidence uploader */
.optional{font-size:10px;color:#98a2b0;font-weight:600;margin-left:5px}.upload-field{display:flex;flex-direction:column;gap:10px}.upload-label{font-size:13px;font-weight:700;color:#364153}.upload-label span{font-size:10px;color:#8b95a3;font-weight:600;margin-left:6px}.upload-zone{border:1.5px dashed #bfc9d7;border-radius:16px;background:#fafcff;min-height:112px;padding:18px;display:flex!important;flex-direction:row!important;align-items:center;gap:14px;cursor:pointer;transition:.18s;-webkit-tap-highlight-color:transparent}.upload-zone:hover{border-color:#8797f3;background:#f7f9ff}.upload-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#eef1ff;color:#4d60d4;display:grid;place-items:center;font-size:23px;font-weight:400}.upload-zone>div:last-child{display:flex;flex-direction:column;gap:4px}.upload-zone b{font-size:13px;color:#273244}.upload-zone span{font-size:11px;color:#637084;font-weight:550}.upload-zone small{font-size:9px;color:#98a2b0;font-weight:500}.file-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.file-chip{border:1px solid #e3e8ee;border-radius:13px;background:#fff;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:8px;min-width:0}.file-chip img,.file-type{width:48px;height:48px;border-radius:9px;object-fit:cover;background:#f1f3f6}.file-type{display:grid;place-items:center;font-size:9px;font-weight:850;color:#697589}.file-chip-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.file-chip-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip-copy span{font-size:9px;color:#8d98a7}.file-remove{width:28px;height:28px;border:0;border-radius:50%;background:#f3f5f7;color:#7b8796;cursor:pointer;font-size:17px;display:grid;place-items:center}.evidence-section{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.evidence-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.evidence-heading b{font-size:11px}.evidence-heading span{font-size:9px;color:var(--muted)}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.evidence-card{display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #e3e8ee;border-radius:13px;padding:8px;text-decoration:none;color:inherit;background:#fff;transition:.18s;min-width:0}.evidence-card:hover{border-color:#b8c3f9;background:#fafbff}.evidence-card img,.evidence-file-icon{width:66px;height:66px;border-radius:9px;object-fit:cover;background:#f1f3f6}.evidence-file-icon{display:grid;place-items:center;font-size:10px;font-weight:850;color:#667386}.evidence-card>div:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}.evidence-card b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-card span{font-size:9px;color:#8b95a3}.empty.compact{padding:16px;font-size:10px}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}

@media(max-width:560px){.file-list,.evidence-grid{grid-template-columns:1fr}.upload-zone{min-height:118px;padding:15px 13px}.upload-zone small{line-height:1.35}.form-grid input,.form-grid select,.form-grid textarea,.filter-input,.login-card input{font-size:16px}.form-grid input,.form-grid select{min-height:46px}.btn{min-height:44px}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions .btn{width:100%}.modal-card{padding:22px 16px}.evidence-card{grid-template-columns:58px minmax(0,1fr)}.evidence-card img,.evidence-file-icon{width:58px;height:58px}}

/* ============ Crafted UI layer: theme toggle, data-viz, chips, sorting, skeletons ============ */
.top-actions{display:flex;align-items:center;gap:12px}
.icon-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:15px;transition:.18s;position:relative;overflow:hidden}
.icon-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.icon-toggle span{position:absolute;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
.theme-moon{opacity:0;transform:translateY(18px) rotate(-45deg)}
[data-theme="dark"] .theme-sun{opacity:0;transform:translateY(-18px) rotate(45deg)}
[data-theme="dark"] .theme-moon{opacity:1;transform:none}
/* Analytics row */
.viz-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;margin-bottom:16px}
.donut-panel{display:flex;align-items:center;gap:24px;padding:22px}
.donut{position:relative;width:148px;height:148px;flex:0 0 148px}
.donut svg{transform:rotate(-90deg);width:100%;height:100%;overflow:visible}
.donut circle{fill:none;stroke-width:15;stroke-linecap:round}
.donut-track{stroke:var(--line)}
.donut-seg{transition:stroke-dashoffset 1.1s cubic-bezier(.34,1.2,.4,1)}
.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.donut-center b{font-size:32px;letter-spacing:-.05em;line-height:1}
.donut-center span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-top:3px}
.legend{display:flex;flex-direction:column;gap:11px;flex:1;min-width:0}
.legend-row{display:flex;align-items:center;gap:10px;font-size:12px}
.legend-dot{width:10px;height:10px;border-radius:4px;flex:0 0 10px}
.legend-row .lg-name{flex:1;color:var(--muted);font-weight:650;text-transform:capitalize}
.legend-row .lg-val{font-weight:800;font-variant-numeric:tabular-nums}
.legend-row .lg-pct{font-size:10px;color:var(--muted);width:38px;text-align:right;font-variant-numeric:tabular-nums}
.trend-panel{padding:20px}
.trend{display:flex;align-items:flex-end;gap:5px;height:118px;margin-top:6px}
.bar{flex:1;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:6px 6px 3px 3px;min-height:3px;position:relative;opacity:.85;transition:height .9s cubic-bezier(.34,1.1,.4,1),opacity .15s;animation:barGrow .9s cubic-bezier(.34,1.1,.4,1)}
.bar:hover{opacity:1}
.bar em{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;font-style:normal;opacity:0;transition:.15s;pointer-events:none;background:var(--nav);color:#fff;padding:2px 7px;border-radius:6px;white-space:nowrap}
.bar:hover em{opacity:1}
.trend-axis{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:var(--muted);font-weight:700;letter-spacing:.03em}
@keyframes barGrow{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}
/* Filter chips */
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:7px 13px;border-radius:999px;font-size:11px;font-weight:750;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(79,109,245,.28)}
.chip .chip-count{font-size:10px;background:var(--surface-2);border-radius:999px;padding:1px 6px;font-weight:800}
.chip.active .chip-count{background:rgba(255,255,255,.22);color:#fff}
/* Sortable table headers */
th.sortable{cursor:pointer;user-select:none;white-space:nowrap;transition:color .15s}
th.sortable:hover{color:var(--accent)}
th.sortable .arrow{display:inline-block;margin-left:3px;opacity:.3;font-size:8px}
th.sortable.sorted{color:var(--accent)}
th.sortable.sorted .arrow{opacity:1}
/* Skeleton loaders */
.sk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.sk-card{height:90px;border-radius:18px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
.sk-line{height:12px;border-radius:6px;background:var(--line);position:relative;overflow:hidden}
.sk-card:after,.sk-line:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmer 1.4s infinite}
[data-theme="dark"] .sk-card:after,[data-theme="dark"] .sk-line:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
@keyframes shimmer{100%{transform:translateX(100%)}}
.count-up{font-variant-numeric:tabular-nums}
.operator-picker{position:relative}.operator-picker-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--field-border);border-radius:12px;padding:13px 14px;background:var(--field-bg);color:var(--text);font-weight:600;cursor:pointer}.operator-picker-toggle:focus{outline:none;border-color:#91a2fc;box-shadow:0 0 0 4px rgba(79,109,245,.10)}.operator-options{position:absolute;z-index:5;top:calc(100% + 7px);left:0;right:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);padding:5px}.operator-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:8px;padding:11px 10px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.operator-options button:hover{background:#eef1ff}.operator-options button span{font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:980px){.viz-grid{grid-template-columns:1fr}.sk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.donut-panel{flex-direction:column;text-align:center}.legend{width:100%}}

/* ============ Dark theme surface refinements ============ */
[data-theme="dark"] .login-shell{background:var(--surface)}
[data-theme="dark"] .login-panel{background:linear-gradient(var(--surface),var(--surface-2))}
[data-theme="dark"] .login-card label,[data-theme="dark"] .form-grid label,[data-theme="dark"] .upload-label{color:#c3ccda}
[data-theme="dark"] .demo-box{background:var(--surface-2)}
[data-theme="dark"] .role-badge{background:var(--surface-2);border-color:var(--line);color:var(--muted)}
[data-theme="dark"] .stat-label{color:var(--muted)}
[data-theme="dark"] .stat-card:hover{border-color:var(--accent);box-shadow:0 16px 34px rgba(0,0,0,.45)}
[data-theme="dark"] .stat-card.tone-blue{--tone:#8497ff;--tone-soft:rgba(111,133,255,.15)}
[data-theme="dark"] .stat-card.tone-green{--tone:#3fbd85;--tone-soft:rgba(22,135,91,.17)}
[data-theme="dark"] .stat-card.tone-amber{--tone:#e0a340;--tone-soft:rgba(178,108,0,.17)}
[data-theme="dark"] .stat-card.tone-red{--tone:#f0697a;--tone-soft:rgba(198,59,74,.17)}
[data-theme="dark"] .empty b{color:#c3ccda}
[data-theme="dark"] .btn-soft{background:rgba(111,133,255,.15);color:#aab7ff}
[data-theme="dark"] .btn-soft:hover{background:rgba(111,133,255,.24)}
[data-theme="dark"] .btn-good{background:rgba(22,135,91,.17);color:#57d29b}
[data-theme="dark"] .btn-danger{background:rgba(198,59,74,.17);color:#f2879a}
[data-theme="dark"] .form-help,[data-theme="dark"] .upload-label span,[data-theme="dark"] .upload-zone small{color:var(--muted)}
[data-theme="dark"] .step-strip{background:var(--surface)}
[data-theme="dark"] .step span{color:#c3ccda}
[data-theme="dark"] .step-num{background:rgba(111,133,255,.17);color:#aab7ff}
[data-theme="dark"] .detail-item{background:var(--surface-2);border-color:var(--line)}
[data-theme="dark"] .detail-item small{color:var(--muted)}
[data-theme="dark"] .modal-close{background:var(--surface-2);color:var(--muted)}
[data-theme="dark"] .modal-note{background:var(--field-bg);color:var(--text)}
[data-theme="dark"] .note-card{background:rgba(111,133,255,.09);color:#b6c0d4}
[data-theme="dark"] .rank-num{background:var(--surface-3)}
[data-theme="dark"] .progress{background:var(--line)}
[data-theme="dark"] .upload-zone{background:var(--surface-2);border-color:var(--field-border)}
[data-theme="dark"] .upload-zone:hover{background:var(--surface-3);border-color:var(--accent)}
[data-theme="dark"] .upload-zone b{color:var(--text)}
[data-theme="dark"] .upload-zone span{color:var(--muted)}
[data-theme="dark"] .upload-icon{background:rgba(111,133,255,.17);color:#aab7ff}
[data-theme="dark"] .file-chip,[data-theme="dark"] .evidence-card{background:var(--surface-2);border-color:var(--line)}
[data-theme="dark"] .evidence-card:hover{background:var(--surface-3);border-color:var(--accent)}
[data-theme="dark"] .evidence-card span,[data-theme="dark"] .file-chip-copy span,[data-theme="dark"] .evidence-heading span{color:var(--muted)}
[data-theme="dark"] .file-type,[data-theme="dark"] .evidence-file-icon,[data-theme="dark"] .file-chip img,[data-theme="dark"] .evidence-card img{background:var(--surface-3)}
[data-theme="dark"] .file-remove{background:var(--surface-3);color:var(--muted)}

/* ============ Pickr Partner Portal login ============ */
html,body{font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,.partner-wordmark{font-family:Manrope,"DM Sans",ui-sans-serif,sans-serif}
.partner-logo{display:block;width:min(100%,330px);height:110px;object-fit:cover;object-position:center;border-radius:8px}.sidebar-logo{display:block;width:150px;height:46px;object-fit:contain;object-position:center;border-radius:5px;background:#fff}.sidebar .brand>span{display:none}.login-logo{display:flex;margin:0 0 8px}
.login-shell{grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);background:#f5f8fc;overflow:hidden}.partner-intro{min-height:100vh;padding:48px clamp(48px,6vw,96px);background:#071a33;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative}.partner-intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(169,220,255,.12) 25%);pointer-events:none}.partner-intro:after{content:none}.partner-wordmark{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-.07em;color:inherit}.partner-mark{width:32px;height:32px;display:grid;place-items:center;background:#a9dcff;color:#071a33;font-size:18px;font-weight:800;line-height:1;letter-spacing:-.1em}.partner-hero{position:relative;z-index:1;max-width:650px;margin:50px 0}.partner-kicker{margin:0 0 18px;color:#a9dcff;font-size:11px;font-weight:700;letter-spacing:.16em}.partner-kicker.dark{color:#285f91}.partner-hero h1{margin:0;font-size:clamp(44px,5.5vw,76px);line-height:1.04;letter-spacing:-.07em}.partner-hero>p:last-child{max-width:560px;margin:25px 0 0;color:#c6d5e4;font-size:17px;line-height:1.65}.partner-features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none}.partner-features li{display:flex;gap:10px;border-top:1px solid #36516d;padding-top:14px}.partner-features>li>span{color:#a9dcff;font-size:10px;font-weight:700;letter-spacing:.08em}.partner-features b{display:block;font-size:13px;font-weight:700;letter-spacing:-.02em}.partner-features small{display:block;margin-top:4px;color:#aabed0;font-size:11px;line-height:1.4}.login-panel{padding:48px;background:#f5f8fc}.login-card{width:min(390px,100%);gap:20px}.login-heading{margin-bottom:10px}.login-heading h2{margin:0;font-size:34px;letter-spacing:-.06em;color:#0b1f39}.login-heading>p:last-child{margin:9px 0 0;color:#586b80;font-size:14px;line-height:1.55}.login-card label{gap:8px;color:#1d334b;font-size:12px;font-weight:700;letter-spacing:.01em}.login-card input{min-height:50px;border:1px solid #cbd7e4;border-radius:4px;padding:13px 14px;background:#fff;color:#0b1f39;box-shadow:none;transition:border-color .16s,box-shadow .16s}.login-card input:focus{border-color:#4d9ddd;box-shadow:0 0 0 3px rgba(169,220,255,.48)}.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:72px}.password-field button{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:transparent;color:#245f96;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.login-links{display:flex;justify-content:space-between;margin-top:-2px}.login-links a{color:#245f96;font-size:12px;font-weight:700;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-card .btn-primary{min-height:52px;border-radius:4px;background:#0b3159;color:#fff;box-shadow:none;font-weight:800}.login-card .btn-primary:hover{background:#124574;box-shadow:none;transform:none}.login-card .btn-primary:disabled{background:#c8d2dc;color:#5f6d79}.login-protected{margin:3px 0 0;color:#65758a;font-size:11px;text-align:center}.login-protected:before{content:"●";color:#4d9ddd;font-size:8px;margin-right:6px}.form-error{min-height:0;color:#a52626;font-weight:600}.login-art{background:#071a33}.mobile-brand{color:#0b1f39}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(77,157,221,.62);outline-offset:3px}@media(max-width:980px){.login-shell{display:block;min-height:100dvh}.partner-intro{display:none}.login-panel{min-height:100dvh;display:grid;place-items:center;padding:30px 22px}.mobile-brand{display:flex;margin:0 0 28px}.login-card{width:min(390px,100%)}.login-card input,.login-card .btn-primary{min-height:52px}}@media(max-width:400px){.login-panel{padding:24px 18px}.login-heading h2{font-size:30px}.login-links{gap:12px}.login-links a{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ============ Pickr navy and blue portal theme ============ */
:root{--bg:#f4f8fc;--surface:#fff;--surface-2:#edf5fb;--surface-3:#e6f0f8;--text:#071a33;--muted:#58708a;--line:#d8e5ef;--line-2:#e7eff5;--ink:#071a33;--nav:#071a33;--nav2:#0b3159;--accent:#168fd5;--accent2:#55b9ee;--field-bg:#fff;--field-border:#bfd2e1;--th-bg:#edf5fb;--row-hover:#f1f8fd;--shadow:0 18px 50px rgba(7,26,51,.11);--shadow-sm:0 1px 2px rgba(7,26,51,.05)}
[data-theme="dark"]{--bg:#071a33;--surface:#0b2747;--surface-2:#0d3158;--surface-3:#123c67;--text:#f5fbff;--muted:#a9c4d9;--line:#1f4e76;--line-2:#173f64;--ink:#f5fbff;--nav:#06172c;--nav2:#0b3159;--accent:#55b9ee;--accent2:#a9dcff;--field-bg:#0b2747;--field-border:#28618e;--th-bg:#0d3158;--row-hover:#10385f;--topbar-bg:rgba(7,26,51,.88)}
.sidebar{background:linear-gradient(180deg,#071a33,#041326)}.sidebar .brand{gap:10px;color:#fff;font-size:13px}.brand-mark{background:linear-gradient(145deg,#a9dcff,#168fd5);color:#071a33;box-shadow:0 8px 25px rgba(85,185,238,.26)}.nav-section{color:#7fa2bd}.nav-btn{color:#b3cadb}.nav-btn.active{background:#10416e;box-shadow:inset 3px 0 0 #a9dcff}.avatar{background:#15507e}.top-kicker,.eyebrow{color:#477797}.role-badge{background:#edf5fb;border-color:#d3e3ee;color:#245476}.menu-btn{color:#071a33}.btn-primary{background:linear-gradient(135deg,#55b9ee,#168fd5);box-shadow:0 8px 20px rgba(22,143,213,.25)}.btn-primary:hover{box-shadow:0 12px 26px rgba(22,143,213,.35)}.btn-soft{background:#e3f3fd;color:#126ca4}.btn-soft:hover{background:#d4edfc}.stat-card.tone-blue{--tone:#168fd5;--tone-soft:#e1f3fd}.stat-card.tone-green{--tone:#158266;--tone-soft:#e3f5ef}.stat-card.tone-amber{--tone:#a86708;--tone-soft:#fff2da}.status-needs_review,.step-num{background:#e3f3fd;color:#126ca4}.quick-card{background:linear-gradient(145deg,#071a33,#0c3d69)}.quick-card:after{background:radial-gradient(circle,rgba(169,220,255,.35),transparent 70%)}.progress i{background:linear-gradient(90deg,#168fd5,#a9dcff)}.note-card{border-left-color:#168fd5;background:#edf7fd;color:#315b7c}.operator-picker-toggle:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.filter-input:focus{border-color:#55b9ee;box-shadow:0 0 0 4px rgba(85,185,238,.18)}.chip.active{background:#168fd5;border-color:#168fd5;box-shadow:0 6px 16px rgba(22,143,213,.25)}.operator-options button:hover{background:#edf7fd}.upload-zone:hover{border-color:#55b9ee;background:#f0f9fe}.upload-icon{background:#e3f3fd;color:#168fd5}.history-dot{background:#55b9ee}[data-theme="dark"] .menu-btn{color:#f5fbff}[data-theme="dark"] .role-badge{background:#0d3158;border-color:#1f4e76;color:#a9dcff}[data-theme="dark"] .btn-soft{background:rgba(85,185,238,.16);color:#a9dcff}[data-theme="dark"] .note-card{background:rgba(85,185,238,.12);color:#c8e7f8}

/* ============ Mobile login polish ============ */
@media (max-width: 640px) {
  .login-shell,
  [data-theme="dark"] .login-shell {
    min-height:100dvh;
    background:#f4f8fc;
  }

  .login-panel,
  [data-theme="dark"] .login-panel {
    min-height:100dvh;
    display:block;
    padding:28px 20px 36px;
    background:linear-gradient(180deg,#f7fbfe 0,#fff 35%,#f4f8fc 100%);
  }

  .login-card {
    width:100%;
    max-width:420px;
    margin:0 auto;
    gap:18px;
  }

  .login-logo {
    margin:2px 0 8px;
  }

  .partner-logo {
    width:190px;
    height:64px;
    border-radius:6px;
  }

  .login-heading {
    margin:2px 0 4px;
  }

  .partner-kicker.dark {
    color:#176fa9;
    font-size:10px;
    letter-spacing:.14em;
  }

  .login-heading h2,
  [data-theme="dark"] .login-heading h2 {
    color:#071a33;
    font-size:31px;
    line-height:1.1;
  }

  .login-heading > p:last-child,
  [data-theme="dark"] .login-heading > p:last-child {
    color:#405d77;
    font-size:14px;
    line-height:1.55;
  }

  .login-card label,
  [data-theme="dark"] .login-card label {
    color:#173550;
    font-size:12px;
  }

  .login-card input,
  [data-theme="dark"] .login-card input {
    min-height:54px;
    border-color:#b7ccdc;
    border-radius:8px;
    background:#fff;
    color:#071a33;
    font-size:16px;
  }

  .login-card input::placeholder {
    color:#7890a5;
  }

  .password-field button {
    color:#126ca4;
  }

  .login-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:-2px;
  }

  .login-links a {
    color:#126ca4;
    font-size:12px;
  }

  .login-links a:last-child {
    text-align:right;
  }

  .login-card .btn-primary {
    min-height:54px;
    border-radius:8px;
    font-size:15px;
    background:#0b3159;
  }

  .login-card .btn-primary:hover,
  .login-card .btn-primary:focus-visible {
    background:#124574;
  }

  .login-protected,
  [data-theme="dark"] .login-protected {
    color:#5b7288;
    line-height:1.45;
  }
}

@media (max-width: 380px) {
  .login-panel,
  [data-theme="dark"] .login-panel { padding:24px 16px 30px; }
  .partner-logo { width:170px; height:58px; }
  .login-heading h2 { font-size:29px; }
  .login-links { gap:8px; }
  .login-links a { font-size:11px; }
}

/* Final sidebar logo sizing: use the entire image rather than a cropped icon. */
.sidebar .brand{align-items:center;gap:0}.sidebar-logo{width:170px;height:52px;object-fit:contain;object-position:center;border-radius:5px;background:#fff}.sidebar .brand>span:last-child{display:none}


.user-mini span{color:#a9dcff;font-weight:700;letter-spacing:.025em}.logout-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(169,220,255,.35);border-radius:7px;color:#dff3ff;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.logout-btn span:first-child{font-size:15px;line-height:10px;transform:translateY(-1px)}.logout-btn:hover{background:rgba(169,220,255,.12);color:#fff}

/* Keep the full Pickr logo visible when the mobile navigation drawer opens. */
.sidebar .brand{align-items:flex-start;gap:7px}.sidebar-logo{width:142px;height:44px;object-fit:contain;object-position:left center;border-radius:5px}.sidebar .brand>span:last-child{padding-left:2px;color:#a9dcff;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

.login-shell{grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);background:#f5f8fc;overflow:hidden}.partner-intro{min-height:100vh;padding:48px clamp(48px,6vw,96px);background:#071a33;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative}.partner-intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(169,220,255,.12) 25%);pointer-events:none}.partner-intro:after{content:none}.partner-wordmark{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-.07em;color:inherit}.partner-mark{width:32px;height:32px;display:grid;place-items:center;background:#a9dcff;color:#071a33;font-size:18px;font-weight:800;line-height:1;letter-spacing:-.1em}.partner-hero{position:relative;z-index:1;max-width:650px;margin:50px 0}.partner-kicker{margin:0 0 18px;color:#a9dcff;font-size:11px;font-weight:700;letter-spacing:.16em}.partner-kicker.dark{color:#285f91}.partner-hero h1{margin:0;font-size:clamp(44px,5.5vw,76px);line-height:1.04;letter-spacing:-.07em}.partner-hero>p:last-child{max-width:560px;margin:25px 0 0;color:#c6d5e4;font-size:17px;line-height:1.65}.partner-features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none}.partner-features li{display:flex;gap:10px;border-top:1px solid #36516d;padding-top:14px}.partner-features>li>span{color:#a9dcff;font-size:10px;font-weight:700;letter-spacing:.08em}.partner-features b{display:block;font-size:13px;font-weight:700;letter-spacing:-.02em}.partner-features small{display:block;margin-top:4px;color:#aabed0;font-size:11px;line-height:1.4}.login-panel{padding:48px;background:#f5f8fc}.login-card{width:min(390px,100%);gap:20px}.login-heading{margin-bottom:10px}.login-heading h2{margin:0;font-size:34px;letter-spacing:-.06em;color:#0b1f39}.login-heading>p:last-child{margin:9px 0 0;color:#586b80;font-size:14px;line-height:1.55}.login-card label{gap:8px;color:#1d334b;font-size:12px;font-weight:700;letter-spacing:.01em}.login-card input{min-height:50px;border:1px solid #cbd7e4;border-radius:4px;padding:13px 14px;background:#fff;color:#0b1f39;box-shadow:none;transition:border-color .16s,box-shadow .16s}.login-card input:focus{border-color:#4d9ddd;box-shadow:0 0 0 3px rgba(169,220,255,.48)}.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:72px}.password-field button{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:transparent;color:#245f96;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.login-links{display:flex;justify-content:space-between;margin-top:-2px}.login-links a{color:#245f96;font-size:12px;font-weight:700;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-card .btn-primary{min-height:52px;border-radius:4px;background:#0b3159;color:#fff;box-shadow:none;font-weight:800}.login-card .btn-primary:hover{background:#124574;box-shadow:none;transform:none}.login-card .btn-primary:disabled{background:#c8d2dc;color:#5f6d79}.login-protected{margin:3px 0 0;color:#65758a;font-size:11px;text-align:center}.login-protected:before{content:"●";color:#4d9ddd;font-size:8px;margin-right:6px}.form-error{min-height:0;color:#a52626;font-weight:600}.login-art{background:#071a33}.mobile-brand{color:#0b1f39}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(77,157,221,.62);outline-offset:3px}@media(max-width:980px){.login-shell{display:block;min-height:100dvh}.partner-intro{display:none}.login-panel{min-height:100dvh;display:grid;place-items:center;padding:30px 22px}.mobile-brand{display:flex;margin:0 0 28px}.login-card{width:min(390px,100%)}.login-card input,.login-card .btn-primary{min-height:52px}}@media(max-width:400px){.login-panel{padding:24px 18px}.login-heading h2{font-size:30px}.login-links{gap:12px}.login-links a{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
[data-theme="dark"] .toast{background:#1c2740;border:1px solid var(--line)}
[data-theme="dark"] .status-pending{background:rgba(178,108,0,.2);color:#e8b862}
[data-theme="dark"] .status-approved{background:rgba(22,135,91,.2);color:#52d297}
[data-theme="dark"] .status-rejected{background:rgba(198,59,74,.2);color:#f2818f}
[data-theme="dark"] .status-needs_review{background:rgba(111,133,255,.2);color:#aab7ff}
[data-theme="dark"] .status-inactive{background:var(--surface-3);color:var(--muted)}
[data-theme="dark"] .demo-box,[data-theme="dark"] .form-help{color:var(--muted)}

/* Final mobile login overrides: must follow the legacy login styles above. */
@media (max-width: 640px) {
  .login-shell,
  [data-theme="dark"] .login-shell { min-height:100dvh; background:#f4f8fc; }
  .login-panel,
  [data-theme="dark"] .login-panel { min-height:100dvh; display:block; padding:28px 20px 36px; background:linear-gradient(180deg,#f7fbfe 0,#fff 35%,#f4f8fc 100%); }
  .login-card { width:100%; max-width:420px; margin:0 auto; gap:18px; }
  .login-logo { display:flex; margin:2px 0 8px; }
  .partner-logo { width:190px; height:64px; border-radius:6px; }
  .login-heading { margin:2px 0 4px; }
  .partner-kicker.dark { color:#176fa9; font-size:10px; letter-spacing:.14em; }
  .login-heading h2,
  [data-theme="dark"] .login-heading h2 { color:#071a33; font-size:31px; line-height:1.1; }
  .login-heading > p:last-child,
  [data-theme="dark"] .login-heading > p:last-child { color:#405d77; font-size:14px; line-height:1.55; }
  .login-card label,
  [data-theme="dark"] .login-card label { color:#173550; font-size:12px; }
  .login-card input,
  [data-theme="dark"] .login-card input { min-height:54px; border-color:#b7ccdc; border-radius:8px; background:#fff; color:#071a33; font-size:16px; }
  .login-card input::placeholder { color:#7890a5; }
  .password-field button { color:#126ca4; }
  .login-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:-2px; }
  .login-links a { color:#126ca4; font-size:12px; }
  .login-links a:last-child { text-align:right; }
  .login-card .btn-primary { min-height:54px; border-radius:8px; font-size:15px; background:#0b3159; }
  .login-card .btn-primary:hover,
  .login-card .btn-primary:focus-visible { background:#124574; }
  .login-protected,
  [data-theme="dark"] .login-protected { color:#5b7288; line-height:1.45; }
}

@media (max-width: 380px) {
  .login-panel,
  [data-theme="dark"] .login-panel { padding:24px 16px 30px; }
  .partner-logo { width:170px; height:58px; }
  .login-heading h2 { font-size:29px; }
  .login-links { gap:8px; }
  .login-links a { font-size:11px; }
}

/* Must remain last: preserve the complete logo in the mobile navigation drawer. */
.sidebar .brand{align-items:center;gap:0}.sidebar-logo{width:170px;height:52px;object-fit:contain;object-position:center;border-radius:5px;background:#fff}.sidebar .brand>span:last-child{display:none}

/* Submission controls */
.submission-editor,.month-move{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.submission-editor summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--accent)}
.month-move>b{font-size:12px}.month-move p{font-size:11px;margin:5px 0 10px}
