:root{--bg:#f4f4f3;--surface:#fff;--ink:#0a0a0a;--ink-2:#2e2e2e;--muted:#7b7b78;--faint:#a8a8a5;--line:#e6e6e4;--line-2:#d2d2cf;--hover:#fafaf9;--glow:#ffe600;--glow-soft:#ffe60052;--red:#c8321f;--red-soft:#fbeeec;--amber:#8a6200;--green:#2c6e48;--radius:16px;--radius-sm:10px;--nav-w:236px;--font:"Heebo", "Helvetica Neue", Arial, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;line-height:1.15}h1{letter-spacing:-.025em;font-size:32px;font-weight:800}h2{letter-spacing:-.01em;font-size:17px;font-weight:700}h3{font-size:15px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.ltr{direction:ltr;unicode-bidi:embed}.hidden{display:none!important}::selection{background:var(--glow);color:var(--ink)}.glow-dot{background:var(--glow);width:7px;height:7px;box-shadow:0 0 8px 1px var(--glow-soft), 0 0 2px var(--glow);border-radius:50%;flex-shrink:0}.shell{grid-template-columns:var(--nav-w) 1fr;min-height:100vh;display:grid}.sidenav{background:var(--ink);color:#fff;flex-direction:column;gap:2px;height:100vh;padding:28px 14px 18px;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:8px;padding:0 12px 30px;display:flex}.brand .wordmark{align-self:flex-start;width:auto;height:19px}.brand span{color:#8d8d8a;letter-spacing:.22em;font-size:10.5px;font-weight:500}.navlink{color:#b9b9b6;border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-weight:500;transition:color .12s,background .12s;display:flex}.navlink:hover{color:#fff;background:#151515}.navlink.active{color:#fff;background:#1c1c1c;font-weight:600}.navlink .ico{text-align:center;opacity:.75;width:18px;font-size:14px}.navlink.active .ico{opacity:1}.navlink .glow-dot{margin-inline-start:auto;display:none}.navlink.active .glow-dot{display:block}.sidenav .spacer{flex:1}.sidenav .me{color:#8d8d8a;border-top:1px solid #1f1f1f;align-items:center;gap:10px;padding:14px 12px 4px;font-size:13px;display:flex}.sidenav .me b{color:#fff;font-weight:600;display:block}.sidenav .me img{width:30px;height:30px}.sidenav .me a{text-underline-offset:2px;text-decoration:underline}.main{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);background:#f4f4f3db;align-items:center;gap:12px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar .mark{flex-shrink:0;width:30px;height:30px;display:none}.search{flex:1;max-width:520px;position:relative}.search input{border:1px solid var(--line-2);background:var(--surface);border-radius:99px;outline:none;width:100%;min-height:40px;padding:9px 18px}.search input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--glow-soft)}.search-results{top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:60vh;padding:6px;position:absolute;inset-inline:0;overflow:auto;box-shadow:0 12px 40px #0000001a}.search-results a{border-radius:8px;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.search-results a:hover,.search-results a.sel{background:var(--bg)}.search-results .type{color:var(--muted);min-width:52px;font-size:11px}.timer-pill{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:99px;align-items:center;gap:10px;max-width:360px;padding:7px 7px 7px 16px;font-size:14px;font-weight:600;display:inline-flex}.timer-pill .glow-dot{animation:1.8s ease-in-out infinite pulse}.timer-pill .lbl{text-overflow:ellipsis;white-space:nowrap;color:#bdbdba;font-weight:400;overflow:hidden}.timer-pill .stop{color:var(--ink);background:#fff;border-radius:99px;padding:3px 12px;font-size:12px;font-weight:700}@keyframes pulse{50%{opacity:.35;box-shadow:none}}.content{max-width:1320px;padding:34px 32px 90px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.page-head .sub{color:var(--muted);margin-top:6px}.crumbs{color:var(--muted);margin-bottom:8px;font-size:13px}.crumbs a:hover{color:var(--ink);text-decoration:underline}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:16px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-head h2{text-transform:none;font-size:15px}.card-head .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-inline-start:8px;font-size:12px;font-weight:500}.card.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.card.dark .muted{color:#9a9a97}.card.accent{position:relative;overflow:hidden}.card.accent:before{content:"";background:var(--glow);width:3px;box-shadow:0 0 10px var(--glow-soft);border-radius:0 3px 3px 0;position:absolute;inset-block:18px;inset-inline-start:0}.kpi{flex-direction:column;gap:6px;display:flex}.kpi .v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.05}.kpi .l{color:var(--muted);font-size:13px}.card.dark .kpi .l{color:#9a9a97}.kpi .v small{color:var(--muted);letter-spacing:0;font-size:15px;font-weight:600}.card.dark .kpi .v small{color:#9a9a97}.empty{color:var(--muted);padding:10px 0;font-size:14px}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;min-width:0;padding:11px 2px;display:flex}.item:last-child{border-bottom:0}.item .grow{flex:170px;min-width:0}.item .t{text-overflow:ellipsis;font-weight:600;overflow:hidden}.item .s{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.item a.t:hover,.item .t a:hover{text-underline-offset:2px;text-decoration:underline}.item .acts{flex-shrink:0;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.item.done .t{color:var(--muted);text-decoration:line-through}.check{border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;padding:0;font-size:12px;transition:border-color .12s,box-shadow .12s;display:grid}.check:hover{border-color:var(--ink);box-shadow:0 0 0 3px var(--glow-soft)}.check.on{background:var(--ink);border-color:var(--ink);color:#fff}.alert{border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;font-size:14px;display:flex}.alert+.alert{margin-top:2px}.alert:hover{background:var(--hover)}.alert .sev{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:8px}.alert.high .sev{background:var(--red)}.alert.medium .sev{background:var(--ink)}.alert.low .sev{background:var(--line-2)}.alert .date{color:var(--muted);white-space:nowrap;margin-inline-start:auto;font-size:12px}.chip{letter-spacing:.04em;border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}.chip.s-NEW{border-color:var(--ink);color:var(--ink)}.chip.s-ACTIVE{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.s-WAITING{border-style:dashed;border-color:var(--faint);color:var(--muted)}.chip.s-FOLLOW-UP{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.s-FOLLOW-UP:before{content:"";background:var(--glow);width:6px;height:6px;box-shadow:0 0 6px var(--glow);border-radius:50%}.chip.s-REVIEW{border-color:var(--ink);color:var(--ink);background:repeating-linear-gradient(-45deg,#fff 0 4px,#f0f0ee 4px 8px)}.chip.s-DONE{color:var(--ink-2);background:#ededeb;border-color:#ededeb}.chip.s-DONE:before{content:"✓";font-weight:800}.chip.s-CLOSED{border-color:var(--line);color:var(--faint);background:0 0}.chip.s-STOPPED{border-color:var(--line);color:var(--faint);background:0 0;text-decoration:line-through}.chip.p-urgent{background:var(--red);color:#fff;border-color:var(--red)}.chip.p-high{color:var(--ink);border-color:var(--ink)}.chip.p-high:before{content:"↑"}.chip.p-low{color:var(--faint);border-color:var(--line)}.chip.late{color:var(--red);background:var(--red-soft);border-color:#efc2bb}.chip.soon{color:var(--ink);border-color:var(--ink)}.chip.ok{color:var(--green);background:#f1f7f3;border-color:#cfe1d5}.chip.warn{color:var(--amber);background:#fbf7ec;border-color:#e9dcbc}.chip.bad{color:var(--red);background:var(--red-soft);border-color:#efc2bb}.chip.ghost{color:var(--muted);border-style:dashed}.btn{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:8px 15px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn.primary,.btn.accent{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#262626}.btn.accent:hover{box-shadow:0 0 0 3px var(--glow-soft), 0 0 18px var(--glow-soft)}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red)}.btn.sm{padding:4px 11px;font-size:13px}.btn.icon{min-width:32px;padding:5px 8px}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg);border-color:var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.fab:focus-visible,.check:focus-visible{box-shadow:0 0 0 3px var(--glow-soft), 0 0 0 1px var(--ink);outline:none}.fab{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:24px;font-weight:300;transition:box-shadow .15s;display:grid}.fab:hover{box-shadow:0 0 0 3px var(--glow-soft), 0 0 20px var(--glow-soft)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{color:var(--ink-2);font-size:13px;font-weight:600}.field .hint{color:var(--muted);font-size:12px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=url],input[type=month],input[type=search],select,textarea{border:1px solid var(--line-2);background:var(--surface);border-radius:var(--radius-sm);outline:none;width:100%;min-height:42px;padding:9px 12px;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;min-height:84px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--glow-soft)}input[type=date],input[type=month]{text-align:right;direction:ltr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .full{grid-column:1/-1}.checkline{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.checkline input{width:18px;height:18px;accent-color:var(--ink);margin-top:2px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filters select,.filters input{border-radius:99px;width:auto;min-width:120px;min-height:36px;padding:6px 12px;font-size:14px}.filters input[type=checkbox]{width:16px;min-width:0;height:16px;min-height:0;accent-color:var(--ink)}.seg{border:1px solid var(--line-2);background:var(--surface);border-radius:99px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:99px;padding:5px 14px;font-size:13.5px;font-weight:600}.seg button.on{background:var(--ink);color:#fff}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs a:hover{color:var(--ink)}.tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}.tabs a .n{color:var(--muted);margin-inline-start:5px;font-size:11px;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;letter-spacing:.02em;padding:8px 10px;font-size:11.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--hover)}td.num,th.num{text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr}tr.sub td{background:var(--bg);font-weight:700}tfoot td{border-top:2px solid var(--ink);font-weight:800}.kanban{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.kcol{border-radius:var(--radius);background:#ebebea;outline:2px solid #0000;min-height:120px;padding:10px;transition:outline-color .12s}.kcol.over{outline:2px solid var(--ink)}.kcol-head{justify-content:space-between;align-items:center;padding:2px 4px 10px;display:flex}.kcard{background:var(--surface);border:1px solid var(--line);cursor:grab;border-radius:12px;margin-bottom:8px;padding:12px 13px;transition:border-color .12s}.kcard:hover{border-color:var(--ink)}.kcard .cl{color:var(--muted);font-size:12px}.kcard .nm{margin:2px 0 6px;font-weight:700}.kcard .na{color:var(--ink-2);border-inline-start:2px solid var(--ink);margin-bottom:8px;padding-inline-start:8px;font-size:13px}.kcard .na.missing{border-color:var(--red);color:var(--red)}.next-action{background:var(--ink);color:#fff;border-radius:var(--radius);align-items:center;gap:14px;padding:18px 22px;display:flex}.next-action .lbl{letter-spacing:.2em;color:var(--glow);text-shadow:0 0 10px var(--glow-soft);font-size:10.5px;font-weight:700}.next-action .txt{letter-spacing:-.01em;font-size:19px;font-weight:600}.next-action.missing .txt{color:#ff8f80}.next-action .btn{color:#fff;background:0 0;border-color:#3a3a3a}.next-action .btn:hover{border-color:#fff}.waiting-box{background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-2);padding:12px 16px}.meta-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 20px;display:grid}.meta .k{color:var(--muted);font-size:12px}.meta .v{font-weight:600}.kb-group{margin-bottom:22px}.kb-group h3{align-items:center;gap:8px;margin-bottom:10px;display:flex}.kb-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:8px;padding:13px 15px}.kb-item .body{white-space:pre-wrap;color:var(--ink-2);margin-top:6px;font-size:14px}.kb-item .foot{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.prose{white-space:pre-wrap}.bar{background:#ececea;border-radius:99px;height:6px;overflow:hidden}.bar>i{background:var(--ink);border-radius:99px;height:100%;display:block}.bar.over>i{background:var(--red)}.timeline{font-size:13px}.timeline .ev{border-bottom:1px dashed var(--line);gap:10px;padding:8px 0;display:flex}.timeline .ev .when{color:var(--muted);white-space:nowrap;min-width:92px;font-size:12px}.comment{border-bottom:1px solid var(--line);padding:10px 0}.comment .who{font-size:13px;font-weight:700}.comment .when{color:var(--muted);margin-inline-start:6px;font-size:12px}.comment .b{white-space:pre-wrap;margin-top:3px}.modal-bg{z-index:100;background:#0a0a0a80;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:20px;width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 70px #00000047}.modal.wide{width:min(860px,100%)}.modal-head{background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:20px 22px 6px;display:flex;position:sticky;top:0}.modal-body{padding:12px 22px 22px}.modal-foot{justify-content:flex-start;gap:8px;padding-top:18px;display:flex}.menu{gap:6px;display:grid}.menu button{text-align:start;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.menu button:hover:not(:disabled){border-color:var(--ink)}.menu button:disabled{opacity:.45;cursor:default}.menu button .d{color:var(--muted);font-size:13px;font-weight:400}@keyframes fade{0%{opacity:0}}#toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:200;border-radius:99px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 20px;font-weight:500;transition:all .2s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}#toast:before{content:"";background:var(--glow);width:7px;height:7px;box-shadow:0 0 8px var(--glow);border-radius:50%}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#toast.err{background:var(--red)}#toast.err:before{box-shadow:none;background:#fff}.auth{background:var(--surface);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-hero{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-hero .wordmark{width:min(440px,80%);height:auto}.auth-hero .tag{color:#cfcfcc;max-width:420px;margin-top:18px;font-size:20px;font-weight:300}.auth-hero .foot{letter-spacing:.24em;color:#6f6f6c;align-items:center;gap:10px;font-size:11px;display:flex}.auth-form{place-items:center;padding:32px 24px;display:grid}.auth-card{width:min(380px,100%)}.auth-card .mark{width:46px;height:46px;margin-bottom:26px}.auth-card h1{margin-bottom:6px;font-size:28px}.auth-card form{gap:14px;margin-top:22px;display:grid}.auth-card .btn{min-height:44px}.bottomnav,.only-mobile{display:none}@media print{.sidenav,.topbar,.bottomnav,.no-print{display:none!important}.shell{display:block}.content{padding:0}.card{border:0;padding:0}body{background:#fff}}@media (width<=1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.shell{grid-template-columns:1fr}.sidenav{display:none}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top))}.topbar .mark{display:block}.content{padding:22px 16px 110px}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.span-2{grid-column:auto}.form-grid{grid-template-columns:1fr}h1{font-size:26px}.only-mobile{display:initial}.hide-mobile{display:none!important}.timer-pill .lbl{display:none}.bottomnav{bottom:0;z-index:30;background:var(--ink);padding:6px 6px max(8px, env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset-inline:0}.bottomnav a{color:#8d8d8a;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex;position:relative}.bottomnav a .ico{font-size:17px}.bottomnav a.active{color:#fff}.bottomnav a.active:after{content:"";background:var(--glow);width:5px;height:5px;box-shadow:0 0 8px var(--glow);border-radius:50%;position:absolute;top:1px}.item .acts{justify-content:flex-end;width:100%}.item.compact .acts{width:auto}.modal-bg{place-items:end center;padding:0}.modal{border-radius:20px 20px 0 0;max-height:92vh}.next-action{flex-wrap:wrap}.kanban{grid-auto-columns:82vw}.filters .fsel{display:none}.filters.open .fsel{display:flex}.filters.open select.fsel{flex:140px;display:block}.filters input[type=search]{flex:1}.auth{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-hero{min-height:0;padding:32px 24px}.auth-hero .tag{font-size:16px}.auth-hero .foot,.auth-card .mark{display:none}}@media (width<=480px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .v{font-size:23px}}
