:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#292a36;background:#f5f5f8;font-synthesis:none;--accent:#7560d9;--muted:#82818f;--line:#eae9f0;--green:#348573;--red:#b9535d;--radius:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b4a4ff;outline-offset:3px}a{color:var(--accent);text-decoration:none}button{border:0;background:none;color:inherit}svg.icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.2;letter-spacing:-1px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px;font-weight:630}h3{font-size:15px;font-weight:630}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.5}.positive{color:var(--green)}.negative{color:var(--red)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.sidebar{width:218px;position:fixed;inset:0 auto 0 0;background:#1b1c26;color:#c0bfcd;padding:30px 17px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:#fff;padding:0 12px;font-size:23px;letter-spacing:-1px;font-weight:730}.brand span{font-size:11px;border:1px solid #64616e;padding:4px 6px;border-radius:5px;letter-spacing:1px;color:#d0c6ff}.brand-symbol{width:28px;height:28px;color:#ab9bff}.agency-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#797784;margin:12px 12px 43px}.nav-label{font-size:10px;letter-spacing:1.4px;color:#6f6d7b;margin:0 13px 12px;text-transform:uppercase}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:10px;text-align:left;font-size:13px;font-weight:550;transition:background .18s}.nav button:hover{background:#282834}.nav button.active{color:#d4c9ff;background:#353044}.nav button.active:after{content:"";width:5px;height:5px;background:#ae96ff;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;display:grid;gap:15px}.side-status{border-top:1px solid #32313d;padding:22px 12px 0;font-size:12px;display:flex;gap:9px;align-items:center}.dot{display:inline-block;width:6px;height:6px;background:#7dc0a8;border-radius:50%;box-shadow:0 0 0 4px #7dc0a814}.side-foot{display:flex;align-items:center;gap:10px;padding:0 10px}.avatar{width:35px;height:35px;border-radius:10px;background:#eae4fb;display:grid;place-items:center;color:#7966b8;font-size:11px;font-weight:700;flex-shrink:0}.side-foot .avatar{background:#33333e;color:#d7d1ec}.side-foot p{font-size:12px;color:#ece9f1}.side-foot small{font-size:10px;color:#777581}.side-foot button{margin-left:auto}.main{margin-left:218px;min-height:100vh}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:16px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:#96949f}.breadcrumb b{font-weight:500;color:#3b3a48}.top-actions{display:flex;gap:10px;align-items:center}.local-chip{font-size:11px;background:#f2f7f5;color:#4a8a73;border-radius:7px;padding:7px 9px;display:flex;align-items:center;gap:7px;margin-right:6px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #dfdce8;border-radius:8px;padding:10px 15px;background:#fff;font-size:12px;font-weight:570;min-height:38px;line-height:1.2}.btn:hover{background:#f8f6fd}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 7px #7560d923}.btn.primary:hover{background:#6650c8}.btn.danger{color:var(--red);border-color:#efd8db}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:7px 11px;font-size:11px;min-height:31px}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}.icon-button:hover{background:#eeecf5}.content{max-width:1590px;margin:0 auto;padding:32px 35px 45px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#98929e;text-transform:uppercase;margin-bottom:10px}.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.filters input,.filters select{height:35px;max-width:170px;border:1px solid #dfdce6;background:#fff;border-radius:7px;padding:6px 9px;font-size:11px;color:#615d6f}.filters input{width:132px}.filters span{font-size:11px;color:#aaa}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.kpi{min-height:148px;position:relative}.kpi .caption{font-size:12px;color:#7c7989;padding-right:30px}.kpi .value{font-size:29px;font-weight:650;letter-spacing:-1px;margin:17px 0 12px}.kpi .footnote{font-size:10px;color:#9592a0;display:flex;align-items:center;gap:6px}.kpi .symbol{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f4f0fc;color:#9180cb}.kpi.featured{background:#ede9f8;border-color:#e1d9f3}.kpi.featured .symbol{background:#ded5f1;color:#8974bd}.kpi.featured .value{color:#64509e}.split{display:grid;grid-template-columns:1.8fr 1fr;gap:20px;margin-bottom:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.section-head small{font-size:11px;color:#93909e}.legend{font-size:10px;color:#9994a2;display:flex;align-items:center;gap:7px}.legend i{width:7px;height:7px;border-radius:2px;background:#9c8bd4;display:inline-block}.chart{height:195px;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.chart .grid{stroke:#efedf4;stroke-width:1;stroke-dasharray:4 5}.chart text{font:10px -apple-system,sans-serif;fill:#a09ba9}.chart-summary{display:flex;gap:26px;margin-bottom:16px}.chart-summary strong{font-size:22px;letter-spacing:-.6px;font-weight:630}.chart-summary small{display:block;color:#93909f;font-size:10px;margin-top:4px}.split-details{display:flex;align-items:center;gap:24px;justify-content:center;margin:15px 0 23px}.donut{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-hole{width:91px;height:91px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-hole strong{font-size:19px;font-weight:650;letter-spacing:-.5px}.donut-hole small{font-size:9px;color:#9a94a3;margin-top:5px}.shares{display:grid;gap:15px;flex:1}.share{display:flex;align-items:center;gap:7px;font-size:11px;color:#888293}.share i{width:6px;height:6px;border-radius:2px;flex-shrink:0}.share b{margin-left:auto;color:#4b4558;font-size:11px;font-weight:550}.callout{background:#f8f6fb;border:1px solid #ede8f6;color:#8d809c;font-size:10px;border-radius:8px;padding:10px 12px;line-height:1.55}.row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.row-head p{font-size:11px;color:#9892a2;margin-top:5px}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-weight:500;color:#a19baa;font-size:10px;letter-spacing:.4px;padding:11px 12px;border-bottom:1px solid #eeeaf2;background:#fcfbfd;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #f0edf3;color:#6e677c;vertical-align:middle}tr:last-child td{border-bottom:0}tr:hover td{background:#fdfcfe}td strong{color:#3d354c;font-weight:550}th.num,td.num{text-align:right}.cell-person{display:flex;align-items:center;gap:11px}.cell-person .avatar{width:32px;height:32px;border-radius:9px}.cell-person small{font-size:10px;color:#a29aaa;display:block;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;border-radius:5px;padding:5px 8px;background:#eeeff5;color:#777084}.badge.green{background:#edf7f1;color:#598f76}.badge.purple{background:#f0eafb;color:#9a82bc}.badge.amber{background:#fcf4e7;color:#b89457}.badge.red{background:#fbebee;color:#b46c79}.lower-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin-bottom:22px}.stat-line{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1edf5;font-size:12px;color:#898091}.stat-line strong{font-weight:550;color:#4b4158}.stat-line:last-child{border:0}.traffic-icon{background:#fbefe6;color:#c79168;display:flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center}.traffic-intro{display:flex;align-items:center;gap:13px;margin-bottom:16px}.traffic-intro p{font-size:11px;color:#a197a8;margin-top:5px}.banner{padding:11px 15px;border:1px solid #e4def0;background:#f0ebf9;color:#8c7ca4;border-radius:9px;font-size:11px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}.demo-tag{background:#353041;color:#c9b5ee}.empty{text-align:center;padding:45px 20px;color:#a19aa9;font-size:12px}.empty h3{color:#6f667c;margin:12px 0 8px}.empty p{line-height:1.7;max-width:380px;margin:0 auto 17px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.search{flex:1;min-width:160px;max-width:320px}.search input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 13px;font-size:12px}.tabs{display:flex;gap:8px;margin-bottom:21px}.tabs button{font-size:12px;color:#9b92a5;padding:9px 14px;border-radius:7px}.tabs button.active{background:#ede7f6;color:#7b679e;font-weight:600}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.report-card{display:flex;align-items:flex-start;gap:16px;padding:24px}.report-card .report-symbol{padding:12px;color:#9982bf;background:#f2ecfa;border-radius:12px;display:flex}.report-card p{font-size:12px;color:#9e93a7;line-height:1.6;max-width:350px;margin:8px 0 15px}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.settings-grid h2{margin-bottom:15px}.settings-grid p{font-size:12px;color:#978b9e;line-height:1.75}.settings-grid .btn{margin-top:18px}.path{display:block;word-break:break-all;padding:14px;border-radius:8px;background:#f6f3f9;color:#897a94;font-size:11px;margin:14px 0}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f7f6fa}.login-aside{background:#1b1c26;padding:48px 65px;color:#f4f1f9;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-aside .brand{padding:0}.login-hero{margin:auto 0;position:relative;z-index:1;max-width:460px;padding:60px 0}.login-hero .eyebrow{color:#8f829f}.login-hero h1{font-size:49px;letter-spacing:-2px;font-weight:550;line-height:1.17;margin:20px 0}.login-hero h1 em{font-style:normal;color:#b8a3e2}.login-hero p{font-size:14px;line-height:1.85;color:#928899;max-width:350px}.login-feature{display:flex;gap:11px;align-items:center;margin-top:27px;color:#a69bb1;font-size:12px}.login-feature svg{color:#b39bd5}.login-foot{font-size:10px;letter-spacing:1.3px;color:#6c6375;text-transform:uppercase}.login-orbit{position:absolute;width:500px;height:500px;border:1px solid #a48fc61c;border-radius:50%;bottom:-160px;right:-140px;box-shadow:0 0 0 60px #a48fc608,0 0 0 120px #a48fc606}.login-main{display:flex;align-items:center;justify-content:center;padding:45px}.login-box{width:100%;max-width:380px}.login-box h2{font-size:27px;letter-spacing:-.9px;margin-bottom:13px}.login-box>p{font-size:12px;line-height:1.8;color:#91849a;margin-bottom:27px}.login-box .btn{width:100%;margin-top:10px;min-height:43px}.login-divider{display:flex;align-items:center;gap:13px;color:#b6adbd;font-size:10px;margin:22px 0 10px}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid #e8e0ee}.login-icon{width:46px;height:46px;border-radius:13px;background:#ede6f8;color:#9d83c0;display:grid;place-items:center;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.form-grid .field{margin:0}.field.full{grid-column:1/-1}.field>span,.field>label{font-size:11px;font-weight:560;color:#8c7b98}.field input,.field select,.field textarea{border:1px solid #ded4e7;border-radius:8px;padding:11px 12px;font-size:12px;color:#695376;background:#fff;min-width:0;width:100%;height:40px}.field textarea{height:83px;resize:vertical}.field small{font-size:10px;color:#b3a1bd;line-height:1.5}.check{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#a28aad;line-height:1.6;margin:13px 0}.check input{margin-top:3px;accent-color:var(--accent)}.error{color:#b25c78;background:#fff0f4;border:1px solid #f5d5e3;padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.6;margin-bottom:15px;white-space:pre-wrap}.error:empty{display:none}dialog{border:1px solid #ede3f1;border-radius:17px;padding:0;max-width:680px;width:calc(100vw - 40px);max-height:90vh;box-shadow:0 24px 90px #22132833;color:#49364f;background:white}dialog.wide{max-width:970px}dialog::backdrop{background:#21152866;backdrop-filter:blur(3px)}.dialog-head{padding:25px 28px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #f2eaf5}.dialog-head h2{font-size:20px}.dialog-head p{font-size:11px;line-height:1.7;color:#aa8fb6;margin-top:7px;max-width:500px}.dialog-body{padding:23px 28px;overflow:auto;max-height:calc(90vh - 100px)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;border-top:1px solid #f2eaf5;padding-top:18px}.assignment-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1e8f5;font-size:12px}.assignment-row .weight{margin-left:auto;width:80px;padding:8px;border:1px solid #e1d3ea;border-radius:6px}.assignment-row small{display:block;color:#b398bf;margin-top:4px}.preview-summary{display:flex;gap:12px;font-size:12px;margin:15px 0}.mapping{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.mapping .field>span{font-size:10px}.mapping .field{margin:0}.import-steps{display:flex;gap:15px;color:#b79ac4;font-size:11px;margin-bottom:22px}.import-steps b{color:#8a5bac;font-weight:550}.filebox{border:1px dashed #cfb7df;background:#fbf7fe;padding:25px;border-radius:12px;margin-bottom:20px}.filebox p{font-size:12px;color:#ac8bbc;line-height:1.7}.filebox input{display:block;margin-top:13px;font-size:12px;width:100%;color:#a485b7}.inline-links{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;margin-top:12px}.import-preview{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px}.detail-grid small{display:block;color:#b196be;margin-bottom:5px}.detail-grid strong{font-weight:550;color:#6c4d7e;word-break:break-word}.footer-note{font-size:10px;color:#afa3b8;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;font-size:32px;font-weight:650;gap:8px}.loading span{color:var(--accent)}.loading small{width:100%;text-align:center;font-size:12px;font-weight:400;margin-top:15px;color:#9a86a7}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%) translateY(20px);padding:12px 20px;background:#2d2136;color:#f1e3fa;border-radius:10px;font-size:12px;z-index:100;box-shadow:0 8px 25px #2d213620;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:85vw}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-menu{display:none}.total-row td{font-weight:650;background:#faf6fd;color:#705087}.operation-buttons{display:flex;gap:5px;justify-content:flex-end}.progress-track{height:5px;background:#f1e9f7;border-radius:6px;overflow:hidden;margin-top:9px}.progress-track>i{display:block;height:100%;background:#ad8bcd;border-radius:6px}.right{margin-left:auto}.flex{display:flex;gap:10px;align-items:center}.stack{display:grid;gap:18px}.mb{margin-bottom:20px}.detail-note{padding:15px;background:#fbf7fd;border-radius:9px;color:#a482b4;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.scroll-list{max-height:260px;overflow:auto}.balance-card{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;margin-bottom:20px}.balance-card .balance-label{font-size:11px;color:#a28aad}.balance-card .balance-value{font-size:19px;color:#74538a;margin-top:7px;font-weight:600}.balance-divider{height:35px;border-left:1px solid #eddfF5}.warn-text{color:#b28a4c}.table-wrap a{font-size:11px}
@media(min-width:1600px){.content{padding-top:40px}.kpi .value{font-size:33px}.kpi{min-height:160px}.chart{height:230px}}
@media(max-width:1180px){.sidebar{width:185px;padding:25px 12px}.main{margin-left:185px}.content{padding:27px 24px}.topbar{padding:0 24px}.split{grid-template-columns:1.5fr 1fr}.split-details{gap:14px}.donut{width:105px;height:105px}.donut-hole{width:79px;height:79px}.donut-hole strong{font-size:16px}.kpis{gap:12px}.card{padding:19px}.kpi .value{font-size:25px}.page-heading{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}.login-aside{padding:42px}.login-hero h1{font-size:40px}}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.split,.lower-grid,.settings-grid{grid-template-columns:1fr}.local-chip{display:none}.report-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:.85fr 1fr}.login-aside{padding:32px}.login-hero h1{font-size:34px}.login-main{padding:30px}.split-details{justify-content:flex-start}.donut{width:130px;height:130px}.donut-hole{width:98px;height:98px}.shares{max-width:250px}.topbar{height:70px}.top-actions .btn{font-size:11px;padding:9px 11px}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:218px;box-shadow:0 0 0 100vmax #20162d44;visibility:hidden}.sidebar.open{transform:translateX(0);visibility:visible}.main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 16px}.breadcrumb{gap:5px}.breadcrumb>span{display:none}.top-actions{gap:5px}.top-actions .btn{font-size:0;padding:9px}.top-actions .btn svg{width:17px;height:17px}.content{padding:23px 16px}.page-heading{margin-bottom:22px}h1{font-size:25px}.kpis{gap:10px}.card{padding:17px}.kpi{min-height:135px}.kpi .value{font-size:23px;margin-top:21px}.kpi .caption{font-size:10px;max-width:130px;line-height:1.5}.kpi .symbol{width:24px;height:24px;right:13px;top:15px}.kpi .symbol svg{width:15px}.kpi .footnote{font-size:9px}.filters{gap:6px}.filters input{width:121px;font-size:10px}.filters select{max-width:160px}.section-head h2{font-size:15px}.section-head small{font-size:9px}.chart-summary strong{font-size:20px}.balance-card{gap:12px;flex-wrap:wrap}.balance-divider{display:none}.balance-card .balance-value{font-size:17px}.balance-card .balance-label{font-size:10px}.login-shell{grid-template-columns:1fr}.login-aside{padding:30px}.login-hero,.login-foot,.login-orbit{display:none}.login-main{padding:37px 26px 50px}.form-grid,.mapping{grid-template-columns:1fr 1fr}.dialog-body{padding:20px}.dialog-head{padding:21px 20px 17px}.footer-note{align-items:flex-start;flex-direction:column}#toast{left:50%}.toolbar .btn{font-size:11px}td,th{padding:12px 9px}.report-card p{font-size:11px}.filebox{padding:17px}.import-steps{font-size:10px;gap:12px}.banner{font-size:10px}.detail-grid{gap:15px}.settings-grid .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.card{min-width:0}.donut-hole small{text-align:center}.footer-note>span:first-child{display:flex;align-items:center;gap:5px}.footer-note svg{width:12px;height:12px}

/* Appearance preference applies to the entire workspace, including open dialogs. */
:root { color-scheme: light; }
.theme-toggle { width:38px; height:38px; border:1px solid var(--line); background:#fff; color:#817294; flex-shrink:0; }
.login-main { position:relative; }
.login-theme { position:absolute; top:20px; right:24px; }
:root:not([data-theme="light"]), :root[data-theme="dark"] {
  color-scheme:dark;
  color:#e9e8f1;
  background:#11141d;
  --accent:#b39af4;
  --muted:#a5a6b8;
  --line:#303342;
  --green:#7ac9aa;
  --red:#f091a5;
}
:root:not([data-theme="light"]) :is(.main,.login-shell) { background:#11141d; }
:root:not([data-theme="light"]) :is(.sidebar,.login-aside) { background:#151822; }
:root:not([data-theme="light"]) .topbar { background:#191d28; }
:root:not([data-theme="light"]) :is(.card,dialog,.donut-hole) { background:#1c202c; color:#e9e8f1; }
:root:not([data-theme="light"]) :is(.breadcrumb b,td strong,.share b,.stat-line strong,.detail-grid strong,.balance-card .balance-value,.empty h3) { color:#eeeaf8; }
:root:not([data-theme="light"]) :is(.breadcrumb,.eyebrow,.kpi .caption,.kpi .footnote,.section-head small,.legend,.chart-summary small,.donut-hole small,.share,.row-head p,.cell-person small,.stat-line,.traffic-intro p,.empty,.report-card p,.settings-grid p,.field>span,.field>label,.field small,.check,.dialog-head p,.assignment-row small,.import-steps,.filebox p,.detail-grid small,.footer-note,.loading small,.balance-card .balance-label,.login-box>p,.login-hero p,.login-feature,.login-divider,.agency-label,.nav-label,.side-foot small) { color:#a8a9bd; }
:root:not([data-theme="light"]) :is(.btn,.theme-toggle) { background:#252a39; color:#e1dcec; border-color:#3b3f52; }
:root:not([data-theme="light"]) :is(.btn:hover,.icon-button:hover) { background:#333346; }
:root:not([data-theme="light"]) .btn.primary { background:#7758ca; border-color:#9074db; color:#fff; box-shadow:0 3px 8px #0003; }
:root:not([data-theme="light"]) .btn.primary:hover { background:#8969da; }
:root:not([data-theme="light"]) .btn.ghost { background:transparent; border-color:transparent; color:#c4afdF; }
:root:not([data-theme="light"]) .btn.ghost:hover { background:#302b40; }
:root:not([data-theme="light"]) .btn.danger { color:#f091a5; border-color:#774455; background:#352531; }
:root:not([data-theme="light"]) :is(.filters input,.filters select,.search input,.field input,.field select,.field textarea,.assignment-row .weight) { background:#151a25; color:#e4e1ed; border-color:#404456; }
:root:not([data-theme="light"]) input::placeholder,:root:not([data-theme="light"]) textarea::placeholder { color:#9194aa; opacity:1; }
:root:not([data-theme="light"]) :is(.kpi .symbol,.report-card .report-symbol,.login-icon,.avatar) { background:#302a44; color:#c3a8f1; }
:root:not([data-theme="light"]) .kpi.featured { background:#2e2840; border-color:#4b3d63; }
:root:not([data-theme="light"]) .kpi.featured .symbol { background:#433556; color:#d4b8fa; }
:root:not([data-theme="light"]) .kpi.featured .value { color:#d0b8fc; }
:root:not([data-theme="light"]) .chart .grid { stroke:#34394a; }
:root:not([data-theme="light"]) .chart text { fill:#a5a8be; }
:root:not([data-theme="light"]) :is(.callout,.path,.detail-note) { background:#252434; border-color:#38344b; color:#b8accd; }
:root:not([data-theme="light"]) .banner { background:#2d263e; border-color:#443554; color:#c3afd9; }
:root:not([data-theme="light"]) th { background:#222736; color:#b1b2c7; border-color:#363a4b; }
:root:not([data-theme="light"]) td { color:#c6c4d5; border-color:#303444; }
:root:not([data-theme="light"]) tr:hover td { background:#242938; }
:root:not([data-theme="light"]) :is(.stat-line,.dialog-head,.dialog-actions,.assignment-row) { border-color:#333747; }
:root:not([data-theme="light"]) .badge { background:#303545; color:#c6c5d9; }
:root:not([data-theme="light"]) :is(.badge.green,.local-chip) { background:#203c34; color:#8ed3b2; }
:root:not([data-theme="light"]) .badge.purple { background:#382b4b; color:#c9a9eb; }
:root:not([data-theme="light"]) .badge.amber { background:#403628; color:#e6c181; }
:root:not([data-theme="light"]) .badge.red { background:#442a35; color:#efa3b6; }
:root:not([data-theme="light"]) .traffic-icon { background:#3d302a; color:#d9ab89; }
:root:not([data-theme="light"]) .tabs button { color:#ada5bf; }
:root:not([data-theme="light"]) .tabs button.active { background:#372c49; color:#d2b8ed; }
:root:not([data-theme="light"]) .error { color:#f4afbf; background:#3c2430; border-color:#714153; }
:root:not([data-theme="light"]) dialog { border-color:#424357; box-shadow:0 24px 90px #0008; }
:root:not([data-theme="light"]) dialog::backdrop { background:#050710aa; }
:root:not([data-theme="light"]) .import-steps b { color:#cdb0ee; }
:root:not([data-theme="light"]) .filebox { background:#252130; border-color:#6b527e; }
:root:not([data-theme="light"]) .filebox input { color:#c7b7d9; }
:root:not([data-theme="light"]) .total-row td { background:#2c253b; color:#d8bced; }
:root:not([data-theme="light"]) .progress-track { background:#343044; }
:root:not([data-theme="light"]) .balance-divider { border-color:#3a344b; }
:root:not([data-theme="light"]) .login-divider:before,:root:not([data-theme="light"]) .login-divider:after { border-color:#393343; }
:root:not([data-theme="light"]) .warn-text { color:#e2be7c; }
:root:not([data-theme="light"]) #toast { background:#e1d6f0; color:#292233; box-shadow:0 8px 25px #0005; }
@media(max-width:680px) { .theme-toggle { width:34px; height:36px; } }
:root:not([data-theme="light"]) td.negative { color:var(--red); }
:root:not([data-theme="light"]) td.positive { color:var(--green); }

.terms-preview { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 0; padding:15px 0; border-block:1px solid var(--line); font-size:12px; }
.terms-preview strong { color:var(--accent); font-size:25px; font-variant-numeric:tabular-nums; }
.terms-history { margin-top:18px; }
.terms-history summary { cursor:pointer; color:var(--muted); font-size:12px; padding:8px 0; }
.terms-history table { margin:10px 0; }
.field input:disabled { opacity:.6; }

/* Keep long forms in a single scroll area even when the title wraps. */
dialog[open] { display:flex; flex-direction:column; }
.dialog-head { flex-shrink:0; }
.dialog-body { min-height:0; max-height:none; }

.terms-form .dialog-actions { margin-top:12px; padding-top:12px; }
.terms-form .terms-preview { margin-block:14px; }

/* Empty states must never inherit a chart's full-size SVG layout. */
.empty > svg.icon { width:28px; height:28px; display:block; margin:0 auto; }
.chart:has(.empty) { height:auto; min-height:195px; }
.chart .empty { padding:25px 16px; }
.chart .empty > svg.icon { width:28px; height:28px; }
.sidebar { overflow-y:auto; }
.sidebar-bottom { padding-top:22px; }
.terms-box { border:1px solid var(--line); border-radius:12px; padding:18px; margin:20px 0 0; min-width:0; }
.terms-box legend { padding:0 8px; font-size:13px; color:var(--accent); }
.profile-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:20px; flex-wrap:wrap; }
.profile-heading h2 { margin:12px 0 8px; font-size:23px; }
.profile-heading .toolbar { margin:0; }
.profile-grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2fr); gap:20px; align-items:start; }
.profile-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; font-size:13px; color:var(--muted); margin-top:15px; }
.profile-facts { font-size:12px; margin:16px 0; }
.profile-facts > div { padding:12px 0; border-bottom:1px solid var(--line); }
.profile-facts dt { color:var(--muted); font-size:11px; margin-bottom:6px; }
.profile-facts dd { margin:0; overflow-wrap:anywhere; }
.profile-grid h3 { margin-top:20px; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.guide-card h2 { margin:16px 0 8px; overflow-wrap:anywhere; }
.guide-excerpt { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; font-size:12px; color:var(--muted); margin:18px 0; }
.wrap-cell { max-width:350px; white-space:pre-wrap; overflow-wrap:anywhere; }
.price-hints { display:grid; gap:12px; margin-top:12px; }
.price-hints small { display:block; white-space:pre-wrap; }
.toolbar .field { margin:0; }
.operation-buttons { flex-wrap:wrap; }
.handbook-text { margin:0; }
@media(max-width:900px) { .profile-grid { grid-template-columns:1fr; } }
@media(max-width:680px) { .guide-grid { grid-template-columns:1fr; } .terms-box { padding:13px; } .form-grid { grid-template-columns:1fr; } .tabs { flex-wrap:wrap; } .tabs .btn { font-size:11px; } }
.model-extra { margin-top:18px; }
.model-extra summary { cursor:pointer; font-size:12px; color:var(--muted); padding:10px 0; }
.model-extra[open] summary { margin-bottom:12px; }
.profile-section h2 { line-height:1.4; }
.owner-unlock { margin-top:24px; border:1px solid var(--line); border-radius:10px; padding:12px; }
.owner-unlock summary { cursor:pointer; font-size:12px; color:var(--accent); }
.owner-unlock p { margin:12px 0; line-height:1.7; }
.scope-box { border:1px solid var(--line); border-radius:10px; padding:15px; margin:18px 0; }
.scope-models { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.scope-models .check { overflow-wrap:anywhere; }
.link-wrap { padding:18px 0; font-size:14px; overflow-wrap:anywhere; }
.login-box .error { font-size:12px; }
.login-box .owner-unlock .btn { margin-top:5px; }
@media(max-width:680px){.scope-models{grid-template-columns:1fr;}}
