:root{--font-sans: "Satoshi", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Clash Display", "Satoshi", system-ui, sans-serif;--bg: #f3efe6;--canvas: #fdfbf6;--surface: #ffffff;--surface2: #f7f3ea;--surface3: #efe9dc;--border: #ebe4d6;--border-strong: #ddd4c1;--text: #1d2118;--text2: #4a4a3f;--muted: #8a8475;--faint: #aaa394;--accent: #36683e;--accent-hover: #2a5531;--accent-soft: #e4eedf;--accent-text: #ffffff;--play: #4ea35d;--danger: #c0442b;--danger-soft: #fae6e0;--warn: #b26a12;--warn-soft: #fbf0db;--ok: #3f8a3f;--ok-soft: #e7f1e2;--info: #3d6a96;--info-soft: #e4edf6;--tile-peach: #fce4dc;--tile-peach-ink: #8f3d24;--tile-lilac: #ece2f4;--tile-lilac-ink: #5a3d77;--tile-mint: #ddeade;--tile-mint-ink: #2f5d3a;--tile-sky: #dde8f3;--tile-sky-ink: #2e5676;--tile-sand: #f6ebd4;--tile-sand-ink: #7a5a16;--on-tint: rgba(255, 255, 255, .72);--on-tint-soft: rgba(255, 255, 255, .62);--on-tint-btn: rgba(255, 255, 255, .5);--on-tint-btn-hover: rgba(255, 255, 255, .8);--on-tint-strong: rgba(255, 255, 255, .9);--dial-face: rgba(255, 255, 255, .45);--dial-track: rgba(255, 255, 255, .75);--hero: #e7efe1;--hero-ink: #27341f;--rail-top: #ffeadb;--rail-bottom: #ffd9bd;--rail-ink: #4a2f1c;--promo-from: #c2571e;--promo-to: #e8883f;--c-productive: #2f9e44;--c-neutral: #8a7d64;--c-unproductive: #cf4228;--c-uncategorized: #c98113;--c-idle: #ddd3bd;--c-locked: #6a5f4b;--shadow-xs: 0 1px 2px rgba(60, 42, 20, .05);--shadow-sm: 0 1px 2px rgba(60, 42, 20, .04), 0 2px 8px rgba(60, 42, 20, .05);--shadow-md: 0 2px 4px rgba(60, 42, 20, .04), 0 12px 32px rgba(60, 42, 20, .08);--shadow-lg: 0 18px 52px rgba(40, 28, 14, .18);--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);--radius: 14px;--radius-sm: 10px;--radius-lg: 22px;--radius-pill: 999px;--sidebar-w: 246px;--rail-w: 332px;color-scheme:light;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8475' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}:root[data-theme=dark]{--bg: #13110d;--canvas: #1a1713;--surface: #211d18;--surface2: #2a251e;--surface3: #332d24;--border: #332d23;--border-strong: #4a4232;--text: #f2ece0;--text2: #d2cab8;--muted: #9c9382;--faint: #716858;--accent: #63b071;--accent-hover: #7cc489;--accent-soft: #1b2a1d;--accent-text: #11180f;--play: #63b071;--danger: #ef8a76;--danger-soft: #2a1713;--warn: #e0a64e;--warn-soft: #251c10;--ok: #68c472;--ok-soft: #132414;--info: #7fa9d4;--info-soft: #141f2a;--tile-peach: #3a241c;--tile-peach-ink: #f3b79e;--tile-lilac: #2b2338;--tile-lilac-ink: #c9aee6;--tile-mint: #1e2e21;--tile-mint-ink: #9ed3a9;--tile-sky: #1c2733;--tile-sky-ink: #a6c6e2;--tile-sand: #302716;--tile-sand-ink: #e0c184;--on-tint: rgba(255, 255, 255, .13);--on-tint-soft: rgba(255, 255, 255, .07);--on-tint-btn: rgba(255, 255, 255, .1);--on-tint-btn-hover: rgba(255, 255, 255, .2);--on-tint-strong: rgba(255, 255, 255, .92);--dial-face: rgba(255, 255, 255, .04);--dial-track: rgba(255, 255, 255, .1);--hero: #22301f;--hero-ink: #dceccf;--rail-top: #2e2219;--rail-bottom: #3a291d;--rail-ink: #f0dcc8;--promo-from: #8c3d14;--promo-to: #c0702f;--c-productive: #46c55a;--c-neutral: #9d9274;--c-unproductive: #f0836b;--c-uncategorized: #e0a54e;--c-idle: #393326;--c-locked: #6f6450;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 52px rgba(0, 0, 0, .6);color-scheme:dark;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239c9382' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-family:var(--font-display);font-size:25px;font-weight:600;letter-spacing:-.02em;margin:0}h2{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0}h3{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}h4{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin:22px 0 10px}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.kpi-value,.table td.right,.table th.right,.score,.tl-tip,tfoot td,.dial-time,.stat-value{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.grow{flex:1}.row{display:flex;align-items:center}.row.gap{gap:8px}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:18px}.right{text-align:right}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center{text-align:center}.app{display:flex;min-height:100%;background:var(--bg)}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--canvas);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 20px}.brand .logo{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center}.brand .logo svg{width:20px;height:20px}.brand-name{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.15}.brand-sub{font-size:11.5px;color:var(--muted);line-height:1.2}.nav-group{margin-bottom:4px}.nav-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text);padding:12px 10px 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-title .chev{color:var(--faint);font-size:10px;transition:transform .18s ease}.nav-title.collapsed .chev{transform:rotate(-90deg)}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:1px 0;border-radius:var(--radius-sm);color:var(--text2);font-weight:500;font-size:13.5px;text-decoration:none;position:relative}.nav-link:hover{background:var(--surface2);text-decoration:none;color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent)}.nav-link .nav-ico{width:17px;height:17px;flex:0 0 17px;opacity:.72}.nav-link.active .nav-ico{opacity:1}.nav-link .nav-count{margin-left:auto;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);display:grid;place-items:center}.nav-dot{width:8px;height:8px;border-radius:3px;flex:0 0 8px}.sidebar-foot{margin-top:auto;padding:14px 10px 4px;font-size:11.5px;color:var(--faint);line-height:1.5}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas)}.content{padding:0 26px 34px;flex:1;min-width:0}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);background:linear-gradient(170deg,var(--rail-top) 0%,var(--rail-bottom) 100%);color:var(--rail-ink);padding:18px 20px 22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;overflow-y:auto}.rail-head{display:flex;align-items:center;gap:10px}.rail-collapse{width:28px;height:28px;border-radius:9px;border:none;background:var(--on-tint-btn);color:var(--rail-ink);cursor:pointer;font-size:13px;display:grid;place-items:center}.rail-collapse:hover{background:var(--on-tint-btn-hover)}.rail-user{margin-left:auto;text-align:right;line-height:1.25}.rail-user .r-plan{font-size:11px;opacity:.72}.rail-user .r-name{font-weight:600;font-size:13.5px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 38px}.dial-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 2px}.dial{position:relative;width:196px;height:196px}.dial svg{width:100%;height:100%;display:block}.dial-center{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.dial-btn{width:56px;height:56px;border-radius:50%;border:none;background:var(--play);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px #316e3e59;pointer-events:auto}.dial-btn:hover{filter:brightness(1.07)}.dial-btn svg{width:20px;height:20px}.dial-time{font-family:var(--font-display);font-size:31px;font-weight:600;letter-spacing:.01em}.dial-cap{font-size:12px;opacity:.72}.rail-legend{display:flex;flex-direction:column;gap:7px}.rail-legend-row{display:flex;align-items:center;gap:9px;font-size:12.5px}.rail-legend-row i{width:9px;height:9px;border-radius:3px;flex:0 0 9px}.rail-legend-row b{margin-left:auto;font-variant-numeric:tabular-nums}.rail-card{background:var(--on-tint-soft);border-radius:var(--radius);padding:13px 14px}.rail-card h5{margin:0 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.66;font-weight:700}.rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.rail-list li{display:flex;align-items:center;gap:9px;font-size:12.5px}.rail-list .r-when{margin-left:auto;opacity:.66;font-size:11.5px;white-space:nowrap}.promo{margin-top:auto;background:linear-gradient(100deg,var(--promo-from),var(--promo-to));color:#fff;border-radius:var(--radius);padding:14px 15px;display:flex;align-items:center;gap:12px;text-decoration:none;box-shadow:var(--shadow-sm)}.promo:hover{text-decoration:none;filter:brightness(1.05)}.promo .promo-ico{font-size:19px}.promo .promo-t{font-weight:700;font-size:13.5px;line-height:1.2}.promo .promo-s{font-size:11.5px;opacity:.88}.promo .promo-go{margin-left:auto;width:27px;height:27px;border-radius:50%;background:var(--on-tint-strong);color:var(--promo-from);display:grid;place-items:center;font-weight:700;flex:0 0 27px}.topbar{display:flex;align-items:center;gap:12px;padding:18px 26px 16px;position:sticky;top:0;z-index:20;background:var(--canvas)}.search{flex:1;max-width:420px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:9px 16px;box-shadow:var(--shadow-xs)}.search svg{width:16px;height:16px;color:var(--faint);flex:0 0 16px}.search input{border:none;background:none;outline:none;flex:1;font:inherit;color:var(--text);min-width:0}.search input::placeholder{color:var(--faint)}.icon-btn{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text2);display:grid;place-items:center;cursor:pointer;position:relative;box-shadow:var(--shadow-xs)}.icon-btn:hover{background:var(--surface2)}.icon-btn svg{width:17px;height:17px}.icon-btn .pip{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.menu-btn{display:none}.search-pop{position:absolute;top:58px;left:26px;width:420px;max-height:60vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:40;padding:6px}.search-pop .sp-group{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;padding:9px 10px 5px}.search-pop .sp-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:none;border:none;font:inherit;color:var(--text);cursor:pointer;text-align:left}.search-pop .sp-item:hover{background:var(--surface2)}.search-pop .sp-item .sp-meta{margin-left:auto;color:var(--muted);font-size:12px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:6px 0 18px}.page-head p{margin:5px 0 0;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background .14s ease,border-color .14s ease,transform .08s ease}.btn:hover{background:var(--surface2)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{background:none;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--surface2)}.btn.sm{padding:6px 12px;font-size:12.5px}.btn.lg{padding:12px 22px;font-size:14.5px;font-weight:600}.btn svg{width:15px;height:15px}.seg-group{display:inline-flex;background:var(--surface2);border-radius:var(--radius-pill);padding:3px;gap:2px}.seg-group .btn{border:none;background:none;box-shadow:none}.seg-group .btn.primary{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.dd{position:relative}.dd-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:6px;z-index:50}.dd-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 11px;border-radius:var(--radius-sm);background:none;border:none;font:inherit;color:var(--text);cursor:pointer;text-align:left}.dd-menu button:hover{background:var(--surface2)}.dd-menu button:disabled{opacity:.5;cursor:not-allowed}.dd-sep{height:1px;background:var(--border);margin:5px 2px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.stat{border-radius:var(--radius-lg);padding:18px 18px 16px;display:flex;align-items:flex-start;gap:12px;min-height:112px;position:relative;overflow:hidden;text-decoration:none}.stat:hover{text-decoration:none;filter:brightness(.985)}.stat .stat-body{flex:1;min-width:0}.stat-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.stat-value{font-family:var(--font-display);font-size:29px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.stat-chip{background:var(--on-tint);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:600}.stat-label{margin-top:7px;font-size:13px;font-weight:500;opacity:.82}.stat-art{width:54px;height:54px;flex:0 0 54px;opacity:.95}.stat.peach{background:var(--tile-peach);color:var(--tile-peach-ink)}.stat.lilac{background:var(--tile-lilac);color:var(--tile-lilac-ink)}.stat.mint{background:var(--tile-mint);color:var(--tile-mint-ink)}.stat.sky{background:var(--tile-sky);color:var(--tile-sky-ink)}.stat.sand{background:var(--tile-sand);color:var(--tile-sand-ink)}.hero{background:var(--hero);color:var(--hero-ink);border-radius:var(--radius-lg);padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;position:relative;overflow:hidden}.hero h2{font-size:31px;line-height:1.16;max-width:13ch;margin-bottom:20px}.hero p{margin:0;font-size:13.5px;opacity:.8;max-width:44ch}.hero-art{justify-self:end;width:100%;max-width:310px}.hero-art svg{width:100%;height:auto;display:block}.quick{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-xs)}.quick .q-label{font-weight:600;display:flex;align-items:center;gap:8px}.quick .q-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:15px}.quick .q-go{width:34px;height:34px;border-radius:50%;border:none;background:var(--play);color:#fff;display:grid;place-items:center;cursor:pointer}.quick .q-go:hover{filter:brightness(1.07)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-xs)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.card.flush{padding:0;overflow:hidden}.card.flush .card-head{padding:18px 20px 0;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-xs)}.kpi-label{font-size:11.5px;color:var(--muted);font-weight:500}.kpi-value{font-family:var(--font-display);font-size:22px;font-weight:600;margin-top:3px;letter-spacing:-.01em}.kpi-sub{font-size:11.5px;color:var(--faint);margin-top:2px}.kpi.good .kpi-value{color:var(--ok)}.kpi.bad .kpi-value{color:var(--danger)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-weight:500;color:var(--muted);font-size:12.5px;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--surface2)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table .arrow{font-size:9px;color:var(--accent)}.table td.empty,.empty{padding:34px 12px;text-align:center;color:var(--muted)}.table .bar-cell{width:34%;min-width:110px}.table.compact td{padding:9px 12px}.idcell{display:flex;align-items:center;gap:11px;min-width:0}.idtile{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--surface2);color:var(--text2);overflow:hidden}.idtile img{width:20px;height:20px}.idcell .id-main{font-weight:600;line-height:1.25}.idcell .id-sub{font-size:11.5px;color:var(--muted);line-height:1.2}.bar{background:var(--surface3);border-radius:var(--radius-pill);height:7px;overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent)}.bar-fill.productive{background:var(--c-productive)}.bar-fill.neutral{background:var(--c-neutral)}.bar-fill.unproductive{background:var(--c-unproductive)}.bar-fill.uncategorized{background:var(--c-uncategorized)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;background:var(--surface2);color:var(--text2);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}.badge.plain:before{display:none}.badge.lbl-productive{background:var(--ok-soft);color:var(--ok)}.badge.lbl-neutral{background:var(--surface2);color:var(--text2)}.badge.lbl-unproductive{background:var(--danger-soft);color:var(--danger)}.badge.lbl-uncategorized{background:var(--warn-soft);color:var(--warn)}.badge.st-present{background:var(--ok-soft);color:var(--ok)}.badge.st-late{background:var(--warn-soft);color:var(--warn)}.badge.st-absent{background:var(--danger-soft);color:var(--danger)}.badge.st-incomplete{background:var(--tile-sand);color:var(--tile-sand-ink)}.badge.edited{background:var(--tile-lilac);color:var(--tile-lilac-ink)}.badge.mock{background:var(--warn-soft);color:var(--warn)}.badge.neutral-badge{background:var(--surface2);color:var(--text2)}.badge.seg-badge-idle{background:var(--surface3);color:var(--muted)}.badge.seg-badge-locked{background:var(--surface3);color:var(--text2)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.good{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}.dot.off{background:var(--faint)}.score{font-weight:700}.score.good{color:var(--ok)}.score.ok{color:var(--warn)}.score.bad{color:var(--danger)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:none;border:none;font:inherit;cursor:pointer;padding:10px 14px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.pill-tabs{display:inline-flex;background:var(--surface2);border-radius:var(--radius-pill);padding:3px;gap:2px}.pill-tabs button{background:none;border:none;font:inherit;cursor:pointer;padding:6px 14px;border-radius:var(--radius-pill);color:var(--muted);font-weight:500;font-size:12.5px}.pill-tabs button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-xs)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}input[type=date]{padding:7px 10px}input:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:9px 34px 9px 14px;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);cursor:pointer;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 13px center;max-width:100%;text-overflow:ellipsis}select:hover:not(:disabled){background-color:var(--surface2);border-color:var(--border-strong)}select:disabled{opacity:.55;cursor:not-allowed}select option{background:var(--surface);color:var(--text)}select option:checked{background:var(--accent-soft);color:var(--accent)}.field select{width:100%;border-radius:var(--radius-sm);padding:8px 34px 8px 11px;box-shadow:none}.modal select{border-radius:var(--radius-sm)}.field{display:block;margin-bottom:14px}.field-label{display:block;font-size:12.5px;font-weight:500;color:var(--text2);margin-bottom:5px}.field input,.field select,.field textarea{width:100%}.hint{display:block;font-size:11.5px;color:var(--faint);margin-top:4px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check input{width:15px;height:15px;accent-color:var(--accent)}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.date-range input{background:var(--surface)}.error-box,.info-box{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px 15px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:13px}.error-box{background:var(--danger-soft);color:var(--danger)}.info-box{background:var(--info-soft);color:var(--info)}.info-box.small{font-size:12.5px;padding:9px 13px}.warn-text{color:var(--warn)}.spinner{display:flex;align-items:center;gap:10px;color:var(--muted);padding:30px 0;justify-content:center}.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:9px;z-index:300}.toast{background:var(--text);color:var(--canvas);padding:11px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:13px;max-width:360px}.toast.err{background:var(--danger);color:#fff}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d191273;display:grid;place-items:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(520px,100%);max-height:88vh;display:flex;flex-direction:column}.modal.wide{width:min(880px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--border)}.timeline-wrap{padding-top:6px}.timeline{position:relative;height:46px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm)}.tl-seg{position:absolute;top:5px;bottom:5px;border-radius:3px;cursor:pointer;min-width:2px}.tl-seg:hover,.tl-seg:focus{outline:2px solid var(--text);outline-offset:1px;z-index:2}.tl-seg.lbl-productive{background:var(--c-productive)}.tl-seg.lbl-neutral{background:var(--c-neutral)}.tl-seg.lbl-unproductive{background:var(--c-unproductive)}.tl-seg.lbl-uncategorized{background:var(--c-uncategorized)}.tl-seg.seg-idle{background:var(--c-idle)}.tl-seg.seg-locked{background:var(--c-locked)}.tl-tip{position:absolute;bottom:54px;transform:translate(-50%);background:var(--text);color:var(--canvas);padding:9px 12px;border-radius:var(--radius-sm);font-size:12px;min-width:190px;max-width:260px;z-index:10;box-shadow:var(--shadow-md);pointer-events:none}.tl-tip .muted{color:color-mix(in srgb,var(--canvas) 68%,transparent)}.tl-tip .ellipsis{max-width:210px}.tl-axis{position:relative;height:18px;margin-top:5px}.tl-axis span{position:absolute;transform:translate(-50%);font-size:11px;color:var(--faint)}.legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}.legend .lbl-productive{background:var(--c-productive)}.legend .lbl-neutral{background:var(--c-neutral)}.legend .lbl-unproductive{background:var(--c-unproductive)}.legend .lbl-uncategorized{background:var(--c-uncategorized)}.legend .seg-idle{background:var(--c-idle)}.legend .seg-locked{background:var(--c-locked)}.donut{position:relative}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.donut-center strong{font-family:var(--font-display);font-size:27px;display:block;text-align:center;line-height:1}.donut-center span{display:block;text-align:center}.att-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:14px}ul.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:13px}.shot{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface2);cursor:pointer}.shot img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}.shot .cap{padding:7px 9px;font-size:11.5px;color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.auth-brand{position:relative;overflow:hidden;background:radial-gradient(135% 120% at 12% 0%,#1f2a1c,#121511 58%);color:#eef3e8;padding:clamp(40px,5vw,76px);display:flex;flex-direction:column;gap:36px}.auth-brand:after{content:"";position:absolute;inset:auto -22% -28% auto;width:72%;height:68%;background:radial-gradient(closest-side,color-mix(in srgb,var(--play) 58%,transparent),transparent 72%);opacity:.45;pointer-events:none}.auth-brand>*{position:relative;z-index:1}.auth-mark{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.02em}.auth-mark .logo{background:linear-gradient(135deg,var(--play),#8fcf9b);color:#10210f}.auth-brand-body{margin-top:auto}.auth-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(38px,5vw,60px);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px;max-width:13ch}.auth-headline em{font-style:normal;color:var(--play)}.auth-tagline{color:#bfcdb8;font-size:15.5px;line-height:1.6;max-width:46ch;margin:0}.auth-points{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:11px}.auth-points li{display:flex;align-items:center;gap:12px;color:#cfdcc8;font-size:14px}.auth-points li:before{content:"";width:18px;height:18px;flex:none;border-radius:6px;background:color-mix(in srgb,var(--play) 20%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--play) 65%,transparent)}.auth-pulse{width:min(100%,360px);height:34px;color:var(--play);opacity:.85}.auth-panel{display:grid;place-items:center;padding:44px 24px}.auth-form{width:100%;max-width:376px}.auth-form h1{font-size:30px;margin-bottom:8px}.auth-lead{color:var(--muted);margin:0 0 26px;font-size:14.5px;line-height:1.5}.auth-form .field{margin-bottom:15px}.auth-form .field input{padding:11px 13px;font-size:14px;width:100%}.auth-row{display:flex;align-items:center;justify-content:flex-end;margin:-2px 0 18px}.auth-row a{font-size:13px;font-weight:600}.auth-submit{width:100%;padding:12px;font-size:14.5px}.auth-foot{margin-top:22px;font-size:13.5px;color:var(--muted)}.auth-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);color:var(--faint);font-size:12px;line-height:1.6}.auth-mobile-mark{display:none;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.02em;margin-bottom:26px}@media (max-width: 880px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-mark{display:inline-flex}.auth-panel{padding:34px 20px;align-items:start}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-page .card{width:min(420px,100%);padding:30px}.login-page h1{margin-bottom:7px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d191266;z-index:90;display:none}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding-top:14px}.pager .muted{margin-right:auto}.callout{display:flex;gap:13px;align-items:flex-start;background:var(--tile-sand);color:var(--tile-sand-ink);border-radius:var(--radius);padding:15px 17px;font-size:13px}.callout .co-ico{font-size:17px;line-height:1}.callout strong{display:block;margin-bottom:3px}.callout.info{background:var(--tile-sky);color:var(--tile-sky-ink)}.callout.bad{background:var(--danger-soft);color:var(--danger)}.steps{counter-reset:step;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.steps li{display:flex;gap:13px}.steps li:before{counter-increment:step;content:counter(step);width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:12.5px}.steps .st-body{flex:1;min-width:0}.steps .st-body strong{display:block;margin-bottom:3px}code,.mono{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:12.5px}.codeblock{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;overflow-x:auto;display:flex;align-items:center;gap:10px}.codeblock code{flex:1;min-width:0;word-break:break-all}@media (max-width: 1320px){.rail{display:none}}@media (max-width: 1000px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.scrim{display:block}.menu-btn{display:grid}.content{padding:0 16px 28px}.topbar{padding:14px 16px 12px}.search-pop{left:16px;width:calc(100% - 32px)}.hero{grid-template-columns:1fr;padding:24px}.hero h2{font-size:25px;max-width:none}.hero-art{display:none}}@media (max-width: 620px){.stat-row{grid-template-columns:1fr 1fr}.stat-art{display:none}.page-head{align-items:flex-start}.topbar{gap:8px}.topbar .icon-btn:not(.menu-btn){width:36px;height:36px;flex-basis:36px}.search{padding:8px 12px}.date-range{width:100%}.seg-group{overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:none}.seg-group::-webkit-scrollbar{display:none}.quick{flex-wrap:wrap}.quick .q-label{flex:1 1 100%}}body{overflow-x:hidden}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.btn:focus-visible,.icon-btn:focus-visible,.nav-link:focus-visible,.tab:focus-visible,.pill-tabs button:focus-visible,.dd-menu button:focus-visible,.sp-item:focus-visible,.th-btn:focus-visible,.acc-head:focus-visible{box-shadow:var(--ring)}.table tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.skip-link{position:absolute;left:10px;top:-60px;z-index:400;background:var(--accent);color:var(--accent-text);padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;transition:top .15s ease}.skip-link:focus{top:10px;text-decoration:none}.th-btn{background:none;border:none;font:inherit;color:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.th-btn:hover{color:var(--text)}kbd{display:inline-block;min-width:22px;text-align:center;padding:2px 7px;font-family:var(--font-sans);font-size:11.5px;font-weight:600;line-height:1.5;color:var(--text2);background:var(--surface2);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px}.keys{display:inline-flex;gap:4px;align-items:center}.keytable td{vertical-align:middle}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#1d191266;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end}.drawer{width:min(500px,100%);height:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:drawer-in .18s ease}@keyframes drawer-in{0%{transform:translate(22px);opacity:.6}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.drawer-body{padding:20px 22px 28px;overflow-y:auto}.drawer-body h2{font-size:21px;margin-bottom:6px}.drawer-body p{margin:0 0 12px}.drawer-body .lead{color:var(--text2);font-size:14px}.drawer-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.deflist{margin:0 0 8px}.deflist>div{padding:9px 0;border-bottom:1px solid var(--border)}.deflist>div:last-child{border-bottom:none}.deflist dt{font-weight:600;margin-bottom:2px}.deflist dd{margin:0;color:var(--text2);font-size:13px}ul.ticks{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}ul.ticks li{display:flex;gap:9px;font-size:13px;color:var(--text2)}ul.ticks li:before{content:"✓";color:var(--ok);font-weight:700;flex:0 0 auto}.acc{border-bottom:1px solid var(--border)}.acc:last-of-type{border-bottom:none}.acc-head{display:flex;align-items:flex-start;gap:9px;width:100%;background:none;border:none;font:inherit;color:var(--text);padding:11px 2px;cursor:pointer;text-align:left}.acc-chev{flex:0 0 14px;margin-top:3px;color:var(--faint);transition:transform .16s ease}.acc.open .acc-chev{transform:rotate(90deg)}.acc-body{padding:0 2px 12px 23px}.acc-body p{font-size:13px;color:var(--text2);margin:0 0 9px}.acc-body p:last-child{margin-bottom:0}@media (max-width: 620px){.drawer{width:100%}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}.explain{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px}.explain-btn{width:20px;height:20px;padding:0;border:none;border-radius:50%;background:none;color:currentColor;opacity:.5;display:grid;place-items:center;cursor:pointer}.explain-btn:hover{opacity:1}.explain-btn svg{width:15px;height:15px}.explain-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:min(360px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:14px 16px;font-weight:400;font-size:13px;text-align:left;cursor:default}.explain-pop header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.explain-pop p{margin:0 0 12px}.explain-warn{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:14px;font-size:12.5px}.explain-warn strong{display:block;margin-bottom:3px}.explain-row{padding:9px 0;border-top:1px solid var(--border)}.explain-head{display:flex;align-items:center;gap:8px;font-weight:600}.explain-head i{width:9px;height:9px;border-radius:3px;flex:0 0 9px}.explain-head b{margin-left:auto;font-variant-numeric:tabular-nums}.explain-items{list-style:none;margin:7px 0 0;padding:0 0 0 17px;display:flex;flex-direction:column;gap:4px}.explain-items li{display:flex;gap:10px;font-size:12.5px;color:var(--text2)}.explain-items li span:first-child{flex:1;min-width:0}.stat .explain-pop{color:var(--text)}.modal.viewer{width:min(1500px,96vw);max-height:94vh}.modal.viewer .modal-body{padding:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface2)}.lightbox-img{display:block;margin:0 auto;max-width:100%;max-height:calc(94vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface3)}.modal.viewer .img-placeholder{min-height:320px;display:grid;place-items:center}.dd-head{display:flex;flex-direction:column;gap:1px;padding:8px 11px 9px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:700}.dd-head strong{font-size:13px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:600;max-width:190px}.dd-note{padding:6px 11px 4px;font-size:11.5px;color:var(--faint);line-height:1.45}.swatch{width:9px;height:9px;border-radius:3px;flex:0 0 9px}.swatch.lbl-productive{background:var(--c-productive)}.swatch.lbl-neutral{background:var(--c-neutral)}.swatch.lbl-unproductive{background:var(--c-unproductive)}.explain-items .explain+*,.explain-items .dd{margin-left:4px}.explain-items .dd .btn{padding:2px 9px;font-size:11.5px;box-shadow:none}
