:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#fbfcfd;--surface-3:#f1f3f5;--border:#e4e7ec;--border-strong:#d0d5dd;--line:#eceef1;--text:#1a1d23;--text-2:#5b6472;--text-3:#8b94a3;--text-inv:#fff;--accent:#3a5bd0;--accent-soft:#eaeefb;--accent-700:#2c45a3;--ev-vacation:#2a8c8c;--ev-holiday:#7a5cc4;--ev-unavail:#c77b2b;--ev-freeze:#c0476f;--ev-org:#5b6472;--c-bg:var(--bg);--c-surface:var(--surface);--c-surface-2:var(--surface-3);--c-border:var(--border);--c-text:var(--text);--c-text-muted:var(--text-3);--c-accent:var(--accent);--c-accent-weak:var(--accent-soft);--c-danger:#b42318;--c-danger-bg:#fdeeee;--c-ok:#1f7a44;--c-ok-bg:#e6f4ec;--shadow-sm:0 1px 2px #1018280f;--shadow:0 4px 14px #1018281a;--shadow-lg:0 12px 32px #10182829;--shadow-md:0 8px 24px #00000026;--c-shadow:#10182873;--r-sm:4px;--r:6px;--r-lg:10px;--nav-w:256px;--nav-w-collapsed:52px;--topbar-h:52px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, monospace;--stream-business:#2f6fd0;--stream-business-bg:#dde9fa;--stream-technical:#d98a1f;--stream-technical-bg:#fbeccd;--stream-support:#2a8c8c;--stream-support-bg:#d6efef;--st-open:#8b94a3;--st-progress:#3a5bd0;--st-done:#2e9e5b;--st-blocked:#d64545;--st-cancelled:#b0b7c3;--prio-critical:#d64545;--prio-high:#d98a1f;--prio-medium:#3a5bd0;--prio-low:#8b94a3;--c-warn:#9a6210;--c-warn-bg:#fbeccd;--cap-under:#cfe8d8;--cap-ok:#b6dcc6;--cap-full:#f6e0a6;--cap-over:#f3b6b6}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#1a1d27;--surface-2:#1e2232;--surface-3:#252940;--border:#2d3352;--border-strong:#3d4468;--line:#252940;--text:#e2e8f0;--text-2:#94a3b8;--text-3:#64748b;--text-inv:#1a1d27;--accent:#5b7af0;--accent-soft:#1e2a50;--accent-700:#7a96f8;--stream-business:#6f9bf0;--stream-business-bg:#1c2740;--stream-technical:#e6a440;--stream-technical-bg:#34290f;--stream-support:#45b3b3;--stream-support-bg:#103030;--st-open:#7c869a;--st-progress:#6f8df3;--st-done:#46c178;--st-blocked:#ef6b6b;--st-cancelled:#5b6472;--prio-critical:#ef6b6b;--prio-high:#e6a440;--prio-medium:#6f8df3;--prio-low:#7c869a;--c-warn:#e6a440;--c-warn-bg:#34290f;--shadow-md:0 8px 24px #00000073;--cap-under:#1f4032;--cap-ok:#245339;--cap-full:#4a3c12;--cap-over:#4e1f1f}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45}button{cursor:pointer;font-family:inherit}.btn{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:550;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn .ico{width:14px;height:14px}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:not(:disabled):hover{background:var(--accent-700);border-color:var(--accent-700)}.btn--ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-3);border-color:#0000}.btn--danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn--danger:not(:disabled):hover{opacity:.87}.btn--xs{padding:3px 8px;font-size:11.5px}.btn--sm{padding:5px 10px;font-size:11.5px}.btn.is-active{background:var(--accent-soft);color:var(--accent-700);border-color:#d6def8;font-weight:600}.pill{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:20px;align-items:center;padding:1px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.pill--p2{background:var(--stream-technical-bg);color:var(--c-warn)}.pill--later{background:var(--surface-3);color:var(--text-3)}.pill--readonly{background:var(--surface-3);color:var(--text-2)}.pill--mvp{background:var(--accent-soft);color:var(--accent-700)}.disabled-feat{opacity:.6;pointer-events:none}body.modal-open{overflow:hidden}.modal-backdrop{background:var(--c-shadow);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:200;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden}.modal--sm{max-width:420px}.modal--md{max-width:560px}.modal--lg{max-width:760px}.modal--xl{max-width:1000px}.modal__head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:flex-start;gap:10px;padding:14px 18px;display:flex}.modal__titles{flex:1;min-width:0}.modal__title{letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.modal__subtitle{color:var(--text-3);margin-top:2px;font-size:11.5px}.modal__close{color:var(--text-3);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:15px;line-height:1;display:grid}.modal__close:hover{background:var(--surface-3);color:var(--text)}.modal__body{flex:1;padding:16px 18px;overflow-y:auto}.modal__foot{border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0;padding:12px 18px}.modal__actions{justify-content:flex-end;gap:8px;display:flex}.modal__actions--3{gap:8px;display:flex}.modal__actions--3 .btn--danger{margin-right:auto}@media (width<=640px){.modal-backdrop{align-items:stretch;padding:0}.modal{border-radius:0;max-width:none;max-height:100vh}}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field__label{color:var(--text-2);font-size:11.5px;font-weight:600}.field__input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);padding:7px 10px;font-family:inherit;font-size:13px}.field__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-row{gap:12px;display:flex}.field-row .field{flex:1}.field-error{color:var(--c-danger);margin:4px 0 8px;font-size:12px}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);width:100%;color:var(--text);padding:7px 10px;font-family:inherit;font-size:12.5px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled{opacity:.5;cursor:not-allowed}.textarea{resize:vertical;min-height:64px}.form-row{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.form-row--inline{flex-direction:row;align-items:center;gap:10px}.form-label{color:var(--text-2);font-size:11.5px;font-weight:600}.form-hint{color:var(--text-3);font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-row{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;padding:4px 0;font-size:12.5px;display:flex}.item-modal-body{flex-direction:column;display:flex}.bulk-modal__foot{justify-content:flex-end;align-items:center;gap:8px;display:flex}.bulk-modal__report{color:var(--text-2);margin-right:auto;font-size:12px}.modal-footer-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-footer-actions__left{gap:8px;margin-right:auto;display:flex}.m-section-hd{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);margin:14px 0 8px;padding-bottom:4px;font-size:11px;font-weight:700}.m-info-row{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:12px;padding:7px 10px;font-size:12.5px;font-weight:600}.m-hint-box{color:var(--text-2);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--r);margin:8px 0;padding:8px 10px;font-size:11.5px}.m-warn-box{color:#8a3b1e;background:var(--stream-technical-bg);border-radius:var(--r);border:1px solid #f0d3a8;margin:4px 0 10px;padding:9px 11px;font-size:12px}.m-p2-note{color:var(--text-2);background:var(--stream-technical-bg);border-radius:var(--r);border:1px solid #f0d3a8;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;font-size:11.5px;display:flex}.req-invalid .input,.req-invalid.input{border-color:var(--prio-critical);background:var(--c-danger-bg)}.req-invalid .form-label{color:var(--prio-critical)}.m-checklist{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.m-filter-multi{flex-wrap:wrap;gap:4px 16px;display:flex}.m-filter-multi .checkbox-row{padding:2px 0}.m-radio-col{flex-direction:column;gap:2px;display:flex}.m-display-group .checkbox-row{padding:3px 0}.m-col-list{flex-direction:column;gap:3px;display:flex}.form-value{color:var(--text);padding:5px 0;font-size:13px;font-weight:500}.form-error{background:color-mix(in oklch, var(--destructive,#c00) 12%, transparent);color:var(--destructive,#c00);border-radius:var(--r);padding:6px 10px;font-size:12px;line-height:1.4}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.res-filter-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.res-filter-lbl{color:var(--text-3);font-size:11.5px;font-weight:650}.res-filter-chips{flex-wrap:wrap;gap:5px;display:flex}.res-filter-sel{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:3px 6px;font-size:11.5px}.res-filter-reset{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);margin-left:auto;padding:3px 10px;font-size:11.5px}.res-filter-reset:hover{background:var(--surface-3)}.res-filter-empty{color:var(--text-3);margin:14px 16px;font-size:13px}.link-reset{color:var(--accent-700);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.ent-filterbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.ent-filterbar__lbl{color:var(--text-3);font-size:11.5px;font-weight:650}.audit-filters{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.filter-select{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:4px 8px;font-size:12px}.filter-input{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:4px 8px;font-family:inherit;font-size:12px}.filter-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}@media (width<=640px){.ent-filterbar{gap:6px}}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);padding:8px 12px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table td.num,.data-table td.right{font-variant-numeric:tabular-nums}.data-table td.right{text-align:right;white-space:nowrap}.data-table td.mono,.data-table .mono{font-family:var(--mono);color:var(--text-2);font-size:11px}.data-table .btn{padding:3px 9px;font-size:11.5px}.adm-section{flex-direction:column;gap:10px;display:flex}.adm-head{align-items:flex-end;gap:12px;display:flex}.adm-head__l{flex:1;min-width:0}.adm-head__title{letter-spacing:-.01em;font-size:15px;font-weight:700}.adm-head__note{color:var(--text-3);margin-top:2px;font-size:11.5px}.adm-head__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.adm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.adm-card .data-table{background:var(--surface)}.empty-hint{color:var(--text-3);text-align:center;padding:8px 0;font-size:12.5px}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.toolbar,.page-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex}.toolbar .title,.page-header .title{letter-spacing:-.01em;font-size:14px;font-weight:650}.toolbar .spacer,.page-header .spacer{flex:1}.toolbar .tb-lbl,.page-header .tb-lbl{color:var(--text-3);font-size:11px;font-weight:600}.app{grid-template-columns:var(--nav-w) 1fr;height:100vh;transition:grid-template-columns .18s;display:grid;overflow:hidden}.app.nav-collapsed{grid-template-columns:var(--nav-w-collapsed) 1fr}.nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.nav__brand{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:9px;padding:0 14px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent) 0%, #5b7af0 100%);color:#fff;width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:5px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.brand-sub{color:var(--text-3);white-space:nowrap;margin-left:auto;font-size:11px}.nav__collapse{color:var(--text-3);border-radius:var(--r-sm);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:4px;display:flex}.nav__collapse:hover{background:var(--surface-3);color:var(--text)}.nav__collapse svg{width:16px;height:16px}.nav__scroll{flex:1;padding:8px 0 16px;overflow-y:auto}.nav__section{padding:12px 12px 4px}.nav__section--bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:8px}.nav__section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:0 6px 6px;font-size:10.5px;font-weight:650}.nav__module{border-radius:var(--r-sm);cursor:pointer;color:var(--text);border:1px solid #0000;align-items:center;gap:8px;padding:7px 8px;font-size:12.5px;text-decoration:none;transition:background .1s;display:flex}.nav__module:hover{background:var(--surface-3)}.nav__module.is-active{background:var(--accent-soft);color:var(--accent-700);border-color:#d6def8;font-weight:600}.nav__module .ico{width:15px;height:15px;color:var(--text-3);flex-shrink:0;display:flex}.nav__module.is-active .ico{color:var(--accent)}.nav__module-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-collapsed .nav__module{justify-content:center}.nav-collapsed .brand-name,.nav-collapsed .brand-sub{display:none}.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-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.topbar__right{align-items:center;gap:8px;margin-left:auto;display:flex}.crumbs{color:var(--text-2);align-items:center;gap:6px;min-width:0;font-size:12.5px;display:flex}.crumbs b{color:var(--text);font-weight:600}.crumbs .sep{color:var(--text-3)}.health-dot{background:var(--text-3);border-radius:50%;width:8px;height:8px;display:inline-block}.health-dot--ok{background:var(--c-ok)}.health-dot--err{background:var(--c-danger)}.seg{border:1px solid var(--border);border-radius:var(--r-sm);display:flex;overflow:hidden}.seg button{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:4px 9px;font-size:11.5px}.seg button:hover{background:var(--surface-3)}.seg button.is-active{background:var(--accent-soft);color:var(--accent-700);font-weight:600}.seg button:disabled{opacity:.45;cursor:not-allowed}.seg button:disabled:hover{background:0 0}.locale-select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:3px 6px;font-size:11.5px}.theme-toggle{border:1px solid var(--border);border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-2);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--surface-3);color:var(--text)}.theme-toggle svg{width:15px;height:15px}.user-menu{position:relative}.user-avatar{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.user-menu__backdrop{z-index:49;position:fixed;inset:0}.user-menu__pop{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:180px;box-shadow:var(--shadow);z-index:50;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.user-menu__info{border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 10px}.user-menu__name{font-size:12.5px;font-weight:600}.user-menu__role{color:var(--text-3);margin-top:2px;font-size:11px}.user-menu__item{border-radius:var(--r-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:7px 10px;font-size:12.5px;display:flex}.user-menu__item:hover{background:var(--surface-3)}.user-menu__logout{color:var(--c-danger)}.page-wrap{background:var(--bg);flex:1;overflow-y:auto}.page__stub{text-align:center;max-width:480px;margin:40px auto}.page__stub h2{margin-bottom:8px;font-size:1.1rem;font-weight:600}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:340px;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:20px;padding:40px 36px;display:flex}.login-card .brand-mark{width:40px;height:40px;font-size:18px}.login-card h1{text-align:center;font-size:1rem;font-weight:600;line-height:1.4}.loading-screen{min-height:100vh;color:var(--text-3);justify-content:center;align-items:center;font-size:13px;display:flex}.muted{color:var(--text-3)}.nav__zone-desc{color:var(--text-3);padding:2px 6px;font-size:11px}.conflict-dialog-backdrop{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.conflict-dialog__panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);width:100%;max-width:400px;padding:28px 32px}.conflict-dialog__title{color:var(--text);margin:0 0 10px;font-size:15px;font-weight:650}.conflict-dialog__body{color:var(--text-2);margin:0 0 20px;font-size:13px;line-height:1.55}.conflict-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.fav-item{border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.fav-item:hover{background:var(--surface-3)}.fav-item.is-active{background:var(--accent-soft);border-color:var(--accent-soft)}.fav-item__name{align-items:center;gap:6px;font-size:12.5px;font-weight:550;display:flex}.fav-item__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fav-star{color:#e8b923;display:flex}.fav-star svg{width:13px;height:13px}.fav-item__unpin{cursor:pointer;color:#e8b923;opacity:0;background:0 0;border:none;margin-left:auto;padding:2px;font-size:13px;line-height:1;transition:opacity .1s}.fav-item:hover .fav-item__unpin{opacity:1}.fav-toggle{cursor:pointer;border-radius:var(--r-sm);color:var(--text-3);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:3px;display:inline-flex}.fav-toggle svg{width:15px;height:15px}.fav-toggle.is-fav{color:#e8b923}.fav-toggle:hover{background:var(--surface-3)}.fav-text svg{color:#e8b923}.nav__section--roadmaps{flex-direction:column;display:flex}.nav__tree{padding:2px 0}.tree-node{-webkit-user-select:none;user-select:none}.tree-row{border-radius:var(--r-sm);cursor:pointer;color:var(--text);border:1px solid #0000;align-items:center;gap:5px;padding:5px 8px;font-size:12.5px;display:flex}.tree-row:hover{background:var(--surface-3)}.tree-row.is-active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-700);font-weight:600}.tree-row .chev{width:14px;height:14px;color:var(--text-3);flex-shrink:0;place-items:center;display:grid}.tree-row .chev.pm{font-size:13px;font-weight:700;line-height:1}.tree-row .chev.pm:before{content:"−"}.tree-node.collapsed>.tree-row .chev.pm:before{content:"+"}.tree-row .chev.placeholder:before{content:""}.tree-row .ico{width:15px;height:15px;color:var(--text-3);flex-shrink:0;display:flex}.tree-row .ico svg{width:15px;height:15px}.tree-row .rm-row-act{margin-left:0}.tree-children{border-left:1px solid var(--line);margin-left:12px;padding-left:6px}.tree-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-row--rm{flex-wrap:wrap;gap:8px;padding-bottom:8px;padding-left:8px}.tree-badge{background:var(--surface-3);color:var(--text-2);border-radius:20px;flex-shrink:0;padding:1px 6px;font-size:9.5px;font-weight:600}.tree-badge.lc-active{background:var(--c-ok-bg);color:var(--c-ok)}.tree-badge.lc-review{color:#b06a00;background:#fdf2e2;margin-left:0}.tree-badge.lc-approved{background:var(--accent-soft);color:var(--accent-700)}.tree-badge.lc-closed{background:var(--surface-3);color:var(--text-3)}.tree-fav{cursor:pointer;color:var(--text-3);opacity:0;background:0 0;border:none;flex-shrink:0;padding:2px;transition:opacity .1s;display:flex}.tree-fav svg{width:13px;height:13px}.tree-row--rm:hover .tree-fav{opacity:1}.tree-fav.is-fav{color:#e8b923;opacity:1}.nav__search{padding:0 12px 6px}.nav__search input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);width:100%;color:var(--text);padding:6px 9px;font-size:12px}.nav__search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.nav__rm-actions{gap:6px;padding:8px 6px 4px;display:flex}.nav__chip{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.nav__chip svg{width:13px;height:13px}.nav__chip:hover{background:var(--surface-3);border-color:var(--border-strong)}.nav__chip.is-active{background:var(--accent-soft);color:var(--accent-700);border-color:#d6def8}.nav__chip--primary{background:var(--accent);border-color:var(--accent);color:#fff}.nav__chip--primary:hover{background:var(--accent-700);border-color:var(--accent-700)}.nav__rm-tabs{padding-bottom:2px}.tree-row--year .tree-label{font-size:12.5px;font-weight:700}.rm-row-act{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-3);cursor:pointer;opacity:1;flex-shrink:0;align-items:center;gap:3px;margin-left:auto;padding:2px 6px;font-size:10px;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.rm-row-act svg{width:11px;height:11px}.rm-row-act:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.rm-row-act--restore:hover{color:var(--accent-700);background:var(--accent-soft);border-color:#d6def8}.tree-badge.auto-arch{background:var(--surface-3);color:var(--text-3);margin-left:4px}.fav-item__path{color:var(--text-3);padding-left:18px;font-size:11px}.nav-ctx-menu{z-index:260;background:var(--surface);border:1px solid var(--border);min-width:196px;box-shadow:var(--shadow);border-radius:7px;flex-direction:column;gap:1px;padding:4px;display:flex}.nav-ctx-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:5px;padding:6px 10px;font-size:12px}.nav-ctx-item:hover{background:var(--accent-soft)}.nav-ctx-item--danger{color:var(--c-danger)}.nav-ctx-item--danger:hover{background:var(--c-danger-bg)}.lc-compact{align-items:center;gap:8px;display:flex;position:relative}.lc-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:nowrap;cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:11.5px;font-weight:650;display:inline-flex}.lc-pill:hover{border-color:var(--border-strong)}.lc-pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lc-pill .dot{background:var(--text-3);border-radius:50%;flex-shrink:0;width:8px;height:8px}.lc-pill.lc-draft .dot{background:var(--text-3)}.lc-pill.lc-review .dot{background:#b06a00}.lc-pill.lc-approved .dot{background:var(--accent)}.lc-pill.lc-active .dot{background:var(--c-ok)}.lc-pill.lc-closed .dot{background:var(--text-3)}.lc-popover{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);min-width:230px;padding:10px 12px;position:absolute;top:calc(100% + 6px);left:0}.lc-popover.show{opacity:1;visibility:visible}.lc-popover__head{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:650}.lc-popover__steps{flex-direction:column;gap:4px;display:flex}.lc-step{color:var(--text-3);align-items:center;gap:6px;padding:2px 0;font-size:11.5px;display:flex}.lc-step .dot{border:1.5px solid var(--border-strong);background:var(--surface);width:16px;height:16px;color:var(--text-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:9px;font-weight:700;display:grid}.lc-step.is-done .dot{background:var(--c-ok);border-color:var(--c-ok);color:#fff}.lc-step.is-done .lbl{color:var(--text-2)}.lc-step.is-current .dot{background:var(--accent);border-color:var(--accent);color:#fff}.lc-step.is-current .lbl{color:var(--accent-700);font-weight:650}.lc-popover__note{color:var(--text-3);margin-top:8px;font-size:10.5px;line-height:1.35}.variant-wrap{align-items:center;gap:6px;display:flex}.variant-switch{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);cursor:pointer;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:flex}.variant-switch:hover{border-color:var(--border-strong)}.variant-switch .lbl{color:var(--text-3)}.variant-switch select{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600}.gantt-page{height:100%;padding:0}.gantt-split{grid-template-columns:minmax(360px,560px) 1fr;height:100%;min-height:0;display:grid}.gantt-split__table{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.gantt-split__chart{min-width:0;overflow:auto}.ctable-wrap{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ctable-scroll{flex:1;min-height:0;overflow:auto}.ctable{grid-template-rows:auto 1fr;min-width:max-content;font-size:12.5px;display:grid}.ctable__head{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--border-strong);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;box-sizing:border-box;align-items:center;height:34px;font-size:10.5px;font-weight:600;display:grid;position:sticky;top:0}.ctable__row{border-bottom:1px solid var(--line);background:var(--surface);box-sizing:border-box;align-items:center;height:34px;display:grid;overflow:hidden}.ctable__row:hover{background:var(--surface-3)}.ctable__row--initiative .ctable__name{font-weight:650}.ctable__row--epic .ctable__name,.ctable__row--user_story .ctable__name{font-weight:600}.ctable__row--stage{color:var(--text-2);background:var(--surface-2)}.ctable__row--breach{background:var(--c-danger-bg);box-shadow:inset 3px 0 0 var(--prio-critical,#d64545)}.ctable__row--breach:hover{background:var(--c-danger-bg);filter:brightness(.97)}.ctable__row--breach .ctable__name{color:var(--c-danger);font-weight:650}.ctable__cell{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:100%;padding:0 10px;display:flex;overflow:hidden}.ctable__cell--num{text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end}.ctable__cell--name{white-space:nowrap;align-items:center;gap:2px;display:flex}.ctable__indent{flex-shrink:0;display:inline-block}.ctable__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ctable__chev{width:18px;height:18px;color:var(--text-3);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.ctable__chev:hover{background:var(--surface-3);color:var(--text)}.ctable__chev--placeholder{cursor:default}.ctable__row--status .ctable__name{color:var(--text-3);font-style:italic}.ctable__row--error .ctable__name{color:var(--c-danger);font-style:normal}.ctable__msg{color:var(--text-3);padding:16px 12px;font-size:12px}.ctable__toolbar{border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:8px;padding:6px 10px;display:flex}.ctable__cell--editable{cursor:text}.ctable__cell--editable:focus{outline:2px solid var(--accent);outline-offset:-2px}.ctable__cell--ro{color:var(--text-2);padding:7px 10px}.ctable__inline-input{border:1px solid var(--accent);border-radius:var(--r-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:2px 5px}.ctable__row--droptarget{box-shadow:inset 0 0 0 2px var(--accent)}.ctable__row--dragging{opacity:.5}.ctable__row--reorder-target{box-shadow:inset 0 2px 0 0 var(--accent)}.ctable__row--reordering{opacity:.45}.ctable__head-cell{position:relative}.ctable__col-resize{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;width:5px;position:absolute;top:0;bottom:0;right:0}.ctable__col-resize:hover,.ctable__col-resize:active{background:var(--accent);opacity:.4}.ctable__outline-no{font-variant-numeric:tabular-nums;color:var(--text-3);white-space:nowrap;flex-shrink:0;margin-right:4px;font-size:10.5px}.ctable__grip{cursor:grab;width:14px;height:18px;color:var(--text-3);opacity:0;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:opacity .1s;display:inline-flex}.ctable__row:hover .ctable__grip{opacity:1}.ctable__grip:active{cursor:grabbing}.tic{border-radius:3px;flex-shrink:0;place-items:center;width:15px;height:15px;display:inline-grid;box-shadow:0 0 0 1px #0000000f}.tic svg{width:12px;height:12px;display:block}.tic--initiative{background:#d64545}.tic--epic{background:#7a44c2}.tic--user-story{background:#2e9e5b;border-radius:4px}.tic--task-task{background:#3a8fd0}.tic--task-feature{background:#2e9e5b}.tic--task-bug{background:#d64545;border-radius:50%}.tic--stage{background:#6b7280}.ctable__cell--type{gap:5px}.ctable__type-lbl{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ctable__cell--assignee{flex-wrap:nowrap;gap:4px;overflow:hidden}.ctable__assignee-chip{text-overflow:ellipsis;white-space:nowrap;max-width:84px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-shrink:0;align-items:center;height:18px;padding:0 6px;font-size:11px;line-height:18px;display:inline-flex;overflow:hidden}.ctable__assignee-chip--more{color:var(--accent-700);background:var(--accent-soft);border-color:#0000;flex-shrink:0}.add-item{display:inline-block;position:relative}.add-item__menu{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow,0 6px 24px #0000002e);min-width:160px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0}.add-item__option{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:6px 10px;font-size:12.5px;display:block}.add-item__option:hover{background:var(--surface-3)}.col-picker{margin:8px 0 0;padding:0;list-style:none}.col-picker__item{padding:3px 0}.col-picker__label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.col-picker__locked{color:var(--text-3);font-size:11px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border-radius:var(--r-sm);cursor:pointer;border:2px solid #0000;width:24px;height:24px}.swatch--active{border-color:var(--text)}.entities-page{flex-direction:column;gap:12px;display:flex}.entities-page__head{flex-direction:column;gap:10px;display:flex}.entity-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.entity-filters__field{color:var(--text-2);flex-direction:column;gap:3px;font-size:11.5px;display:flex}.entity-filters__check{align-items:center;gap:6px;font-size:12.5px;display:flex}.entity-filters__group{gap:4px;display:flex}.entity-tree,.entity-store-groups{flex-direction:column;display:flex}.entity-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.entity-row__num{color:var(--text-3);font-variant-numeric:tabular-nums;min-width:36px}.entity-row__title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.entity-row__type,.entity-row__ext{color:var(--text-2);font-size:11.5px}.entity-row__in-gantt{color:var(--text-3);font-size:11px}.entity-store-group__title{color:var(--text-2);margin:12px 0 4px;font-size:12px;font-weight:650}.deps-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deps-cell__chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.deps-chip{background:var(--surface-3);border:1px solid var(--border);max-width:130px;color:var(--text-2);border-radius:20px;align-items:center;gap:3px;padding:1px 6px;font-size:10.5px;font-weight:600;line-height:16px;display:inline-flex}.deps-chip--blocks{border-color:var(--ev-freeze);color:var(--ev-freeze)}.deps-chip--precedes{border-color:var(--accent);color:var(--accent)}.deps-chip__dir{font-weight:700}.deps-chip__lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deps-chip__rm{cursor:pointer;color:inherit;opacity:.65;background:0 0;border:none;padding:0 1px;font-size:13px;line-height:1}.deps-chip__rm:hover{opacity:1}.deps-cell__add{border:1px dashed var(--border-strong);cursor:pointer;width:18px;height:18px;color:var(--text-3);background:0 0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.deps-cell__add:hover{border-color:var(--accent);color:var(--accent)}.deps-add__source{color:var(--text-2);margin-bottom:10px;font-size:12.5px}.calendar-page{flex-direction:column;flex:1;min-height:0;display:flex}.cal-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow:auto}.cal-toolbar{align-items:center;gap:10px;display:flex}.cal-toolbar__title{font-size:14px;font-weight:650}.cal-toolbar__spacer{flex:1}.cal-period-band{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--accent-700);align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;display:flex}.cal-period-band .cpb-text{flex:1}.cal-period-band .cpb-tag{background:var(--accent);color:#fff;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700}.cal-page{grid-template-columns:1fr 260px;gap:14px;min-height:0;display:grid;overflow:auto}.cal-main{flex-direction:column;gap:14px;min-width:0;display:flex}.cal-side{flex-direction:column;gap:12px;display:flex}.cal-month{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:10px}.cal-month__title{text-transform:capitalize;margin-bottom:6px;font-size:13px;font-weight:650}.cal-grid{display:block}.cal-dow-row{grid-template-columns:repeat(7,1fr);display:grid}.cal-dow{color:var(--text-3);text-align:center;padding:2px 0;font-size:10.5px;font-weight:600}.cal-week{display:grid;position:relative}.cal-week__days,.cal-week__bars{grid-area:1/1;grid-template-columns:repeat(7,1fr);display:grid}.cal-week__bars{pointer-events:none;grid-auto-rows:17px;align-content:start;row-gap:2px;padding-top:22px}.cal-cell{border:1px solid var(--line);min-height:56px;padding:2px 4px;font-size:11px;position:relative}.cal-cell.other{color:var(--text-3);background:var(--surface-2)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent-soft)}.cal-cell.period-edge{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell .daynum{color:var(--text-2)}.period-mark{text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--accent);border-radius:3px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;top:3px;right:4px}.cal-bar{pointer-events:auto;cursor:pointer;color:#fff;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:4px;align-items:center;gap:4px;height:16px;margin:0 2px;padding:0 6px;font-size:9.5px;font-weight:600;line-height:16px;display:flex;overflow:hidden}.cal-bar__lbl{text-overflow:ellipsis;overflow:hidden}.cal-bar.cont-l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-bar.is-clickable:hover{filter:brightness(1.08);box-shadow:0 0 0 1.5px var(--accent)}.cal-bar.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-bar-more{color:var(--text-3);align-self:center;padding-left:6px;font-size:9px;font-weight:700}.cal-bar.ev-vacation,.ev-list .dot.ev-vacation,.legend-vert .sw.ev-vacation,.deps-chip.ev-vacation{background:var(--ev-vacation)}.cal-bar.ev-holiday,.ev-list .dot.ev-holiday,.legend-vert .sw.ev-holiday,.deps-chip.ev-holiday{background:var(--ev-holiday)}.cal-bar.ev-unavailability,.ev-list .dot.ev-unavailability,.legend-vert .sw.ev-unavailability,.deps-chip.ev-unavailability{background:var(--ev-unavail)}.cal-bar.ev-org_event,.ev-list .dot.ev-org_event,.legend-vert .sw.ev-org_event,.deps-chip.ev-org_event{background:var(--ev-org)}.cal-bar.ev-release_freeze{background:repeating-linear-gradient(45deg, var(--ev-freeze), var(--ev-freeze) 4px, #d96b8a 4px, #d96b8a 8px)}.ev-list .dot.ev-release_freeze,.legend-vert .sw.ev-release_freeze,.deps-chip.ev-release_freeze{background:var(--ev-freeze)}.panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.panel__title{border-bottom:1px solid var(--line);padding:8px 12px;font-size:12px;font-weight:650}.panel__body{padding:10px 12px}.legend-vert{flex-direction:column;gap:6px;display:flex}.legend-vert .item{align-items:center;gap:8px;font-size:12px;display:flex}.legend-vert .sw{border-radius:3px;flex-shrink:0;width:14px;height:14px}.ev-list{flex-direction:column;gap:4px;display:flex}.ev-item{cursor:pointer;text-align:left;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.ev-item:hover{background:var(--accent-soft)}.ev-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ev-item .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ev-item .meta{flex-direction:column;flex:1;min-width:0;display:flex}.ev-item .meta .t{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;overflow:hidden}.ev-item .meta .d{color:var(--text-3);font-size:10.5px}.ev-item .ev-scope{color:var(--text-2);font-size:10.5px}.event-details{flex-direction:column;gap:8px;display:flex}.event-details__row{gap:10px;display:flex}.event-details__row dt{width:90px;color:var(--text-2);font-size:12px;font-weight:600}.event-details__row dd{align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.event-details .deps-chip{border:none;border-radius:50%;width:12px;height:12px;padding:0}.gantt-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gantt-page .split{flex:1;grid-template-columns:520px 6px 1fr;min-height:0;display:grid;position:relative;overflow:hidden}.gantt-page .split.collapse-table .gtable,.gantt-page .split.collapse-table .splitter,.gantt-page .split.collapse-chart .gchart,.gantt-page .split.collapse-chart .splitter{visibility:hidden;position:absolute;top:-9999px;left:-9999px}@media (width<=640px){.gantt-page .split{grid-template-columns:1fr!important}.gantt-page .split .splitter,.gantt-page .split .gchart{display:none}.gantt-page .split.collapse-table .gchart{display:flex}}.gantt-page .seg{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);display:inline-flex;overflow:hidden}.gantt-page .seg button{color:var(--text-2);border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;padding:5px 10px;font-family:inherit;font-size:12px}.gantt-page .seg button:last-child{border-right:none}.gantt-page .seg button.is-active{background:var(--accent);color:#fff;font-weight:600}.gantt-page .seg button:not(.is-active):hover{background:var(--surface-3)}.gantt-page .seg.is-muted{opacity:.55}.gantt-page .seg--xs button{padding:3px 9px;font-size:11px}.gantt-page .gran-seg button{padding:3px 10px}.gantt-page .gtable{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-width:500px;display:flex;overflow:hidden}.gantt-page .gtable__head,.gantt-page .grow{grid-template-columns:244px 96px 62px 62px 56px;align-items:center;display:grid}.gantt-page .gtable__head{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0;height:38px;position:sticky;top:0}.gantt-page .gtable__head .th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-right:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;height:100%;padding:0 10px;font-size:10.5px;font-weight:650;display:flex;position:relative}.gantt-page .gtable__head .th:last-child{border-right:none}.gantt-page .gtable__head .th.num{justify-content:flex-end}.gantt-page .gtable__head .th.col-dragging{opacity:.45;background:var(--accent-soft);cursor:grabbing}.gantt-page .col-resize-handle{cursor:col-resize;z-index:5;width:7px;height:100%;position:absolute;top:0;right:-3px}.gantt-page .col-resize-handle:hover{background:var(--accent);opacity:.35}.gantt-page .col-drop-indicator{background:var(--accent);z-index:9;pointer-events:none;width:2px;box-shadow:0 0 4px var(--accent);display:none;position:absolute;top:0;bottom:0}.gantt-page .gscroll{flex:1;overflow:auto}.gantt-page .grow{border-bottom:1px solid var(--line);cursor:pointer;height:38px;position:relative}.gantt-page .grow:hover{background:var(--surface-2)}.gantt-page .grow.is-active{background:var(--accent-soft)}.gantt-page .grow .td{border-right:1px solid var(--line);align-items:center;height:100%;padding:0 10px;font-size:12px;display:flex;overflow:hidden}.gantt-page .grow .td:last-child{border-right:none}.gantt-page .grow .td.num{font-variant-numeric:tabular-nums;color:var(--text-2);justify-content:flex-end}.gantt-page .grow .td.task{gap:5px}.gantt-page .grow.lvl-initiative .td.task,.gantt-page .grow.lvl-epic .td.task,.gantt-page .grow.lvl-user_story .td.task{font-weight:650}.gantt-page .grow.lvl-task .td.task{font-weight:550}.gantt-page .grow.lvl-stage .td.task{color:var(--text-2);font-weight:450}.gantt-page .grow.lvl-stage{background:var(--surface-2)}.gantt-page .grow.lvl-stage:hover{background:var(--surface-3)}.gantt-page .grow.lvl-folder{background:var(--surface-2);font-weight:650}.gantt-page .grow.lvl-folder:hover{background:var(--surface-3)}.gantt-page .grow.collapsed .row-chev{transform:rotate(-90deg)}.gantt-page .grow.reordering{opacity:.5;background:var(--accent-soft)}.gantt-page .grow.dnd-dragging{opacity:.45}.gantt-page .grow.drop-ok{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.gantt-page .grow.drop-no{box-shadow:inset 0 0 0 2px var(--prio-critical);opacity:.7}.gantt-page .grow.deadline-breach{background:var(--c-danger-bg);box-shadow:inset 3px 0 0 var(--prio-critical)}.gantt-page .grow.deadline-breach:hover{background:var(--c-danger-bg);filter:brightness(.97)}.gantt-page .grow.deadline-breach .td.task .task-label{color:var(--c-danger);font-weight:650}.gantt-page .td.deadline.breach-text{color:var(--prio-critical);font-weight:700}.gantt-page .grow.in-folder{box-shadow:inset 3px 0 0 var(--folder-tint,transparent)}.gantt-page .row-indent{flex-shrink:0;display:inline-block}.gantt-page .row-grip{cursor:grab;width:11px;height:14px;color:var(--text-3);opacity:0;flex-shrink:0;place-items:center;transition:opacity .12s;display:inline-grid}.gantt-page .grow:hover .row-grip,.gantt-page .folder-head:hover .row-grip{opacity:.6}.gantt-page .row-grip:hover{opacity:1;color:var(--accent-700)}.gantt-page .row-grip svg{fill:currentColor}.gantt-page .row-chev.pm{width:14px;height:14px;color:var(--text-3);cursor:pointer;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid;transform:none}.gantt-page .row-chev.pm:before{content:"−"}.gantt-page .grow.collapsed .row-chev.pm{transform:none}.gantt-page .grow.collapsed .row-chev.pm:before{content:"+"}.gantt-page .row-chev.placeholder.pm{visibility:hidden}.gantt-page .row-chev.placeholder.pm:before{content:""}.gantt-page .row-outline-no{color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:18px;font-size:10.5px;font-weight:600}.gantt-page .task-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-page .color-dot{border-radius:2px;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 1px #00000014}.gantt-page .tic{border-radius:3px;flex-shrink:0;place-items:center;width:15px;height:15px;display:inline-grid;box-shadow:0 0 0 1px #0000000f}.gantt-page .tic svg{width:12px;height:12px;display:block}.gantt-page .tic--initiative{background:#d64545}.gantt-page .tic--epic{background:#7a44c2}.gantt-page .tic--user-story{background:#2e9e5b;border-radius:4px}.gantt-page .tic--task-task{background:#3a8fd0}.gantt-page .tic--task-feature{background:#2e9e5b}.gantt-page .tic--task-bug{background:#d64545;border-radius:50%}.gantt-page .tic--stage{background:#6b7280}.gantt-page .td.type{gap:5px}.gantt-page .type-col-lbl{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.gantt-page .st-icon{flex-shrink:0;width:14px;height:14px}.gantt-page .st-icon.open{color:var(--st-open)}.gantt-page .st-icon.in_progress{color:var(--st-progress)}.gantt-page .st-icon.done{color:var(--st-done)}.gantt-page .st-icon.blocked{color:var(--st-blocked)}.gantt-page .st-icon.cancelled{color:var(--st-cancelled)}.gantt-page .mini-chip{white-space:nowrap;border:1px solid #0000;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.gantt-page .pc-critical{color:var(--prio-critical);background:var(--c-danger-bg)}.gantt-page .pc-high{color:var(--c-warn);background:var(--stream-technical-bg)}.gantt-page .pc-medium{color:var(--accent-700);background:var(--accent-soft)}.gantt-page .pc-low{color:var(--text-2);background:var(--surface-3)}.gantt-page .assignee{color:var(--text-2);align-items:center;gap:5px;font-size:11.5px;display:inline-flex;overflow:hidden}.gantt-page .assignee .ava{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:17px;height:17px;font-size:8.5px;font-weight:700;display:grid}.gantt-page .assignee.slot .ava{background:var(--text-3);border-radius:4px}.gantt-page .assignee.named .ava{background:var(--accent)}.gantt-page .assignee .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-page .assignee-multi{flex-wrap:wrap;align-items:center;gap:3px 6px;max-width:100%;display:inline-flex;overflow:hidden}.gantt-page .assignee--chip{gap:4px}.gantt-page .assignee--chip .nm{max-width:84px}.gantt-page .td.progress{gap:6px}.gantt-page .mini-prog{background:var(--surface-3);border-radius:3px;width:44px;height:6px;overflow:hidden}.gantt-page .mini-prog>i{background:var(--st-done);height:100%;display:block}.gantt-page .prog-pct{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10px}.gantt-page .td.pred{flex-wrap:wrap;gap:4px;overflow:hidden}.gantt-page .td.pred.dep-empty{color:var(--text-3)}.gantt-page .dep-chip{background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:9px;flex-shrink:0;max-width:130px;padding:1px 6px;font-size:10.5px;line-height:1.4;overflow:hidden}.gantt-page .dep-chip--precedes{border-style:solid}.gantt-page .dep-chip--blocks{border-style:dashed;border-color:var(--prio-high,#c97a1f)}.gantt-page .td.labels{flex-wrap:wrap;gap:4px;overflow:hidden}.gantt-page .td.labels .label-chip{flex-shrink:0}.gantt-page .label-chip{background:var(--surface-3);color:var(--text-2);border-radius:20px;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.gantt-page .label-chip .dot{border-radius:50%;width:7px;height:7px}.gantt-page .badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-flex}.gantt-page .badge--stream-business{background:var(--stream-business-bg);color:var(--stream-business)}.gantt-page .badge--stream-technical{background:var(--stream-technical-bg);color:var(--c-warn)}.gantt-page .badge--stream-support{background:var(--stream-support-bg);color:var(--stream-support)}.gantt-page .badge--stream-payments,.gantt-page .badge--store-jira{background:var(--accent-soft);color:var(--accent-700)}.gantt-page .badge--store-virtual{background:var(--surface-3);color:var(--text-2)}.gantt-page .td.task .badge{flex-shrink:0}.gantt-page .folder-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1px #0000001a}.gantt-page .folder-edit{cursor:pointer;color:var(--text-3);opacity:0;background:0 0;border:none;margin-left:6px;padding:0 3px;font-size:11px}.gantt-page .folder-head:hover .folder-edit{opacity:.8}.gantt-page .folder-edit:hover{color:var(--accent-700)}.gantt-page .crow.lvl-folder{background:var(--surface-2)}.gantt-page .type-tag.folder{color:#6a40c0;background:#ece4f8}html[data-theme=dark] .gantt-page .type-tag.folder{color:#b9a4f0;background:#2b2440}.gantt-page .bulk-cell{justify-content:center;align-items:center;display:flex}.gantt-page .gtable__head .th.bulk-head{cursor:default;padding:0}.gantt-page .bulk-cb,.gantt-page .bulk-master{cursor:pointer;width:14px;height:14px;margin:0}.gantt-page .bulk-cb:disabled,.gantt-page .bulk-master:disabled{cursor:not-allowed;opacity:.4}.gantt-page .bulk-cell--empty{cursor:default}.gantt-page .inline-edit{box-sizing:border-box;border:1px solid var(--accent);background:var(--surface);width:100%;height:22px;color:var(--text-1,var(--text));border-radius:4px;padding:0 4px;font-size:12px}.gantt-page .inline-edit[type=color]{height:20px;padding:0}.gantt-page .grow .td:has(.inline-edit){padding:0 4px;overflow:visible}.gantt-page .inline-color-wrap{align-items:center;gap:4px;display:flex}.gantt-page .inline-color-wrap .inline-edit[type=color]{flex:1;min-width:0}.gantt-page .inline-color-reset{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);width:20px;height:20px;color:var(--text);border-radius:4px;flex-shrink:0;padding:0;font-size:13px;line-height:1}.gantt-page .inline-color-reset:hover{background:var(--surface-3);color:var(--accent-700)}.gantt-page .grow.row-add,.gantt-page .grow.row-empty-create{cursor:default;background:0 0}.gantt-page .grow.row-add:hover,.gantt-page .grow.row-empty-create:hover{background:var(--surface-2)}.gantt-page .row-add-plus,.gantt-page .row-empty-ph{color:var(--text-3);cursor:pointer;border:1px dashed var(--border);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.gantt-page .row-add-plus:hover,.gantt-page .row-empty-ph:hover{color:var(--accent-700);border-color:var(--accent);background:var(--accent-soft)}.gantt-page .reorder-indicator{background:var(--accent);z-index:8;pointer-events:none;height:2px;box-shadow:0 0 4px var(--accent);display:none;position:absolute;left:0;right:0}.gantt-page .splitter{background:var(--border);cursor:col-resize;position:relative}.gantt-page .splitter:hover{background:var(--accent)}.gantt-page .splitter:after{content:"";background:var(--border-strong);border-radius:2px;width:2px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gantt-page .gchart{background:var(--surface);flex-direction:column;display:flex;position:relative;overflow:hidden}.gantt-page .gchart__tswrap{border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.gantt-page .gchart__tswrap .timescale{border-bottom:none;position:static}.gantt-page .gchart__scroll{-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:auto}.gantt-page .timescale{z-index:4;background:var(--surface-2);border-bottom:1px solid var(--border);height:38px;display:flex;position:sticky;top:0}.gantt-page .ts-cell{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;justify-content:center;min-width:40px;padding:0 8px;display:flex;overflow:hidden}.gantt-page .ts-cell .ts-name{white-space:nowrap;font-size:11px;font-weight:600}.gantt-page .ts-cell .ts-sub{color:var(--text-3);white-space:nowrap;font-size:9.5px}.gantt-page .ts-cell.weekend{background:repeating-linear-gradient(45deg, var(--surface-3), var(--surface-3) 4px, transparent 4px, transparent 8px)}.gantt-page .timescale.ts-gran-sprint .ts-cell,.gantt-page .timescale.ts-gran-month .ts-cell{min-width:0}.gantt-page .chart-body,.gantt-page .chart-rows{position:relative}.gantt-page .crow{border-bottom:1px solid var(--line);height:38px;position:relative}.gantt-page .crow.lvl-stage{background:var(--surface-2)}.gantt-page .crow.is-active{background:var(--accent-soft)}.gantt-page .grid-line{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.gantt-page .grid-line.sprint{background:var(--border-strong)}.gantt-page .weekend-band{pointer-events:none;background:repeating-linear-gradient(45deg,#00000006,#00000006 4px,#0000 4px 8px);position:absolute;top:0;bottom:0}.gantt-page .freeze-zone{border-left:1.5px dashed var(--ev-freeze);border-right:1.5px dashed var(--ev-freeze);pointer-events:none;z-index:1;background:repeating-linear-gradient(45deg,#c0476f1a,#c0476f1a 6px,#c0476f0a 6px 12px);position:absolute;top:0;bottom:0}.gantt-page .freeze-label{color:var(--ev-freeze);background:var(--surface);white-space:nowrap;z-index:5;border:1px solid #f0cdd8;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:2px;transform:translate(-50%)}html[data-theme=dark] .gantt-page .freeze-label{border-color:var(--ev-freeze)}.gantt-page .deadline-marker{border-left:2px dashed var(--prio-critical);z-index:2;width:0;position:absolute;top:0;bottom:0}.gantt-page .deadline-marker.breached{border-left-color:var(--prio-critical);border-left-style:solid}.gantt-page .deadline-marker:not(.breached){border-left-style:dotted;border-left-color:var(--text-3)}.gantt-page .deadline-flag{color:var(--prio-critical);background:var(--surface);white-space:nowrap;z-index:5;border:1px solid #f0c0c0;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:2px;transform:translate(-3px)}.gantt-page .deadline-flag.breached{color:var(--prio-critical);border-color:var(--c-danger)}.gantt-page .deadline-flag:not(.breached){color:var(--text-2);border-color:var(--border)}html[data-theme=dark] .gantt-page .deadline-flag{border-color:var(--prio-critical)}.gantt-page .rm-bound{border-left:2px solid var(--accent);opacity:.55;z-index:2;width:0;position:absolute;top:0}.gantt-page .crow-empty{color:var(--text-3);white-space:nowrap;pointer-events:none;z-index:3;font-size:10px;font-style:italic;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.gantt-page .bar{z-index:3;cursor:grab;height:30px;box-shadow:var(--shadow-sm);color:#fff;border:1.5px solid #0000;border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;transition:filter .12s;display:flex;position:absolute;top:4px;overflow:visible}.gantt-page .bar:hover{filter:brightness(1.04)}.gantt-page .bar.summary{opacity:.9;border-radius:3px}.gantt-page .bar .bar-lbl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-page .bar.depth-3{border-radius:3px}.gantt-page .bar.summary.depth-0{opacity:.95}.gantt-page .bar.summary.depth-1{opacity:.9}.gantt-page .bar.s-business{background:var(--stream-business)}.gantt-page .bar.s-technical{background:var(--stream-technical)}.gantt-page .bar.s-support{background:var(--stream-support)}.gantt-page .bar.st-blocked{border-color:var(--st-blocked);border-style:dashed}.gantt-page .bar.st-done{border-color:var(--st-done)}.gantt-page .bar.st-done:after{content:"✓";color:#fff;font-size:9px;position:absolute;right:4px}.gantt-page .bar.st-cancelled{opacity:.45;text-decoration:line-through}.gantt-page .bar .prio-mark{border-radius:4px 0 0 4px;width:4px;position:absolute;top:-1.5px;bottom:-1.5px;left:-1.5px}.gantt-page .pm-critical{background:var(--prio-critical)}.gantt-page .pm-high{background:#fff3d6}html[data-theme=dark] .gantt-page .pm-high{background:var(--prio-high)}.gantt-page .bar.bar-breach{outline:2px solid var(--prio-critical);outline-offset:1px;box-shadow:0 0 0 3px #d645452e}.gantt-page .bar.bar-editable{cursor:grab}.gantt-page .bar.lp-armed{box-shadow:0 0 0 2px var(--accent);cursor:grabbing}.gantt-page .bar.dragging-date{opacity:.85;cursor:grabbing;box-shadow:0 0 0 2px var(--accent);z-index:6}.gantt-page .bar.resizing{opacity:.9;z-index:6}.gantt-page .bar .handle{cursor:ew-resize;opacity:0;z-index:4;justify-content:center;align-items:center;width:9px;transition:opacity .1s,background .1s;display:flex;position:absolute;top:-1.5px;bottom:-1.5px}.gantt-page .bar:hover .handle,.gantt-page .bar .handle:hover{opacity:1}.gantt-page .bar .handle:hover{background:#ffffff2e}.gantt-page .bar .handle.l{border-radius:4px 0 0 4px;left:-1.5px}.gantt-page .bar .handle.r{border-radius:0 4px 4px 0;right:-1.5px}.gantt-page .bar .handle:before{content:"";background:#ffffffd9;border-radius:1px;width:2px;height:11px}html[data-theme=dark] .gantt-page .bar{color:#fff}.gantt-page .dep-svg-wrap{pointer-events:none;z-index:4;position:absolute;inset:0}.gantt-page .dep-svg{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible}.gantt-page .dep-path{fill:none;stroke:var(--text-3);stroke-width:1.4px}.gantt-page .dep-path.blocks{stroke:var(--st-blocked);stroke-dasharray:3 2}.gantt-page .stage-gap__zone{z-index:2;pointer-events:auto;background:repeating-linear-gradient(45deg,#e0a23a29,#e0a23a29 5px,#0000 5px 10px);border:1px dashed #e0a23a;border-radius:3px;position:absolute;top:6px;bottom:6px}.gantt-page .stage-gap.blocked .stage-gap__zone{border-color:var(--prio-critical);background:repeating-linear-gradient(45deg,#d6454524,#d6454524 5px,#0000 5px 10px)}.gantt-page .stage-gap__mark{z-index:6;pointer-events:auto;position:absolute;top:1px;transform:translate(-2px)}.gantt-page .stage-gap__chip{white-space:nowrap;color:var(--c-warn);background:var(--surface);border:1px solid var(--c-warn-bg);cursor:help;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.gantt-page .stage-gap.blocked .stage-gap__chip{color:var(--prio-critical);border-color:var(--c-danger)}.gantt-page .create-ghost{z-index:7;background:var(--accent-soft);border:1.5px dashed var(--accent);pointer-events:none;border-radius:4px;height:30px;position:absolute}.gantt-page .addelem-wrap{display:inline-flex;position:relative}.gantt-page .addelem-wrap--inline .row-empty-ph{cursor:pointer}.gantt-page .tooltip,.gantt-page-portal .tooltip{z-index:999;color:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;background:#1a1d23;max-width:280px;padding:8px 11px;font-size:11.5px;line-height:1.5;transition:opacity .1s;position:fixed}.gantt-page .tooltip.show,.gantt-page-portal .tooltip.show{opacity:1}.gantt-page .tooltip b,.gantt-page-portal .tooltip b{font-weight:650}.gantt-page .tooltip .tt-row,.gantt-page-portal .tooltip .tt-row{justify-content:space-between;gap:14px;display:flex}.gantt-page .tooltip .tt-row span:first-child,.gantt-page-portal .tooltip .tt-row span:first-child{color:#a8b0bf}.gantt-page .tooltip .tt-div,.gantt-page-portal .tooltip .tt-div{background:#ffffff1f;height:1px;margin:5px 0}.gantt-page-portal .addelem-menu,.gantt-page .addelem-menu{z-index:60;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md,0 8px 24px #00000026);border-radius:7px;flex-direction:column;gap:1px;min-width:130px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.gantt-page-portal .addelem-item,.gantt-page .addelem-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:5px;padding:6px 10px;font-family:inherit;font-size:12px}.gantt-page-portal .addelem-item:hover,.gantt-page .addelem-item:hover{background:var(--accent-soft)}.gantt-page-portal .addelem-item[disabled],.gantt-page .addelem-item[disabled]{opacity:.4;cursor:default}.gantt-page-portal .addelem-secthd,.gantt-page .addelem-secthd{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:4px 10px 2px;font-size:9.5px;font-weight:700}.gantt-page-portal .addelem-sep,.gantt-page .addelem-sep{background:var(--border);height:1px;margin:4px 0}.gantt-page-portal .addelem-item--addexist,.gantt-page .addelem-item--addexist{color:var(--accent-700);font-weight:600}.gantt-page-portal .ctx-menu,.gantt-page .ctx-menu{z-index:220;background:var(--surface);border:1px solid var(--border);min-width:168px;box-shadow:var(--shadow-md,0 8px 24px #00000026);border-radius:7px;flex-direction:column;gap:1px;padding:4px;display:flex;position:fixed}.gantt-page-portal .ctx-menu .ctx-danger,.gantt-page .ctx-menu .ctx-danger{color:var(--c-danger,#b42318)}.gantt-page-portal .ctx-menu .ctx-danger:hover,.gantt-page .ctx-menu .ctx-danger:hover{background:var(--c-danger-bg,#fdeeee)}.gantt-page-portal .ctx-subwrap,.gantt-page .ctx-subwrap{position:relative}.gantt-page-portal .ctx-sub-trigger,.gantt-page .ctx-sub-trigger{justify-content:space-between;align-items:center;width:100%;display:flex}.gantt-page-portal .ctx-submenu,.gantt-page .ctx-submenu{z-index:230;background:var(--surface);border:1px solid var(--border);min-width:150px;max-height:240px;box-shadow:var(--shadow-md,0 8px 24px #00000026);border-radius:7px;flex-direction:column;gap:1px;margin-left:2px;padding:4px;display:none;position:absolute;top:0;left:100%;overflow:auto}.gantt-page-portal .ctx-submenu.open,.gantt-page .ctx-submenu.open{display:flex}.gantt-page-portal .dep-inline-pop,.gantt-page .dep-inline-pop{z-index:240;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:260px;box-shadow:var(--shadow-md,0 8px 24px #0000002e);border-radius:8px;padding:8px;font-size:12px;position:fixed}.gantt-page-portal .dep-pop-title,.gantt-page .dep-pop-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:700}.gantt-page-portal .dep-pop-list,.gantt-page .dep-pop-list{flex-direction:column;gap:3px;max-height:140px;margin-bottom:7px;display:flex;overflow:auto}.gantt-page-portal .dep-pop-empty,.gantt-page .dep-pop-empty{color:var(--text-3);padding:2px 0;font-size:11px}.gantt-page-portal .dep-pop-row,.gantt-page .dep-pop-row{align-items:center;gap:5px;display:flex}.gantt-page-portal .dep-pop-name,.gantt-page .dep-pop-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gantt-page-portal .dep-pop-rel,.gantt-page .dep-pop-rel{color:var(--text-3);white-space:nowrap;font-size:10px}.gantt-page-portal .dep-pop-del,.gantt-page .dep-pop-del{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);width:18px;height:18px;color:var(--text-2);border-radius:4px;flex-shrink:0;padding:0;font-family:inherit;line-height:1}.gantt-page-portal .dep-pop-del:hover,.gantt-page .dep-pop-del:hover{background:var(--c-danger-bg,#fdeeee);color:var(--c-danger,#b42318)}.gantt-page-portal .dep-pop-add,.gantt-page .dep-pop-add{align-items:center;gap:4px;margin-top:4px;display:flex}.gantt-page-portal .dep-pop-type,.gantt-page-portal .dep-pop-from,.gantt-page .dep-pop-type,.gantt-page .dep-pop-from{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text);border-radius:4px;min-width:0;font-family:inherit;font-size:11px}.gantt-page-portal .dep-pop-from,.gantt-page .dep-pop-from{flex:1}.gantt-page-portal .dep-pop-warn,.gantt-page .dep-pop-warn{color:var(--c-danger,#b42318);min-height:0;margin-top:5px;font-size:10.5px}.gantt-page-portal .dep-pop-warn:empty,.gantt-page .dep-pop-warn:empty{display:none}.gantt-page-portal .dep-pop-foot,.gantt-page .dep-pop-foot{justify-content:flex-end;margin-top:7px;display:flex}.gantt-page-portal .asg-inline-pop,.gantt-page .asg-inline-pop{z-index:240;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:260px;box-shadow:var(--shadow-md,0 8px 24px #0000002e);border-radius:8px;padding:8px;font-size:12px;position:fixed}.gantt-page-portal .color-pick-pop,.gantt-page .color-pick-pop{z-index:240;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);width:200px;box-shadow:var(--shadow-md,0 8px 24px #0000002e);border-radius:8px;padding:8px;font-size:12px;position:fixed}.gantt-page-portal .cp-title,.gantt-page .cp-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:700}.gantt-page-portal .cp-grid,.gantt-page .cp-grid{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:8px;display:grid}.gantt-page-portal .cp-swatch,.gantt-page .cp-swatch{aspect-ratio:1;cursor:pointer;border:1px solid #0000001f;border-radius:4px;width:100%;min-height:18px;padding:0;box-shadow:inset 0 0 0 1px #0000000a}.gantt-page-portal .cp-swatch:hover,.gantt-page .cp-swatch:hover{transform:scale(1.08)}.gantt-page-portal .cp-swatch--active,.gantt-page .cp-swatch--active{outline:2px solid var(--accent);outline-offset:1px}.gantt-page-portal .cp-hex-row,.gantt-page .cp-hex-row{align-items:center;gap:5px;display:flex}.gantt-page-portal .cp-hex,.gantt-page .cp-hex{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);min-width:0;height:24px;color:var(--text);font-size:12px;font-family:var(--mono,monospace);border-radius:4px;flex:1;padding:0 6px}.gantt-page-portal .cp-hex.cp-invalid,.gantt-page .cp-hex.cp-invalid{border-color:var(--c-danger,#b42318);background:var(--c-danger-bg,#fdeeee)}.gantt-page-portal .cp-hex-err,.gantt-page .cp-hex-err{color:var(--c-danger,#b42318);min-height:13px;margin-top:3px;font-size:10.5px;display:block}.gantt-page-portal .cp-hex-err:empty,.gantt-page .cp-hex-err:empty{min-height:0}.gantt-page-portal .cp-foot,.gantt-page .cp-foot{justify-content:flex-end;margin-top:6px;display:flex}.gantt-page-portal .cp-reset,.gantt-page .cp-reset{color:var(--text-2)}.gantt-page-portal .folder-pop,.gantt-page .folder-pop{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-direction:column;gap:8px;width:260px;padding:12px;display:flex;position:fixed;box-shadow:0 12px 32px #00000038}.gantt-page-portal .folder-pop .fp-title,.gantt-page .folder-pop .fp-title{font-size:13px;font-weight:700}.gantt-page-portal .folder-pop .fp-row,.gantt-page .folder-pop .fp-row{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.gantt-page-portal .folder-pop .fp-name,.gantt-page .folder-pop .fp-name{border:1px solid var(--border);background:var(--surface-2);height:26px;color:var(--text);border-radius:5px;flex:1;padding:0 6px;font-size:12px}.gantt-page-portal .folder-pop .fp-color,.gantt-page .folder-pop .fp-color{border:1px solid var(--border);border-radius:5px;width:40px;height:24px;padding:0}.gantt-page-portal .folder-pop .fp-parent,.gantt-page .folder-pop .fp-parent{background:var(--surface-2);min-width:0;color:var(--text);flex:1}.gantt-page-portal .folder-pop .fp-members-lbl,.gantt-page .folder-pop .fp-members-lbl{color:var(--text-3);margin-top:4px;font-size:11px;font-weight:600}.gantt-page-portal .folder-pop .fp-members,.gantt-page .folder-pop .fp-members{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:2px;max-height:168px;padding:4px;display:flex;overflow-y:auto}.gantt-page-portal .folder-pop .fp-member,.gantt-page .folder-pop .fp-member{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:2px 3px;font-size:12px;display:flex}.gantt-page-portal .folder-pop .fp-member:hover,.gantt-page .folder-pop .fp-member:hover{background:var(--surface-2,#0000000a)}.gantt-page-portal .folder-pop .fp-member input,.gantt-page .folder-pop .fp-member input{flex-shrink:0}.gantt-page-portal .folder-pop .fp-member-lbl,.gantt-page .folder-pop .fp-member-lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gantt-page-portal .folder-pop .fp-member-note,.gantt-page .folder-pop .fp-member-note{color:var(--text-3);flex-shrink:0;font-size:10px}.gantt-page-portal .folder-pop .fp-foot,.gantt-page .folder-pop .fp-foot{justify-content:flex-end;gap:6px;margin-top:2px;display:flex}.gantt-page-portal .m-col-row,.gantt-page .m-col-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:8px;padding:5px 9px;display:flex}.gantt-page-portal .m-col-grip,.gantt-page .m-col-grip{color:var(--text-3);cursor:grab;letter-spacing:-2px;font-size:11px}.gantt-page-portal .m-col-toggle,.gantt-page .m-col-toggle{flex:1;padding:0}.gantt-page-portal .m-col-move,.gantt-page .m-col-move{gap:2px;display:flex}.gantt-page-portal .m-stage-list,.gantt-page .m-stage-list{flex-direction:column;gap:4px;display:flex}.gantt-page-portal .m-stage-row,.gantt-page .m-stage-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);justify-content:space-between;align-items:baseline;gap:10px;padding:6px 9px;display:flex}.gantt-page-portal .m-stage-name,.gantt-page .m-stage-name{font-size:12.5px;font-weight:600}.gantt-page-portal .m-stage-meta,.gantt-page .m-stage-meta{color:var(--text-3);font-size:11px}.gantt-page-portal .m-stage-row.is-clickable,.gantt-page .m-stage-row.is-clickable{cursor:pointer}.gantt-page-portal .m-stage-row.is-clickable:hover,.gantt-page .m-stage-row.is-clickable:hover{border-color:var(--accent);background:var(--accent-soft)}.gantt-page-portal .m-dep-list,.gantt-page .m-dep-list{flex-direction:column;gap:4px;display:flex}.gantt-page-portal .m-dep-row,.gantt-page .m-dep-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 9px;font-size:12px;display:flex}.gantt-page-portal .m-asg-editor,.gantt-page .m-asg-editor{flex-direction:column;gap:6px;display:flex}.gantt-page-portal .m-asg-chips,.gantt-page .m-asg-chips{flex-wrap:wrap;gap:5px;display:flex}.gantt-page-portal .m-asg-chip,.gantt-page .m-asg-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:11.5px;display:inline-flex}.gantt-page-portal .m-asg-chip__del,.gantt-page .m-asg-chip__del{cursor:pointer;color:var(--text-3);background:0 0;border:0;border-radius:50%;padding:0 2px;font-family:inherit;font-size:14px;line-height:1}.gantt-page-portal .m-asg-chip__del:hover,.gantt-page .m-asg-chip__del:hover{background:var(--c-danger-bg,#fdeeee);color:var(--c-danger,#b42318)}.gantt-page-portal .m-color,.gantt-page .m-color{border:1px solid var(--border);border-radius:var(--r-sm);background:0 0;width:36px;height:28px;padding:0}.gantt-page-portal .m-color-wrap,.gantt-page .m-color-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gantt-page-portal .m-color-editor,.gantt-page .m-color-editor{flex-direction:column;gap:6px;display:flex}.gantt-page-portal .m-color-swatches,.gantt-page .m-color-swatches{flex-wrap:wrap;gap:5px;display:flex}.gantt-page-portal .m-swatch,.gantt-page .m-swatch{border-radius:var(--r-sm);width:22px;height:22px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:2px solid #0000;padding:0}.gantt-page-portal .m-swatch:hover,.gantt-page .m-swatch:hover{box-shadow:0 0 0 1px var(--border-strong)}.gantt-page-portal .m-swatch.is-active,.gantt-page .m-swatch.is-active{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.gantt-page-portal .m-toast-host{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.gantt-page-portal .m-toast{background:var(--text);color:var(--text-inv);border-radius:var(--r);box-shadow:var(--shadow-lg);opacity:0;max-width:80vw;padding:9px 16px;font-size:12.5px;font-weight:500;transition:opacity .2s,transform .2s;transform:translateY(8px)}.gantt-page-portal .m-toast.is-show{opacity:1;transform:none}.gantt-page-portal .res-detail-head,.gantt-page .res-detail-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.gantt-page-portal .res-detail-ava,.gantt-page .res-detail-ava{color:#fff;background:var(--text-3);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:grid}.gantt-page-portal .res-detail-ava.named,.gantt-page .res-detail-ava.named{background:var(--accent)}.gantt-page-portal .res-detail-ava.slot,.gantt-page .res-detail-ava.slot{background:var(--text-3);border-radius:8px}.gantt-page-portal .res-detail-info,.gantt-page .res-detail-info{flex:1;min-width:0}.gantt-page-portal .res-detail-name,.gantt-page .res-detail-name{color:var(--text);font-size:14px;font-weight:700}.gantt-page-portal .res-detail-meta,.gantt-page .res-detail-meta{color:var(--text-3);margin-top:2px;font-size:12px}.gantt-page-portal .res-detail-heat,.gantt-page .res-detail-heat{margin-top:4px}.gantt-page-portal .res-detail-empty,.gantt-page .res-detail-empty{color:var(--text-3);margin:8px 0;font-size:12.5px}.gantt-page-portal .res-detail-table,.gantt-page .res-detail-table{border-collapse:collapse;width:100%;font-size:12.5px}.gantt-page-portal .res-detail-table th,.gantt-page .res-detail-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);padding:4px 8px;font-size:11px;font-weight:700}.gantt-page-portal .res-detail-table td,.gantt-page .res-detail-table td{border-bottom:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;padding:6px 8px}.gantt-page-portal .res-detail-table tr:last-child td,.gantt-page .res-detail-table tr:last-child td{border-bottom:none}.gantt-page-portal .res-detail-table tr.is-focus td,.gantt-page .res-detail-table tr.is-focus td{background:var(--accent-soft)}.gantt-page-portal .res-detail-sub,.gantt-page .res-detail-sub{color:var(--text-3)}.gantt-page-portal .heat-chip,.gantt-page .heat-chip{border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.gantt-page-portal .heat-chip--heat-under,.gantt-page .heat-chip--heat-under{background:var(--cap-under,#cfe8d8);color:#2c6b46}.gantt-page-portal .heat-chip--heat-ok,.gantt-page .heat-chip--heat-ok{background:var(--cap-ok,#b6dcc6);color:#1f5a3a}.gantt-page-portal .heat-chip--heat-full,.gantt-page .heat-chip--heat-full{background:var(--cap-full,#f6e0a6);color:#8a6310}.gantt-page-portal .heat-chip--heat-over,.gantt-page .heat-chip--heat-over{background:var(--cap-over,#f3b6b6);color:#9a2a2a}.res-ctx-menu{z-index:9999;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-md,0 8px 24px #00000026);border-radius:7px;flex-direction:column;gap:1px;padding:4px;display:flex;position:fixed}.res-ctx-menu .addelem-secthd{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:4px 10px 2px;font-size:9.5px;font-weight:700}.res-ctx-menu .addelem-sep{background:var(--border);height:1px;margin:4px 0}.res-ctx-menu .addelem-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:5px;align-items:center;width:100%;padding:6px 10px;font-family:inherit;font-size:12px;display:flex}.res-ctx-menu .addelem-item:hover{background:var(--accent-soft)}.res-ctx-menu .addelem-item[disabled],.res-ctx-menu .addelem-item.is-disabled{opacity:.4;cursor:default}.res-ctx-menu .ctx-danger{color:var(--c-danger,#b42318)}.res-ctx-menu .ctx-danger:hover{background:var(--c-danger-bg,#fdeeee)}.res-ctx-sub{border-left:2px solid var(--border);flex-direction:column;gap:1px;margin:2px 4px 2px 10px;padding-left:8px;display:flex}.gantt-banner{flex-shrink:0;padding:8px 16px;font-size:13px}.gantt-banner--error{background:var(--c-danger-bg,#fef2f2);color:var(--c-danger,#dc2626);border-bottom:1px solid var(--c-danger,#dc2626)}.gantt-banner--info{background:var(--surface-2);color:var(--text-2);border-bottom:1px solid var(--border)}.gantt-chart{outline:none;flex-direction:column;height:100%;min-height:0;display:flex}.gantt-chart--loading{color:var(--text-3);justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.gantt-chart__toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0;align-items:center;gap:8px;padding:5px 10px;display:flex}.gantt-chart__canvas-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.gantt-gran-seg{border:1px solid var(--border);border-radius:var(--r-sm);display:flex;overflow:hidden}.gantt-gran-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:4px 9px;font-family:inherit;font-size:11.5px}.gantt-gran-btn:hover{background:var(--surface-3)}.gantt-gran-btn--active{background:var(--accent-soft);color:var(--accent-700);font-weight:600}.gantt-overlay-toggle{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;background:0 0;padding:4px 9px;font-family:inherit;font-size:11.5px}.gantt-overlay-toggle:hover{background:var(--surface-3)}.gantt-overlay-toggle--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-700);font-weight:600}.gantt-bulk-controls{align-items:center;gap:6px;display:flex}.gantt-bulk-count{color:var(--text-2);font-size:12px}.gantt-col-headers{background:var(--surface-2);border-bottom:1px solid var(--border-strong);color:var(--text-2);z-index:1;font-size:11.5px;font-weight:600;display:flex;position:sticky;top:0}.gantt-col-header{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding:6px 8px;overflow:hidden}.gantt-col-header--draggable{cursor:grab}.gantt-table-rows{flex-direction:column;display:flex}.gantt-table-row{border-bottom:1px solid var(--line);align-items:center;display:flex}.gantt-table-row--selected{background:var(--accent-soft)}.gantt-bulk-cb{cursor:pointer;margin:0 8px}.gantt-row-bg{fill:var(--surface)}.gantt-row-bg--alt{fill:var(--surface-2)}.gantt-col-weekend{fill:var(--surface-3);opacity:.5}.gantt-grid-line{fill:none;stroke:var(--border);stroke-width:.5px}.gantt-grid-line--major{fill:none;stroke:var(--border-strong);stroke-width:1px}.gantt-period-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3}.gantt-period-line--start{stroke:var(--c-ok,#1f7a44)}.gantt-period-line--end{stroke:var(--ev-freeze,#c0476f)}.gantt-ts-bg{fill:var(--surface-2)}.gantt-ts-line{stroke:var(--border);stroke-width:.5px;fill:none}.gantt-ts-line--major{stroke:var(--border-strong);stroke-width:1px;fill:none}.gantt-ts-label{fill:var(--text-3);font-size:10px;font-family:var(--font)}.gantt-ts-label--major{fill:var(--text-2);font-size:11px;font-weight:600}.gantt-period-marker{fill:none;stroke:var(--accent);stroke-width:1.5px}.gantt-period-marker--start{stroke:var(--c-ok,#1f7a44)}.gantt-period-marker--end{stroke:var(--ev-freeze,#c0476f)}.gantt-dep-preview{stroke:var(--accent);stroke-width:1.5px;fill:none}.gantt-dep-path{stroke:var(--border-strong,#94a3b8);stroke-width:1.5px;fill:none}.gantt-dep-path--blocks{stroke-dasharray:5 3}.gantt-dep-path--precedes{stroke-dasharray:none}.gantt-bar--done .gantt-bar__done-mark{font-family:var(--font)}.gantt-grid-line--sprint{fill:none;stroke:var(--accent,#3a5bd0);stroke-width:1px;opacity:.35;stroke-dasharray:3 4}.gantt-stage-gap__zone{fill:url(#gantt-gap-pattern);opacity:.55}.gantt-freeze-zone__fill{fill:url(#gantt-freeze-pattern);opacity:.18}.gantt-freeze-zone__label{fill:var(--ev-freeze,#c0476f);font-size:10px;font-family:var(--font);pointer-events:none;font-weight:600}.gantt-deadline-line{stroke:var(--accent,#3a5bd0);stroke-width:1.5px;stroke-dasharray:4 3}.gantt-deadline-line--breach{stroke:var(--c-danger,#dc2626)}.gantt-deadline-flag{fill:var(--accent,#3a5bd0);font-size:10px;font-family:var(--font);pointer-events:none;font-weight:600}.gantt-deadline-flag--breach{fill:var(--c-danger,#dc2626)}.gantt-tooltip{z-index:200;background:var(--surface,#fff);border:1px solid var(--border-strong,#cbd5e1);border-radius:var(--r-sm,6px);color:var(--text,#0f172a);pointer-events:none;white-space:nowrap;min-width:140px;max-width:280px;padding:8px 10px;font-size:12px;line-height:1.5;position:fixed;box-shadow:0 4px 16px #0000001f}.dark .gantt-tooltip{background:var(--surface,#1e293b);border-color:var(--border-strong,#475569);box-shadow:0 4px 16px #0006}.gantt-tooltip__title{text-overflow:ellipsis;margin-bottom:4px;font-weight:600;overflow:hidden}.gantt-tooltip__row{color:var(--text-2,#475569);align-items:baseline;gap:6px;display:flex}.gantt-tooltip__label{color:var(--text-3,#94a3b8);flex-shrink:0}.gantt-page-portal .gantt-modal,.gantt-page .gantt-modal{z-index:1000;opacity:0;justify-content:center;align-items:center;padding:24px;transition:opacity .16s;display:flex;position:fixed;inset:0}.gantt-page-portal .gantt-modal.is-open,.gantt-page .gantt-modal.is-open{opacity:1}.gantt-page-portal .modal__backdrop,.gantt-page .modal__backdrop{background:var(--c-shadow);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);position:absolute;inset:0}.gantt-page-portal .modal__content,.gantt-page .modal__content{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-height:calc(100vh - 48px);transition:transform .16s;display:flex;position:relative;overflow:hidden;transform:translateY(6px)scale(.99)}.gantt-page-portal .gantt-modal.is-open .modal__content,.gantt-page .gantt-modal.is-open .modal__content{transform:none}.gantt-page-portal .modal__content--sm,.gantt-page .modal__content--sm{max-width:420px}.gantt-page-portal .modal__content--md,.gantt-page .modal__content--md{max-width:560px}.gantt-page-portal .modal__content--lg,.gantt-page .modal__content--lg{max-width:760px}.gantt-page-portal .modal__content--xl,.gantt-page .modal__content--xl{max-width:1000px}.gantt-page-portal .form-grid,.gantt-page .form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.gantt-page-portal .gantt-modal{align-items:stretch;padding:0}.gantt-page-portal .modal__content{border-radius:0;max-width:none;max-height:100vh}.gantt-page-portal .form-grid,.gantt-page .form-grid{grid-template-columns:1fr}}.resources-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.resources-page .res-page{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow-y:auto}.resources-page .res-fchip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:16px;align-items:center;gap:5px;padding:3px 8px 3px 4px;font-size:11.5px;transition:background .12s,border-color .12s;display:inline-flex}.resources-page .res-fchip:hover{background:var(--surface-3)}.resources-page .res-fchip.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}.resources-page .res-fchip .ava-sm{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;font-weight:700;display:grid}.resources-page .res-fchip .ava-sm.slot{background:var(--text-3);border-radius:4px}.resources-page .res-fchip.is-on .ava-sm{background:#ffffff47}.resources-page .res-summary{border-radius:var(--r);border:1px solid var(--c-warn,#d98a1f);background:var(--c-warn-bg,#fbeccd);color:var(--c-warn,#9a6210);flex-wrap:wrap;align-items:center;gap:8px;margin:12px 16px 0;padding:8px 12px;font-size:12.5px;display:flex}.resources-page .res-summary--ok{background:var(--c-ok-bg);border-color:var(--c-ok);color:var(--c-ok)}.resources-page .res-summary .ico{flex-shrink:0;width:18px;height:18px}.resources-page .res-summary .badge-count{background:var(--st-blocked,#d64545);color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:700}.resources-page .res-legend{margin:12px 16px}.resources-page .res-legend .sw.heat-under{background:var(--cap-under)}.resources-page .res-legend .sw.heat-ok{background:var(--cap-ok)}.resources-page .res-legend .sw.heat-full{background:var(--cap-full)}.resources-page .res-legend .sw.heat-over{background:var(--cap-over)}.resources-page .res-legend .sw.sw-hatch{border:1px solid var(--ev-vacation);background:repeating-linear-gradient(45deg,#2a8c8c80,#2a8c8c80 3px,#0000 3px 6px)}.resources-page .res-grid{border:1px solid var(--border);border-radius:var(--r);margin:0 16px 20px;overflow:hidden}.resources-page .res-grid--scroll{max-height:calc(100vh - 240px);overflow:auto}.resources-page .res-grid--scroll .res-head{z-index:4;background:var(--bg);align-items:stretch;display:flex;position:sticky;top:0}.resources-page .res-grid--scroll .res-head-info{z-index:5;background:var(--bg);flex:none;width:220px;position:sticky;top:0;left:0}.resources-page .res-grid--scroll .res-head .sprints{flex:none;display:grid}.resources-page .res-grid--scroll .res-row{align-items:stretch;display:flex}.resources-page .res-grid--scroll .res-info{z-index:2;background:var(--surface);flex:none;width:220px;position:sticky;left:0}.resources-page .res-head .sp-col{white-space:nowrap;text-overflow:ellipsis;text-align:center;min-width:40px;color:var(--text-3);border-left:1px solid var(--border);padding:4px 2px;font-size:10px;font-weight:650;line-height:1.2;overflow:hidden}.resources-page .res-head .sp-col .sp-days{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.resources-page .res-row{border-bottom:1px solid var(--border)}.resources-page .res-row:last-child{border-bottom:none}.resources-page .res-row--dragging{opacity:.55}.resources-page .res-row--drop{box-shadow:0 -2px 0 0 var(--accent)}.resources-page .res-row--drop-assign{box-shadow:inset 0 0 0 2px var(--accent)}.resources-page .res-row--drop-assign .res-info{background:var(--accent-soft)}.resources-page .res-info{border-right:1px solid var(--border);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.resources-page .res-info.is-clickable{cursor:pointer;transition:background .12s}.resources-page .res-info.is-clickable:hover{background:var(--accent-soft)}.resources-page .res-info.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.resources-page .res-info.res-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent-700)}.resources-page .res-info-head{align-items:center;gap:6px;display:flex}.resources-page .res-info-head .nm{flex:1;min-width:0}.resources-page .res-info-head .nm .nm-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resources-page .res-grip{color:var(--text-3);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:3px;flex-shrink:0;align-items:center;padding:1px;display:inline-flex}.resources-page .res-grip:hover{color:var(--text-2);background:var(--surface-3)}.resources-page .res-grip:active{cursor:grabbing}.resources-page .res-info .ava-lg{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:grid}.resources-page .res-info .ava-lg.slot{background:var(--text-3);border-radius:5px}.resources-page .res-info .ava-lg.named{background:var(--accent)}.resources-page .res-info .nm{align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.resources-page .res-info .nm .nm-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resources-page .res-info .role{color:var(--text-3);font-size:11px}.resources-page .res-expand{color:var(--text-3);cursor:pointer;border-radius:3px;flex-shrink:0;align-items:center;padding:1px;transition:transform .15s;display:inline-flex}.resources-page .res-expand:hover{color:var(--text-2);background:var(--surface-3)}.resources-page .res-row--expanded .res-expand{transform:rotate(180deg)}.resources-page .res-add-task{border-radius:var(--r);border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent-700);cursor:pointer;align-self:flex-start;margin-top:5px;padding:3px 8px;font-size:11px;font-weight:600}.resources-page .res-add-task:hover{background:var(--accent);color:#fff;border-style:solid}.resources-page .res-right{-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;min-width:0;display:flex}.resources-page .res-lanes-scroll{border-bottom:1px solid var(--line);position:relative}.resources-page .lane-assign{min-height:38px;position:relative}.resources-page .res-lanes-scroll .lane-assign{border-bottom:none}.resources-page .res-lanes-scroll--event .lane-assign{background:var(--cap-under,#2a8c8c0a)}.resources-page .lane-grid{background:var(--line);z-index:0;width:1px;position:absolute;top:0;bottom:0}.resources-page .assign-seg{color:#fff;min-height:30px;box-shadow:var(--shadow-sm);-webkit-line-clamp:2;white-space:normal;z-index:1;border-radius:4px;-webkit-box-orient:vertical;align-items:center;padding:3px 6px;font-size:9.5px;font-weight:600;line-height:1.2;display:-webkit-box;position:absolute;top:4px;overflow:hidden}.resources-page .assign-seg.is-clickable{cursor:pointer}.resources-page .assign-seg.is-clickable:hover{filter:brightness(1.06);box-shadow:0 0 0 1.5px var(--accent-700)}.resources-page .assign-seg.is-clickable:focus-visible,.resources-page .assign-seg.res-selected{outline:2px solid var(--accent-700);outline-offset:1px}.resources-page .assign-seg.bar-editable{align-items:center;display:flex}.resources-page .assign-seg .bar-lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.resources-page .assign-seg .handle{cursor:ew-resize;opacity:0;z-index:4;justify-content:center;align-items:center;width:9px;transition:opacity .1s,background .1s;display:flex;position:absolute;top:0;bottom:0}.resources-page .assign-seg:hover .handle,.resources-page .assign-seg .handle:hover{opacity:1}.resources-page .assign-seg .handle:hover{background:#fff3}.resources-page .assign-seg .handle.l{border-radius:4px 0 0 4px;left:0}.resources-page .assign-seg .handle.r{border-radius:0 4px 4px 0;right:0}.resources-page .assign-seg .handle:before{content:"";background:#ffffffd9;border-radius:1px;width:2px;height:11px}.resources-page .assign-seg--pressed{filter:brightness(1.1);box-shadow:0 0 0 2px var(--accent-700)}.resources-page .assign-seg--reschedule{cursor:ew-resize;box-shadow:0 0 0 2px var(--accent);opacity:.92}.resources-page .assign-seg--resizing{box-shadow:0 0 0 2px var(--accent);opacity:.92}.resources-page .assign-seg--dragsrc{opacity:.35}.resources-page .assign-seg--ghost{opacity:.85;box-shadow:var(--shadow)}.resources-page .assign-seg--new{box-shadow:0 0 0 1.5px var(--accent-700)}.resources-page .assign-seg.s-business{background:var(--stream-business)}.resources-page .assign-seg.s-technical{background:var(--stream-technical)}.resources-page .assign-seg.s-support{background:var(--stream-support)}.resources-page .assign-seg.vac{color:var(--ev-vacation);border:1px dashed var(--ev-vacation);background:0 0;align-items:center;min-height:30px;padding-left:4px;font-size:10.5px;display:flex;top:4px}.resources-page .heat-row{min-height:30px;display:grid}.resources-page .heat-cell{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-height:30px;padding:3px 4px;font-size:10px;display:flex;position:relative;overflow:hidden}.resources-page .heat-cell:last-child{border-right:none}.resources-page .heat-cell .htxt{font-variant-numeric:tabular-nums;font-size:10px}.resources-page .heat-cell .hpct{opacity:.8;font-size:8.5px;font-weight:600}.resources-page .heat-cell.heat-under{background:var(--cap-under);color:#2c6b46}.resources-page .heat-cell.heat-ok{background:var(--cap-ok);color:#1f5a3a}.resources-page .heat-cell.heat-full{background:var(--cap-full);color:#8a6310}.resources-page .heat-cell.heat-over{background:var(--cap-over);color:#9a2a2a}.resources-page .heat-cell.heat-over:after{content:"!";color:#9a2a2a;font-size:8px;font-weight:700;position:absolute;top:1px;right:3px}.resources-page .heat-cell.frozen{box-shadow:inset 0 0 0 1.5px #c0476f66}.resources-page .heat-cell.is-clickable{cursor:pointer;min-width:40px}.resources-page .heat-cell.is-clickable:hover{box-shadow:inset 0 0 0 2px var(--accent)}.resources-page .res-head .sprints.sp-gran-sprint .sp-col,.resources-page .heat-row.heat-gran-sprint .heat-cell.is-clickable,.resources-page .res-head .sprints.sp-gran-month .sp-col,.resources-page .heat-row.heat-gran-month .heat-cell.is-clickable{min-width:0}.resources-page .sp-spacer{background:0 0;border-left:none;min-width:0}.resources-page .heat-spacer{background:0 0;border-right:none}.resources-page .heat-cell.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.resources-page .heat-cell.res-selected{box-shadow:inset 0 0 0 2px var(--accent-700)}.resources-page .heat-cell .ov-mark{color:var(--accent-700);font-size:8px;position:absolute;top:1px;left:3px}html[data-theme=dark] .resources-page .heat-cell.heat-under{color:#9bdcb6}html[data-theme=dark] .resources-page .heat-cell.heat-ok{color:#a9e3c0}html[data-theme=dark] .resources-page .heat-cell.heat-full{color:#f0cf8a}html[data-theme=dark] .resources-page .heat-cell.heat-over{color:#f3a6a6}.resources-page .res-conflicts{margin:0 16px 24px}.resources-page .conflict-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:7px 0;font-size:12.5px;display:flex}.resources-page .conflict-row:last-child{border-bottom:none}.resources-page .conflict-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.resources-page .conflict-overload .conflict-dot{background:var(--st-blocked)}.resources-page .conflict-freeze .conflict-dot{background:var(--ev-freeze)}.resources-page .res-row--expanded{align-items:start}.resources-page .res-row--expanded .res-info-head .nm .nm-text{white-space:normal;overflow:visible}.resources-page .res-row--expanded .res-lanes-scroll .lane-assign{height:auto;min-height:38px}.resources-page .res-row--expanded .assign-seg{white-space:normal;align-items:flex-start;height:auto;min-height:30px;padding-top:4px;padding-bottom:4px;line-height:1.25}.resources-page .res-row--expanded .assign-seg .bar-lbl{white-space:normal;overflow:visible}.resources-page .cap-mode-badge{white-space:nowrap;border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:11.5px}.resources-page .cap-mode-badge.cap-formula{background:var(--accent-soft);color:var(--accent-700);border-color:var(--accent-soft)}.resources-page .cap-mode-badge.cap-explicit_days{background:var(--c-warn-bg);color:var(--c-warn);border-color:var(--c-warn)}.resources-page .cap-mode-badge .cap-hint{opacity:.75;font-weight:500}.resources-page .cap-mode-badge .cap-hours{background:var(--surface-3);font-variant-numeric:tabular-nums;border-radius:10px;margin-left:6px;padding:1px 6px;font-weight:600}.resources-page .assign-seg.assign-seg--conflict{outline:2px solid var(--c-danger,#d64545);outline-offset:1px;box-shadow:inset 0 0 0 1px #d6454559,0 0 0 3px #d645451f}.resources-page .assign-seg.assign-seg--conflict:after{content:"⚠";color:#fff;text-shadow:0 0 3px #0009;font-size:9px;position:absolute;top:2px;right:4px}.resources-page .res-fchip__check{opacity:.9;margin-left:2px;font-size:9px}.res-filter-chips--role,.res-filter-chips--mode{border-left:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-left:4px;display:flex}.res-fchip--sm{padding:2px 7px;font-size:11px}.rm-empty-state{text-align:center;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.rm-empty-state__ico{opacity:.4;width:40px;height:40px}.rm-empty-state__title{color:var(--text-2);font-size:14px;font-weight:600}.rm-empty-state__text{max-width:380px;font-size:12.5px}@media (width<=640px){.resources-page .res-row{grid-template-columns:1fr}.resources-page .res-info{border-right:none;border-bottom:1px solid var(--border)}}.goals-page{--task-progress-bar:#2a8c8c;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}html[data-theme=dark] .goals-page{--task-progress-bar:#45b3b3}.goals-page .goals-scroll{flex:1;padding:16px;overflow:auto}.goals-page .goals-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.goals-page .goals-summary__metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px}.goals-page .goals-summary__metric .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.goals-page .goals-summary__metric .l{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:11px;font-weight:600}.goals-page .goals-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.goals-page .goal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;padding:13px 15px;transition:border-color .12s,box-shadow .12s}.goals-page .goal-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.goals-page .goal-card--red{border-color:var(--prio-critical,#d64545);box-shadow:inset 0 0 0 1px var(--prio-critical,#d64545)}.goals-page .goal-card__top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.goals-page .goal-card__title{flex:1;min-width:0;font-size:13px;font-weight:650;line-height:1.3}.goals-page .goal-card__weight{color:var(--text-3);background:var(--surface-3);border-radius:20px;flex-shrink:0;padding:1px 7px;font-size:10.5px;font-weight:650}.goals-page .goal-card__red{color:#fff;background:var(--prio-critical,#d64545);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.goals-page .type-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r-sm,4px);flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:700}.goals-page .type-tag.goal{color:#6a40c0;background:#efe7fb}.goals-page .type-tag.initiative{background:var(--accent-soft,#eaeefb);color:var(--accent-700,#2c45a3)}.goals-page .type-tag.epic{background:var(--stream-technical-bg,#fbeccd);color:var(--c-warn,#9a6210)}.goals-page .type-tag.user_story{color:#92660a;background:#fef3cd}.goals-page .type-tag.task{background:var(--surface-3,#f1f3f5);color:var(--text-3,#8b94a3)}html[data-theme=dark] .goals-page .type-tag.goal{color:#c4a9f5;background:#2a2247}html[data-theme=dark] .goals-page .type-tag.initiative{color:#9ab4fa;background:#1e2d5c}html[data-theme=dark] .goals-page .type-tag.user_story{color:#d4b86a;background:#3a2e0a}.goals-page .ach-bar{background:var(--surface-3,#f1f3f5);border-radius:5px;height:9px;position:relative;overflow:hidden}.goals-page .ach-bar>i{border-radius:5px;height:100%;display:block}.goals-page .ach-bar>i.achieved{background:var(--st-done,#2e9e5b)}.goals-page .ach-bar>i.partial{background:var(--stream-technical,#d98a1f)}.goals-page .ach-bar>i.missed{background:var(--prio-critical,#d64545)}.goals-page .ach-meta{color:var(--text-2,#5b6472);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}.goals-page .goal-bar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3,#8b94a3);margin-top:8px;margin-bottom:3px;font-size:9.5px;font-weight:700}.goals-page .task-bar{background:var(--surface-3,#f1f3f5);border-radius:5px;height:9px;position:relative;overflow:hidden}.goals-page .task-bar>i{background:var(--task-progress-bar);border-radius:5px;height:100%;display:block}.goals-page .task-meta{color:var(--text-2,#5b6472);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}.goals-page .task-meta__none{color:var(--text-3,#8b94a3);font-style:italic}.goals-page .goal-card__foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;display:flex}.goals-page .goal-card__labels{flex-wrap:wrap;gap:5px;margin-left:auto;display:inline-flex}.goals-page .goal-src-list{flex-wrap:wrap;gap:5px;max-width:100%;display:inline-flex}.goals-page .goal-src{border:1px solid var(--border);background:var(--surface-2,#fbfcfd);border-radius:var(--r,6px);max-width:100%;color:var(--text-2,#5b6472);cursor:pointer;align-items:center;gap:6px;padding:3px 8px;font-family:inherit;font-size:11px;display:inline-flex;overflow:hidden}.goals-page .goal-src:hover{border-color:var(--accent);color:var(--accent-700)}.goals-page .goal-src__tag{text-transform:uppercase;letter-spacing:.03em;background:var(--accent-soft,#eaeefb);color:var(--accent-700,#2c45a3);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8.5px;font-weight:700}.goals-page .goal-src__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goals-page .goal-src--none{cursor:default;color:var(--text-3,#8b94a3);border-style:dashed;font-style:italic}.goals-page .goal-src--none:hover{border-color:var(--border);color:var(--text-3)}.goals-page .label-chip{background:var(--surface-3);color:var(--text-2);border-radius:20px;align-items:center;gap:4px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.goals-page .label-chip .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.goals-page .goals-note{color:var(--text-3);margin-top:16px;font-size:11.5px;line-height:1.5}.goals-page .empty-hint{text-align:center;color:var(--text-3);padding:32px 16px;font-size:13px}@media (width<=900px){.goals-page .goals-grid{grid-template-columns:1fr}.goals-page .goals-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.goals-page .goals-summary{grid-template-columns:1fr}}.ent-viewseg{margin-right:4px}.ent-viewseg button{padding:3px 9px;font-size:11px}.ent-bulkbar{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-3);flex-shrink:0;align-items:center;gap:8px;min-height:38px;padding:7px 16px;font-size:12px;display:flex}.ent-bulkbar.is-active{background:var(--accent-soft);color:var(--accent-700)}.ent-bulkbar .spacer{flex:1}.ent-bulkbar__count{font-weight:700}.ent-table-wrap{flex:1;padding:0 16px 16px;overflow:auto}.ent-table{min-width:880px}.ent-table th.ent-cb,.ent-table td.ent-cb{text-align:center;width:34px;padding-left:12px;padding-right:4px}.ent-row{cursor:pointer}.ent-row--virtual td{background:repeating-linear-gradient(45deg,#0000,#0000 9px,#00000005 9px 18px)}html[data-theme=dark] .ent-row--virtual td{background:repeating-linear-gradient(45deg,#0000,#0000 9px,#ffffff09 9px 18px)}.ent-row--copy td:nth-child(2){padding-left:22px}.ent-table--tree th:nth-child(2),.ent-table--tree td.ent-typecol-tree{border:none;width:0;padding:0}.ent-tree-name{align-items:center;gap:6px;display:flex}.ent-indent{flex-shrink:0;display:inline-block}.ent-outline-num{color:var(--text-3);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:30px;font-size:10.5px;font-weight:700}.ent-chev{width:14px;height:14px;color:var(--text-3);cursor:pointer;border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;transition:transform .12s;display:inline-flex}.ent-chev:hover{background:var(--surface-3);color:var(--text)}.ent-chev--placeholder{cursor:default;visibility:hidden}.ent-row--tree.lvl-initiative td:nth-child(3){box-shadow:inset 3px 0 0 var(--accent)}.ent-row--tree.lvl-epic td:nth-child(3){box-shadow:inset 3px 0 0 var(--border-strong)}.ent-row--tree.lvl-user_story td:nth-child(3){box-shadow:inset 3px 0 0 var(--c-warning,#e6a817)}.ent-row--tree.lvl-task td:nth-child(3){box-shadow:inset 3px 0 0 var(--line)}.type-tag{letter-spacing:.03em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:9px;font-weight:700}.type-tag--initiative{background:var(--accent-soft,#d6e0fb);color:var(--accent,#3a5bd0)}.type-tag--epic{background:var(--stream-technical-bg,#fbeccd);color:var(--c-warn,#9a6210)}.type-tag--user_story{background:var(--c-warning-soft,#fef3cd);color:var(--c-warning-text,#92660a)}.type-tag--task{background:var(--surface-3);color:var(--text-3)}.type-tag--goal{color:#6a40c0;background:#efe7fb}html[data-theme=dark] .type-tag--initiative{color:#9ab4fa;background:#1e2d5c}html[data-theme=dark] .type-tag--goal{color:#c4a9f5;background:#2a2247}.ent-name{min-width:220px}.ent-name__t{font-weight:600;display:block}.ent-name__rm{color:var(--text-3);font-size:10.5px}.ent-labels{flex-wrap:wrap;gap:5px;display:inline-flex}.label-chip--row{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:10px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.in-gantt{white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.in-gantt--yes{color:var(--st-done)}.in-gantt--no{color:var(--text-3)}.ent-grouphead td{background:var(--surface-3);padding:6px 10px}.ent-grouphead__store{margin-right:8px}.ent-grouphead__lbl{color:var(--text-2);font-size:11px;font-weight:600}.ent-actions-cell{white-space:nowrap}.ent-actions{gap:3px;display:inline-flex}.ent-act{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);color:var(--text-2);padding:2px 7px;font-size:10.5px;font-weight:600}.ent-act:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.ent-act--danger:hover{background:var(--c-danger-bg);border-color:var(--prio-critical);color:var(--prio-critical)}.m-dep-list{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.m-dep-row{align-items:center;gap:6px;font-size:12px;display:flex}.m-dep-num{color:var(--text-3);min-width:18px;font-size:10.5px}.m-dep-name{flex:1;font-weight:500}.m-checklist{flex-direction:column;gap:4px;display:flex}.m-checklist .checkbox-row{align-items:center;gap:6px;font-size:12px;display:flex}.label-chip{align-items:center;gap:4px;display:inline-flex}.ent-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.closure-scroll{flex:1;padding:16px;overflow:auto}.closure-sub{display:block}.closure-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.subtabs{border-bottom:1px solid var(--border);gap:0;padding:0 16px;display:flex}.subtab{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.subtab:hover{color:var(--text-1)}.subtab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.closure-scope-banner{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;padding:9px 12px;display:flex}.closure-scope-banner__tag{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-700);background:var(--accent-soft);border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:10px;font-weight:700}.closure-scope-banner__txt{color:var(--text-2);font-size:12px}.kpi-row{grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}.kpi--hero{border-left:3px solid var(--accent)}.kpi .lbl{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.kpi .val{color:var(--text-1);font-size:26px;font-weight:700;line-height:1.1}.kpi--hero .val{color:var(--accent)}.kpi .sub{color:var(--text-2);margin-top:4px;font-size:11px}.bvf-row{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 60px;align-items:center;gap:8px;padding:6px 0;display:grid}.bvf-row:last-child{border-bottom:none}.bvf-label{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.bvf-track{background:var(--surface-3);border-radius:3px;height:14px;position:relative;overflow:hidden}.bvf-base{background:var(--border-strong);opacity:.45;border-radius:2px;height:100%;position:absolute;top:0}.bvf-actual{border-radius:2px;height:100%;position:absolute;top:0}.bvf-actual.on{background:var(--st-done)}.bvf-actual.late{background:var(--prio-critical);opacity:.85}.bvf-shift{text-align:right;white-space:nowrap;font-size:11px;font-weight:600}.shift-pos{color:var(--prio-critical)}.shift-na{color:var(--text-2);font-style:italic}.shift-ok{color:var(--st-done)}.legend{flex-wrap:wrap;gap:14px;display:flex}.legend .item{color:var(--text-2);align-items:center;gap:5px;font-size:11px;display:flex}.legend .sw{border-radius:2px;flex-shrink:0;width:12px;height:12px;display:inline-block}.dev-table{border-collapse:collapse;width:100%;font-size:12px}.dev-table th{text-align:left;color:var(--text-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}.dev-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:7px 8px}.dev-table tr:last-child td{border-bottom:none}.dev-table .item-name{font-weight:500}.dev-table .comment{color:var(--text-2);max-width:200px;font-size:11px}.dev-type{background:var(--surface-3);color:var(--text-2);border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700}.dev-type.schedule{color:#1a56c4;background:#e8f0fb}.dev-type.scope{color:#6a40c0;background:#efe7fb}.reason-tag{background:var(--surface-3);color:var(--text-2);border-radius:20px;padding:2px 6px;font-size:10px}.goal-result{border-bottom:1px solid var(--line);padding:10px 0}.goal-result:last-child{border-bottom:none}.goal-result__top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.goal-result__title{flex:1;min-width:0;font-size:13px;font-weight:600}.goal-result__weight{background:var(--surface-3);color:var(--text-2);border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.ach-badge{border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.ach-badge.achieved{color:#065f46;background:#d1fae5}.ach-badge.partial{color:#92400e;background:#fef3c7}.ach-badge.missed{color:#991b1b;background:#fee2e2}.ach-bar{background:var(--surface-3);border-radius:6px;height:10px;margin-bottom:4px;position:relative;overflow:visible}.ach-bar i{border-radius:6px;height:100%;font-style:normal;display:block}.ach-bar i.achieved{background:var(--st-done)}.ach-bar i.partial{background:#f59e0b}.ach-bar i.missed{background:var(--prio-critical)}.target-tick{background:var(--text-1);opacity:.5;border-radius:1px;width:2px;height:14px;position:absolute;top:-2px}.ach-meta{color:var(--text-2);gap:16px;font-size:11px;display:flex}.close-li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.close-li:last-child{border-bottom:none}.close-li__mark{border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:800;display:grid}.close-li__mark svg{width:13px;height:13px}.close-li__mark--ok{background:var(--c-ok-bg);color:var(--c-ok)}.close-li__mark--add{color:#6a40c0;background:#efe7fb}.close-li__meta{flex:1;min-width:0}.close-li__t{align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.close-li__n{color:var(--text-2);margin-top:2px;font-size:11px}.close-li__eff{background:var(--surface-3);color:var(--text-2);border-radius:20px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700}@media (width<=1100px){.kpi-row{grid-template-columns:1fr 1fr}}@media (width<=900px){.closure-cols{grid-template-columns:1fr}}@media (width<=640px){.kpi-row{grid-template-columns:1fr}}html[data-theme=dark] .close-li__mark--add{color:#c4a9f5;background:#2a2247}html[data-theme=dark] .dev-type.schedule{color:#7ab0f5;background:#1a2e50}html[data-theme=dark] .dev-type.scope{color:#c4a9f5;background:#2a2247}html[data-theme=dark] .ach-badge.achieved{color:#6ee7b7;background:#064e3b}html[data-theme=dark] .ach-badge.partial{color:#fcd34d;background:#78350f}html[data-theme=dark] .ach-badge.missed{color:#fca5a5;background:#7f1d1d}.doc-page{overflow:hidden}.doc-scroll{flex:1;min-height:0;padding:24px clamp(16px,5vw,56px) 48px;overflow-y:auto}.doc-intro{max-width:820px;margin:0 auto 18px}.doc-h1{color:var(--text);margin:0 0 8px;font-size:22px;font-weight:700}.doc-lead{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.55}.doc-toc{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);columns:2;column-gap:28px;max-width:820px;margin:0 auto 22px;padding:12px 16px 12px 34px;list-style:decimal}.doc-toc li{break-inside:avoid;margin:3px 0}.doc-toc-link{color:var(--accent-700);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12.5px}.doc-toc-link:hover{text-decoration:underline}.doc-sections{flex-direction:column;gap:14px;max-width:820px;margin:0 auto;display:flex}.doc-section{scroll-margin-top:16px}.doc-step-no{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.doc-text{color:var(--text-2);white-space:pre-wrap;margin:2px 0 12px;font-size:13px;line-height:1.6}.doc-actions{flex-wrap:wrap;gap:8px;display:flex}.doc-go{white-space:nowrap}.doc-section-edit-bar{border-top:1px dashed var(--border);align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.doc-save-error{color:var(--danger,#c0392b);margin:4px 0 0;font-size:12px;display:block}.doc-editor-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.doc-editor-field label{color:var(--text-2);font-size:12px;font-weight:600}.doc-editor-field input,.doc-editor-field textarea{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);resize:vertical;padding:6px 8px;font-size:13px}.doc-editor-field input:focus,.doc-editor-field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.doc-admin-bar{justify-content:flex-end;gap:8px;max-width:820px;margin:0 auto 16px;display:flex}.doc-editor-buttons-section{margin-bottom:12px}.doc-editor-buttons-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.doc-editor-buttons-label{color:var(--text-2);font-size:12px;font-weight:600}.doc-editor-button-row{grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.doc-editor-btn-label,.doc-editor-btn-action,.doc-editor-btn-action-text{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);padding:5px 8px;font-size:12.5px}.doc-editor-btn-label:focus,.doc-editor-btn-action:focus,.doc-editor-btn-action-text:focus{outline:2px solid var(--accent);outline-offset:-1px}@media (width<=640px){.doc-toc{columns:1}.doc-scroll{padding:18px 14px 40px}.doc-editor-button-row{grid-template-columns:1fr auto}.doc-editor-btn-action,.doc-editor-btn-action-text{grid-column:1}}.admin-screen{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.adm-page{flex-direction:column;flex:1;gap:20px;padding:18px;display:flex;overflow:auto}.subtab-groups{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.subtab-group{flex-direction:column;display:flex}.subtab-group+.subtab-group{border-top:1px solid var(--border)}.subtab-group__head{flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 16px 2px;display:flex}.subtab-group__label{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.subtab-group__hint{color:var(--text-3);font-size:11px}.subtab-group__label:before{content:"";vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.subtab-group--app .subtab-group__label{color:var(--accent-700)}.subtab-group--app .subtab-group__label:before{background:var(--accent)}.subtab-group--team .subtab-group__label{color:var(--c-ok)}.subtab-group--team .subtab-group__label:before{background:var(--st-done)}.subtab-group .subtabs{background:0 0;flex-wrap:wrap;gap:2px;padding:0 12px 6px;display:flex}.subtab{cursor:pointer;color:var(--text-2);border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:4px;padding:5px 12px;font-size:12.5px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.subtab:hover{background:var(--surface-3);color:var(--text)}.subtab.is-active{background:var(--accent-soft);color:var(--accent-700);font-weight:600}.subtab-pill{margin-left:2px;padding:0 5px;font-size:8px}.cap-badge{white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.cap-badge--formula{background:var(--accent-soft);color:var(--accent-700)}.cap-badge--explicit_days{background:var(--stream-support-bg,#e8f4f8);color:var(--stream-support,#2a7aad)}.adm-legend{align-items:center;gap:6px;display:inline-flex}.mode-tag{background:var(--surface-3);color:var(--text-2);border-radius:20px;align-items:center;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.mode-tag--named_person{background:var(--accent-soft);color:var(--accent-700)}.role-tag{color:#6a40c0;white-space:nowrap;background:#efe7fb;border-radius:20px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.roles-legend{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.code-cell{font-family:var(--mono);color:var(--text-2);font-size:11px}.code-cell.ref-only,.code-cell.muted{color:var(--text-3)}.swatch-wrap{align-items:center;gap:7px;display:inline-flex}.adm-swatch{border-radius:var(--r-sm);border:1px solid var(--border);flex-shrink:0;width:16px;height:16px}.chip-row{flex-wrap:wrap;gap:4px;display:inline-flex}.chip-row .chip{padding:2px 8px;font-size:10.5px}.label-chip{align-items:center;gap:5px;font-size:12px;display:inline-flex}.label-chip .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot{align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.status-dot:before{content:"";border-radius:50%;width:8px;height:8px}.status-dot--on{color:var(--st-done)}.status-dot--on:before{background:var(--st-done)}.status-dot--off{color:var(--text-3)}.status-dot--off:before{background:var(--st-cancelled,#ccc)}.action-tag{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:20px;align-items:center;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.action-tag--role_grant{background:var(--c-ok-bg);color:var(--c-ok)}.action-tag--role_revoke{background:var(--c-danger-bg);color:var(--c-danger)}.action-tag--connector_change{background:var(--accent-soft);color:var(--accent-700)}.action-tag--module_change{color:#6a40c0;background:#efe7fb}.action-tag--lifecycle{background:var(--stream-technical-bg,#fff8e1);color:var(--c-warn,#b45309)}.disabled-wrap{align-items:center;gap:6px;display:inline-flex}button.is-disabled,.btn[disabled]{opacity:.55}.badge{background:var(--surface-3);color:var(--text-2);border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge--store-jira{color:#0052cc;background:#deebff}.badge--store-ext{background:var(--surface-3);color:var(--text-2)}html[data-theme=dark] .role-tag,html[data-theme=dark] .action-tag--module_change{color:#c4a9f5;background:#2a2247}@media (width<=640px){.adm-page{padding:12px}.adm-head{flex-direction:column;align-items:stretch}.adm-head__actions{justify-content:flex-end}.subtab-group__head{padding:6px 12px 2px}}
