:root{--brand:#BA0A46;--accent:#E11D73;--accent-hi:#C8125F;--accent-ink:#FFFFFF;--nav:#36494E;--nav-2:#2C3D41;--nav-ink:#E6ECEE;--nav-dim:#9DB0B5;--ink:#FFFFFF;--panel:#F2F4F7;--panel-2:#E9EDF1;--panel-3:#DEE3E9;--line:#D5DBE2;--line-soft:#E3E7EC;--line-strong:#B9C2CC;--field:#FFFFFF;--sub:#FFFFFF;--auto:#FFFFFF;--chip:#FFFFFF;--log:#FFFFFF;--dotted:#E3E7EC;--paper:#111111;--muted:#36494E;--dim:#6E7F84;--amber:#C77700;--amber-hi:#A86400;--amber-ink:#FFFFFF;--li:#BA0A46;--ig:#E11D73;--gm:#13875A;--ds:#6D5BD0;--bad:#C62828;--ok-line:#A8DCC4;--warn-line:#EDCF9C;--bad-line:#F0BFC4;--bad-soft:#FDECEE;--bad-text:#A61E2A;--note-wash:rgba(225,29,115,.06);--scrim:rgba(17,17,17,.38);--focus:rgba(225,29,115,.16);--grid:rgba(17,17,17,.07);--radius:8px;--btn-radius:5px;--shadow:0 8px 24px rgba(54,73,78,.14);color-scheme:light}:root[data-theme=dark]{--brand:#F0588B;--accent:#E11D73;--accent-hi:#F03A88;--accent-ink:#FFFFFF;--nav:#1B2528;--nav-2:#253235;--nav-ink:#E6ECEE;--nav-dim:#8DA0A5;--ink:#121719;--panel:#1A2124;--panel-2:#212A2D;--panel-3:#2A3538;--line:#33403F;--line-soft:#283335;--line-strong:#465655;--field:#141A1C;--sub:#161C1E;--auto:#161C1E;--chip:#161C1E;--log:#111618;--dotted:#243033;--paper:#F2F4F7;--muted:#B4C3C7;--dim:#7F9095;--amber:#F0A63C;--amber-hi:#FFB75A;--amber-ink:#22170A;--li:#F0588B;--ig:#F0388A;--gm:#3FCF8E;--ds:#A78BFA;--bad:#FF6B6B;--ok-line:#245943;--warn-line:#5B4322;--bad-line:#5C2C36;--bad-soft:#4A2029;--bad-text:#FFB3B3;--note-wash:rgba(225,29,115,.08);--scrim:rgba(5,8,10,.6);--focus:rgba(225,29,115,.2);--grid:rgba(255,255,255,.05);--shadow:0 8px 24px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--ink);color:var(--paper);font-family:Open Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .18s,color .18s}h1,h2,h3,h4{font-family:Patua One,Georgia,serif;font-weight:400;margin:0;letter-spacing:0;color:var(--brand)}.mono{font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--li)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.brandbar{display:flex;align-items:center;gap:14px;padding:10px 22px;flex:none;background:var(--ink);border-bottom:3px solid var(--brand)}.wordmark{font-family:Patua One,Georgia,serif;font-size:22px;line-height:1.1;color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.brandbar .tagline{font-size:11px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}.app{display:grid;grid-template-columns:212px 1fr;flex:1;min-height:0;overflow:hidden}.rail{background:var(--nav);display:flex;flex-direction:column;padding:16px 12px;gap:4px;overflow-y:auto}.navbtn{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--btn-radius);padding:8px 10px;cursor:pointer;color:var(--nav-ink);font-family:Patua One,Georgia,serif;font-size:14.5px;letter-spacing:.01em;transition:.14s}.navbtn:hover{background:var(--nav-2)}.navbtn.on{background:var(--nav-2);border-color:#ffffff14}.navbtn .dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--nav-dim)}.navbtn.on .dot{background:var(--accent)}.navbtn .count{margin-left:auto;font-size:11px;color:var(--nav-dim)}.rail-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-dim);padding:14px 10px 6px}.rail-foot{margin-top:auto;padding-top:14px;font-size:11px;color:var(--nav-dim)}.rail-foot b{color:var(--nav-ink)}.rail-foot .btn{color:var(--nav-ink);border-color:#ffffff2e}.rail-foot .btn:hover{background:var(--nav-2)}.main{overflow:hidden;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line-soft);background:var(--panel);flex:none;flex-wrap:wrap}.topbar h2{font-size:17px}.topbar .sub{color:var(--dim);font-size:12px}.spacer{flex:1}.view{flex:1;overflow:auto;padding:20px 22px 40px}.view.board-view{padding:0;display:flex;flex-direction:column}.btn{background:var(--panel-2);border:1px solid var(--line);color:var(--paper);padding:7px 13px;border-radius:var(--btn-radius);cursor:pointer;font-weight:500;transition:.14s;white-space:nowrap}.btn:hover{background:var(--panel-3);border-color:var(--line-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.btn.ghost{background:transparent}.btn.sm{padding:4px 9px;font-size:12px;border-radius:var(--btn-radius)}.btn.danger{color:var(--bad);border-color:var(--bad-line)}.btn.danger:hover{background:var(--bad-soft)}.btn.icon{padding:6px 9px;line-height:1}label.field{display:block;margin-bottom:14px}label.field span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}label.field small{display:block;color:var(--dim);font-size:11px;margin-top:4px;text-transform:none;letter-spacing:0}input[type=text],input[type=password],input[type=number],input[type=time],input[type=date],input[type=datetime-local],select,textarea{width:100%;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:8px 10px;outline:none;transition:.14s}input:focus,select:focus,textarea:focus{border-color:var(--li);box-shadow:0 0 0 3px var(--focus)}textarea{resize:vertical;min-height:64px;font-variant-numeric:tabular-nums;font-size:12.5px}.chk{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--muted)}.chk input{accent-color:var(--accent);width:15px;height:15px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px}.card h3{font-size:14px;margin-bottom:4px}.card .hint{color:var(--dim);font-size:12px;margin:0 0 16px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.boardbar{display:flex;align-items:center;gap:10px;padding:12px 22px;border-bottom:1px solid var(--line-soft);background:var(--sub);flex:none;flex-wrap:wrap}.search{flex:1;min-width:160px;max-width:280px}.board{flex:1;min-height:58vh;overflow-x:auto;overflow-y:hidden;display:flex;gap:12px;padding:14px 22px 22px;align-items:flex-start}.col{flex:none;width:268px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 210px);overflow:hidden}.col.drop{border-color:var(--accent);box-shadow:0 0 0 2px var(--note-wash)}.col>.top{padding:10px 12px;border-bottom:1px solid var(--line-soft)}.col .step{font-variant-numeric:tabular-nums;font-size:10px;color:var(--dim)}.col h4{font-size:12.5px;margin:1px 0 6px;line-height:1.3}.col .meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim)}.col .bar{height:3px;border-radius:2px;margin-top:8px;background:var(--line-soft);overflow:hidden}.col .bar i{display:block;height:100%;border-radius:2px}.autoline{padding:7px 12px;border-bottom:1px solid var(--line-soft);background:var(--auto);display:flex;align-items:center;gap:8px}.autoline .txt{font-size:10.5px;color:var(--dim);line-height:1.3;flex:1}.autoline .btn.sm.ghost{color:var(--dim)}.autoline .btn.sm.ghost:hover{color:var(--bad-text);border-color:var(--bad-line)}.cards{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.cards.loading{opacity:.45}.lead{position:relative;background:var(--panel-2);border:1px solid var(--line-soft);border-left:3px solid var(--dim);border-radius:8px;padding:9px 10px;cursor:grab;transition:.12s}.lead:hover{border-color:var(--line);background:var(--panel-3)}.lead.dragging{opacity:.4}.lead .del{position:absolute;top:5px;right:5px;width:18px;height:18px;border-radius:5px;background:transparent;border:1px solid transparent;color:var(--dim);font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:.12s;padding:0}.lead:hover .del{opacity:1}.lead .del:hover{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad-text)}.lead .nm{font-weight:600;font-size:13px;line-height:1.25;display:flex;gap:6px;align-items:baseline}.lead .st{font-size:11.5px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead .tags{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}.lead .money{margin-left:auto;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--gm);font-weight:500;flex:none}.tag{font-size:9.5px;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:20px;border:1px solid var(--line);color:var(--muted);letter-spacing:.02em}.tag.ok{color:var(--gm);border-color:var(--ok-line)}.tag.warn{color:var(--amber);border-color:var(--warn-line)}.tag.no{color:var(--bad);border-color:var(--bad-line)}.icons{display:flex;gap:5px;margin-top:8px;align-items:center}.icons a,.icons span{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:600;border:1px solid var(--line-soft);color:var(--dim);text-decoration:none;background:var(--chip)}.icons a{color:var(--paper);border-color:var(--line)}.icons a:hover{background:var(--panel-3)}.icons .score{margin-left:auto;width:auto;padding:0 7px;font-variant-numeric:tabular-nums;background:transparent;border:none;font-size:11px}.empty{color:var(--dim);font-size:11.5px;text-align:center;padding:14px 6px;border:1px dashed var(--line-soft);border-radius:8px}.scrim{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(2px);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--panel);border-left:1px solid var(--line);z-index:41;display:flex;flex-direction:column;box-shadow:var(--shadow)}.drawer header{padding:16px 18px;border-bottom:1px solid var(--line-soft);display:flex;align-items:flex-start;gap:10px}.drawer .body{flex:1;overflow-y:auto;padding:18px}.drawer footer{padding:12px 18px;border-top:1px solid var(--line-soft);display:flex;gap:8px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:96px 1fr;gap:6px 10px;font-size:12.5px;margin-bottom:16px}.kv dt{color:var(--dim)}.kv dd{margin:0;word-break:break-word}.toastwrap{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--panel-3);border:1px solid var(--line);border-radius:8px;padding:9px 15px;font-size:13px;box-shadow:var(--shadow)}.toast.err{border-color:var(--bad-line);color:var(--bad-text)}.toast.ok{border-color:var(--ok-line)}.logbox{background:var(--log);border:1px solid var(--line-soft);border-radius:8px;padding:10px;max-height:220px;overflow-y:auto;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--muted)}.logbox div{padding:2px 0;border-bottom:1px dotted var(--dotted)}.logbox div:last-child{border-bottom:none}.logbox time{color:var(--dim);margin-right:8px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-soft);margin-bottom:18px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;color:var(--muted);font-weight:500}.tabs button.on{color:var(--paper);border-bottom-color:var(--accent)}.note{border-left:2px solid var(--accent);background:var(--note-wash);padding:10px 12px;border-radius:0 8px 8px 0;font-size:12.5px;color:var(--muted)}.note b{color:var(--paper)}code{font-variant-numeric:tabular-nums;font-size:12px;background:var(--log);padding:1px 5px;border-radius:4px;border:1px solid var(--line-soft)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:15px 16px;display:flex;align-items:flex-start;gap:12px}.tile .txt{min-width:0;flex:1}.tile b{display:block;font-variant-numeric:tabular-nums;font-size:23px;font-weight:500;line-height:1.2}.tile span{font-size:11px;color:var(--dim);letter-spacing:.05em;text-transform:uppercase}.tile .glyph{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;font-size:15px;color:#fff}.tile .delta{font-size:11px;font-variant-numeric:tabular-nums;margin-top:3px;display:block}.tile .delta.up{color:var(--gm)}.tile .delta.down{color:var(--bad)}.funnel{display:flex;flex-direction:column;gap:6px}.funnel .f{display:grid;grid-template-columns:160px 1fr 46px;align-items:center;gap:10px;font-size:12px}.funnel .f i{height:18px;border-radius:4px;display:block;min-width:2px;position:relative;transition:width .3s}.funnel .f em{font-style:normal;color:var(--dim)}.funnel .f b{font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.funnel button.f{background:none;border:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.funnel button.f:hover em{color:var(--paper)}.chartcard{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px}.chartcard .head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;flex-wrap:wrap}.chartcard h3{font-size:14px}.chartcard .hint{color:var(--dim);font-size:12px;margin:2px 0 0}.legend{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--dim);flex-wrap:wrap}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}svg.chart{display:block;width:100%;height:auto;overflow:visible}svg.chart text{fill:var(--dim);font-size:10px;font-variant-numeric:tabular-nums}svg.chart .gridline{stroke:var(--grid);stroke-width:1}svg.chart .hoverzone{fill:transparent;cursor:pointer}svg.chart .hoverzone:hover{fill:var(--grid)}.charts2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:1080px){.charts2{grid-template-columns:1fr}}.donutwrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donutlegend{flex:1;min-width:140px;display:flex;flex-direction:column;gap:8px}.donutlegend .r{display:flex;align-items:center;gap:8px;font-size:12px}.donutlegend .r i{width:9px;height:9px;border-radius:3px;flex:none}.donutlegend .r b{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500}.donutlegend .r span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranked{display:flex;flex-direction:column}.ranked .r{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.ranked .r:last-child{border-bottom:none}.ranked .r:hover{background:var(--panel-2)}.ranked .n{width:22px;height:22px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:10px;font-variant-numeric:tabular-nums;background:var(--panel-3);color:var(--muted)}.ranked .who{flex:1;min-width:0}.ranked .who b{display:block;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranked .who span{font-size:11px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ranked .amt{text-align:right;flex:none}.ranked .amt b{display:block;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.ranked .amt span{font-size:10px;color:var(--dim)}.sourcepick{display:flex;align-items:center;gap:8px}.swatch{width:9px;height:9px;border-radius:50%;flex:none;background:var(--dim)}select.source,select.range{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:7px 30px 7px 11px;font-weight:600;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select.source{min-width:186px}select.range{min-width:132px;font-weight:500}select.source:hover,select.range:hover{border-color:var(--line-strong)}.who{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}.who b{color:var(--paper);font-weight:600}.avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--panel-3);border:1px solid var(--line);font-size:11px;font-weight:600;color:var(--paper)}.rolechip{font-size:9.5px;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:20px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.rolechip.admin{color:var(--accent);border-color:var(--accent)}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{background:var(--panel-2);border:none;padding:7px 12px;cursor:pointer;color:var(--muted);font-weight:500;font-size:12.5px;transition:.14s}.segmented button+button{border-left:1px solid var(--line)}.segmented button.on{background:var(--panel-3);color:var(--paper)}.segmented button:hover{color:var(--paper)}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ink)}.logincard{width:min(380px,100%);background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:26px;box-shadow:var(--shadow)}.logincard .mark{font-family:Patua One,Georgia,serif;font-size:24px;color:var(--brand)}.logincard .tagline{color:var(--dim);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 22px}.err{color:var(--bad-text);font-size:12.5px;margin-top:12px;min-height:16px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:500;padding:0 10px 8px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.table th.sortable{cursor:pointer;user-select:none}.table th.sortable:hover{color:var(--paper)}.table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--panel-2)}.table .right{text-align:right;white-space:nowrap}.table td .btn.sm{margin-left:6px}.table.clickable tbody tr{cursor:pointer}.tablewrap{overflow-x:auto}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:var(--scrim);backdrop-filter:blur(2px)}.modalcard{width:min(480px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow);max-height:86vh;overflow-y:auto}.modalcard.wide{width:min(680px,100%)}.modalcard h3{margin-bottom:4px}.spin{width:14px;height:14px;border-radius:50%;flex:none;display:inline-block;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{display:grid;place-items:center;padding:60px 0;color:var(--dim);gap:10px}.dimtext{color:var(--dim);font-size:12px}.stretch{width:100%}.chips{display:flex;gap:6px;flex-wrap:wrap}.colorbox{width:26px;height:26px;border-radius:6px;border:1px solid var(--line);padding:0;cursor:pointer;background:none;flex:none}.pager{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;color:var(--dim)}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rail{flex-direction:row;flex-wrap:wrap;height:auto;border-right:none;border-bottom:1px solid var(--line-soft)}.rail-label,.rail-foot,.brandbar .tagline{display:none}.brandbar{padding:10px 16px}.wordmark{font-size:18px}.navbtn{width:auto}.charts2{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.countdown{font-size:30px;font-weight:500;letter-spacing:.02em;color:var(--brand);line-height:1.1;font-variant-numeric:tabular-nums}
