@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg:#eef1f2;--surface:#fff;--surface-2:#f6f8f8;--surface-3:#e9edee;--border:#dbe1e3;--border-strong:#c3ccd0;--text:#11191c;--text-2:#45535a;--text-3:#6f7d83;--accent:#0b6e79;--accent-hover:#085d66;--accent-soft:#e0f0f1;--accent-ink:#fff;--focus:#0b6e79;--good:#0ca30c;--good-text:#006300;--good-soft:#e2f3e2;--warning:#fab219;--warning-text:#7a4f00;--warning-soft:#fdf1d6;--serious:#ec835a;--serious-text:#a03f17;--serious-soft:#fce8df;--critical:#d03b3b;--critical-text:#b02626;--critical-soft:#fbe5e5;--info-text:#1c5cab;--info-soft:#e3eefc;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--grid:#e4e8ea;--axis:#c3cacd;--weekend:#11191c09;--holiday:#d03b3b0f;--bar:#2a78d6;--bar-progress:#1c5cab;--bar-summary:#2b3539;--overlay:#0a10126b;--shadow-sm:0 1px 2px #10181c0f;--shadow:0 1px 2px #10181c0d, 0 6px 20px #10181c12;--shadow-lg:0 10px 40px #10181c33;--radius:8px;--radius-sm:6px;--sidebar-w:232px;--topbar-h:56px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1012;--surface:#151b1e;--surface-2:#1a2125;--surface-3:#222a2f;--border:#283136;--border-strong:#3a454b;--text:#e8eef0;--text-2:#b0bcc1;--text-3:#7f8c92;--accent:#3fb0bc;--accent-hover:#5dc1cb;--accent-soft:#13343a;--accent-ink:#051214;--focus:#5dc1cb;--good-text:#3cc43c;--good-soft:#13301a;--warning-text:#f5c04a;--warning-soft:#3a2d0c;--serious-text:#f19b78;--serious-soft:#3c2016;--critical-text:#f07777;--critical-soft:#3d1a1a;--info-text:#7fb2f0;--info-soft:#152a45;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--grid:#232b2f;--axis:#3a454b;--weekend:#ffffff06;--holiday:#e6676714;--bar:#3987e5;--bar-progress:#86b6ef;--bar-summary:#c9d3d7;--overlay:#0009;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 6px 20px #0000004d;--shadow-lg:0 10px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1012;--surface:#151b1e;--surface-2:#1a2125;--surface-3:#222a2f;--border:#283136;--border-strong:#3a454b;--text:#e8eef0;--text-2:#b0bcc1;--text-3:#7f8c92;--accent:#3fb0bc;--accent-hover:#5dc1cb;--accent-soft:#13343a;--accent-ink:#051214;--focus:#5dc1cb;--good-text:#3cc43c;--good-soft:#13301a;--warning-text:#f5c04a;--warning-soft:#3a2d0c;--serious-text:#f19b78;--serious-soft:#3c2016;--critical-text:#f07777;--critical-soft:#3d1a1a;--info-text:#7fb2f0;--info-soft:#152a45;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--grid:#232b2f;--axis:#3a454b;--weekend:#ffffff06;--holiday:#e6676714;--bar:#3987e5;--bar-progress:#86b6ef;--bar-summary:#c9d3d7;--overlay:#0009;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 6px 20px #0000004d;--shadow-lg:0 10px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.005em;margin:0;font-weight:600}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft)}[hidden]{display:none!important}.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.tone-text-good{color:var(--good-text)}.tone-text-warning{color:var(--warning-text)}.tone-text-serious{color:var(--serious-text)}.tone-text-critical{color:var(--critical-text)}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:14px 10px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.brand-mark{background:var(--accent);border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.brand-mark svg{display:block}.brand-name{letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.2}.brand-sub{color:var(--text-3);font-size:11px}.nav-item{border-radius:var(--radius-sm);color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-3);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.sidebar-foot{margin-top:auto;padding-top:12px}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:0 20px;display:flex}.topbar-title{align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:600;display:flex}.topbar .spacer{flex:1}.topbar .menu-btn{display:none}.content{flex:1;min-height:0;overflow:auto}.page{flex-direction:column;gap:16px;max-width:1600px;padding:20px 24px 40px;display:flex}.page.full{max-width:none}.page-header{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.page-header .titles{flex-direction:column;gap:2px;min-width:0;display:flex}.page-title{letter-spacing:-.015em;font-size:22px}.page-sub{color:var(--text-2)}.page-header .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.grid{gap:16px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex}.panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;min-height:48px;padding:12px 16px;display:flex}.panel-header.plain{border-bottom:0;padding-bottom:4px}.panel-title{font-size:14px;font-weight:600}.panel-sub{color:var(--text-3);font-size:12px}.panel-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.panel-body{min-width:0;padding:16px}.panel-body.flush{padding:0}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none}.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-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-danger{color:var(--critical-text)}.btn-danger:hover{background:var(--critical-soft);border-color:var(--critical)}.btn-sm{height:28px;padding:0 9px;font-size:12px}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:28px}.btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:34px;color:var(--text);min-width:0;padding:0 10px;font-size:13px}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent);outline:none}.textarea{resize:vertical;height:auto;min-height:80px;padding:8px 10px;line-height:1.5}.input.sm,.select.sm{height:28px;font-size:12px}.input.num{text-align:right}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:12px;font-weight:500}.field-hint{color:var(--text-3);font-size:11.5px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.form-grid .full{grid-column:1/-1}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.field>.seg{align-self:flex-start}.seg{border-radius:var(--radius-sm);background:var(--surface-3);gap:2px;padding:2px;display:inline-flex}.seg button{height:28px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:12.5px;font-weight:500}.seg button:hover{color:var(--text)}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab .count{background:var(--surface-3);color:var(--text-2);border-radius:10px;padding:0 6px;font-size:11px}.badge{white-space:nowrap;background:var(--surface-3);height:22px;color:var(--text-2);border-radius:11px;align-items:center;gap:6px;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.badge .bdot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.tone-accent{background:var(--accent-soft);color:var(--accent)}.badge.tone-info{background:var(--info-soft);color:var(--info-text)}.badge.tone-good{background:var(--good-soft);color:var(--good-text)}.badge.tone-warning{background:var(--warning-soft);color:var(--warning-text)}.badge.tone-serious{background:var(--serious-soft);color:var(--serious-text)}.badge.tone-critical{background:var(--critical-soft);color:var(--critical-text)}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.progress{background:color-mix(in srgb, var(--accent) 16%, var(--surface-3));border-radius:3px;min-width:40px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:3px;height:100%}.progress.tone-warning{background:color-mix(in srgb, var(--warning) 22%, var(--surface-3))}.progress.tone-warning .progress-fill{background:var(--warning)}.progress.tone-critical{background:color-mix(in srgb, var(--critical) 18%, var(--surface-3))}.progress.tone-critical .progress-fill{background:var(--critical)}.progress.tone-good .progress-fill{background:var(--good)}.table-wrap{min-width:0;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;z-index:1;padding:9px 12px;font-size:12px;font-weight:500;position:sticky;top:0}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.table tbody tr:hover td{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table th.num,.table td.num{text-align:right}.table tfoot td{background:var(--surface-2);border-bottom:0;font-weight:600}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.stat-label{color:var(--text-2);font-size:12px;font-weight:500}.stat-value{letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.15}.stat-sub{color:var(--text-3);font-size:12px}.empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty svg{color:var(--text-3)}.empty-title{color:var(--text);font-weight:600}.modal-backdrop{background:var(--overlay);z-index:50;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;width:min(560px,100%);min-width:0;max-height:calc(100vh - 32px);display:flex}.modal.wide{width:min(860px,100%)}.modal-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-body{padding:18px;overflow:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}@keyframes fade{0%{opacity:0}}.toasts{z-index:70;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--bar-summary);color:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);max-width:380px;padding:10px 14px;font-size:13px;animation:.15s ease-out fade}.toast.tone-critical{background:var(--critical);color:#fff}@media (width<=1100px){.cols-4,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;width:min(280px,85vw);padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:max(10px, env(safe-area-inset-left,0px));transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.nav-open .sidebar{box-shadow:var(--shadow-lg);transform:none}.nav-scrim{background:var(--overlay);z-index:55;position:fixed;inset:0}.topbar .menu-btn{display:inline-flex}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.topbar{padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));gap:4px}.topbar>:not(.topbar-title):not(.spacer){flex-shrink:0}.page{padding:16px max(16px, env(safe-area-inset-right,0px)) 32px max(16px, env(safe-area-inset-left,0px))}.cols-2,.cols-3,.cols-4{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.form-grid{grid-template-columns:minmax(0,1fr)}.hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.no-print{display:none!important}.app{display:block}.content{overflow:visible}}.sync{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.sync-offline{color:var(--warning-text);background:var(--warning-soft);border-radius:11px;padding:3px 8px}.user-menu{position:relative}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:2px}.avatar{letter-spacing:.02em;background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:600;display:inline-grid}.avatar.sm{width:24px;height:24px;font-size:10px}.avatar.lg{width:44px;height:44px;font-size:15px}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);z-index:30;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;margin-bottom:4px;padding:6px 8px 8px;font-size:12.5px;display:flex}.menu-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;align-items:center;gap:8px;padding:8px;display:flex}.menu-item:hover{background:var(--surface-3)}.project-switcher{width:auto;max-width:240px}@media (width<=820px){.project-switcher{max-width:38vw}}.linklike{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.tooltip{z-index:80;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:160px;max-width:260px;padding:8px 10px;font-size:12px;position:fixed}.tooltip .tip-title{margin-bottom:4px;font-weight:600}.tip-row{align-items:center;gap:6px;line-height:1.6;display:flex}.tip-label{color:var(--text-2)}.tip-value{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-weight:500}.claude-scrim{background:var(--overlay);z-index:40;animation:.12s ease-out fade;position:fixed;inset:0}.claude-drawer{background:var(--surface);border-left:1px solid var(--border);width:min(460px,100vw);box-shadow:var(--shadow-lg);z-index:45;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;animation:.18s ease-out claude-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes claude-in{0%{opacity:0;transform:translate(24px)}}.claude-head{height:var(--topbar-h);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;min-width:0;padding:0 10px 0 16px;display:flex}.claude-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.claude-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.claude-empty{flex-direction:column;gap:12px;display:flex}.claude-empty p{color:var(--text-2);margin:0;line-height:1.5}.claude-suggestions{flex-direction:column;gap:8px;display:flex}.claude-suggestion{text-align:left;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);cursor:pointer;color:var(--text);line-height:1.4;font:inherit;padding:10px 12px}.claude-suggestion:hover{border-color:var(--accent);background:var(--accent-soft)}.claude-msg{overflow-wrap:anywhere;border-radius:10px;max-width:100%;padding:10px 12px;line-height:1.5}.claude-user{background:var(--accent);max-width:85%;color:var(--accent-ink);white-space:pre-wrap;border-bottom-right-radius:3px;align-self:flex-end}.claude-ai{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:3px;align-self:stretch}.claude-error{background:var(--critical-soft);color:var(--critical-text);border-color:#0000}.claude-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:11.5px;display:flex}.claude-notice{color:var(--warning-text);margin-top:8px;font-size:12.5px}.claude-typing{color:var(--text-3);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.claude-dots{gap:4px;display:inline-flex}.claude-dots i{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite claude-blink}.claude-dots i:nth-child(2){animation-delay:.15s}.claude-dots i:nth-child(3){animation-delay:.3s}@keyframes claude-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.claude-foot{border-top:1px solid var(--border);flex:none;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.claude-foot .textarea{resize:none;min-height:40px;max-height:160px}.claude-privacy{color:var(--text-3);margin-top:-4px;padding:0 16px 10px;font-size:11.5px}.claude-md>:first-child{margin-top:0}.claude-md>:last-child{margin-bottom:0}.claude-md p{margin:0 0 8px}.claude-md ul,.claude-md ol{margin:0 0 8px;padding-left:20px}.claude-md li+li{margin-top:3px}.claude-md code{font-family:var(--font-mono);background:var(--surface-3);border-radius:4px;padding:1px 4px;font-size:12px}.claude-md a{color:var(--accent);text-underline-offset:2px;font-weight:500;text-decoration:underline}.claude-md a:hover{color:var(--accent-hover)}.claude-top-btn .label{white-space:nowrap}@media (width<=820px){.claude-top-btn{width:34px;padding:0}.claude-drawer{border-left:0;width:100vw;animation:.12s ease-out fade}.claude-scrim{display:none}}.claude-tool{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.claude-proposal{flex-direction:column;gap:14px;min-width:0;display:flex}.claude-intro{border-radius:var(--radius);background:var(--accent-soft);color:var(--text);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.claude-intro svg{color:var(--accent);flex:none;margin-top:1px}.claude-kv{grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:6px 14px;margin:0;font-size:13px;display:grid}.claude-kv dt{color:var(--text-2)}.claude-kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.claude-lines{border-collapse:collapse;width:100%;font-size:12.5px}.claude-lines th,.claude-lines td{text-align:left;border-bottom:1px solid var(--grid);vertical-align:top;padding:5px 6px}.claude-lines th{color:var(--text-2);font-size:12px;font-weight:500}.claude-lines td.num,.claude-lines th.num{text-align:right;white-space:nowrap}.claude-lines-wrap{max-width:100%;overflow-x:auto}.claude-remarks{border-radius:var(--radius);background:var(--warning-soft);color:var(--warning-text);margin:0;padding:10px 12px 10px 28px;font-size:12.5px;line-height:1.45}.claude-remarks li+li{margin-top:3px}.claude-section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.claude-cost{color:var(--text-3);font-size:11.5px}.claude-files{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.claude-files label{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.claude-files label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.claude-files input{accent-color:var(--accent)}.claude-busy{color:var(--text-2);align-items:center;gap:10px;padding:18px 4px;display:flex}.claude-actions-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.claude-action{grid-template-columns:auto minmax(0,1fr) 150px;align-items:center;gap:8px;display:grid}.claude-subtasks{flex-direction:column;gap:8px;display:flex}.claude-subtask{grid-template-columns:auto minmax(0,1fr) 72px;align-items:center;gap:8px;display:grid}.claude-subtask .claude-sub-meta{color:var(--text-3);grid-column:2/-1;margin-top:-4px;font-size:11.5px}.claude-options{gap:10px;display:grid}.claude-option{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.claude-option h4{margin:0;font-size:13.5px}.claude-pc{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12.5px;display:grid}.claude-pc ul{margin:2px 0 0;padding-left:18px}.claude-photo{border-radius:var(--radius-sm);object-fit:contain;background:var(--surface-3);align-self:flex-start;max-width:100%;max-height:220px}@media (width<=560px){.claude-action{grid-template-columns:auto minmax(0,1fr)}.claude-action .claude-due{grid-column:2}.claude-pc{grid-template-columns:minmax(0,1fr)}.claude-kv{grid-template-columns:minmax(0,1fr);gap:2px}.claude-kv dd{margin-bottom:6px}}.modal-footer:has(.claude-cost){flex-wrap:wrap}.login-wrap{min-height:100%;padding:24px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));background:var(--bg);place-items:center;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(400px,100%);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:16px;padding:28px;display:flex}.login-card h1{margin-bottom:4px;font-size:20px}.login-mark{border-radius:9px;width:40px;height:40px}.login-error{border-radius:var(--radius-sm);background:var(--critical-soft);color:var(--critical-text);align-items:flex-start;gap:8px;padding:9px 11px;font-size:13px;display:flex}.login-error svg{flex:none;margin-top:2px}.login-foot{text-align:center;font-size:12px}.ov-stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.ov-stat{color:inherit;text-decoration:none;transition:border-color .12s}.ov-stat:hover{border-color:var(--border-strong)}.ov-stat .progress{margin:4px 0 2px}.ov-stat-dates{font-variant-numeric:tabular-nums;font-size:18px}.ov-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ov-col{flex-direction:column;gap:16px;min-width:0;display:flex}.ov-count{background:var(--surface-3);min-width:20px;height:20px;color:var(--text-2);border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:600;display:inline-grid}.ov-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:10px 0 2px;font-size:11.5px;font-weight:600}.ov-subhead:first-child{margin-top:0}.ov-empty{margin:0}.ov-empty-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ov-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ov-item{border-bottom:1px solid var(--grid);align-items:flex-start;gap:10px;min-width:0;padding:8px 0;display:flex}.ov-item:last-child{border-bottom:0}.ov-item.done .ov-item-title{color:var(--text-3);text-decoration:line-through}.ov-kind{width:18px;height:20px;color:var(--text-3);flex:none;place-items:center;display:inline-grid}.ov-item.overdue .ov-kind{color:var(--critical-text)}.ov-check{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0}.ov-item-main{min-width:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}a.ov-item-main:hover .ov-item-title,.linkish:hover .ov-item-title{text-decoration:underline}.ov-item-title{overflow-wrap:anywhere;font-weight:500}.ov-item-sub{color:var(--text-2);overflow-wrap:anywhere;font-size:12.5px}.ov-item-sub.ellipsis{overflow-wrap:normal}.ov-item-side{color:var(--text-2);flex:none;align-items:center;gap:8px;font-size:12.5px;display:flex}.ov-amount{flex-direction:column;align-items:flex-end;gap:0}.ov-date{white-space:nowrap;font-variant-numeric:tabular-nums}.linkish{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.ov-icon-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.ov-icon-btn:hover{background:var(--surface-3);color:var(--text)}.ov-assign{position:relative}.ov-assign-btn,.ov-people{border:1px dashed var(--border-strong);min-width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:10.5px;font-weight:600;display:inline-flex}.ov-assign-btn.set{background:var(--accent-soft);color:var(--accent);border:0}.ov-people{border-style:solid;border-color:#0000}.ov-people:hover,.ov-assign-btn:hover{border-color:var(--accent)}.ov-assign-menu{min-width:200px}.ov-assign-menu .menu-item.active{background:var(--accent-soft)}.ov-add{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.ov-add .input:first-child{flex:200px}.ov-add-date{width:140px}.ov-add-who{width:auto;max-width:120px}.ov-done{color:var(--text-2);margin-top:10px;font-size:12.5px}.ov-cal{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;flex:none;align-items:center;width:36px;line-height:1.1;display:inline-flex;overflow:hidden}.ov-cal-wd{text-align:center;text-transform:uppercase;background:var(--accent-soft);width:100%;color:var(--accent);padding:1px 0;font-size:10px;font-weight:600}.ov-cal-d{font-variant-numeric:tabular-nums;padding:2px 0 3px;font-size:15px;font-weight:600}.ov-act-dot{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.act-create .ov-act-dot{background:var(--good)}.act-delete .ov-act-dot{background:var(--critical)}.ov-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.appt-who{border:0;min-width:0;margin:0;padding:0}.appt-who legend{margin-bottom:6px;padding:0}@media (width<=1100px){.ov-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.ov-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ov-stat{padding:12px}.ov-stat .stat-value{font-size:20px}.ov-stat-dates{font-size:14px!important}.overview .panel-header .seg button{padding-inline:8px}.ov-add-date{flex:130px}}.ov-more{color:var(--text-2);margin:6px 0 0 28px;font-size:12.5px}.gantt-source{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:5px 10px 5px 12px;font-size:12.5px;display:flex}.gantt-source>svg{color:var(--text-3);flex:none}.gantt-source .ellipsis{flex:0 auto;min-width:0}.msp-busy{color:var(--text-2);align-items:center;gap:10px;padding:18px 4px;display:flex}.msp-error{border-radius:var(--radius-sm);background:var(--critical-soft);color:var(--critical-text);padding:10px 12px;font-size:13px}.msp-hint{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);padding:10px 12px;font-size:13px}.msp-note{border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--text);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 12px;font-size:12.5px}.msp-drop{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.msp-drop.over{border-color:var(--accent);background:var(--accent-soft)}.msp-file{align-items:center;gap:10px;min-width:0;display:flex}.msp-file>svg{color:var(--accent);flex:none}.msp-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.msp-stats>div{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.msp-stats strong{font-size:15px;font-weight:600}.msp-stats strong.mono{white-space:nowrap;font-size:12.5px}.msp-stats>.wide{grid-column:span 2}.msp-tasks{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;font-size:12.5px;overflow-y:auto}.msp-task{border-bottom:1px solid var(--grid);grid-template-columns:52px minmax(0,1fr) 70px 76px minmax(0,.6fr);align-items:center;gap:8px;padding:4px 10px;display:grid}.msp-task:last-child{border-bottom:0}.msp-task.summary .msp-name{font-weight:600}.msp-wbs{font-size:11px}.msp-ms{vertical-align:-1px;color:var(--text);margin-right:6px}.msp-res{font-size:11.5px}.msp-more{padding:6px 10px;font-size:12px}.msp-warnings{background:var(--warning-soft);color:var(--warning-text);border-radius:var(--radius-sm);margin:0;padding:8px 12px 8px 28px;font-size:12.5px}.msp-options{flex-direction:column;gap:8px;display:flex}.msp-groups{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.msp-group-list{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.msp-group-list .check{align-items:flex-start}.msp-group-text{flex-direction:column;min-width:0;font-size:12.5px;display:flex}:root{--lv-afwezig:#6250d6;--lv-hatch-wash:#ffffff8c;--lv-hatch-line:#11191c8c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lv-afwezig:#9085e9;--lv-hatch-wash:#0c101280;--lv-hatch-line:#e8eef099}}:root[data-theme=dark]{--lv-afwezig:#9085e9;--lv-hatch-wash:#0c101280;--lv-hatch-line:#e8eef099}.k-afwezig{--lv-c:var(--lv-afwezig)}.gc-lanes{border-top:1px solid var(--border);background:var(--surface);position:relative}.gc-lane{border-bottom:1px solid var(--grid);position:relative}.gc-lane:last-of-type{border-bottom:0}.gc-lv{background:var(--lv-c);border-radius:3px;position:absolute;top:3px;bottom:3px}.gc-lane-today{background:var(--critical);opacity:.55;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.lv-labels{border-top:1px solid var(--border);background:var(--surface)}.lv-label{border-bottom:1px solid var(--grid);align-items:center;min-width:0;font-size:11px;display:flex}.lv-label:last-child{border-bottom:0}.lv-who{align-items:baseline;gap:6px;min-width:0;max-width:100%;padding:0 8px;display:inline-flex;position:sticky;left:0}.lv-name{color:var(--text);min-width:0;font-weight:500}.lv-role{color:var(--text-3);flex:none;font-size:10px}.gc-lv-hatch{fill:url(#gc-lv-hatch)}.gc-lv-hatch-bg{fill:var(--lv-hatch-wash)}.gc-lv-hatch-line{stroke:var(--lv-hatch-line);stroke-width:2px}.gc-lv-warn polygon{fill:var(--warning);stroke:var(--surface);stroke-width:1px;stroke-linejoin:round}.gc-lv-warn text{fill:#11191c;font-size:9.5px;font-weight:700;font-family:var(--font-sans);pointer-events:none}.gc-tip-leave{color:var(--warning-text)}.lv-legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;display:inline-flex}.lv-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.lv-swatch{background:var(--lv-c);border-radius:2px;width:14px;height:9px;display:inline-block}.lv-swatch.lv-warn-swatch{background:var(--warning);clip-path:polygon(50% 0,100% 100%,0 100%);color:#11191c;text-align:center;border-radius:0;width:13px;height:12px;font-size:8.5px;font-weight:700;line-height:15px}.ml-band{background:var(--surface);border-bottom:1px solid var(--border);flex:none;padding:6px 12px 10px}.ml-band.collapsed{padding-bottom:6px}.ml-band.ro{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px 14px}.ml-head{flex-wrap:wrap;align-items:center;gap:8px;min-height:28px;font-size:13px;display:flex}.ml-hint{font-size:12px}.ml-body{padding-top:4px}.ml-empty{margin:4px 0 2px;font-size:12.5px}.ml-track{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.ml-axis{border-bottom:1px solid var(--grid);height:18px;position:relative}.ml-tick{color:var(--text-3);white-space:nowrap;padding-left:4px;font-size:11px;position:absolute;top:1px}.ml-area{margin-top:6px;position:relative}.ml-grid{background:var(--grid);width:1px;position:absolute;top:-6px;bottom:0}.ml-today{background:var(--critical);opacity:.75;z-index:3;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:-24px;bottom:0}.ml-viewport{border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent);pointer-events:none;z-index:1;border-radius:4px;position:absolute;top:-6px;bottom:-2px}.ml-block{border:0;border-left:3px solid var(--c);background:linear-gradient(90deg, color-mix(in srgb, var(--c) 42%, var(--surface)) var(--p), transparent var(--p)), color-mix(in srgb, var(--c) 18%, var(--surface));color:var(--text);font:inherit;text-align:left;cursor:pointer;z-index:2;border-radius:4px;flex-direction:column;justify-content:center;gap:0;min-width:4px;padding:0 8px;display:flex;position:absolute;overflow:hidden}.ml-block.static{cursor:default}.ml-block:hover:not(.static){box-shadow:0 0 0 1px var(--c)}.ml-block:focus-visible,.ml-ms:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.ml-block.sel{box-shadow:0 0 0 2px var(--accent)}.ml-block.late{border-bottom:2px solid var(--critical)}.ml-name{font-size:12.5px;font-weight:600;line-height:15px}.ml-dates{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;line-height:13px}.ml-ms{width:0;height:0;font:inherit;color:inherit;cursor:pointer;z-index:2;background:0 0;border:0;padding:0;position:absolute}.ml-ms.static{cursor:default}.ml-diamond{background:var(--text);width:13px;height:13px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:0;left:-6.5px;transform:rotate(45deg)}.ml-ms.done .ml-diamond{background:var(--surface);border:2px solid var(--text-3);box-shadow:none}.ml-ms.late .ml-diamond{background:var(--critical)}.ml-ms.sel .ml-diamond{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.ml-ms-label{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;font-size:11.5px;line-height:16px;display:flex;position:absolute;transform:translate(-50%)}.ml-ms-label.al-left{transform:translate(-8px)}.ml-ms-label.al-right{transform:translate(calc(8px - 100%))}.ml-ms-date{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.plan-page{gap:10px;height:100%;min-height:0}.plan-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-head .titles{flex-direction:column;gap:1px;min-width:0;display:flex}.plan-head h1{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.plan-head .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.plan-page .gantt{flex:1 0 auto;min-height:0}.plan-page .gantt-body{flex:1 1 0;min-height:340px}.app.focus-mode{grid-template-columns:minmax(0,1fr)}.app.focus-mode .sidebar,.app.focus-mode .topbar,.app.focus-mode .nav-scrim{display:none}.app.focus-mode .plan-page{max-width:none;padding:10px 12px}@media (width<=820px){.plan-page .gantt-body{min-height:62vh}.plan-head .actions{width:100%;margin-left:0}.ml-band{padding:6px 8px 8px}}.gantt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;min-width:0;min-height:460px;display:flex;overflow:hidden}.gantt-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.gt-group{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.gt-group .btn+.btn{margin-left:2px}.gt-sep{background:var(--border);width:1px;height:22px;margin:0 4px}.gantt-body{flex:1;min-height:0;display:flex;position:relative}.gantt-empty{flex:1;place-items:center;display:grid}.gantt-empty .empty>div:not(.empty-title):not(.row){max-width:440px}.gantt-status{border-top:1px solid var(--border);color:var(--text-2);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:16px;padding:6px 12px;font-size:12px;display:flex}.gantt-splitter{cursor:col-resize;background:var(--surface-2);border-left:1px solid var(--border);border-right:1px solid var(--border);touch-action:none;flex:none;width:6px}.gantt-splitter:hover{background:var(--accent-soft)}.gg-pane{outline:none;flex:none;position:relative;overflow:scroll hidden}.gg-pane:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.gg-inner{min-height:100%}.gg-header{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border);display:grid;position:sticky;top:0}.gg-hcell{color:var(--text-3);border-right:1px solid var(--grid);white-space:nowrap;align-items:flex-end;padding:0 8px 8px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.gg-row{border-bottom:1px solid var(--grid);background:var(--surface);height:32px;display:grid}.gg-row.selected{background:var(--accent-soft)}.gg-row.summary .gg-name{font-weight:600}.gg-cell{border-right:1px solid var(--grid);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;min-width:0;padding:0 8px;font-size:12.5px;display:flex;overflow:hidden}.gg-cell .mono{font-size:12px}.gg-cell.al-right{justify-content:flex-end}.gg-cell.al-center{justify-content:center}.gg-hcell.al-right{justify-content:flex-end}.gg-cell.ro{color:var(--text-2)}.gg-cell.active{box-shadow:inset 0 0 0 2px var(--accent)}.gg-cell.editing{box-shadow:none;padding:0 2px}.gg-name{align-items:center;gap:2px;min-width:0;display:flex}.gg-tl{color:var(--accent);flex:none;margin-left:4px;display:inline-flex}.gg-header-extra{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;overflow:hidden}.gg-toggle{width:18px;height:18px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.gg-toggle:hover{background:var(--surface-3);color:var(--text)}.gg-toggle-space{flex:none;width:18px}.gg-ind{display:inline-flex}.gg-input{border:1px solid var(--focus);background:var(--surface);width:100%;height:26px;color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 20%, transparent);border-radius:4px;outline:none;min-width:0;padding:0 6px;font-size:12.5px}.gg-input[type=date]{padding:0 2px;font-size:12px}.gc-pane{flex:1;min-width:0;position:relative;overflow:scroll}.gc-inner{position:relative}.gc-header{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0}.gc-tier{height:24px;position:relative}.gc-tier.top{border-bottom:1px solid var(--grid)}.gc-tcell{color:var(--text-2);border-left:1px solid var(--grid);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;padding:0 6px;font-size:11px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gc-tier.top .gc-tcell{color:var(--text);font-weight:500}.gc-tier.bottom .gc-tcell{justify-content:center;padding:0 3px}.gc-tcell.weekend{color:var(--text-3);background:var(--weekend)}.gc-today-tick{background:var(--critical);border-radius:1px 1px 0 0;width:2px;height:10px;position:absolute;bottom:0}.gc-svg{touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;display:block}.gc-svg.dragging{cursor:grabbing}.gc-weekend{fill:var(--weekend)}.gc-holiday{fill:var(--holiday)}.gc-vline{stroke:var(--grid);stroke-width:1px}.gc-vline.major{stroke:var(--axis);opacity:.6}.gc-rowline{stroke:var(--grid);stroke-width:1px}.gc-sel{fill:var(--accent-soft)}.gc-today{stroke:var(--critical);stroke-width:1.5px}.gc-today-label{fill:var(--critical-text);font-size:10.5px;font-weight:500;font-family:var(--font-sans)}.gc-task{cursor:grab}.gc-task.summary{cursor:default}.gc-bar{fill:var(--bar)}.gc-bar.crit{fill:var(--critical)}.gc-bar-prog{fill:var(--bar-progress)}.gc-bar-prog.crit{fill:var(--critical-text)}.gc-summary{fill:var(--bar-summary)}.gc-summary.crit{fill:var(--critical)}.gc-ms{fill:var(--bar-summary)}.gc-ms.crit{fill:var(--critical)}.gc-label{fill:var(--text-3);font-size:11px;font-family:var(--font-sans);pointer-events:none}.gc-link{fill:none;stroke:var(--text-3);stroke-width:1.25px;pointer-events:none}.gc-link.crit{stroke:var(--critical)}.gc-arrowhead{fill:var(--text-3)}.gc-arrowhead.crit{fill:var(--critical)}.gc-handle{fill:#0000;cursor:ew-resize}.gc-linkdot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px;opacity:0;cursor:crosshair;transition:opacity .1s}.gc-task:hover .gc-linkdot{opacity:1}.gc-ghost{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.gc-linkline{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.gc-tooltip{z-index:80;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;max-width:320px;padding:8px 10px;font-size:12px;display:flex;position:fixed;top:0;left:0}@media (width<=820px){.gantt{min-height:540px}.gt-sep{display:none}}.gc-baseline{fill:var(--text-3);opacity:.55;pointer-events:none}.gc-baseline.summary{opacity:.7}.gc-baseline.ms{fill:none;stroke:var(--text-3);stroke-width:1.5px;opacity:.8}.gg-var.late{color:var(--critical-text);font-weight:500}.gg-var.early{color:var(--good-text)}.gg-var.zero{color:var(--text-3)}.gantt-baseline{background:var(--surface)}.gantt-compare{background:var(--info-soft);color:var(--info-text)}.gantt-compare .muted{color:inherit;opacity:.8}.gantt-bl-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:1px 8px;font-size:11.5px;display:inline-flex}.gantt-bl-chip.late{background:var(--critical-soft);color:var(--critical-text);border-color:#0000}.gantt-bl-chip.early{background:var(--good-soft);color:var(--good-text);border-color:#0000}.tc{--tc:var(--text-3)}.tc-1{--tc:var(--series-1)}.tc-2{--tc:var(--series-2)}.tc-3{--tc:var(--series-3)}.tc-4{--tc:var(--series-4)}.tc-5{--tc:var(--series-5)}.tc-6{--tc:var(--series-6)}.tc-7{--tc:var(--series-7)}.tc-8{--tc:var(--series-8)}.gg-swatch,.tc-swatch{background:var(--tc);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.tc-none.gg-swatch,.tc-none.tc-swatch{border:1.5px dashed var(--text-3);background:0 0}.tc-tex.gg-swatch,.tc-tex.tc-swatch{background-image:repeating-linear-gradient(45deg, transparent 0 2px, color-mix(in srgb, var(--surface) 70%, transparent) 2px 3.5px)}.gg-trade{align-items:center;gap:6px;min-width:0;display:inline-flex}.gg-select{padding:0 2px}.gc-bar.tcb-1{fill:var(--series-1)}.gc-bar.tcb-2{fill:var(--series-2)}.gc-bar.tcb-3{fill:var(--series-3)}.gc-bar.tcb-4{fill:var(--series-4)}.gc-bar.tcb-5{fill:var(--series-5)}.gc-bar.tcb-6{fill:var(--series-6)}.gc-bar.tcb-7{fill:var(--series-7)}.gc-bar.tcb-8{fill:var(--series-8)}.gc-bar.tcb-none{fill:color-mix(in srgb, var(--text-3) 55%, var(--surface))}.gc-bar-prog.tcb-1{fill:color-mix(in srgb, var(--series-1) 50%, var(--text))}.gc-bar-prog.tcb-2{fill:color-mix(in srgb, var(--series-2) 50%, var(--text))}.gc-bar-prog.tcb-3{fill:color-mix(in srgb, var(--series-3) 50%, var(--text))}.gc-bar-prog.tcb-4{fill:color-mix(in srgb, var(--series-4) 50%, var(--text))}.gc-bar-prog.tcb-5{fill:color-mix(in srgb, var(--series-5) 50%, var(--text))}.gc-bar-prog.tcb-6{fill:color-mix(in srgb, var(--series-6) 50%, var(--text))}.gc-bar-prog.tcb-7{fill:color-mix(in srgb, var(--series-7) 50%, var(--text))}.gc-bar-prog.tcb-8{fill:color-mix(in srgb, var(--series-8) 50%, var(--text))}.gc-bar-prog.tcb-none{fill:var(--text-3)}.gc-tc-tex-line{stroke:var(--surface);stroke-width:1.6px;opacity:.6}.gantt-trades{gap:4px 12px}.gantt-trades .tc-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.gc-cure{pointer-events:none}.gc-cure rect{fill:color-mix(in srgb, var(--text-3) 12%, transparent);stroke:var(--text-3);stroke-width:1px;stroke-dasharray:3 2}.gc-cure text{fill:var(--text-3);font-size:10px;font-family:var(--font-sans)}.gc-bar.winter{stroke:var(--warning);stroke-width:2px;stroke-dasharray:4 2}.gc-tip-winter{color:var(--warning-text)}.gc-marker{stroke:var(--accent);stroke-width:1.25px;stroke-dasharray:2 3;opacity:.85;pointer-events:none}.gc-markers{border-top:1px solid var(--border);background:var(--surface);position:relative}.gg-marker-label .lv-name{color:var(--text-2)}.gc-marker-pin{border:2px solid var(--surface-2);background:var(--accent);cursor:pointer;z-index:2;border-radius:50% 50% 50% 0;width:13px;height:13px;padding:0;position:absolute;top:2px;transform:rotate(-45deg)}.gc-marker-pin:hover,.gc-marker-pin:focus-visible{background:var(--accent-hover);outline:2px solid var(--focus);outline-offset:1px}.gantt-filter{gap:6px 10px}.gantt-filter .select{width:auto;max-width:190px;height:28px;font-size:12.5px}.gantt-filter label{align-items:center;gap:6px;display:inline-flex}@media (width<=820px){.gantt-filter .select{max-width:150px}.gantt-trades{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}}
