:root{--bg:#F2F4F1;--surface:#FFFFFF;--surface-2:#E9EDE8;--line:#D3DBD3;--ink:#15201B;--muted:#5B6A62;--faint:#8A978F;--accent:#16704B;--accent-ink:#FFFFFF;--accent-soft:#DCEEE4;--sun:#A86E04;--sun-soft:#F6EAD0;--warn:#B3411E;--warn-soft:#F8E1D8;--shadow:0 1px 2px rgba(20,40,30,.06),0 8px 24px rgba(20,40,30,.08);--f-display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0F1613;--surface:#16201B;--surface-2:#1D2924;--line:#2B3933;--ink:#E5EEE8;--muted:#97A79E;--faint:#6C7C73;--accent:#4FBC8B;--accent-ink:#08170F;--accent-soft:#1A3428;--sun:#E2AC45;--sun-soft:#352912;--warn:#E57B58;--warn-soft:#3A2017;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.35);color-scheme:dark}}:root[data-theme=dark]{--bg:#0F1613;--surface:#16201B;--surface-2:#1D2924;--line:#2B3933;--ink:#E5EEE8;--muted:#97A79E;--faint:#6C7C73;--accent:#4FBC8B;--accent-ink:#08170F;--accent-soft:#1A3428;--sun:#E2AC45;--sun-soft:#352912;--warn:#E57B58;--warn-soft:#3A2017;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14px;line-height:1.45}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.top-in{max-width:1440px;margin:0 auto;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.mark{width:30px;height:30px;border-radius:8px;background:var(--accent);display:grid;place-items:center;flex:none}.mark svg{width:18px;height:18px}.brand h1{font-family:var(--f-display);font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:500}.tabs{display:flex;gap:2px;background:var(--surface-2);padding:3px;border-radius:9px}.tab{border:0;background:none;padding:6px 12px;border-radius:7px;font-weight:600;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.tab .badge{background:var(--warn);color:#fff;font-size:11px;border-radius:99px;padding:0 6px;font-family:var(--f-mono)}.spacer{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:8px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.07)}.btn.danger{color:var(--warn);border-color:var(--warn)}.btn.danger.armed{background:var(--warn);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.wrap{max-width:1440px;margin:0 auto;padding-block:16px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.field{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px;min-width:0}.filters .search{flex:1 1 220px;max-width:340px}.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{border:0;background:none;padding:6px 11px;font-size:13px;font-weight:600;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.count{color:var(--muted);font-size:13px;margin-left:auto}.banner{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px 14px;margin-bottom:16px;color:var(--muted)}.banner.warn{border-color:var(--warn);background:var(--warn-soft);color:var(--ink)}.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--faint)}[data-tone=active] .dot,.dot[data-tone=active]{background:var(--accent)}[data-tone=money] .dot,.dot[data-tone=money]{background:var(--sun)}[data-tone=lost] .dot,.dot[data-tone=lost]{background:var(--warn)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill[data-tone=active]{background:var(--accent-soft);color:var(--accent)}.pill[data-tone=money]{background:var(--sun-soft);color:var(--sun)}.pill[data-tone=lost]{background:var(--warn-soft);color:var(--warn)}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;scroll-snap-type:x proximity}.col{flex:0 0 264px;background:var(--surface-2);border-radius:12px;padding:10px;scroll-snap-align:start;min-height:120px}.col.over{outline:2px dashed var(--accent);outline-offset:-2px}.col-h{display:flex;align-items:center;gap:8px;padding:2px 4px 10px;font-weight:700;font-size:13px}.col-h .n{margin-left:auto;color:var(--muted);font-family:var(--f-mono);font-weight:500;font-size:12px}.cards{display:flex;flex-direction:column;gap:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 11px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;width:100%}.card:hover{border-color:var(--faint)}.card.dragging{opacity:.4}.card .nm{font-weight:700;font-size:14px;overflow-wrap:anywhere}.card .meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:12px;align-items:center}.due{font-weight:600}.due.over{color:var(--warn)}.due.today{color:var(--sun)}.who{display:inline-flex;align-items:center;gap:5px}.who img{width:18px;height:18px;border-radius:50%}.paidtag{font-weight:600;color:var(--ink);background:var(--surface-2);border-radius:5px;padding:0 6px}.nopay{color:var(--warn);font-size:12px;font-weight:600;font-family:var(--f-body)}.paybox{background:var(--surface-2);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;font-size:13px}.paybox dt{color:var(--muted)}.paybox dd{margin:0;overflow-wrap:anywhere}.paybox .big{font-family:var(--f-display);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.prio{display:flex;flex-direction:column}.prio button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 2px;text-align:left;width:100%}.prio button:last-child{border-bottom:0}.prio button:hover{background:var(--surface-2)}.prio .sub{color:var(--muted);font-size:12px}.col .empty{color:var(--faint);font-size:12px;padding:8px 4px}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:860px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;background:var(--surface);position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th[aria-sort] span{color:var(--accent)}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td .sub{color:var(--muted);font-size:12px}.fu{display:grid;gap:20px}.fu h2{font-family:var(--f-display);font-size:16px;margin:0 0 8px;display:flex;align-items:center;gap:8px}.fu h2 .n{font-family:var(--f-mono);font-size:12px;color:var(--muted);font-weight:500}.rows{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;background:none;border-left:0;border-right:0;border-top:0;text-align:left;width:100%}.row:last-child{border-bottom:0}.row:hover{background:var(--surface-2)}.row .nm{font-weight:700;overflow-wrap:anywhere}.row .act{color:var(--muted);overflow-wrap:anywhere}.none{color:var(--faint);padding:14px;background:var(--surface);border:1px dashed var(--line);border-radius:12px}@media (max-width:640px){.row{grid-template-columns:minmax(0,1fr) auto}.row .act{grid-column:1/-1;order:3}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.kpi .v{font-family:var(--f-display);font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.kpi .s{color:var(--muted);font-size:12px}.kpi.money .v{color:var(--sun)}.kpi.good .v{color:var(--accent)}.panels{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}@media (max-width:900px){.panels{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.panel h3{font-family:var(--f-display);font-size:16px;margin:0 0 4px}.panel p.h{color:var(--muted);margin:0 0 14px;font-size:13px}.funnel{display:flex;flex-direction:column;gap:8px}.fr{display:grid;grid-template-columns:120px minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:13px}.fr .lab{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar{height:20px;background:var(--surface-2);border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;border-radius:5px;background:var(--faint)}.fr[data-tone=active] .bar i{background:var(--accent)}.fr[data-tone=money] .bar i{background:var(--sun)}.fr[data-tone=lost] .bar i{background:var(--warn)}.fr .c{text-align:right;font-family:var(--f-mono)}.lb{width:100%;border-collapse:collapse;min-width:0}.lb th,.lb td{padding:8px 6px;font-size:13px}.lb th{position:static;cursor:default}.feeset{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:13px;flex-wrap:wrap}.feeset input{width:110px}.hero-empty{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}@media (max-width:760px){.hero-empty{grid-template-columns:minmax(0,1fr);padding:20px}}.hero-empty h2{font-family:var(--f-display);font-size:26px;line-height:1.15;margin:0 0 10px;text-wrap:balance;letter-spacing:-.015em}.hero-empty p{color:var(--muted);margin:0 0 16px;max-width:60ch}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.steps li{display:flex;gap:10px;align-items:flex-start}.steps b{font-family:var(--f-mono);font-size:12px;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 7px;flex:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#08100c73;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--surface);z-index:41;box-shadow:var(--shadow);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}.dr-h{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.dr-h h2{font-family:var(--f-display);font-size:21px;margin:0;line-height:1.2;overflow-wrap:anywhere}.dr-h .sub{color:var(--muted);font-size:12px;margin-top:2px}.x{border:0;background:var(--surface-2);border-radius:8px;width:32px;height:32px;margin-left:auto;flex:none;font-size:18px;line-height:1}.dr-b{overflow-y:auto;padding:16px 18px 24px;display:flex;flex-direction:column;gap:18px}.sect h4{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px}.stagebtns{display:flex;flex-wrap:wrap;gap:6px}.stagebtns button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.stagebtns button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:460px){.grid2{grid-template-columns:1fr}}label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted);min-width:0}label.f .field{font-weight:400;color:var(--ink);width:100%}textarea.field{resize:vertical;min-height:70px}.full{grid-column:1/-1}.owner{position:relative}.menu{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);z-index:5;max-height:240px;overflow-y:auto}.menu button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:8px 10px;text-align:left}.menu button:hover{background:var(--surface-2)}.menu img{width:22px;height:22px;border-radius:50%}.savebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.savebar .st{color:var(--muted);font-size:12px}.logform{display:flex;flex-direction:column;gap:8px}.logrow{display:flex;gap:8px;flex-wrap:wrap}.logrow select{flex:0 0 auto}.log{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--line);margin-left:6px}.ent{padding:0 0 14px 14px;position:relative}.ent:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}.ent .h{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ent .h b{color:var(--ink)}.ent .t{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;display:grid;place-items:center;padding:16px}.modal-in{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);width:min(620px,100%);max-height:90vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.modal-in h2{font-family:var(--f-display);margin:0;font-size:20px}.modal-in p{margin:0;color:var(--muted)}.modal-in code{font-family:var(--f-mono);font-size:12px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:9px;font-weight:600;z-index:60;font-size:13px}@media (prefers-reduced-motion:no-preference){.drawer{animation:slide .18s ease-out}@keyframes slide{0%{transform:translate(24px);opacity:.6}}}@media (max-width:560px){.brand small{display:none}.tabs{order:3;width:100%;overflow-x:auto}.tab{flex:1;justify-content:center}}html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0;font-size:14px}[hidden]{display:none!important}.av{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700;flex:none}.menu .av{width:22px;height:22px}.metop{padding:5px 10px 5px 6px}.metop .av{width:24px;height:24px;font-size:11px}.metop .mename{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:560px){.metop .mename{display:none}}.login{min-height:100vh;display:grid;place-items:center;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow)}.login-card .brand h1{font-size:20px}.login-st{margin:0;color:var(--muted);font-size:13px}.linkbtn{border:0;background:none;color:var(--accent);font-weight:600;padding:2px 0;text-align:left;font-size:13px;cursor:pointer}.linkbtn:hover{text-decoration:underline}
