:root{--bg:#F2F3F7;--surface:#FFFFFF;--surface-2:#E8EAF0;--line:#DADDE6;--line-strong:#767E90;--ink:#0E1117;--ink-2:#434A58;--ink-3:#5B6373;--accent:#2743D6;--accent-hover:#1F37B8;--accent-ink:#FFFFFF;--accent-soft:#E4E9FD;--danger:#B42318;--danger-soft:#FDE8E6;--axis:#8A93A6;--grid:#E6EAF1;--grid-strong:#CBD2DE;--today:#EE6038;--today-ink:#B53A15;--shadow:0 12px 32px rgba(14,17,23,.14);--radius:10px;--scheme:light;--tint:15%;--font-sans:"Funnel Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Funnel Display","Funnel Sans",system-ui,sans-serif;--font-mono:"Martian Mono",ui-monospace,"SF Mono",Menlo,monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#0B0D12;--surface:#141720;--surface-2:#1C202B;--line:#252A36;--line-strong:#667590;--ink:#F0F2F7;--ink-2:#B3BAC8;--ink-3:#8C95A6;--accent:#8397FF;--accent-hover:#9DAEFF;--accent-ink:#0F1218;--accent-soft:#1C2550;--danger:#F97066;--danger-soft:#3A1B19;--axis:#5A6478;--grid:#1E2330;--grid-strong:#2F3747;--today:#F26B45;--today-ink:#FF8A66;--shadow:0 12px 32px rgba(0,0,0,.5);--scheme:dark;--tint:24%}}:root[data-theme=dark]{--bg:#0B0D12;--surface:#141720;--surface-2:#1C202B;--line:#252A36;--line-strong:#667590;--ink:#F0F2F7;--ink-2:#B3BAC8;--ink-3:#8C95A6;--accent:#8397FF;--accent-hover:#9DAEFF;--accent-ink:#0F1218;--accent-soft:#1C2550;--danger:#F97066;--danger-soft:#3A1B19;--axis:#5A6478;--grid:#1E2330;--grid-strong:#2F3747;--today:#F26B45;--today-ink:#FF8A66;--shadow:0 12px 32px rgba(0,0,0,.5);--scheme:dark;--tint:24%}*{box-sizing:border-box}:root{color-scheme:var(--scheme)}input,textarea,select{color-scheme:var(--scheme)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-stretch:87.5%}h1,h2,h3,h4{font-family:var(--font-display)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:none;margin:0;padding-block:20px 32px;padding-inline:clamp(16px,2vw,36px)}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.sub{display:none}@media (min-width:900px){.sub{display:block}}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 4px;font-stretch:87.5%}h1{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0;line-height:1.15}.sub{color:var(--ink-2);margin:6px 0 0;max-width:60ch}.btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:9px 14px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn.danger.armed{background:var(--danger);color:#fff}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:6px 11px;font-size:13px;border-radius:9px}.btn{font-weight:600}.btn.icon{padding:6px 9px}.btn svg{width:16px;height:16px;flex:none}.input{width:100%;min-width:0;border:1px solid var(--line-strong);background:var(--surface);border-radius:9px;padding:8px 10px;min-height:38px}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{min-height:96px;resize:vertical}.hint{font-size:12px;color:var(--ink-3);margin:0}.dot{width:8px;height:8px;border-radius:1.5px;transform:rotate(45deg);flex:none;background:var(--c,#999)}.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 11px 5px 9px;border-radius:10px;border:1.5px solid var(--c,var(--line));background:color-mix(in srgb,var(--c,var(--accent)) var(--tint),var(--surface));color:var(--ink);cursor:pointer;white-space:nowrap;transition:opacity .15s,box-shadow .15s,border-color .15s}.chip:hover{box-shadow:0 0 0 1.5px var(--c,var(--line-strong))}.chip.on{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent)}.chips.filtering .chip:not(.on),.pick .chip:not(.on){opacity:.5}.chips.filtering .chip:not(.on):hover,.pick .chip:not(.on):hover{opacity:.85}.chip .n{color:color-mix(in srgb,var(--c,var(--ink-3)) 72%,var(--ink));font-weight:500;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search{position:relative;flex:1 1 220px;min-width:180px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-3)}.search .input{padding-left:32px}.dates{display:flex;gap:6px;align-items:center;flex:0 1 auto}.dates .input{width:150px;padding-inline:8px}.dates span{color:var(--ink-3);font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.zoom{display:flex;align-items:center;gap:6px;margin-left:auto}.zoom input[type=range]{width:150px;accent-color:var(--accent)}.zoom .lvl{font-size:12px;color:var(--ink-3);min-width:96px;text-align:right}@media (max-width:700px){.zoom{margin-left:0}}.board{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.viewport{overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:thin;height:clamp(360px,calc(100vh - 330px),900px)}@media (max-width:700px){.viewport{height:clamp(300px,50vh,480px)}}.viewport.drag{cursor:grabbing;-webkit-user-select:none;user-select:none}.canvas{position:relative;height:100%}.months{position:absolute;top:0;left:0;right:0;height:26px;border-bottom:1px solid var(--line)}.months .m{position:absolute;top:0;height:26px;padding:5px 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-left:1px solid var(--grid-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-stretch:87.5%}.gridline{position:absolute;top:26px;bottom:0;width:1px;background:var(--grid)}.gridline.strong{background:var(--grid-strong)}.axis{position:absolute;left:0;right:0;height:2px;margin-top:-.5px;background:var(--ink)}.tick{position:absolute;width:1px;height:6px;background:var(--axis)}.ticklbl{position:absolute;font-family:var(--font-mono);font-size:10px;color:var(--ink-3);transform:translate(-50%);white-space:nowrap}.today{position:absolute;top:26px;bottom:0;width:2px;background:var(--today)}.today span{position:absolute;top:2px;left:5px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--today-ink);white-space:nowrap;font-stretch:87.5%}.flag{position:absolute;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;z-index:2;transition:top .18s ease}.flag .pole{transition:height .18s ease}.flag .pole{width:1px;background:var(--c,var(--ink-3));opacity:.75;margin-left:0}.flag .base{width:13px;height:13px;border-radius:2px;transform:rotate(45deg);background:var(--c,var(--accent));margin-left:-6px;border:2px solid var(--surface);box-shadow:0 0 0 1.5px var(--c,var(--accent))}.flag.below{flex-direction:column-reverse}.flag.left{align-items:flex-end}.flag.left .base{margin-left:0;margin-right:-6px}.flag.left .pole{margin-left:0}.flag.left .cloth{width:100%;max-width:100%}.flag .cloth{position:relative;background:color-mix(in srgb,var(--c,var(--accent)) var(--tint),var(--surface));border:1.5px solid var(--c,var(--line));border-radius:10px;padding:8px 11px;max-width:var(--fw,240px);min-width:60px;transition:box-shadow .15s,transform .15s,border-color .15s}.flag:hover .cloth{box-shadow:var(--shadow);transform:translateY(-1px)}.flag.sel .cloth{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent),var(--shadow)}.flag .t{font-family:var(--font-display);font-size:13.5px;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink)}.flag .d{order:-1;font-family:var(--font-mono);font-stretch:87.5%;font-size:10px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb,var(--c,var(--ink-3)) 72%,var(--ink));margin:0 0 3px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.flag .cloth{display:flex;flex-direction:column;justify-content:center;height:var(--fh,70px);box-sizing:border-box;overflow:hidden}.flag.group .cloth{border-style:dashed}.flag.group .t .n{font-size:16px;font-weight:700;margin-right:2px}.lanelabels{position:absolute;left:0;top:0;bottom:0;width:0;pointer-events:none;z-index:3}.lanelbl{position:absolute;left:8px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:color-mix(in srgb,var(--surface) 85%,transparent);padding:2px 7px 2px 5px;border-radius:999px;white-space:nowrap;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-stretch:87.5%}.lanelbl .dot{width:7px;height:7px}.span{position:absolute;height:6px;border-radius:3px;background:color-mix(in srgb,var(--c,#888) 30%,transparent);z-index:1}.detail-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.detail-list button{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;background:var(--surface-2);border:1px solid transparent;border-radius:8px;padding:8px 10px}.detail-list button:hover{border-color:var(--line-strong)}.detail-list .dt{font-size:12px;color:var(--ink-3)}.detail-list .tt{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px;min-width:0}.flag.dense .cloth{padding:3px 6px;max-width:34px;min-width:0}.flag.dense .t,.flag.dense .d{display:none}.flag.dense .cloth:after{content:"";display:block;width:12px;height:10px}.flag .tags{display:inline-flex;gap:4px;margin-left:6px;vertical-align:1px}.flag .tags i{width:7px;height:7px;border-radius:1.5px;transform:rotate(45deg);background:var(--c)}.boardfoot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}.empty{padding:50px 20px;text-align:center;color:var(--ink-2)}.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}.detail{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start}@media (max-width:640px){.detail{grid-template-columns:1fr}}.detail .when{text-align:center;padding:4px 10px;border-right:1px solid var(--line);min-width:64px}.detail .when b{display:block;font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1}.detail .when span{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-stretch:87.5%}.detail h4{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}.detail p{margin:6px 0 0;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.detail .meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;color:var(--ink-3)}.detail .tagline{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.detail .tagline .chip,.detail .tagline .chip:hover{cursor:default;box-shadow:none;border-color:var(--c)}.tagpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.tagpanel h3{margin:0 0 8px;font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-stretch:87.5%}.newtag{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.newtag .input{flex:1 1 180px}.swatches{display:flex;gap:6px;flex-wrap:wrap}.sw{width:22px;height:22px;border-radius:6px;border:2px solid transparent;background:var(--c);padding:0}.sw.on{border-color:var(--ink)}.taglist{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tagrow{display:inline-flex;align-items:center;gap:8px;padding:4px 9px;border-radius:10px;border:1.5px solid var(--c,var(--line));background:color-mix(in srgb,var(--c,var(--accent)) var(--tint),var(--surface));font-size:13px;font-weight:600}.tagrow .link{font-size:12px}.link{background:none;border:0;padding:0;color:var(--accent);font-weight:700;font-size:12px}.link:hover{text-decoration:underline}.notice{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:8px;padding:10px 12px;color:var(--ink-2);margin-bottom:14px}.notice.warn{border-color:var(--danger);color:var(--danger)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1473;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translate(102%);transition:transform .22s ease;z-index:21;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.drawer.open{transform:none}.drawer header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer header h2{margin:0;font-size:17px;font-weight:700}.drawer .body{padding:18px 20px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:700;color:var(--ink-2)}.drawer footer{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.drawer footer .r{display:flex;gap:8px}.pick{display:flex;flex-wrap:wrap;gap:6px}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:700;opacity:0;transition:.2s;z-index:30;pointer-events:none;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav .in{display:flex;align-items:center;gap:14px;padding:10px clamp(16px,2vw,36px)}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.brand svg{width:24px;height:24px}.crumb{color:var(--ink-3)}.crumb a{color:var(--ink-2);text-decoration:none;font-weight:700}.crumb a:hover{text-decoration:underline}.nav .sp{flex:1}.nav .who{font-size:12px;color:var(--ink-3);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:20px clamp(16px,2vw,36px) 40px}.page.narrow{max-width:960px;margin:0 auto}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.pagehead h1{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:0;line-height:1.15}.pagehead .sub{display:block;color:var(--ink-2);margin:4px 0 0}.auth{min-height:calc(100vh - 20px);display:grid;place-items:center;padding:24px 16px}.authcard{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.authcard>svg{width:44px;height:44px;display:block}.authcard h1{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:14px 0 4px}.authcard p{color:var(--ink-2);margin:0 0 18px}.authcard .field{margin-bottom:12px}.authcard .btn{width:100%;justify-content:center}.or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;margin:14px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.authfoot{font-size:12px;color:var(--ink-3);margin-top:16px;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;position:relative}.pcard:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.pcard h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.015em}.pcard .client{font-size:12px;color:var(--ink-3)}.pcard .stats{display:flex;gap:14px;font-size:12px;color:var(--ink-2);margin-top:auto}.pcard .stats b{font-family:var(--font-display);font-size:20px;font-weight:700;display:block;line-height:1.1;color:var(--ink)}.pcard .more{position:absolute;top:10px;right:10px}.newcard{border-style:dashed;align-items:center;justify-content:center;text-align:center;color:var(--ink-2);min-height:120px;cursor:pointer}.newcard:hover{color:var(--accent)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-items:center;background:#0a0e1473;padding:16px}.modal .box{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.modal h2{margin:0 0 14px;font-size:17px}.modal .field{margin-bottom:12px}.modal .actions{display:flex;justify-content:space-between;gap:8px;margin-top:6px}.modal .actions .r{display:flex;gap:8px;margin-left:auto}.tl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.tl-head h1{font-size:26px;font-weight:800;margin:0;letter-spacing:-.03em}.tl-head .client{color:var(--ink-3);font-weight:600;font-size:13px}.loading{padding:60px;text-align:center;color:var(--ink-3)}.readonly #btn-tags,.readonly #tag-manage{display:none!important}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-stretch:87.5%;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-2);vertical-align:middle}.badge.admin{border-color:var(--accent);color:var(--accent)}.tl-head .acts{display:flex;gap:8px;align-items:center}.tl-head h1 .badge{margin-left:8px}.pcard .owner{font-size:12px;color:var(--ink-3)}.pcard .badge{align-self:flex-start}.section-title{font-family:var(--font-mono);font-stretch:87.5%;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:26px 0 10px}.audit{font-size:12px;color:var(--ink-3);margin-top:10px}.audit b{color:var(--ink-2);font-weight:700}.audit .link,.members .link{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;margin-left:4px}.history{margin-top:8px;border-left:2px solid var(--line-strong);padding-left:12px;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}.h-row{display:flex;gap:10px;font-size:12px;color:var(--ink-2);align-items:baseline}.h-row .mono{font-family:var(--font-mono);font-stretch:87.5%;white-space:nowrap;color:var(--ink-3);font-size:10.5px}.h-diff{display:block;color:var(--ink-3);margin-top:2px;word-break:break-word}.modal .box.wide{width:min(560px,100%)}.members{display:flex;flex-direction:column;gap:2px;margin:0 0 16px;max-height:320px;overflow:auto}.mrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.mrow .who{flex:1;min-width:0}.mrow .who b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow .who span{display:block;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow select,.addrow select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 6px;font:inherit;font-size:12px}.addrow{display:flex;gap:8px;align-items:center}.addrow .input{flex:1;min-width:0}.modal .note{font-size:12px;color:var(--ink-3);margin:10px 0 0}.authcard .brandrow{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-.028em}.authcard .brandrow svg{width:40px;height:40px}.auth{position:relative}.theme-fab{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:16px}#theme svg{width:18px;height:18px}.langsel{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 6px 0 8px;border-radius:8px;color:var(--ink-2)}.langsel:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.langsel svg{width:16px;height:16px;flex:none}.langsel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font-family:inherit;font-weight:600;font-size:13px;padding:0 14px 0 0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 6px) 55%,calc(100% - 2px) 55%;background-size:4px 4px;background-repeat:no-repeat}.langsel select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.langsel select option{color:#0e1117;background:#fff}.auth-tools{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:16px;display:flex;gap:4px;align-items:center}@media (max-width:640px){.nav .langsel svg{display:none}.nav .who{display:none}}[hidden]{display:none!important}.drawer{top:50%;left:50%;right:auto;bottom:auto;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 64px -12px #0a0e1473;padding:0;transform:translate(-50%,-47%) scale(.98);opacity:0;visibility:hidden;transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s;z-index:31}.drawer.open{transform:translate(-50%,-50%);opacity:1;visibility:visible;transition:opacity .16s ease-out,transform .16s ease-out}.scrim{z-index:30;background:#080a1073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drawer .body{padding:20px 24px}.drawer header{padding:18px 24px}.drawer footer{padding:14px 24px}.drawer textarea.input{min-height:96px}@media (max-width:600px){.drawer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}@media (prefers-reduced-motion:reduce){.drawer,.drawer.open{transition:none}}.drawer .input:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink);cursor:default}.drawer .meta-box{border-top:1px solid var(--line);padding-top:14px;margin-top:2px}.drawer .meta-box .audit{margin-top:0}.drawer .meta-box .history{max-height:none;margin-top:10px}.drawer .input:disabled::placeholder{-webkit-text-fill-color:var(--ink-3);color:var(--ink-3)}:root{--chart:#2743D6}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--chart:#6F85FF}}:root[data-theme=dark]{--chart:#6F85FF}.navlink{font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:none;padding:5px 10px;border-radius:8px}.navlink:hover{background:var(--surface-2);color:var(--ink)}.navlink.on{color:var(--accent);background:var(--accent-soft)}.an-acts{display:flex;align-items:center;gap:10px}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:14px}@media (min-width:900px){.kpis{grid-template-columns:repeat(4,1fr)}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}.kpi .k{font-family:var(--font-mono);font-stretch:87.5%;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.kpi b{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink);display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.kpi .s{font-size:12px;color:var(--ink-3)}.live{width:9px;height:9px;border-radius:50%;background:var(--line-strong);display:inline-block;flex:none;margin-right:6px;vertical-align:1px}.live.on{background:#1f8a70;box-shadow:0 0 0 3px color-mix(in srgb,#1F8A70 25%,transparent)}.kpi b .live{margin-right:0}.an-charts{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:22px}@media (min-width:900px){.an-charts{grid-template-columns:repeat(2,1fr)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0}.panel h3{margin:0;font-size:15px;font-weight:700}.panel .sub{margin:2px 0 8px;font-size:12px;color:var(--ink-3)}.chart{position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .base{stroke:var(--line-strong);stroke-width:1}.chart .tick{fill:var(--ink-3);font-family:var(--font-mono);font-size:10.5px}.chart .bar{fill:var(--chart)}.chart .hit{fill:transparent;cursor:default}.chart .hit.on{fill:color-mix(in srgb,var(--ink) 6%,transparent)}.chart .tip{position:absolute;top:-6px;width:120px;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:8px;padding:6px 9px;font-size:12px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.chart .tip b{font-family:var(--font-display);font-size:15px}.chart .tip span{opacity:.75}.planbars{display:flex;flex-direction:column;gap:10px;margin-top:10px}.pb{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:10px;font-size:13px}.pb .nm{font-weight:700}.pb .track{height:12px;background:var(--surface-2);border-radius:4px;overflow:hidden}.pb .track i{display:block;height:100%;background:var(--chart);border-radius:0 4px 4px 0}.pb b{text-align:right;font-family:var(--font-display);font-variant-numeric:tabular-nums}.an-users-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.an-users-head h2{margin:0;font-size:18px;font-weight:700}.an-users-head .input{max-width:280px}.tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.utable{width:100%;border-collapse:collapse;font-size:13px}.utable th{text-align:left;padding:0;border-bottom:1px solid var(--line);white-space:nowrap}.utable th button{background:none;border:0;padding:10px 12px;font-family:var(--font-mono);font-stretch:87.5%;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;width:100%;text-align:inherit}.utable th button:hover{color:var(--ink)}.utable th.num,.utable td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.utable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.utable tr:last-child td{border-bottom:0}.utable td.who{min-width:220px}.utable td.who b{display:block;font-weight:700}.utable td.who>span{display:block;font-size:12px;color:var(--ink-3)}.utable td.who b .badge{margin-left:4px;vertical-align:1px}.utable .dim{color:var(--ink-3)}.utable .empty{text-align:center;color:var(--ink-3);padding:24px}.plansel{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:8px;padding:5px 6px;font:inherit;font-size:13px}@media (max-width:640px){.nav .in{gap:8px}.nav .who,.nav .badge.admin,.crumb{display:none}.nav .langsel{width:34px;justify-content:center;padding:0}.nav .langsel svg{display:block}.nav .langsel select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0}.an-acts{width:100%;justify-content:space-between}.an-users-head .input{max-width:none}}
