:root{--dark:#0a0a0a;--cream:#f7f5f0;--emerald:#10b981;--emerald-deep:#0b8f64;--ink:#0a0a0a;--ink-2:#4a4a4a;--ink-3:#8a8a85;--grey-1:#f2f0eb;--grey-2:#ebe9e3;--grey-3:#e5e5e5;--surface:#fff;--warn:#b45309;--warn-bg:#fdf3e3;--stop:#b42318;--f-display:Outfit, "Helvetica Neue", Arial, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--r:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:var(--f-display);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}a{color:var(--ink)}.wrap{max-width:460px;margin:0 auto;padding:72px 20px 80px}.wrap.wide{max-width:1500px;padding:30px 26px 80px}h1{font-family:var(--f-display);letter-spacing:-.035em;text-wrap:balance;font-size:27px;font-weight:800}.eyebrow{font-family:var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px}.sub{color:var(--ink-2);margin:9px 0 24px;font-size:14.5px}.card{background:var(--dark);color:var(--cream);border-radius:var(--r);background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:34px 34px;margin-top:40px;padding:38px 34px}.card .eyebrow{color:var(--emerald)}.card h1{color:var(--cream)}.card h1:after{content:"";background:var(--emerald);width:13mm;height:3px;margin-top:13px;display:block}.card .sub{color:#b9b7b1}label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#b9b7b1;margin-bottom:7px;font-size:10.5px;display:block}input[type=email],input[type=password],input[type=text],input[type=date]{width:100%;font:inherit;color:var(--cream);background:#ffffff0d;border:1px solid #ffffff2e;border-radius:6px;padding:11px 13px;font-size:15px}input::placeholder{color:#6f6d68}:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}button{background:var(--emerald);color:var(--dark);font:inherit;cursor:pointer;border:0;border-radius:6px;margin-top:18px;padding:11px 18px;font-size:14px;font-weight:700}button:disabled{opacity:.5;cursor:default}button.ghost{color:var(--ink-2);border:1px solid var(--grey-3);background:0 0;margin:0;padding:7px 12px;font-size:12.5px;font-weight:500}.card button.ghost{color:#b9b7b1;border-color:#ffffff2e}.ok{color:var(--emerald);margin-top:16px;font-size:13.5px}.err{color:#ff8b80;margin-top:14px;font-size:13.5px}.alt{border-top:1px solid #ffffff24;margin-top:20px;padding-top:16px}.alt button{margin:0}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.top form{align-items:center;gap:11px;display:flex}.who{font-family:var(--f-mono);color:var(--ink-3);font-size:11px}h2.section{font-family:var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin:30px 0 14px;font-size:10.5px}.tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--grey-3);border-radius:var(--r);flex-direction:column;gap:2px;padding:15px 17px;display:flex}.tile .k{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.tile .v{font-family:var(--f-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.tile .n{color:var(--ink-2);font-size:12px}.tile.hero{background:var(--dark);border-color:var(--dark)}.tile.hero .k{color:var(--emerald)}.tile.hero .v,.tile.hero .n{color:var(--cream)}.views{gap:6px;display:flex}.views a{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--grey-3);background:var(--surface);color:var(--ink-2);border-radius:6px;padding:7px 13px;font-size:11px;text-decoration:none}.views a.on{background:var(--dark);border-color:var(--dark);color:var(--cream)}.kan{grid-template-columns:repeat(5,minmax(235px,1fr));align-items:start;gap:12px;padding-bottom:14px;display:grid;overflow-x:auto}.col{background:var(--grey-1);border:1px solid var(--grey-3);border-radius:var(--r);min-height:180px;padding:11px}.col.over{border-color:var(--emerald);background:#eefaf5}.col>header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 3px;display:flex}.col h3{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:10.5px;font-weight:500}.col .ct{font-family:var(--f-mono);color:var(--ink-3);font-size:11px}.stack{flex-direction:column;gap:8px;display:flex}.kcard{background:var(--surface);border:1px solid var(--grey-3);cursor:grab;border-radius:6px;padding:11px 12px}.kcard:active{cursor:grabbing}.kcard.drag{opacity:.4}.kcard .nm{letter-spacing:-.01em;font-size:14px;font-weight:700}.kcard .meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.kcard .when{font-family:var(--f-mono);color:var(--ink-3);font-size:10.5px}.kcard .due{font-family:var(--f-mono);color:var(--warn);font-size:10.5px}.kcard .due.over{color:var(--stop);font-weight:600}.chip{font-family:var(--f-mono);letter-spacing:.06em;background:var(--grey-2);color:var(--ink-2);border-radius:4px;padding:3px 7px;font-size:9.5px}.chip.good{color:var(--emerald-deep);background:#e3f6ed}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.paid{background:var(--dark);color:var(--emerald)}.empty{color:var(--ink-3);text-align:center;padding:18px 4px;font-size:12.5px}.scrim{z-index:40;background:#0a0a0a6b;position:fixed;inset:0}.drawer{background:var(--cream);border-left:1px solid var(--grey-3);z-index:50;width:min(480px,100%);padding:26px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer h2{letter-spacing:-.035em;font-size:21px;font-weight:800}.drawer .row2{flex-wrap:wrap;gap:10px;margin-top:9px;display:flex}.drawer a.link{border-bottom:1px solid var(--grey-3);font-size:13.5px;text-decoration:none}.field{margin-top:18px}.field label{color:var(--ink-3)}.drawer input,.drawer textarea,.drawer select{background:var(--surface);color:var(--ink);border:1px solid var(--grey-3);width:100%;font:inherit;border-radius:6px;padding:9px 11px;font-size:13.5px}.drawer textarea{resize:vertical}.drawer button{margin-top:12px}.drawer .close{position:absolute;top:20px;right:22px}.feed{flex-direction:column;gap:0;margin-top:10px;display:flex}.ev{border-top:1px solid var(--grey-3);grid-template-columns:74px 1fr;gap:10px;padding:9px 0;font-size:13px;display:grid}.ev .t{font-family:var(--f-mono);color:var(--ink-3);padding-top:2px;font-size:10.5px}.ev .k{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--emerald-deep);font-size:9.5px}
