:root{--bg: #f3f3f1;--surface: #ffffff;--surface-2: #fafaf8;--surface-3: #f1f1ee;--ink: #0b0b0b;--ink-2: #52514e;--ink-3: #8a8881;--line: #e5e4de;--line-2: #c9c8c0;--brand: #2a78d6;--brand-2: #1c5cab;--brand-wash: #eaf2fd;--accent: #eb6834;--accent-wash: #fdefe9;--accent-ink: #a8420f;--aqua: #1baf7a;--aqua-wash: #e7f7f1;--aqua-ink: #0d7d55;--good: #0ca30c;--good-text: #006300;--warn: #fab219;--crit: #d03b3b;--crit-wash: #fdecec;--shadow: 0 1px 2px rgba(11, 11, 11, .05), 0 8px 24px rgba(11, 11, 11, .06);--shadow-lg: 0 2px 4px rgba(11, 11, 11, .06), 0 18px 50px rgba(11, 11, 11, .13);--r: 14px;--r-sm: 9px;--r-lg: 22px;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}html[data-theme=dark]{--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #212120;--surface-3: #262625;--ink: #ffffff;--ink-2: #c3c2b7;--ink-3: #8a8881;--line: #2c2c2a;--line-2: #3d3d3a;--brand: #3987e5;--brand-2: #86b6ef;--brand-wash: #12233a;--accent: #d95926;--accent-wash: #311a10;--accent-ink: #f0854f;--aqua: #199e70;--aqua-wash: #0f2a21;--aqua-ink: #3fc79a;--good-text: #0ca30c;--crit-wash: #2c1414;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .5), 0 18px 50px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.22;letter-spacing:-.015em;font-weight:640}p{margin:0}ul{margin:0;padding:0;list-style:none}::selection{background:var(--brand);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.money{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.sec2{color:var(--ink-2)}.eyebrow{font-size:11.5px;font-weight:640;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.divider{height:1px;background:var(--line);border:0;margin:0}.row{display:flex;align-items:center;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.spacer{margin-left:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:11px;font-size:14.5px;font-weight:600;background:var(--brand);color:#fff;transition:.15s;border:1px solid transparent}.btn:hover{background:var(--brand-2)}.btn:active{transform:translateY(1px)}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--line-2);background:var(--surface-2)}.btn.go{background:var(--aqua)}.btn.go:hover{background:#0d8f63}.btn.danger{background:var(--crit)}.btn.danger:hover{background:#b02f2f}.btn.sm{padding:7px 13px;font-size:13px;border-radius:9px}.btn.block{width:100%}.btn[disabled]{opacity:.45;pointer-events:none}.linkbtn{font-size:12.5px;font-weight:620;color:var(--brand);padding:5px 9px;border-radius:8px}.linkbtn:hover{background:var(--brand-wash)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.panel{padding:18px;position:relative}.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.panel-h h3{font-size:15.5px;font-weight:640}.panel-h .sub{font-size:12.5px;color:var(--ink-3);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:640;padding:3px 8px;border-radius:7px;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.badge.b-blue{background:var(--brand-wash);color:var(--brand-2)}.badge.b-aqua{background:var(--aqua-wash);color:var(--aqua-ink)}.badge.b-accent{background:var(--accent-wash);color:var(--accent-ink)}.badge.b-crit{background:var(--crit-wash);color:var(--crit)}html[data-theme=dark] .badge.b-blue{color:var(--brand)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:550;color:var(--ink-2);background:var(--surface)}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:660;flex:none;background:var(--surface-3);color:var(--ink-2)}.field{display:block}.field>span{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:14px;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-wash)}.field .hint{display:block;font-size:11.5px;color:var(--ink-3);margin-top:4px}.field.invalid input{border-color:var(--crit)}.empty{text-align:center;padding:34px 16px;color:var(--ink-3);font-size:13.5px;line-height:1.5}.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}.kv:last-child{border-bottom:0}.kv>span{color:var(--ink-3)}.kv>b{font-weight:620;text-align:right}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--brand);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toast-host{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:var(--bg);padding:11px 17px;border-radius:12px;font-size:13.5px;font-weight:560;box-shadow:var(--shadow-lg);animation:toastin .3s ease;max-width:min(92vw,460px)}.toast.err{background:var(--crit);color:#fff}html[data-theme=dark] .toast{background:#f3f3f1;color:#111}@keyframes toastin{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b57;opacity:0;pointer-events:none;transition:opacity .22s;z-index:90}.drawer-back.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--surface);z-index:95;border-left:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translate(102%);transition:transform .26s cubic-bezier(.32,.72,0,1);overflow-y:auto;overscroll-behavior:contain}.drawer.on{transform:none}.dw-close{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--ink-3);font-size:20px;line-height:1;margin-left:auto;flex:none}.dw-close:hover{background:var(--surface-3);color:var(--ink)}.shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.topbar-in{max-width:1360px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.02em;font-size:16px;white-space:nowrap}.logo-mark{width:26px;height:26px;border-radius:8px;background:var(--ink);color:var(--surface);display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}.logo small{display:block;font-size:10.5px;font-weight:500;color:var(--ink-3);letter-spacing:.02em;margin-top:-2px}.tb-right{display:flex;align-items:center;gap:8px;margin-left:auto}.iconbtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);background:var(--surface);transition:.15s;flex:none}.iconbtn:hover{color:var(--ink);border-color:var(--line-2)}.wrap{max-width:1360px;margin:0 auto;padding:22px 20px 70px;width:100%}.pms{display:grid;grid-template-columns:218px minmax(0,1fr);gap:22px;align-items:start}@media(max-width:1000px){.pms{grid-template-columns:1fr}.pms-side{position:static!important}}.pms-side{position:sticky;top:78px;padding:14px;display:flex;flex-direction:column;gap:3px}.pms-side .eyebrow{padding:6px 10px 8px}.pnav{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;font-size:13.5px;font-weight:560;color:var(--ink-2);transition:.14s;width:100%;text-align:left}.pnav svg{flex:none;opacity:.75}.pnav:hover{background:var(--surface-3);color:var(--ink)}.pnav.on{background:var(--ink);color:var(--surface)}.pnav.on svg{opacity:1}.pnav .n{margin-left:auto;font-size:11px;font-weight:700;background:var(--crit);color:#fff;border-radius:999px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px}.pnav.on .n{background:var(--surface);color:var(--ink)}.p-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.p-head h2{font-size:23px}.p-head p{font-size:13.5px;color:var(--ink-3);margin-top:3px}.filterrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filterrow input[type=search]{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;min-width:230px}.filterrow input[type=search]:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-wash)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px}.kpi{padding:16px 17px}.kpi .label{font-size:12.5px;color:var(--ink-2);font-weight:560}.kpi .val{font-size:27px;font-weight:680;letter-spacing:-.03em;margin-top:5px;line-height:1.1;font-variant-numeric:tabular-nums}.kpi .cap{font-size:12px;color:var(--ink-3);margin-top:7px;display:block}.kpi.tone-good .val{color:var(--aqua-ink)}.kpi.tone-warn .val{color:var(--accent-ink)}.kpi.tone-bad .val{color:var(--crit)}.tblwrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{padding:10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.tbl th{font-size:11.5px;font-weight:640;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl tr:last-child td{border-bottom:0}.tbl.wide{min-width:640px}.tbl tbody tr.clickable{cursor:pointer;transition:.12s}.tbl tbody tr.clickable:hover{background:var(--surface-2)}.tbl .title{font-weight:620;font-size:13.5px;display:block}.tbl .sub{font-size:11.5px;color:var(--ink-3)}.tbl tr.off td{opacity:.55}.deadline{display:inline-flex;align-items:center;gap:5px;font-weight:620;font-size:12.5px;white-space:nowrap}.deadline.ok{color:var(--aqua-ink)}.deadline.warn{color:var(--accent-ink)}.deadline.overdue{color:var(--crit)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.formgrid .full{grid-column:1 / -1}@media(max-width:560px){.formgrid{grid-template-columns:1fr}}.grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;align-items:start}@media(max-width:900px){.grid2{grid-template-columns:1fr}}.stack-lg{display:flex;flex-direction:column;gap:14px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.plancard{text-align:left;padding:12px 13px;border-radius:12px;border:1px solid var(--line);background:var(--surface);transition:.15s}.plancard:hover{border-color:var(--line-2)}.plancard.on{border-color:var(--brand);background:var(--brand-wash);box-shadow:0 0 0 3px var(--brand-wash)}.plancard b{display:block;font-size:14px;font-weight:640}.plancard .price{font-size:13px;font-weight:620;margin-top:4px;font-variant-numeric:tabular-nums}.plancard small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:5px;line-height:1.45}.credbox{margin-top:14px;padding:13px 15px;border-radius:12px;background:var(--accent-wash);border:1px dashed var(--accent);font-size:12.5px;color:var(--accent-ink);line-height:1.6}.credbox code{font-family:var(--mono);font-size:14px;font-weight:640;color:var(--ink);background:var(--surface);padding:3px 8px;border-radius:7px;border:1px solid var(--line);-webkit-user-select:all;user-select:all}.timeline{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:108px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.tl-item:last-child{border-bottom:0}.tl-when{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:2px}.tl-item b{font-weight:620}.tl-item .who{font-size:11.5px;color:var(--ink-3);display:block;margin-top:2px}.tl-item .what{color:var(--ink-2);display:block;margin-top:2px;font-size:12.5px}.split{display:flex;flex-direction:column;gap:9px;margin-top:10px}.splitrow{display:grid;grid-template-columns:116px minmax(0,1fr) 34px;align-items:center;gap:10px;font-size:12.5px}.splitrow .bar{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.splitrow .bar i{display:block;height:100%;border-radius:999px;background:var(--brand)}.splitrow .bar i.aqua{background:var(--aqua)}.splitrow .bar i.accent{background:var(--accent)}.splitrow .bar i.crit{background:var(--crit)}.splitrow .bar i.grey{background:var(--line-2)}.splitrow b{text-align:right;font-variant-numeric:tabular-nums;font-weight:620}.phead{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:18px}.phead h2{font-size:24px}.phead .meta{font-size:13px;color:var(--ink-3);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-top:12px}.usage div{padding:10px 12px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line)}.usage b{display:block;font-size:19px;font-weight:660;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.usage span{font-size:11.5px;color:var(--ink-3)}.backlink{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-3);margin-bottom:10px}.backlink:hover{color:var(--ink)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login .card{width:min(420px,100%);padding:28px}.login h1{font-size:23px;margin-bottom:6px}.login .demo{margin-top:18px;padding:12px 14px;border-radius:11px;background:var(--surface-2);border:1px dashed var(--line-2);font-size:12px;color:var(--ink-2);line-height:1.6}.rowbtns{display:flex;gap:7px;flex-wrap:wrap}.readonly{padding:10px 13px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
