.pp-root{--pp-bg: oklch(11% .01 35);--pp-bg-subtle: oklch(14% .012 35);--pp-bg-hover: oklch(17% .014 35);--pp-surface: oklch(15% .013 35);--pp-border: oklch(26% .018 40);--pp-text: oklch(86% .022 65);--pp-muted: oklch(58% .018 50);--pp-muted-strong: oklch(72% .02 60);--pp-accent: oklch(64% .1 50);--pp-accent-hover: oklch(70% .11 55);--pp-accent-subtle: oklch(22% .035 35);--pp-accent-fg: oklch(10% .015 30);--pp-radius: 18px;--pp-radius-sm: 12px;--pp-radius-lg: 24px;--pp-shadow: 0 2px 8px oklch(5% .008 30 / .7);--pp-shadow-hover: 0 12px 32px oklch(5% .008 30 / .9);--pp-sans: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--pp-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--pp-heading-font: var(--pp-sans);--pp-heading-weight: 600;--pp-heading-tracking: -.02em;--pp-st-backlog: oklch(72% .02 60);--pp-st-progress: oklch(74% .1 70);--pp-st-review: oklch(70% .13 290);--pp-st-blocked: oklch(64% .13 25);--pp-st-closed: oklch(72% .1 150);--pp-prio-critical: oklch(60% .16 25);--pp-prio-high: oklch(70% .12 60);--pp-prio-medium: oklch(70% .05 200);--pp-prio-low: oklch(60% .04 270);font-family:var(--pp-sans);background:var(--pp-bg);color:var(--pp-text);color-scheme:dark;accent-color:var(--pp-accent);position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.42  0 0 0 0 0.30  0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='480'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.40  0 0 0 0 0.30  0 0 0 0 0.22  0 0 0 0.32 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),radial-gradient(ellipse 70% 45% at 12% 0%,oklch(18% .025 40),transparent 60%),radial-gradient(ellipse 65% 40% at 100% 100%,oklch(19% .03 30),transparent 60%),radial-gradient(ellipse 45% 30% at 65% 25%,oklch(16% .02 55),transparent 60%),var(--pp-bg);background-blend-mode:overlay,multiply,normal,normal,normal,normal}.pp-root *,.pp-root *:before,.pp-root *:after{box-sizing:border-box}.pp-root h1,.pp-root h2,.pp-root h3,.pp-root h4{font-family:var(--pp-heading-font);font-weight:var(--pp-heading-weight);letter-spacing:var(--pp-heading-tracking);margin:0}.pp-root button{font-family:inherit;cursor:pointer}.pp-root input::placeholder,.pp-root textarea::placeholder{color:var(--pp-muted)}.pp-root input:focus,.pp-root textarea:focus,.pp-root select:focus{border-color:var(--pp-accent)!important;box-shadow:0 0 0 3px var(--pp-accent-subtle);outline:none}.pp-root [data-card]{border-radius:var(--pp-radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85  0 0 0 0 0.72  0 0 0 0 0.55  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),#150d0bd1;border:1px solid oklch(28% .018 40);box-shadow:var(--pp-shadow);transition:box-shadow .2s cubic-bezier(.2,.7,.2,1),transform .2s cubic-bezier(.2,.7,.2,1)}.pp-root [data-chip]{border-radius:999px}@keyframes pp-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pp-slideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pp-modalIn{0%{transform:translate(-50%,-50%) scale(.96);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes pp-toastIn{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes pp-cardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pp-pulse{0%,to{opacity:1}50%{opacity:.4}}.pp-root .pp-board-card{animation:pp-cardIn .38s cubic-bezier(.2,.7,.2,1) both}.pp-root .pp-board-card:nth-child(1){animation-delay:30ms}.pp-root .pp-board-card:nth-child(2){animation-delay:70ms}.pp-root .pp-board-card:nth-child(3){animation-delay:.11s}.pp-root .pp-board-card:nth-child(4){animation-delay:.15s}.pp-root .pp-board-card:nth-child(5){animation-delay:.19s}.pp-root .pp-board-card:nth-child(6){animation-delay:.23s}.pp-root .pp-board-card:nth-child(n+7){animation-delay:.27s}.pp-root .pp-board-card:hover{transform:translateY(-3px);box-shadow:var(--pp-shadow-hover)}.pp-root *::-webkit-scrollbar{width:10px;height:10px}.pp-root *::-webkit-scrollbar-track{background:transparent}.pp-root *::-webkit-scrollbar-thumb{background:#312622;border-radius:6px;border:2px solid transparent;background-clip:content-box}.pp-root *::-webkit-scrollbar-thumb:hover{background:#4d3f3a;background-clip:content-box}.pp-shell{display:flex;flex-direction:column;flex:1;min-height:0}.pp-topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--pp-border);background:#0b0605b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pp-tabs{display:flex;gap:4px}.pp-tab{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:transparent;color:var(--pp-muted-strong);border:1px solid transparent;font-size:13px;font-weight:500;white-space:nowrap}.pp-tab.on{background:var(--pp-accent-subtle);color:var(--pp-text);border-color:var(--pp-border)}.pp-tab:hover:not(.on){color:var(--pp-text)}.pp-tab-select{display:none;width:auto;min-width:140px;padding:8px 32px 8px 14px;font-size:14px;font-weight:500;background-color:var(--pp-accent-subtle);border-color:var(--pp-border);color:var(--pp-text)}.pp-body{flex:1;min-height:0;display:flex}.pp-rail{width:240px;flex:0 0 auto;border-right:1px solid var(--pp-border);padding:18px;overflow-y:auto}.pp-content{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:22px}.pp-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.pp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--pp-border);background:var(--pp-surface);color:var(--pp-text);transition:background .12s ease,border-color .12s ease}.pp-btn:hover{background:var(--pp-bg-hover)}.pp-btn.primary{background:var(--pp-accent);color:var(--pp-accent-fg);border-color:var(--pp-accent)}.pp-btn.primary:hover{background:var(--pp-accent-hover)}.pp-btn.ghost{background:transparent}.pp-input,.pp-select,.pp-textarea{width:100%;padding:9px 11px;background:#0b0605b3;border:1px solid var(--pp-border);color:var(--pp-text);border-radius:var(--pp-radius-sm);font-family:inherit;font-size:13px;line-height:1.3;transition:border-color .12s ease,box-shadow .12s ease}.pp-textarea{min-height:70px;resize:vertical}.pp-select,.pp-root select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%23bda186' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='m4 6 4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px;cursor:pointer}.pp-root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),.pp-root textarea,.pp-root select{background-color:#0b0605b3;border:1px solid var(--pp-border);color:var(--pp-text);border-radius:var(--pp-radius-sm);font-family:inherit}.pp-root input[type=date],.pp-root input[type=datetime-local],.pp-root input[type=time]{padding:8px 10px;font-family:var(--pp-mono);font-size:12px}.pp-root input[type=date]::-webkit-calendar-picker-indicator,.pp-root input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(.3) saturate(1.5) hue-rotate(-10deg);cursor:pointer;opacity:.8}.pp-root input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.pp-root input[type=number]{font-family:var(--pp-mono)}.pp-root input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--pp-accent)}.pp-drawer-backdrop,.pp-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0100008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;animation:pp-fadeIn .18s ease}.pp-drawer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,92vw);max-height:calc(100vh - 32px);background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius-lg);display:flex;flex-direction:column;z-index:21;animation:pp-modalIn .24s cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards;box-shadow:0 20px 80px #010000b3;overflow:hidden}.pp-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(540px,92vw);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-radius-lg);padding:22px;z-index:22;animation:pp-modalIn .22s cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards;box-shadow:var(--pp-shadow-hover)}.pp-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--pp-border);background:#0b0605b3;color:var(--pp-muted-strong);white-space:nowrap}.pp-chip .pp-chip-dot{width:6px;height:6px;border-radius:999px;background:currentColor}.pp-id{font-family:var(--pp-mono);font-size:11px;color:var(--pp-muted-strong);letter-spacing:.02em}.pp-back{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid var(--pp-border);background:#0b060599;color:var(--pp-muted-strong);font-size:12.5px;font-weight:500;transition:background .12s ease,color .12s ease,transform .12s ease;cursor:pointer}.pp-back:hover{background:var(--pp-bg-hover);color:var(--pp-text);transform:translate(-2px)}.pp-brand{display:flex;align-items:center;gap:10px}.pp-board-col{background:#0b060566;border:1px solid var(--pp-border);border-radius:14px;padding:10px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.pp-board-col.is-drop-target{background:var(--pp-accent-subtle);border:1.5px dashed var(--pp-accent);box-shadow:0 0 0 4px #bd795326,0 8px 24px #bd79532e;transform:translateY(-2px) scale(1.005)}.pp-board-col.is-drop-target .pp-board-col-head{color:var(--pp-accent-hover)}@keyframes pp-dropPulse{0%{box-shadow:0 0 #bd795359,0 8px 24px #bd79532e}50%{box-shadow:0 0 0 8px #bd79531a,0 8px 24px #bd79532e}to{box-shadow:0 0 #bd795359,0 8px 24px #bd79532e}}.pp-board-col.is-drop-target{animation:pp-dropPulse 1.4s ease-in-out infinite}.pp-drawer-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pp-drawer-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-newf-triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 480px){.pp-drawer-fields,.pp-drawer-dates,.pp-newf-triplet{grid-template-columns:1fr}}.pp-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pp-dashboard-rows{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}@media (max-width: 960px){.pp-dashboard-rows{grid-template-columns:1fr}}@media (max-width: 640px){.pp-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 420px){.pp-dashboard-kpis{grid-template-columns:1fr}}.pp-roadmap-buckets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pp-roadmap-bucket{background:#0b060566;border:1px solid var(--pp-border);border-radius:12px;padding:10px;min-height:60px}.pp-md{font-size:13px;line-height:1.55;color:var(--pp-text)}.pp-md>*:first-child{margin-top:0}.pp-md>*:last-child{margin-bottom:0}.pp-md p{margin:0 0 8px}.pp-md h1,.pp-md h2,.pp-md h3,.pp-md h4,.pp-md h5,.pp-md h6{margin:14px 0 6px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--pp-text)}.pp-md h1{font-size:18px}.pp-md h2{font-size:16px}.pp-md h3{font-size:14px}.pp-md h4,.pp-md h5,.pp-md h6{font-size:13px;color:var(--pp-muted-strong)}.pp-md ul,.pp-md ol{margin:0 0 8px;padding-left:22px}.pp-md li{margin:2px 0}.pp-md li>p{margin:0}.pp-md ul li::marker{color:var(--pp-muted)}.pp-md input[type=checkbox]{margin-right:6px;accent-color:var(--pp-accent)}.pp-md blockquote{margin:0 0 8px;padding:4px 10px;border-left:3px solid var(--pp-border);color:var(--pp-muted-strong);background:#0b060566;border-radius:0 6px 6px 0}.pp-md hr{border:0;border-top:1px solid var(--pp-border);margin:12px 0}.pp-md a{color:var(--pp-accent);text-decoration:underline;text-underline-offset:2px}.pp-md table{border-collapse:collapse;margin:0 0 10px;font-size:12.5px;width:100%}.pp-md th,.pp-md td{border:1px solid var(--pp-border);padding:5px 9px;text-align:left}.pp-md th{background:#0b060599;font-weight:600;color:var(--pp-muted-strong)}.pp-md del{color:var(--pp-muted)}.pp-md img{max-width:100%;border-radius:6px}.pp-md-readonly{border:1px solid transparent;border-radius:10px;padding:8px 10px;cursor:text;min-height:38px;transition:background .12s ease,border-color .12s ease}.pp-md-readonly:hover{background:#0b060566;border-color:var(--pp-border)}.pp-md-code{background:#0b0605d9;border:1px solid var(--pp-border);border-radius:4px;padding:0 6px;font-family:var(--pp-mono);font-size:12px;color:var(--pp-text)}.pp-md-pre{position:relative;background:#070403;border:1px solid var(--pp-border);border-radius:10px;padding:12px 14px;margin:0 0 10px;font-family:var(--pp-mono);font-size:12px;line-height:1.5;color:var(--pp-text);overflow-x:auto;white-space:pre}.pp-md-pre code{background:transparent;padding:0;border:0}.pp-md-lang{position:absolute;top:6px;right:10px;font-family:var(--pp-mono);font-size:9.5px;letter-spacing:.06em;color:var(--pp-muted);text-transform:uppercase}.pp-toast{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#100908f2;border:1px solid var(--pp-border);color:var(--pp-text);padding:10px 16px;border-radius:999px;font-size:13px;z-index:30;animation:pp-toastIn .22s cubic-bezier(.2,.7,.2,1);animation-fill-mode:forwards;box-shadow:var(--pp-shadow)}@media (max-width: 960px){.pp-content{padding:16px}.pp-topbar{padding:12px 14px;gap:8px;flex-wrap:wrap}}@media (max-width: 640px){.pp-topbar{padding:10px 12px;gap:8px;flex-wrap:nowrap}.pp-brand,.pp-back-label{display:none}.pp-back{padding:6px 8px}.pp-tabs{display:none}.pp-tab-select{display:inline-block;flex:1;min-width:0}.pp-btn.primary{padding:9px 12px}.pp-new-label,.pp-copy-label{display:none}.pp-content{padding:12px}.pp-filterbar{padding:10px 12px!important;gap:10px!important}.pp-filterbar>*{flex:0 0 auto}.pp-filterbar .pp-search{flex:1 1 100%!important}.pp-board-grid{grid-template-columns:1fr!important}.pp-roadmap-buckets{grid-template-columns:1fr}.pp-drawer{width:100%;max-width:100%;max-height:100%;border:none;border-radius:0}.pp-modal{padding:16px}.pp-input,.pp-select,.pp-textarea{font-size:14px}.pp-root input[type=text],.pp-root input[type=number],.pp-root input[type=date],.pp-root input[type=search],.pp-root textarea{font-size:16px}}:root{--bg-0: oklch(.175 .01 255);--bg-1: oklch(.205 .01 255);--bg-2: oklch(.235 .012 255);--bg-hover: oklch(.26 .014 255);--border: oklch(.3 .012 255);--border-soft: oklch(.25 .012 255);--fg: oklch(.965 .005 255);--fg-muted: oklch(.72 .01 255);--fg-dim: oklch(.55 .01 255);--accent: oklch(.8 .135 75);--accent-dim: oklch(.55 .09 75);--pos: oklch(.78 .16 150);--pos-dim: oklch(.45 .1 150);--neg: oklch(.7 .19 25);--neg-dim: oklch(.42 .12 25);--warn: oklch(.82 .14 85);--info: oklch(.75 .1 230);--ff-sans: "Inter", -apple-system, system-ui, sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.2,.7,.2,1);--nav-w: 232px;--radius: 6px;--radius-sm: 4px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--ff-sans);background:var(--bg-0);color:var(--fg);font-size:14px;line-height:1.5;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:var(--nav-w) 1fr;min-height:100vh}.nav{border-right:1px solid var(--border-soft);background:var(--bg-0);padding:18px 10px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}.nav-brand{display:flex;align-items:center;gap:10px;padding:6px 12px 18px;font-weight:600;letter-spacing:-.01em;font-size:15px}.nav-brand .logo{width:22px;height:22px;border-radius:5px;background:linear-gradient(140deg,var(--accent),var(--accent-dim));position:relative}.nav-brand .logo:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-left:2px solid var(--bg-0);border-bottom:2px solid var(--bg-0)}.nav-brand .env{font-family:var(--ff-mono);font-size:10px;color:var(--fg-dim);margin-left:auto;padding:2px 6px;border:1px solid var(--border);border-radius:3px;letter-spacing:.04em}.nav-section{text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;color:var(--fg-dim);padding:16px 12px 6px;font-weight:500}.nav a,.nav button.nav-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius-sm);color:var(--fg-muted);text-decoration:none;font-size:13.5px;border:0;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background .12s var(--ease),color .12s var(--ease)}.nav a:hover,.nav button.nav-item:hover{background:var(--bg-1);color:var(--fg)}.nav a.active,.nav button.nav-item.active{background:var(--bg-2);color:var(--fg)}.nav a.active:before{content:"";width:3px;height:16px;background:var(--accent);border-radius:2px;margin-right:-13px;margin-left:-10px}.nav-icon{width:14px;height:14px;opacity:.85;display:inline-flex;align-items:center;justify-content:center;color:currentColor}.nav-footer{margin-top:auto;padding:12px;border-top:1px solid var(--border-soft);display:flex;align-items:center;gap:10px;color:var(--fg-dim);font-size:12px}.nav-footer .avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,#40639c,#422e62);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--fg);font-weight:600}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid var(--border-soft);background:var(--bg-0);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .crumb{color:var(--fg-dim);font-size:12.5px;display:flex;gap:8px;align-items:center}.topbar .crumb b{color:var(--fg);font-weight:500}.topbar .spacer{flex:1}.search{display:flex;align-items:center;gap:8px;background:var(--bg-1);border:1px solid var(--border-soft);border-radius:var(--radius);padding:6px 10px;min-width:320px;color:var(--fg-muted);font-size:13px;position:relative}.search:focus-within{border-color:var(--accent-dim);background:var(--bg-2)}.search input{background:transparent;border:0;outline:0;flex:1;font-size:13px;color:var(--fg)}.search kbd{font-family:var(--ff-mono);font-size:10.5px;background:var(--bg-2);border:1px solid var(--border);padding:1px 5px;border-radius:3px;color:var(--fg-dim)}.search-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:6px;z-index:20;box-shadow:0 10px 30px #0006;max-height:360px;overflow:auto}.search-pop .row{padding:7px 10px;display:flex;gap:10px;align-items:center;border-radius:4px;cursor:pointer;font-size:13px}.search-pop .row:hover,.search-pop .row.hit{background:var(--bg-hover)}.search-pop .row .sym{font-family:var(--ff-mono);font-weight:600;width:72px}.search-pop .row .nm{color:var(--fg-muted);flex:1}.search-pop .row .px{font-family:var(--ff-mono);color:var(--fg-muted)}.clock{font-family:var(--ff-mono);font-size:12px;color:var(--fg-muted)}.dot{width:7px;height:7px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 3px #5fd37f2e;display:inline-block}.dot.off{background:var(--neg);box-shadow:0 0 0 3px #ff645f2e}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px #eebc4a2e}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-size:11.5px;border-radius:999px;border:1px solid var(--border);color:var(--fg-muted);background:var(--bg-1);font-family:var(--ff-mono);letter-spacing:.02em}.pill.pos{color:var(--pos);border-color:color-mix(in oklch,var(--pos) 40%,var(--border))}.pill.neg{color:var(--neg);border-color:color-mix(in oklch,var(--neg) 40%,var(--border))}.pill.warn{color:var(--warn);border-color:color-mix(in oklch,var(--warn) 40%,var(--border))}.page{padding:28px 28px 60px;max-width:1600px}.page h1{font-size:24px;font-weight:600;letter-spacing:-.015em;margin:0 0 2px}.page .sub{color:var(--fg-dim);font-size:13px;margin-bottom:22px}.page-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}.page-head .sub{margin:0}.card{background:var(--bg-1);border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.card-head h3{font-size:13px;font-weight:500;margin:0;letter-spacing:.01em}.card-head .meta{color:var(--fg-dim);font-size:12px;font-family:var(--ff-mono)}.card-body{padding:16px}.card-body.pad-lg{padding:22px}.card-body.pad-none{padding:0}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .label{color:var(--fg-dim);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}.kpi .value{font-family:var(--ff-mono);font-size:22px;font-weight:500;letter-spacing:-.01em}.kpi .delta{font-family:var(--ff-mono);font-size:12px;color:var(--fg-muted)}.kpi .delta.pos{color:var(--pos)}.kpi .delta.neg{color:var(--neg)}.grid{display:grid;gap:16px}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2-1{grid-template-columns:2fr 1fr}.grid-3-2{grid-template-columns:3fr 2fr}@media (max-width: 1400px){.grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1100px){.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2-1,.grid-3-2{grid-template-columns:1fr}}.hamburger{display:none;background:transparent;border:0;padding:6px;color:var(--fg);cursor:pointer;margin-right:-4px;border-radius:var(--radius-sm)}.hamburger:hover{background:var(--bg-1)}.hamburger svg{display:block}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:99;opacity:0;transition:opacity .18s var(--ease)}.nav-backdrop.open{opacity:1}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-weight:500;color:var(--fg-dim);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:10px 16px;border-bottom:1px solid var(--border-soft);background:var(--bg-1);position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tbl thead th:hover,.tbl thead th.sorted{color:var(--fg)}.tbl thead th .arrow{opacity:.7;margin-left:4px;font-size:10px}.tbl tbody td{padding:10px 16px;border-bottom:1px solid var(--border-soft);vertical-align:middle}.tbl tbody tr{transition:background .1s var(--ease)}.tbl tbody tr:hover{background:var(--bg-hover)}.tbl tbody tr.clickable{cursor:pointer}.tbl .num{font-family:var(--ff-mono);text-align:right}.tbl .sym{font-family:var(--ff-mono);font-weight:600}.tbl .right{text-align:right}.tbl tfoot td{padding:8px 16px;color:var(--fg-dim);font-size:12px}.pos{color:var(--pos)}.neg{color:var(--neg)}.muted{color:var(--fg-muted)}.dim{color:var(--fg-dim)}.mono{font-family:var(--ff-mono)}.input,.select{background:var(--bg-1);border:1px solid var(--border-soft);color:var(--fg);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--ff-sans);outline:0;transition:border-color .12s var(--ease),background .12s var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input.mono{font-family:var(--ff-mono)}.input:focus,.select:focus{border-color:var(--accent-dim);background:var(--bg-2)}.input::placeholder{color:var(--fg-dim)}.select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238a8c94' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.btn{background:var(--bg-1);border:1px solid var(--border);color:var(--fg);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s var(--ease),border-color .12s var(--ease)}.btn:hover{background:var(--bg-2)}.btn.primary{background:var(--accent);color:#11161d;border-color:var(--accent)}.btn.primary:hover{background:color-mix(in oklch,var(--accent) 85%,white)}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg-muted)}.btn.ghost:hover{color:var(--fg);background:var(--bg-1)}.btn.sm{padding:3px 8px;font-size:12px}.toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border-soft);background:var(--bg-1);flex-wrap:wrap}.toolbar .label{color:var(--fg-dim);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase}.toolbar .spacer{flex:1}.seg{display:inline-flex;background:var(--bg-0);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{background:transparent;color:var(--fg-muted);border:0;padding:4px 10px;font-size:12px;font-weight:500;border-radius:3px;cursor:pointer}.seg button:hover{color:var(--fg)}.seg button.on{background:var(--bg-2);color:var(--fg)}.progress{height:6px;width:100%;background:var(--bg-0);border-radius:3px;overflow:hidden;border:1px solid var(--border-soft)}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s var(--ease)}.progress.pos>span{background:var(--pos)}.progress.neg>span{background:var(--neg)}.progress.warn>span{background:var(--warn)}.spark{display:inline-block;vertical-align:middle}.state{display:inline-flex;gap:6px;align-items:center;font-size:12px}.state .dot{margin-right:2px}.tip{position:fixed;pointer-events:none;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--ff-mono);font-size:11.5px;color:var(--fg);box-shadow:0 6px 20px #00000073;z-index:50;transform:translate(8px,8px);line-height:1.6;white-space:nowrap}.tip .row{display:flex;gap:10px;justify-content:space-between}.tip .row .k{color:var(--fg-dim)}.tweaks{position:fixed;right:20px;bottom:20px;width:280px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 50px #00000080;z-index:100;overflow:hidden}.tweaks .h{padding:10px 14px;font-weight:500;font-size:12.5px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px}.tweaks .b{padding:12px 14px;display:flex;flex-direction:column;gap:14px}.tweaks .grp .lbl{color:var(--fg-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.tweaks .opts{display:flex;flex-wrap:wrap;gap:6px}.tweaks .opt{background:var(--bg-0);border:1px solid var(--border-soft);padding:4px 10px;border-radius:3px;font-size:12px;cursor:pointer;color:var(--fg-muted)}.tweaks .opt.on{background:var(--bg-2);color:var(--fg);border-color:var(--accent-dim)}svg text{fill:var(--fg-muted);font-family:var(--ff-mono);font-size:10.5px}svg .axis line,svg .axis path{stroke:var(--border-soft)}svg .grid line{stroke:var(--border-soft);stroke-dasharray:2 3;opacity:.7}.empty{padding:48px;text-align:center;color:var(--fg-dim);font-size:13px}.empty .big{color:var(--fg-muted);font-size:15px;margin-bottom:6px;font-weight:500}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:var(--bg-2);border-radius:10px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--border)}.login-root{min-height:100vh;width:100%;display:grid;place-items:center;background:var(--bg-0);padding:24px}.login-card{width:100%;max-width:360px;background:var(--bg-1);border:1px solid var(--border-soft);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 40px #00000059}.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}.login-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(140deg,var(--accent),var(--accent-dim));margin-bottom:8px}.login-title{font-size:22px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.login-sub{font-size:13px;color:var(--fg-dim)}.login-label{font-size:12px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.login-input{width:100%;padding:12px 14px;font-size:15px;background:var(--bg-0);color:var(--fg);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .12s ease,box-shadow .12s ease;-webkit-appearance:none}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 25%,transparent)}.login-btn{margin-top:4px;padding:11px 14px;font-size:14px;font-weight:600;color:var(--bg-0);background:var(--accent);border:0;border-radius:8px;cursor:pointer;transition:background .12s ease,opacity .12s ease}.login-btn:hover:not(:disabled){background:color-mix(in oklch,var(--accent) 85%,white)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{font-size:13px;color:#f47b74;background:color-mix(in oklch,oklch(.72 .15 25) 15%,transparent);border:1px solid color-mix(in oklch,oklch(.72 .15 25) 35%,transparent);border-radius:6px;padding:8px 10px}.login-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:login-spin .6s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.app{grid-template-columns:1fr}.nav{position:fixed;top:0;bottom:0;left:0;width:min(280px,82vw);height:100vh;z-index:100;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:4px 0 30px #0000008c;padding-bottom:max(18px,env(safe-area-inset-bottom))}.nav.open{transform:translate(0)}.nav-backdrop{display:block;pointer-events:none}.nav-backdrop.open{pointer-events:auto}.hamburger{display:inline-flex;align-items:center}.topbar{padding:10px 14px;gap:10px}.topbar .crumb{font-size:12px;min-width:0}.topbar .crumb>span:first-child{display:none}.topbar .crumb>span:nth-child(2){display:none}.topbar .spacer{flex:1}.topbar>.clock,.topbar>.pill,.topbar>.btn.ghost{display:none}.topbar .search{min-width:0;flex:0 1 180px;padding:5px 8px}.topbar .search kbd{display:none}.topbar .search input{font-size:16px}.page{padding:14px 12px max(40px,env(safe-area-inset-bottom));max-width:100%}.page h1{font-size:20px}.page .sub{margin-bottom:12px;font-size:12.5px}.page-head{gap:10px;margin-bottom:14px;align-items:flex-start}.kpi .value{font-size:18px}.kpi .delta{font-size:11px}.card-body,.card-body.pad-lg{padding:12px}.card-head{padding:10px 12px}.card-head h3{font-size:12.5px}.grid{gap:10px}.grid-5,.grid-4,.grid-3{grid-template-columns:1fr 1fr}.card-body.pad-none{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{min-width:520px;font-size:12.5px}.tbl thead th,.tbl tbody td{padding:8px 12px}.input,.select,.login-input{font-size:16px}.tweaks{right:12px;bottom:12px;left:12px;width:auto}.card svg{max-width:100%}}@media (max-height: 560px) and (orientation: landscape){.topbar{padding:6px 10px}.topbar .crumb b{font-size:13px}.page{padding:8px 10px 12px}.page-head{margin-bottom:6px}.page-head h1{font-size:15px}.page-head .sub{display:none}.card-head{padding:6px 12px}.card-head h3{font-size:12px}.card-head .meta{display:none}.kpi .value{font-size:16px}.kpi .delta{font-size:10.5px}.card-body{padding:8px 12px}}
