:root{--ground: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f6;--ink: #131a26;--ink-muted: #58637a;--ink-faint: #8792a8;--border: #e0e5ee;--border-strong: #c5cddb;--accent: #1b4fd8;--accent-ink: #1740ae;--accent-soft: #e7edfc;--brand-warm: #f59e1b;--good: #1f7a4c;--good-soft: #e2f2ea;--warn: #b45309;--warn-soft: #fbeddc;--bad: #c0392b;--bad-soft: #fbe6e3;--shadow: 0 1px 2px rgba(19, 26, 38, .05), 0 8px 24px -16px rgba(19, 26, 38, .28);--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--r: 10px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0c1017;--surface: #141a25;--surface-2: #1b2331;--ink: #e8ecf3;--ink-muted: #97a3b8;--ink-faint: #6f7c93;--border: #232c3d;--border-strong: #33405a;--accent: #6c8ff5;--accent-ink: #93aefa;--accent-soft: #16203a;--brand-warm: #f0a93a;--good: #4fbe85;--good-soft: #12291f;--warn: #d9963f;--warn-soft: #2c2317;--bad: #e0705f;--bad-soft: #2f1d1b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -16px rgba(0, 0, 0, .8)}}:root[data-theme=dark]{--ground: #0c1017;--surface: #141a25;--surface-2: #1b2331;--ink: #e8ecf3;--ink-muted: #97a3b8;--ink-faint: #6f7c93;--border: #232c3d;--border-strong: #33405a;--accent: #6c8ff5;--accent-ink: #93aefa;--accent-soft: #16203a;--brand-warm: #f0a93a;--good: #4fbe85;--good-soft: #12291f;--warn: #d9963f;--warn-soft: #2c2317;--bad: #e0705f;--bad-soft: #2f1d1b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -16px rgba(0, 0, 0, .8)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:640;letter-spacing:-.015em;text-wrap:balance}p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.label{font-size:11px;font-weight:620;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.num{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--border);padding:22px 14px;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand .mark{width:26px;height:26px;flex:none;color:var(--accent)}.brand .name{font-size:15.5px;font-weight:520;letter-spacing:-.01em;color:var(--ink-muted)}.brand .name b{font-weight:720;letter-spacing:.01em;color:var(--ink)}.nav{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:20px}.nav-group>.label{padding:0 8px 7px;display:block}.nav button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;padding:7px 8px;border-radius:7px;font-size:14px;color:var(--ink-muted)}.nav button:hover{background:var(--surface-2);color:var(--ink)}.nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:560}.nav .count{margin-left:auto;font-size:11.5px;font-weight:640;background:var(--bad-soft);color:var(--bad);padding:1px 7px;border-radius:20px;font-variant-numeric:tabular-nums}.me-block{margin-top:auto;display:flex;flex-direction:column;gap:10px}.head-of{padding:0 8px;display:flex;flex-direction:column;gap:2px}.head-of .head-name{font-size:13px;color:var(--ink-muted)}.me{padding:12px 8px 0;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}.me .av{width:34px;height:34px;border-radius:50%;flex:none;background:var(--accent-soft);border:1px solid var(--border);display:grid;place-items:center;font-size:12.5px;font-weight:620;color:var(--accent-ink);overflow:hidden}.me .av img{width:100%;height:100%;object-fit:cover;display:block}.me .who{min-width:0}.me .who b{display:block;font-size:13.5px;font-weight:590}.me .who span{display:block;font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{padding:30px 34px 60px;max-width:1120px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{font-size:25px}.page-head .sub{color:var(--ink-muted);font-size:14px;margin-top:4px}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.seg button{border:0;background:transparent;cursor:pointer;padding:4px 11px;border-radius:6px;font-size:12.5px;font-weight:520;color:var(--ink-muted)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--surface)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:12px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:15px 16px 13px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px}.tile .top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tile .val{font-size:26px;font-weight:650;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.1}.tile .val .unit{font-size:15px;font-weight:550;color:var(--ink-muted);margin-left:2px}.tile .meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-muted)}.change{display:flex;align-items:baseline;gap:6px;padding-top:8px;margin-top:2px;border-top:1px solid var(--border);font-size:12px}.change-value{font-weight:640;font-variant-numeric:tabular-nums;white-space:nowrap}.change-value.good{color:var(--good)}.change-value.bad{color:var(--bad)}.change-value.flat{color:var(--ink-muted)}.change-label{color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-select{width:auto;min-width:190px;padding:6px 11px;font-size:13.5px;border-radius:8px}.pill{font-size:11.5px;font-weight:640;padding:2px 8px;border-radius:20px;font-variant-numeric:tabular-nums;white-space:nowrap}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.flat{background:var(--surface-2);color:var(--ink-muted)}.bar{height:4px;border-radius:3px;background:var(--surface-2);overflow:hidden;display:block}.bar i{display:block;height:100%;border-radius:3px;background:var(--accent)}.bar.is-good i{background:var(--good)}.bar.is-warn i{background:var(--warn)}.bar.is-bad i{background:var(--bad)}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-top:22px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border)}.panel>header h2{font-size:14.5px;font-weight:620}.panel .rows{display:flex;flex-direction:column}.panel .rows>*+*{border-top:1px solid var(--border)}.row{display:flex;gap:12px;align-items:flex-start;padding:13px 16px}.row .grow{flex:1;min-width:0}.row .t{display:block;font-size:14px;font-weight:550}.row .d{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:3px}.row .stripe{width:3px;align-self:stretch;border-radius:3px;background:var(--border-strong);flex:none}.row .stripe.bad{background:var(--bad)}.row .stripe.warn{background:var(--warn)}.row .stripe.accent{background:var(--accent)}.row.done{opacity:.55}.empty{padding:26px 16px;text-align:center;color:var(--ink-faint);font-size:13.5px}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);padding:6px 13px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:550;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn.ghost{border-color:transparent;background:transparent;color:var(--accent-ink);padding-inline:6px}.btn.ghost:hover:not(:disabled){background:var(--accent-soft)}.btn:disabled{opacity:.5;cursor:default}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{padding:11px 14px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}thead th{font-size:11px;font-weight:620;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--border);background:var(--surface)}tbody tr+tr td{border-top:1px solid var(--border)}tbody td{font-variant-numeric:tabular-nums}tbody td:first-child{font-variant-numeric:normal;font-weight:550}.src{font-size:11.5px;color:var(--ink-faint);font-family:var(--mono)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 17px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.card h3{font-size:15.5px}.card .body{font-size:13.5px;color:var(--ink-muted);white-space:pre-wrap}.card .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:4px}.card .files{display:flex;flex-wrap:wrap;gap:8px}.card .files .file{display:inline-flex;align-items:baseline;gap:7px;font-size:12.5px;color:var(--accent-ink);background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer}.card .files .file:hover{background:var(--accent-soft);border-color:var(--accent)}.card .files .file-name{font-weight:550}.card .files .file-size{color:var(--ink-faint);font-variant-numeric:tabular-nums}.form{display:grid;gap:16px;max-width:640px}.field{display:grid;gap:6px}.field>label{font-size:12.5px;font-weight:590;color:var(--ink-muted)}input[type=text],input[type=date],input[type=search],textarea,select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:8px 11px;width:100%}textarea{min-height:96px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-muted);border-radius:20px;padding:5px 12px;font-size:13px;cursor:pointer}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:560}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.file-list li{display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13.5px}.file-list .file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.file-list .file-size{color:var(--ink-faint);font-size:12.5px;font-variant-numeric:tabular-nums}input[type=file]{font-size:13.5px;color:var(--ink-muted)}.check{display:flex;align-items:center;gap:9px;font-size:14px}.check input{width:16px;height:16px;accent-color:var(--accent)}.hint{font-size:12.5px;color:var(--ink-faint)}.notice{border-left:3px solid var(--accent);background:var(--accent-soft);padding:12px 15px;border-radius:0 8px 8px 0;font-size:13.5px;margin-top:20px}.notice.bad{border-left-color:var(--bad);background:var(--bad-soft)}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.center-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:28px 30px;max-width:460px;display:grid;gap:12px;text-align:center}.center-card p{color:var(--ink-muted);font-size:14px}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);background:var(--ink);color:var(--ground);padding:10px 18px;border-radius:9px;font-size:13.5px;font-weight:550;box-shadow:0 10px 30px -10px #00000080;z-index:50}@media(max-width:820px){.app{grid-template-columns:1fr}.side{position:sticky;top:0;z-index:30;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--border)}.brand{order:1;padding:0;margin-right:auto}.me-block{order:2;margin-top:0}.head-of{display:none}.me{margin-top:0;border-top:0;padding:0;gap:8px}.me .who{display:none}.nav{order:3;flex-basis:100%;flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;min-width:0}.nav::-webkit-scrollbar{display:none}.nav-group{display:contents}.nav-group>.label{display:none}.nav button{width:auto;flex:none;white-space:nowrap;padding:7px 12px;border:1px solid var(--border)}.nav button[aria-current=page]{border-color:var(--accent)}.main{padding:22px 16px 50px}.two{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.tile{padding:13px 13px 11px}.tile .val{font-size:21px}.tile .top{flex-wrap:wrap;gap:4px 8px}.tile .top .pill{margin-left:auto}.page-head{gap:12px;margin-bottom:18px}.page-head h1{font-size:21px}}.debt-client{display:block;font-weight:550}.debt-inn{display:block;font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-top:2px}.tile-slot{position:relative;display:flex}.tile-slot>.tile{flex:1}.tiles-editing .tile-slot{cursor:grab}.tiles-editing .tile-slot .tile{border-style:dashed;border-color:var(--border-strong)}.tile-slot.is-dragged{opacity:.4}.tile-slot.is-over .tile{border-color:var(--accent);border-style:solid;box-shadow:0 0 0 2px var(--accent-soft)}.tile-tools{position:absolute;top:8px;right:10px;z-index:2;display:flex;align-items:center;gap:8px}.drag-handle{color:var(--ink-faint);font-size:14px;line-height:1;cursor:grab}.tile-hide{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-muted);border-radius:6px;padding:2px 8px;font-size:11.5px;cursor:pointer}.tile-hide:hover{border-color:var(--bad);color:var(--bad)}.tile-hidden{background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r);padding:15px 16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;cursor:pointer;color:var(--ink-muted);text-align:left}.tile-hidden:hover{border-color:var(--accent);color:var(--accent-ink)}.tile-hidden-name{font-size:15px;font-weight:600}.tile-hidden-action{font-size:12.5px;color:var(--accent-ink)}.head-actions{display:flex;gap:8px;align-items:center}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.filters select{width:auto;min-width:150px}.filters .filter-search{flex:0 1 380px;min-width:200px}.filters .check{font-size:13.5px;color:var(--ink-muted)}.pub-row,.scope-row{align-items:center;flex-wrap:wrap;row-gap:10px}.pub-row>.grow,.scope-row>.grow{flex:1 1 260px}.pub-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.scope-row>.chips{justify-content:flex-end}.pub-row .foreign{margin-left:8px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#090d1473;display:flex;justify-content:flex-end;z-index:40}.drawer{background:var(--ground);width:min(1080px,100%);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border);box-shadow:-12px 0 40px -24px #0009}.drawer.narrow{width:min(480px,100%)}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.drawer-head h2{font-size:17px}.drawer-body{flex:1;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;padding:20px 22px;align-items:start}.drawer-body.single{grid-template-columns:1fr}.drawer-error{margin:0 22px 12px}.drawer-foot{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface)}.editor{display:grid;gap:18px;min-width:0}.editor-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;display:grid;gap:14px}.editor-block>h3{font-size:13px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.preview{position:sticky;top:0;display:grid;gap:8px}.preview .card{pointer-events:none}.preview .file{display:inline-flex;align-items:baseline;gap:7px;font-size:12.5px;color:var(--accent-ink);border:1px solid var(--border);border-radius:6px;padding:4px 10px}.audience{display:grid;gap:14px}.audience-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}.audience-col{display:grid;gap:8px;align-content:start;min-width:0}.audience-label{font-size:12.5px;font-weight:590;color:var(--ink-muted)}.tree{border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:300px;overflow-y:auto;padding:6px}.tree-row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:6px}.tree-row:hover{background:var(--surface-2)}.tree-toggle{width:20px;height:20px;flex:none;border:none;background:transparent;color:var(--ink-faint);font-size:14px;line-height:1;cursor:pointer}.tree-toggle:disabled{cursor:default;opacity:.35}.tree-name{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:13.5px;cursor:pointer}.tree-name input{width:15px;height:15px;flex:none;accent-color:var(--accent)}.tree-name>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-size{margin-left:auto;font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.tree-nested{flex:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-faint);border-radius:20px;padding:1px 9px;font-size:11.5px;cursor:pointer}.tree-nested.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.people{display:grid;gap:5px;max-height:300px;overflow-y:auto}.person{display:grid;gap:1px;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 11px;cursor:pointer}.person:hover:not(:disabled){background:var(--surface-2)}.person[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.person-name{font-size:13.5px;font-weight:550}.person-pos{font-size:12px;color:var(--ink-faint)}.audience-sum{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:12px}.audience-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.chip.picked{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:550}.chip.picked.person-chip{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.chip-x{margin-left:7px;color:var(--ink-faint)}.reach{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13.5px}.reach b{font-size:15px}.reach-detail{color:var(--ink-faint);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.reach-empty{color:var(--ink-faint)}@media(max-width:900px){.drawer-body{grid-template-columns:1fr}.preview{position:static}.audience-cols{grid-template-columns:1fr}}@media(max-width:700px){.panel .tw{overflow-x:visible}.panel table,.panel tbody,.panel tr,.panel td{display:block;width:100%}.panel thead{display:none}.panel tbody tr{padding:12px 14px}.panel tbody tr+tr{border-top:1px solid var(--border)}.panel tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:3px 0;text-align:right;white-space:normal}.panel tbody td+td{border-top:0}.panel tbody td:before{content:attr(data-label);flex:none;font-size:11.5px;font-weight:590;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);text-align:left}.panel tbody td:first-child{display:block;text-align:left;font-size:14.5px;font-weight:620;padding-bottom:8px}.panel tbody td:first-child:before{content:none}.panel tbody td[data-empty=true]{display:none}.kpi-progress{justify-content:flex-end}.drawer-foot{flex-wrap:wrap}.drawer-foot .hint{order:-1;flex-basis:100%}}.kpi-progress{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}
