:root{--gc-row: 40px;--gc-line: color-mix(in srgb, var(--border) 72%, transparent);--gc-weekend: color-mix(in srgb, var(--surface-3) 70%, transparent);--gc-link: #8a96a8;--gc-crit: #e5484d;--gc-today: #f0647a;--gc-sel: var(--brand);--gx-ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{--gc-link: #7d8db0;--gc-weekend: rgba(255, 255, 255, .025)}.gx-shell{display:flex;flex-direction:column;background:var(--surface);color:var(--text);min-height:0}.gx-full{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:50}.gx-embedded{height:calc(100vh - 120px);min-height:560px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}.gx-loading{flex:1;display:grid;place-items:center}.gx-back{position:absolute;top:12px;left:14px;z-index:70;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;font-size:17px;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s var(--gx-ease),box-shadow .15s,color .15s}.gx-back:hover{transform:translate(-2px);color:var(--brand);box-shadow:var(--shadow-lg)}.gx-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring)}.gx-demo-fab{position:absolute;left:14px;bottom:54px;z-index:70;display:flex;align-items:flex-end}.gx-demo-btn{width:40px;height:40px;border-radius:50%;border:0;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:17px;cursor:help;box-shadow:0 8px 20px -8px color-mix(in srgb,var(--violet) 80%,transparent)}.gx-demo-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring)}.gx-demo-panel{margin-left:10px;width:280px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-2);opacity:0;visibility:hidden;transform:translate(-10px);transition:opacity .18s var(--gx-ease),transform .18s var(--gx-ease),visibility 0s .18s}.gx-demo-panel strong{color:var(--violet);font-size:13px}.gx-demo-fab:hover .gx-demo-panel,.gx-demo-fab:focus-within .gx-demo-panel{opacity:1;visibility:visible;transform:none;transition-delay:0s}.gx-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.gx-bar-top{padding-left:68px;padding-top:12px}.gx-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gx-right{margin-left:auto}.gx-search{flex:0 1 380px}.gx-search input{height:40px;border-radius:12px}.gx-count{font-size:12.5px;font-weight:600;color:var(--text-3);padding:0 6px;white-space:nowrap}.gx-combo{width:190px}.segmented.sm button{padding:5px 10px;font-size:13px}.gx-zoom button{padding:6px 11px;font-size:13px}.gx-zoomer{display:inline-flex;align-items:center;gap:4px;padding:0 4px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.gx-zoomer input[type=range]{width:110px;accent-color:var(--brand)}.gx-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}.gx-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.gx-btn:active:not(:disabled){transform:translateY(1px)}.gx-btn:focus-visible,.gx-icon:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-ring)}.gx-btn.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.gx-btn.sm{height:30px;padding:0 10px;font-size:12.5px}.gx-btn.primary{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff}.gx-btn.primary:hover:not(:disabled){background:var(--brand-hover)}.gx-btn.danger{color:var(--danger)}.gx-btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.gx-btn .gx-caret{font-size:10px;color:var(--text-3)}.gx-icon{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:color .15s,border-color .15s}.gx-icon.sm{width:28px;height:28px;border:0}.gx-icon:hover:not(:disabled){color:var(--brand);border-color:var(--border-strong)}.gx-icon:disabled{opacity:.4;cursor:not-allowed}.gx-badge{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand-solid);color:#fff;font-size:11px;font-weight:700}.gx-bell.hot{color:var(--danger)}.gx-bell.hot .gx-badge{background:var(--danger)}.gx-link{border:0;background:none;color:var(--brand);font-weight:600;font-size:13px;cursor:pointer;padding:4px 2px;display:inline-flex;gap:5px;align-items:center}.gx-link:hover{text-decoration:underline}.gx-muted{color:var(--text-3);font-size:12.5px;margin:0}.gx-x{border:0;background:none;color:var(--text-3);cursor:pointer;width:26px;height:26px;border-radius:6px;display:inline-grid;place-items:center}.gx-x:hover{background:var(--surface-3);color:var(--text)}.gx-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:12.5px;cursor:pointer}.gx-chip.ok{background:var(--success-soft);color:var(--success);cursor:default}.gx-chip.bad{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);animation:gx-throb 2s ease-in-out infinite}@keyframes gx-throb{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 18%,transparent)}}.gx-pop{position:relative}.gx-pop-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:80;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:8px;animation:gx-pop .16s var(--gx-ease)}.gx-pop-panel.right{left:auto;right:0}@keyframes gx-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.gx-menu{display:flex;flex-direction:column;gap:2px}.gx-menu button,.gx-menu label{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;font-weight:500;font-size:13.5px;cursor:pointer;text-align:left;color:var(--text)}.gx-menu button:hover,.gx-menu label:hover{background:var(--surface-2)}.gx-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.gx-checks input{accent-color:var(--brand);width:16px;height:16px}.gx-filters{width:min(560px,86vw);display:flex;flex-direction:column;gap:12px;padding:6px}.gx-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.gx-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-2)}.gx-field input{height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font-size:13px;font-weight:500;color:var(--text)}.gx-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.gx-filter-foot{display:flex;justify-content:space-between;align-items:center}.gx-presets{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px}.gx-presets-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}.gx-preset{display:flex;align-items:center}.gx-preset>button:first-child{flex:1;text-align:left;border:0;background:none;padding:7px 8px;border-radius:8px;cursor:pointer;font-weight:500;display:flex;gap:8px;color:var(--text)}.gx-preset>button:first-child:hover{background:var(--brand-soft);color:var(--brand)}.gx-alerts{width:300px;display:flex;flex-direction:column;gap:2px;padding:4px}.gx-alerts>strong{padding:4px 8px 8px;font-size:13px}.gx-alerts button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:8px;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:var(--text)}.gx-alerts button:hover{background:var(--danger-soft)}.gx-alerts em{margin-left:auto;color:var(--danger);font-style:normal;font-weight:700;white-space:nowrap}.gx-alert-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-alert-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none}.gx-selbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;background:var(--brand-soft);border-bottom:1px solid var(--border);font-size:13px;animation:gx-pop .16s var(--gx-ease)}.gx-selbar input{width:64px;height:30px;border-radius:8px;border:1px solid var(--border-strong);padding:0 8px;background:var(--surface);color:var(--text)}.gx-hint{margin-left:auto}.gx-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 16px 9px 68px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2);background:var(--surface)}.gx-legend span{display:inline-flex;align-items:center;gap:6px}.gx-legend-tip{margin-left:auto}.gx-legend kbd,.gx-help kbd{font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:3px 6px;border-radius:5px;border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--surface-2);color:var(--text);white-space:nowrap}.lg-dot{width:10px;height:10px;border-radius:3px}.lg-base{width:22px;height:4px;border-radius:2px;background:var(--border-strong)}.lg-late{width:22px;height:10px;border-radius:4px;background:repeating-linear-gradient(-45deg,#e5484d8c 0,#e5484d8c 3px,#e5484d26 3px,#e5484d26 6px)}.lg-flag{color:var(--gc-crit);font-style:normal}.lg-ms{width:10px;height:10px;background:#f6b93b;transform:rotate(45deg);border-radius:2px}.lg-risk{color:#e8890c;font-style:normal}.lg-issue{color:var(--gc-crit);font-style:normal}.gx-help{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:#0a122259;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:gx-fade .15s}.gx-help-card{width:min(520px,92vw);max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px 18px;animation:gx-pop .18s var(--gx-ease)}.gx-help-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.gx-help-h strong{display:inline-flex;gap:8px;align-items:center}.gx-help dl{margin:0;display:grid;gap:6px}.gx-help dl>div{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:10px;font-size:13px}.gx-help dd{margin:0;color:var(--text-2)}@keyframes gx-fade{0%{opacity:0}}.gx-stage{flex:1;min-height:0;display:flex;flex-direction:column}.gx-main{position:relative;flex:1;min-height:0;display:flex;overflow:hidden}.mm{position:relative;height:40px;flex:none;padding:3px 16px;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;overflow:hidden}.mm svg{display:block;opacity:.85}.mm-win{position:absolute;top:3px;bottom:3px;margin-left:16px;border-radius:6px;background:color-mix(in srgb,var(--brand) 12%,transparent);border:1.5px solid var(--brand);cursor:grab;box-shadow:0 0 0 9999px color-mix(in srgb,var(--surface) 45%,transparent)}.mm-win:active{cursor:grabbing}.mm-h{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.mm-h.l{left:-4px}.mm-h.r{right:-4px}.gc{position:relative;flex:1;min-width:0;height:100%;overflow:auto;background:var(--surface);overscroll-behavior:contain;-webkit-user-select:none;user-select:none;scrollbar-width:thin}.gc.panning,.gc.panning .gc-time{cursor:grabbing}.gc-inner{position:relative}.gc-head{position:sticky;top:0;z-index:20;display:flex;height:56px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 6px 12px -10px #0f234640}.gc-head-grid{position:sticky;left:0;z-index:2;display:flex;align-items:flex-end;flex:none;background:var(--surface);border-right:1px solid var(--border);overflow:hidden}.gc-head-grid .gc-col{height:56px;display:flex;align-items:flex-end;padding-bottom:9px;font-size:11.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.gc-head-grid .gc-col:not(.gc-col-title){justify-content:flex-end}.gc-head-time{position:relative;flex:none}.gc-scale{position:absolute;left:0;right:0}.gc-scale.top{top:0;height:28px}.gc-scale.bottom{top:28px;height:28px;border-top:1px solid var(--gc-line)}.gc-scale span{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:7px;font-size:12px;color:var(--text-2);border-left:1px solid var(--gc-line);white-space:nowrap;overflow:hidden}.gc-scale.top span{overflow:visible}.gc-scale.top span b{position:sticky;left:calc(var(--left) + 8px);font-weight:700;color:var(--text)}.gc-scale.bottom span{justify-content:center;padding:0;font-size:11px;color:var(--text-3);z-index:0}.gc-scale.bottom span.we{background:var(--gc-weekend)}.gc-scale.bottom span.now{color:#fff;font-weight:700}.gc-scale.bottom span.now:before{content:"";position:absolute;top:5px;right:2px;bottom:5px;left:2px;border-radius:6px;background:var(--gc-today);z-index:-1}.gc-body{position:relative;display:flex}.gc-grid{position:sticky;left:0;z-index:10;flex:none;background:var(--surface);border-right:1px solid var(--border);box-shadow:6px 0 12px -10px #0f234640}.gc-col{flex:none;padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gc-col-title{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:4px}.gc-col.num{text-align:right;display:flex;align-items:center;justify-content:flex-end;font-variant-numeric:tabular-nums;color:var(--text-2);font-size:12.5px}.gc-row{position:absolute;left:0;right:0;height:var(--gc-row);display:flex;align-items:center;border-bottom:1px solid var(--gc-line);font-size:13.5px;transition:background .12s}.gc-row:hover{background:var(--surface-2)}.gc-row.sel{background:var(--brand-soft)}.gc-row.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.gc-row.bad .gc-title span{color:var(--danger)}.gc-row.group,.gc-row.program{background:var(--surface-2);font-weight:700}.gc-toggle{width:22px;height:22px;flex:none;display:inline-grid;place-items:center;border:0;background:none;border-radius:6px;color:var(--text-3);cursor:pointer;font-size:11px}.gc-toggle .bi{transition:transform .18s var(--gx-ease)}.gc-toggle .bi.open{transform:rotate(90deg)}.gc-toggle:hover{background:var(--surface-3);color:var(--text)}.gc-toggle-sp{width:22px;flex:none}.gc-title{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;border:0;background:none;padding:4px;margin:0;font:inherit;color:var(--text);cursor:pointer;text-align:left;border-radius:6px;flex:1 1 auto}.gc-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-title:hover>span{color:var(--brand)}.gc-title:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-ring)}.gc-title em{font-style:normal;font-size:11px;font-weight:700;color:var(--text-3);background:var(--surface-3);padding:1px 7px;border-radius:999px;flex:none}.gc-dot{width:8px;height:8px;border-radius:50%;flex:none}.gc-ticon{color:var(--text-3);font-size:13px;flex:none}.gc-lock{color:var(--warning);font-size:11px}.gc-nodates{font-size:11px;font-weight:700;color:var(--warning);background:var(--warning-soft);padding:2px 7px;border-radius:999px}.gc-neg{color:var(--danger);font-weight:700}.gc-zero{color:var(--gc-crit)}.gc-ev{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.gc-ev.success{background:var(--success-soft);color:var(--success)}.gc-ev.warning{background:var(--warning-soft);color:var(--warning)}.gc-ev.danger{background:var(--danger-soft);color:var(--danger)}.gc-ev.neutral{background:var(--neutral-soft);color:var(--neutral)}.gc-resize{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:3}.gc-resize:hover{background:linear-gradient(90deg,transparent 3px,var(--brand) 3px,var(--brand) 5px,transparent 5px)}.gc-collapse{position:sticky;top:45%;align-self:flex-start;margin-left:-1px;flex:none;width:16px;height:46px;border:1px solid var(--border);border-left:0;border-radius:0 9px 9px 0;background:var(--surface);color:var(--text-3);display:grid;place-items:center;cursor:pointer;font-size:10px;z-index:12;order:1}.gc-collapse:hover{color:var(--brand)}.gc-body>.gc-time{order:2;margin-left:-16px}.gc-time{position:relative;flex:none;background-image:repeating-linear-gradient(180deg,transparent 0 calc(var(--gc-row) - 1px),var(--gc-line) calc(var(--gc-row) - 1px) var(--gc-row));cursor:grab}.gc-weekends{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,var(--gc-weekend) 0 var(--we),transparent var(--we));background-repeat:repeat-x;pointer-events:none}.gc-vline{position:absolute;top:0;bottom:0;width:1px;background:var(--gc-line);pointer-events:none}.gc-group-band{position:absolute;left:0;right:0;height:var(--gc-row);background:color-mix(in srgb,var(--surface-2) 75%,transparent);pointer-events:none}.gc-active-band{position:absolute;left:0;right:0;height:var(--gc-row);background:color-mix(in srgb,var(--brand) 8%,transparent);pointer-events:none;transition:top .2s var(--gx-ease)}.gc-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--gc-today);box-shadow:0 0 10px color-mix(in srgb,var(--gc-today) 60%,transparent);pointer-events:none;z-index:5}.gc-today span{position:sticky;top:60px;display:inline-block;transform:translate(-50%);margin-top:4px;padding:2px 8px;border-radius:999px;background:var(--gc-today);color:#fff;font-size:10.5px;font-weight:700}.gc-base{position:absolute;height:2px;border-radius:1px;background:color-mix(in srgb,var(--text-3) 55%,transparent);z-index:1}.gc-base:before,.gc-base:after{content:"";position:absolute;top:-2px;width:2px;height:6px;border-radius:1px;background:inherit}.gc-base:before{left:0}.gc-base:after{right:0}.gc-flag{position:absolute;z-index:3;color:var(--gc-crit);font-size:11px;transform:translate(-2px)}.gc-late{position:absolute;height:22px;border-radius:0 7px 7px 0;background:repeating-linear-gradient(-45deg,rgba(229,72,77,.28) 0 3px,transparent 3px 7px);box-shadow:inset -2px 0 0 var(--gc-crit);z-index:7;pointer-events:none}.gc-ghost{position:absolute;height:24px;border-radius:8px;border:1.5px dashed color-mix(in srgb,var(--text-3) 70%,transparent);background:color-mix(in srgb,var(--surface-3) 50%,transparent);z-index:1}.gc-ghost.ms{width:16px!important;transform:rotate(45deg) scale(.75);border-radius:3px}.gc-summary{position:absolute;height:6px;border-radius:3px;background:var(--text);opacity:.7;z-index:2}.gc-summary:before,.gc-summary:after{content:"";position:absolute;width:0;height:0;border:5px solid transparent;border-top-color:var(--text);top:5px}.gc-summary:before{left:0;border-left-color:var(--text)}.gc-summary:after{right:0;border-right-color:var(--text)}.gc-summary-ms{position:absolute;top:-2px;width:9px;height:9px;background:#f6b93b;border:1.5px solid var(--surface);transform:rotate(45deg);border-radius:2px}.gc-links{position:absolute;left:0;top:0;z-index:4;pointer-events:none;overflow:visible}.gc-link path:first-child{fill:none;stroke:var(--gc-link);stroke-width:1.6;transition:stroke .15s,opacity .15s}.gc-link.lag path:first-child{stroke-dasharray:5 4}.gc-link.bad path:first-child{stroke:var(--gc-crit);stroke-dasharray:6 4;animation:gc-dash 1s linear infinite}.gc-link.crit path:first-child{stroke:var(--gc-crit);stroke-width:2.2}.gc-link.lit path:first-child{stroke:var(--brand);stroke-width:2.2}.gc-link.dim{opacity:.2}.gc-link-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer}.gc-link:hover path:first-child{stroke:var(--brand);stroke-width:2.4}.gc-arrowhead{fill:var(--gc-link)}.gc-arrowhead.bad,.gc-arrowhead.crit{fill:var(--gc-crit)}.gc-lag{font-size:10px;font-weight:700;fill:var(--text-2)}.gc-draft{fill:none;stroke:var(--brand);stroke-width:2;stroke-dasharray:6 5;animation:gc-dash .8s linear infinite}.gc-draft.ok{stroke-dasharray:none;stroke-width:2.4}@keyframes gc-dash{to{stroke-dashoffset:-20}}.gc-bar{position:absolute;height:22px;border-radius:7px;z-index:6;background:color-mix(in srgb,var(--c) 16%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 38%,transparent),inset 3px 0 0 var(--c);cursor:pointer;transition:box-shadow .15s,transform .15s var(--gx-ease),opacity .15s,left .2s var(--gx-ease),width .2s var(--gx-ease);outline:none}.gc-bar.can{cursor:grab}.gc-bar.program{height:8px;border-radius:4px;background:color-mix(in srgb,var(--c2) 85%,var(--text));box-shadow:none}.gc-bar.program:before,.gc-bar.program:after{content:"";position:absolute;top:6px;border:5px solid transparent;border-top-color:color-mix(in srgb,var(--c2) 85%,var(--text))}.gc-bar.program:before{left:0;border-left-color:color-mix(in srgb,var(--c2) 85%,var(--text))}.gc-bar.program:after{right:0;border-right-color:color-mix(in srgb,var(--c2) 85%,var(--text))}.gc-bar.program .gc-out{font-weight:700}.gc-bar.program .gc-prog{display:none}.gc-bar.moving{box-shadow:0 12px 24px -8px #0f234673;transform:translateY(-1px);z-index:8}.gc-bar:hover,.gc-bar:focus-visible{box-shadow:0 6px 16px -6px color-mix(in srgb,var(--c2) 70%,transparent),inset 0 0 0 1px var(--c2);transform:translateY(-1px);z-index:8}.gc-bar:focus-visible{box-shadow:0 0 0 3px var(--brand-ring),inset 0 0 0 1px var(--c2)}.gc-bar.sel,.gc-bar.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gc-sel)}.gc-bar.crit{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gc-crit)}.gc-bar.bad{outline:2px dashed var(--gc-crit);outline-offset:2px}.gc-bar.dim,.gc-ms.dim{opacity:.28}.gc-bar.closed{filter:saturate(.6)}.gc-bar.pulse,.gc-ms.pulse{animation:gc-pulse .7s ease-out}@keyframes gc-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--c) 70%,transparent)}to{box-shadow:0 0 0 14px transparent}}.gc-prog{position:absolute;left:0;top:0;bottom:0;border-radius:7px 0 0 7px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 78%,#fff) 0%,var(--c) 100%);opacity:.9;pointer-events:none;transition:width .2s var(--gx-ease)}.gc-prog[style*="100%"]{border-radius:7px}.gc-in{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;gap:6px;padding:0 9px 0 11px;color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;pointer-events:none}.gc-in>span{overflow:hidden;text-overflow:ellipsis;min-width:0;text-shadow:0 0 6px color-mix(in srgb,var(--surface) 80%,transparent)}.gc-in em{font-style:normal;font-weight:600;font-size:11px;color:var(--text-2);margin-left:auto;padding-left:6px;flex:none}.gc-out{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12.5px;color:var(--text);pointer-events:none}.gc-out-t{font-weight:600}.gc-latechip{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--gc-crit)}.gc-avatars{display:inline-flex}.gc-avatars i{width:20px;height:20px;margin-left:-6px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:9px;font-weight:700;font-style:normal;border:2px solid var(--surface)}.gc-avatars.sm i{width:22px;height:22px;font-size:9.5px}.gc-avatars i:first-child{margin-left:0}.gc-avatars i.more{background:var(--surface-3);color:var(--text-2)}.gc-h{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2}.gc-h.l{left:-2px}.gc-h.r{right:-2px}.gc-h:after{content:"";position:absolute;top:6px;bottom:6px;left:3px;width:2px;border-radius:2px;background:color-mix(in srgb,var(--c) 70%,var(--text));opacity:0;transition:opacity .15s}.gc-bar:hover .gc-h:after{opacity:1}.gc-link-dot{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--surface);border:2px solid var(--c2, var(--brand));cursor:crosshair;opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s var(--gx-ease);z-index:3}.gc-link-dot.l{left:-18px}.gc-link-dot.r{right:-18px}.gc-bar:hover .gc-link-dot,.gc-ms:hover .gc-link-dot,.gc-bar:focus-visible .gc-link-dot{opacity:1;transform:scale(1)}.gc-link-dot:hover{background:var(--c2, var(--brand));transform:scale(1.25)!important}.gc-target{position:absolute;top:-4px;bottom:-4px;width:50%;border-radius:9px;border:2px solid var(--brand);background:color-mix(in srgb,var(--brand) 15%,transparent);pointer-events:none}.gc-target.start{left:-4px}.gc-target.end{right:-4px}.gc-ms{position:absolute;width:18px;height:18px;z-index:7;cursor:pointer;outline:none;transition:left .2s var(--gx-ease)}.gc-ms.can{cursor:grab}.gc-ms>i{position:absolute;top:2px;right:2px;bottom:2px;left:2px;transform:rotate(45deg);border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 80%,#fff),var(--c));box-shadow:inset 0 0 0 1.5px var(--c2),0 1px 3px #0f234640;transition:transform .15s var(--gx-ease)}.gc-ms:hover>i,.gc-ms:focus-visible>i{transform:rotate(45deg) scale(1.2)}.gc-ms:focus-visible>i{box-shadow:0 0 0 3px var(--brand-ring)}.gc-ms.sel>i,.gc-ms.active>i{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gc-sel)}.gc-ms.crit>i{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gc-crit)}.gc-ms .gc-link-dot.l{left:-16px}.gc-ms .gc-link-dot.r{right:-16px}.gc-marker{position:absolute;z-index:9;width:8px;height:8px;padding:0;border:1.5px solid var(--surface);border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px #0000000f;transition:transform .15s var(--gx-ease)}.gc-marker:hover,.gc-marker:focus-visible{transform:scale(1.6);outline:none}.gc-marker.risk{background:#e8890c}.gc-marker.issue{background:var(--gc-crit)}.gc-marker.closed{opacity:.4}.gc-undated{position:absolute;left:12px;font-size:11.5px;color:var(--text-3);font-style:italic;pointer-events:none}.gc-marquee{position:absolute;z-index:12;border:1.5px solid var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-radius:4px}.gc-dragtip{position:absolute;z-index:15;display:flex;flex-direction:column;gap:1px;padding:6px 10px;border-radius:8px;background:#1f2a3d;color:#fff;font-size:12px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-lg)}.gc-dragtip span{color:#ffd479;font-size:11.5px}.gc.zooming .gc-bar,.gc.zooming .gc-ms,.gc.dragging .gc-bar,.gc.dragging .gc-ms,.gc.panning .gc-bar,.gc.panning .gc-ms,.gc.zooming .gc-active-band{transition:none}.gc.dragging .gc-bar:hover,.gc.panning .gc-bar:hover{transform:none}.gc-card{position:fixed;left:0;top:0;z-index:85;width:280px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:12.5px;pointer-events:none;will-change:transform;animation:gc-card-in .16s .22s var(--gx-ease) both}@keyframes gc-card-in{0%{opacity:0;margin-top:4px}}.gc-card-h{display:flex;align-items:center;gap:8px;font-size:14px}.gc-card-h i{width:10px;height:10px;border-radius:3px;flex:none}.gc-card-sub{color:var(--text-3);margin:2px 0 8px 18px}.gc-card dl{display:grid;grid-template-columns:84px 1fr;gap:5px 8px;margin:0}.gc-card dt{color:var(--text-3)}.gc-card dd{margin:0;color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gc-card dd b.neg{color:var(--danger)}.gc-card dd b.pos{color:var(--success)}.gc-card-prog{width:70px;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;display:inline-block}.gc-card-prog i{display:block;height:100%;background:var(--brand)}.gc-card-hint{margin-top:9px;padding-top:8px;border-top:1px solid var(--border);color:var(--text-3);font-size:11.5px}.gc-pop{position:fixed;z-index:90;width:300px;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px;animation:gx-pop .16s var(--gx-ease)}.gc-pop-h{display:flex;justify-content:space-between;align-items:center}.gc-sentence{margin:0;padding:8px 10px;border-radius:8px;background:var(--brand-soft);color:var(--text);font-size:13px;line-height:1.4}.gc-warn{margin:0;color:var(--danger);font-size:12.5px;display:flex;gap:6px}.gc-menu{width:250px;padding:6px;gap:1px}.gc-menu-h{padding:6px 10px 8px;font-weight:700;font-size:13px;border-bottom:1px solid var(--border);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-menu>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;font-size:13px;cursor:pointer;text-align:left;color:var(--text)}.gc-menu>button:hover,.gc-menu>button:focus-visible{background:var(--surface-2);outline:none}.gc-menu>button.danger{color:var(--danger)}.gc-menu hr{border:0;border-top:1px solid var(--border);margin:3px 0}.gc-menu-form{display:flex;flex-direction:column;gap:8px;padding:6px}.gc-menu-form input{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text)}.gc-menu-actions{display:flex;justify-content:flex-end;gap:6px}.gd{position:absolute;top:0;right:0;bottom:0;z-index:30;width:min(440px,92%);overflow:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-18px 0 40px -24px #0a142873;transform:translate(104%);transition:transform .26s var(--gx-ease),visibility 0s .26s;visibility:hidden;overscroll-behavior:contain;scrollbar-width:thin}.gd.open{transform:none;visibility:visible;transition-delay:0s}.gd-head{position:sticky;top:0;z-index:2;padding:14px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 16%,var(--surface)) 0%,var(--surface) 100%);border-bottom:1px solid var(--border)}.gd-head:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--c)}.gd-head-top{display:flex;align-items:center;justify-content:space-between}.gd-type{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}.gd-close{width:32px;height:32px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;display:grid;place-items:center}.gd-close:hover{color:var(--text);border-color:var(--border-strong)}.gd h2{margin:6px 0 8px;font-size:19px;line-height:1.25}.gd-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gd-code{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-2);background:var(--surface-3);padding:4px 7px;border-radius:6px}.gd-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gd-body{padding:14px 18px 28px;display:flex;flex-direction:column;gap:12px}.gd-stats{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.gd-ring{width:74px;height:74px;flex:none}.gd-ring-bg{fill:none;stroke:var(--surface-3);stroke-width:7}.gd-ring-fg{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dasharray .5s var(--gx-ease)}.gd-ring text{font-size:14px;font-weight:800;fill:var(--text)}.gd-stat-list{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;font-size:12.5px}.gd-stat-list>div{display:flex;justify-content:space-between;gap:10px}.gd-stat-list span{color:var(--text-3);white-space:nowrap}.gd-stat-list strong{font-weight:600;text-align:right}.gd-stat-list em,.gd em.neg,.gd em.pos{font-style:normal;font-weight:700;margin-left:4px}.gd .neg{color:var(--danger)}.gd .pos{color:var(--success)}.gd-card{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.gd-card h3{margin:0 0 10px;font-size:13px;display:flex;align-items:center;gap:7px}.gd-card h3 em{font-style:normal;font-size:11px;color:var(--text-3);background:var(--surface-3);padding:1px 7px;border-radius:999px}.gd-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gd-money>div{padding:8px 10px;border-radius:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px}.gd-money span{font-size:11.5px;color:var(--text-3)}.gd-money strong{font-size:14px;font-variant-numeric:tabular-nums}.gd-burn{margin-top:10px;height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}.gd-burn i{display:block;height:100%;border-radius:4px;transition:width .5s var(--gx-ease)}.gd-burn i.success{background:var(--success)}.gd-burn i.warning{background:#e3a008}.gd-burn i.danger{background:var(--danger)}.gd-burn i.neutral{background:var(--brand)}.gd-link-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;color:var(--text);transition:border-color .15s,background .15s,transform .12s}.gd-link-row:hover{border-color:var(--brand);background:var(--brand-soft)}.gd-link-row>span{flex:1;display:flex;flex-direction:column;font-weight:600;font-size:13.5px;min-width:0}.gd-link-row small{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.gd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.gd-list li>a,.gd-list li>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:9px;background:none;color:var(--text);text-decoration:none;text-align:left;cursor:pointer;font:inherit}.gd-list li>a:hover,.gd-list li>button:hover{background:var(--surface-2)}.gd-list li span:first-of-type{flex:1;min-width:0;display:flex;flex-direction:column}.gd-list strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-list small{font-size:11.5px;color:var(--text-3)}.gd-dot{width:9px;height:9px;border-radius:3px;flex:none}.gd-ext{color:var(--text-3);font-size:12px}.gd-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gd-people li{display:flex;align-items:center;gap:8px;min-width:0}.gd-people i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11.5px;font-weight:700;font-style:normal;flex:none}.gd-people span{display:flex;flex-direction:column;min-width:0}.gd-people strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-people small{font-size:11px;color:var(--text-3)}.gd-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.gd-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12px;font-weight:600;padding:5px 9px;border-radius:999px;cursor:pointer;display:inline-flex;gap:5px;align-items:center}.gd-tabs button em{font-style:normal;font-size:10.5px;color:var(--text-3)}.gd-tabs button.on{background:var(--brand-soft);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent)}.gd-tabs button.on em{color:var(--brand)}.gd-empty{padding:8px 4px}.gd-more{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:none}.gd-more.inline{margin:0 0 0 auto;font-size:12px}.gd-more:hover{text-decoration:underline}.gd-desc{font-size:13px;line-height:1.55;color:var(--text-2)}.gd-desc p{margin:0 0 8px}.ml{padding:8px 12px 16px;overflow:auto;flex:1}.ml h3{margin:14px 4px 6px;font-size:13px;color:var(--text-2);display:flex;gap:6px;align-items:center}.ml h3 em{font-style:normal;font-size:11px;background:var(--surface-3);padding:0 7px;border-radius:999px}.ml-item{display:flex;flex-direction:column;gap:4px;padding:12px;margin-bottom:8px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text)}.ml-item span{font-size:12.5px;color:var(--text-2)}.ml-track{position:relative;height:8px;border-radius:4px;background:var(--surface-3);margin-top:4px;overflow:hidden;display:block}.ml-track b{position:absolute;top:0;bottom:0;border-radius:4px}@media (max-width: 1100px){.gx-hint,.gx-legend-tip,.gx-count{display:none}}@media (max-width: 767px){.gx-bar-top{padding-left:64px}.gx-search{flex:1 1 100%}.gx-combo{width:100%}.gx-legend{display:none}.gx-demo-fab{bottom:16px}}@media (prefers-reduced-motion: reduce){.gc-bar,.gc-ms,.gc-link path,.gd,.gx-demo-panel,.gc-toggle .bi{transition:none!important}.gc-link.bad path:first-child,.gc-draft,.gx-chip.bad,.gc-bar.pulse,.gc-ms.pulse,.gc-card{animation:none!important}}@media print{.gx-back,.gx-demo-fab,.gx-bar,.gx-selbar,.mm,.gc-collapse,.gc-resize,.gc-card,.gc-pop,.gd{display:none!important}.gx-full{position:static;height:auto}.gc{height:auto!important;overflow:visible!important}.gc-head,.gc-grid,.gc-head-grid{position:static!important;box-shadow:none!important}}.gc-bar:hover,.gc-bar:focus-visible{transform:translateY(-1px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,transparent),inset 3px 0 0 var(--c),0 6px 16px -8px color-mix(in srgb,var(--c2) 75%,transparent)}.gc-bar:focus-visible{box-shadow:inset 0 0 0 1px var(--c),inset 3px 0 0 var(--c),0 0 0 3px var(--brand-ring)}.gc-bar.sel,.gc-bar.active{box-shadow:inset 0 0 0 1px var(--c),inset 3px 0 0 var(--c),0 0 0 2px var(--surface),0 0 0 4px var(--gc-sel)}.gc-bar.crit{box-shadow:inset 0 0 0 1px var(--c),inset 3px 0 0 var(--c),0 0 0 2px var(--surface),0 0 0 4px var(--gc-crit)}.gc-bar.moving{box-shadow:inset 0 0 0 1px var(--c),inset 3px 0 0 var(--c),0 12px 24px -10px #0f234673}.gc-bar.program:hover,.gc-bar.program.sel,.gc-bar.program.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gc-sel)}.gc-bar.closed{filter:saturate(.55);opacity:.85}.gc-bar .gc-link-dot{border-color:var(--c)}.gc-knob{position:absolute;top:50%;width:10px;height:16px;margin:-8px 0 0 -5px;border-radius:4px;background:var(--surface);border:2px solid var(--c);box-shadow:0 1px 3px #0f23464d;cursor:ew-resize;opacity:0;transition:opacity .15s,transform .15s var(--gx-ease);z-index:3}.gc-bar:hover .gc-knob,.gc.dragging .gc-knob:active{opacity:1}.gc-knob:hover{transform:scale(1.15)}.gc-rename{flex:1;min-width:0;height:28px;padding:0 8px;border:1px solid var(--brand);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;box-shadow:0 0 0 3px var(--brand-ring);outline:none}.gc-row.add{background:none}.gc-row.add:hover{background:var(--surface-2)}.gc-add{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 8px;border-radius:7px;color:var(--brand);font-size:12.5px;font-weight:600;cursor:pointer;opacity:.75}.gc-add.subtle{color:var(--text-3)}.gc-row.add:hover .gc-add,.gc-add:focus-visible{opacity:1}.gc-add:hover{background:var(--brand-soft)}.gc-add:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-ring)}.gc-unassigned{color:var(--text-3);font-size:13px;opacity:.55}.gc-row:hover .gc-unassigned{opacity:1}.gc-pri{font-size:11px;flex:none}.gc-pri.warning{color:#e3a008}.gc-pri.danger{color:var(--gc-crit)}.gc-title .done,.gd .done{text-decoration:line-through;color:var(--text-3)}.gx-sel-sep{width:1px;height:22px;background:var(--border-strong);margin:0 2px}.gx-combo.sm{width:150px}.gx-combo.sm .combo-trigger{min-height:30px;height:30px;font-size:13px}.gx-icon.bordered{border:1px solid var(--border);width:30px;height:30px}.lg-risk-dot,.lg-issue-dot{width:8px;height:8px;border-radius:50%}.lg-risk-dot{background:#e8890c}.lg-issue-dot{background:var(--gc-crit)}.gd-title-input{width:100%;padding:4px 6px;margin:6px 0 8px -6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);font:700 19px/1.25 var(--font)}.gd-title-input:hover{border-color:var(--border)}.gd-title-input:focus{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px var(--brand-ring)}.gd-edit{display:flex;flex-direction:column;gap:12px}.gd-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.gd-f{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--text-3);min-width:0}.gd-f>span{display:flex;justify-content:space-between}.gd-f>span b{color:var(--text)}.gd-f-wide{grid-column:1 / -1}.gd-f input[type=date],.gd-f input[type=number],.gd-f textarea{height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 13px var(--font)}.gd-f textarea{height:auto;padding:8px 10px;resize:vertical;line-height:1.45}.gd-f input:focus,.gd-f textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.gd-f input[type=range]{--pct: 0%;height:22px;accent-color:var(--brand);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.gd-f input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--brand) var(--pct),var(--surface-3) var(--pct))}.gd-f input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:var(--surface);border:2px solid var(--brand);box-shadow:var(--shadow-sm)}.gd-f input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-3)}.gd-f input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--brand)}.gd-owners .owner-picker,.gd-owners>*{font-size:13px}.gd-edit-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px dashed var(--border);padding-top:10px}.gd-trash{margin-left:auto}.gd-sub-row{display:flex;align-items:center;gap:8px;padding-left:6px}.gd-sub-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--success);flex:none}.gd-sub-row>button{flex:1;min-width:0}.wl{flex:none;max-height:34vh;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -8px 20px -16px #0f234666;animation:gx-pop .18s var(--gx-ease)}.wl-head{position:relative;display:flex;align-items:stretch;height:40px;border-bottom:1px solid var(--border);flex:none;overflow:hidden}.wl-title{flex:none;display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-right:1px solid var(--border);background:var(--surface);z-index:1}.wl-title strong{display:inline-flex;gap:6px;align-items:center;font-size:13px}.wl-title .gx-muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-scale{position:relative;flex:1;overflow:hidden}.wl-scale span{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:6px;font-size:11px;color:var(--text-3);border-left:1px solid var(--gc-line);white-space:nowrap}.wl-close{position:absolute;right:8px;top:7px;z-index:2;background:var(--surface)}.wl-body{overflow:auto;flex:1}.wl-empty{padding:14px 16px}.wl-row{display:flex;border-bottom:1px solid var(--gc-line)}.wl-row.on{background:var(--brand-soft)}.wl-person{flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);font:600 12.5px var(--font);cursor:pointer;text-align:left;overflow:hidden;z-index:1}.wl-row.on .wl-person{background:var(--brand-soft);color:var(--brand)}.wl-person:hover{color:var(--brand)}.wl-person i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9.5px;font-weight:700;font-style:normal;flex:none}.wl-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-person em.over{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;color:var(--danger);background:var(--danger-soft);padding:1px 6px;border-radius:999px;flex:none}.wl-track{position:relative;flex:1;overflow:hidden}.wl-cell{position:absolute;top:5px;bottom:5px;border-radius:5px;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text)}.wl-cell.l1{background:color-mix(in srgb,var(--brand) 16%,var(--surface))}.wl-cell.l2{background:color-mix(in srgb,var(--brand) 30%,var(--surface))}.wl-cell.l3{background:color-mix(in srgb,var(--brand) 48%,var(--surface));color:#fff}.wl-cell.l4,.wl-cell.over{background:color-mix(in srgb,var(--gc-crit) 70%,var(--surface));color:#fff}.gx-tip{position:fixed;left:0;top:0;z-index:2000;max-width:280px;padding:6px 9px;border-radius:8px;background:#1b2436;color:#f3f6fb;font:500 12px/1.4 var(--font);box-shadow:0 8px 24px -10px #00000080;pointer-events:none;opacity:0;transition:opacity .12s;will-change:transform}.gx-tip.on{opacity:1}:root[data-theme=dark] .gx-tip{background:#e9eef8;color:#111827}.gc-card-pri{margin-top:6px;font-size:12px;color:var(--text-2)}:root{--font: "Calibri", "Carlito", "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--brand: #025add;--brand-2: #0c6de0;--brand-solid: #025add;--brand-hover: #0249b8;--brand-soft: #e7f0fe;--brand-ring: rgba(2, 90, 221, .22);--bg: #f2f6fc;--surface: #ffffff;--surface-2: #f6f9fd;--surface-3: #edf2f9;--border: #e2e8f1;--border-strong: #cfd8e5;--text: #2b3445;--text-2: #5f6b7e;--text-3: #8b96a8;--sidebar: #ffffff;--banner-overlay: linear-gradient(90deg, rgba(255, 255, 255, .93) 0%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .5) 100%);--success: #15803d;--success-soft: #e4f6ea;--warning: #a15c00;--warning-soft: #fdf1dc;--danger: #c62828;--danger-soft: #fdeaea;--info: #0b6ea8;--info-soft: #e2f1fa;--violet: #6d3fd1;--violet-soft: #efe9fc;--neutral: #556074;--neutral-soft: #edf0f5;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 35, 70, .06);--shadow: 0 1px 2px rgba(15, 35, 70, .04), 0 4px 16px -4px rgba(15, 35, 70, .08);--shadow-lg: 0 24px 48px -16px rgba(15, 35, 70, .28);--sidebar-w: 264px;--rail-w: 76px;color-scheme:light}:root[data-theme=dark]{--brand: #5b97ff;--brand-2: #3b7cf5;--brand-solid: #1f63e0;--brand-hover: #1a54c2;--brand-soft: rgba(77, 141, 255, .16);--brand-ring: rgba(91, 151, 255, .32);--bg: #0b0d10;--surface: #15181d;--surface-2: #1b1f25;--surface-3: #222730;--border: #272c35;--border-strong: #353b46;--text: #e8ebf0;--text-2: #a4adbb;--text-3: #737d8c;--sidebar: #111418;--banner-overlay: linear-gradient(90deg, rgba(11, 13, 16, .92) 0%, rgba(11, 13, 16, .72) 50%, rgba(11, 13, 16, .35) 100%);--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .13);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .13);--info: #60b8f0;--info-soft: rgba(96, 184, 240, .13);--violet: #b49bf5;--violet-soft: rgba(180, 155, 245, .14);--neutral: #a4adbb;--neutral-soft: rgba(164, 173, 187, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px -6px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.55 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background-color .2s}h1,h2,h3{margin:0;line-height:1.2;font-weight:700}h2{font-size:17px}a{color:inherit}button,input,select{font:inherit;color:inherit}em{font-style:normal}.muted{color:var(--text-2)}.small{font-size:13px}.req{color:var(--danger)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.bi{line-height:1;display:inline-flex}.link{color:var(--brand);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:4px;font-size:14px}.link:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:22px 22px 18px;text-decoration:none}.sidebar-logo img{height:30px;width:auto}.sidebar-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:3px 8px;border-radius:999px}:root[data-theme=dark] .sidebar-logo img,:root[data-theme=dark] .login-logo{filter:brightness(1.35) saturate(1.1)}.sidebar-nav{flex:1;overflow-y:auto;padding:6px 14px 14px}.nav-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 8px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;border-radius:var(--radius-sm);color:var(--text-2);font-weight:600;text-decoration:none;cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-link .bi{font-size:18px}.nav-link:hover{background:var(--surface-3);color:var(--text)}.nav-link.active{background:var(--brand-solid);color:#fff;box-shadow:0 6px 14px -6px var(--brand-ring)}.nav-group.has-active>.nav-link{color:var(--brand)}.nav-chevron{margin-left:auto;font-size:12px!important;transition:transform .2s}.nav-group.open .nav-chevron{transform:rotate(180deg)}.nav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.nav-group.open .nav-sub{grid-template-rows:1fr}.nav-sub>div{overflow:hidden;margin-left:21px;border-left:1.5px solid var(--border)}.nav-sublink{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 18px;margin:2px 0;color:var(--text-2);text-decoration:none;font-size:14px;font-weight:500;position:relative;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.nav-sublink:hover{color:var(--text);background:var(--surface-2)}.nav-sublink.active{color:var(--brand);font-weight:700;background:var(--brand-soft)}.nav-sublink.active:before{content:"";position:absolute;left:-1.5px;top:6px;bottom:6px;width:2.5px;border-radius:2px;background:var(--brand)}.nav-soon{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);background:var(--surface-3);padding:2px 6px;border-radius:999px}.nav-link.active .nav-soon{background:#fff3;color:#fff}.sidebar-site{margin:14px;padding:12px 14px;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand-solid),var(--brand-2));color:#fff;display:flex;align-items:center;gap:12px;text-decoration:none;transition:transform .15s,box-shadow .15s}.sidebar-site:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px var(--brand-ring)}.sidebar-site>.bi:first-child{font-size:20px}.sidebar-site span{flex:1;line-height:1.25}.sidebar-site strong{display:block;font-size:14px}.sidebar-site small{opacity:.8;font-size:12px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:66px;display:flex;align-items:center;gap:10px;padding:0 28px;background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.topbar-title{font-size:15px;display:flex;gap:6px}.topbar-spacer{flex:1}.menu-btn{font-size:22px;margin-left:-8px}.sidebar-close{position:absolute;top:18px;right:12px;font-size:18px}.sidebar-mark,.nav-flyout-title{display:none}@media (min-width: 861px){.sidebar{transition:width .22s ease}.sidebar .sidebar-close{display:none}.nav-collapsed .sidebar{width:var(--rail-w)}.nav-collapsed .sidebar-logo{justify-content:center;padding:18px 0 14px}.nav-collapsed .sidebar-logo img,.nav-collapsed .sidebar-tag,.nav-collapsed .nav-label{display:none}.nav-collapsed .sidebar-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand-solid),var(--brand-2));color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}.nav-collapsed .sidebar-nav{overflow:visible;padding:10px 12px 14px}.nav-collapsed .nav-link{position:relative;justify-content:center;padding:11px 0}.nav-collapsed .nav-link>span,.nav-collapsed .nav-chevron,.nav-collapsed .nav-link .nav-soon{display:none}.nav-collapsed .nav-group{position:relative}.nav-collapsed .nav-group.has-active>.nav-link{background:var(--brand-soft)}.nav-collapsed .nav-sub{display:none;position:absolute;left:100%;top:0;padding-left:14px;z-index:50}.nav-collapsed .nav-group:hover .nav-sub,.nav-collapsed .nav-group:focus-within .nav-sub{display:block}.nav-collapsed .nav-sub>div{margin:0;min-width:210px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop .14s ease-out}.nav-collapsed .nav-flyout-title{display:block;padding:6px 10px 8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.nav-collapsed .nav-sublink{border-radius:var(--radius-sm);padding:8px 10px}.nav-collapsed .nav-sublink.active:before{display:none}.nav-collapsed .nav-link[data-tip]:hover:after,.nav-collapsed .nav-link[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--text);color:var(--surface);font-size:13px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);pointer-events:none;z-index:50}.nav-collapsed .sidebar-site{justify-content:center;margin:12px;padding:12px 0}.nav-collapsed .sidebar-site span,.nav-collapsed .sidebar-site>.bi:last-child{display:none}}.theme-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:grid;place-items:center;cursor:pointer;font-size:16px;transition:color .15s,border-color .15s,transform .2s}.theme-btn:hover{color:var(--brand);border-color:var(--brand);transform:rotate(-15deg)}.content{width:100%;max-width:1240px;margin:0 auto;padding:26px 28px 48px}.user-menu{position:relative}.user-btn{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer}.user-btn:hover{border-color:var(--border-strong)}.user-btn-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-btn-text strong{font-size:14px}.user-btn-text small{font-size:12px;color:var(--text-2)}.user-btn-chevron{font-size:11px;color:var(--text-3)}.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;animation:pop .14s ease-out}.dropdown-head{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;background:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;font-weight:500;text-align:left}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-soft)}.page-header{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px;background:var(--surface)}.page-header-banner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 32px;min-height:140px;flex-wrap:wrap;overflow:hidden}.page-header-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:var(--banner) left 35% / cover no-repeat;transform:scaleX(-1)}.page-header-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--banner-overlay)}.page-header-text h1{font-size:30px;color:var(--brand);letter-spacing:-.01em}.page-header-text p{margin:6px 0 0;color:var(--text-2);font-size:16px}.page-header-actions{display:flex;gap:10px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:11px 32px;background:var(--brand-solid);color:#fff;font-size:14px;font-weight:600}.breadcrumb a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px;opacity:.9}.breadcrumb a:hover{opacity:1;text-decoration:underline}.breadcrumb span{display:inline-flex;align-items:center;gap:4px}.breadcrumb [aria-current]{opacity:.8;font-weight:500}.crumb-sep{font-size:10px;opacity:.6;margin:0 4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff;box-shadow:0 6px 14px -8px var(--brand-ring)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92);background:var(--danger)}.btn-lg{height:48px;font-size:16px}.btn-block{width:100%}.icon-btn{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:var(--radius-sm);border:0;background:transparent;color:var(--text-2);cursor:pointer;font-size:16px;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-3);color:var(--brand)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge-primary{background:var(--brand-soft);color:var(--brand)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--neutral-soft);color:var(--neutral)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.status{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.status:before{content:"";width:8px;height:8px;border-radius:50%}.status.on{color:var(--success)}.status.on:before{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.status.off{color:var(--text-3)}.status.off:before{background:var(--text-3)}.alert{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.alert-danger{background:var(--danger-soft);color:var(--danger)}.you{font-size:11px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:1px 7px;border-radius:999px;margin-left:4px;vertical-align:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px}.card-flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{display:flex;align-items:center;gap:16px;padding:20px;transition:transform .15s,box-shadow .15s}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:22px;flex-shrink:0}.tone-primary{background:var(--brand-soft);color:var(--brand)}.tone-violet{background:var(--violet-soft);color:var(--violet)}.tone-info{background:var(--info-soft);color:var(--info)}.tone-success{background:var(--success-soft);color:var(--success)}.stat-value{font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat-label{color:var(--text-2);font-size:14px}.dash-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px}.people{list-style:none;margin:0;padding:0}.people li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border)}.people li:first-child{border-top:0}.people-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.people-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortcuts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.shortcuts a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);text-decoration:none;font-weight:600;transition:border-color .15s,background .15s}.shortcuts a:hover{border-color:var(--brand);background:var(--brand-soft)}.shortcut-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.shortcuts span:nth-child(2){flex:1}.shortcut-go{color:var(--text-3);font-size:13px}.avatar{display:inline-flex;align-items:center;justify-content:center;line-height:1;letter-spacing:.02em;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;flex-shrink:0;border-radius:50%;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand-solid),var(--brand-2))}.avatar-md{width:38px;height:38px;font-size:14px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.segmented{display:inline-flex;padding:4px;background:var(--surface-3);border-radius:10px;gap:2px}.segmented button{border:0;background:none;padding:7px 14px;border-radius:7px;font-weight:600;font-size:14px;color:var(--text-2);cursor:pointer;display:inline-flex;gap:8px;align-items:center}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.segmented-count{font-size:12px;background:var(--surface-2);color:var(--text-3);padding:0 7px;border-radius:999px}.segmented button.active .segmented-count{background:var(--brand-soft);color:var(--brand)}.search{position:relative;display:flex;align-items:center;flex:0 1 300px}.search .bi{position:absolute;left:12px;color:var(--text-3)}.search input{width:100%;height:40px;padding:0 14px 0 38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);padding:12px 20px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:14px 20px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.th-actions{width:100px}.cell-actions{text-align:right;white-space:nowrap}.user-cell{display:flex;align-items:center;gap:12px}.user-cell>div{display:flex;flex-direction:column;line-height:1.35}.form-stack{display:grid;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:14px;font-weight:600}.field>span em{font-weight:400}.field input{height:42px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;transition:border-color .15s,box-shadow .15s}.field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:13px}.input-icon{position:relative;display:flex;align-items:center}.input-icon>.bi{position:absolute;left:14px;color:var(--text-3);pointer-events:none}.input-icon input{padding-left:40px;height:48px}.input-action{position:absolute;right:6px;width:36px;height:36px;border:0;background:none;color:var(--text-3);cursor:pointer;border-radius:6px;display:grid;place-items:center}.input-action:hover{color:var(--brand)}.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-option>.bi{font-size:20px;color:var(--text-3)}.role-option>span:not(.avatar){display:flex;flex-direction:column;line-height:1.25}.role-option small{color:var(--text-2);font-size:12px}.role-option.selected{border-color:var(--brand);background:var(--brand-soft)}.role-option.selected>.bi{color:var(--brand)}.role-option:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.role-option.disabled{opacity:.6;cursor:not-allowed}.toggle{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-weight:500;position:relative}.toggle input{position:absolute;opacity:0}.toggle-track{width:42px;height:24px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .2s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s}.toggle input:checked+.toggle-track{background:var(--brand-solid)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--brand);outline-offset:2px}.toggle input:disabled~*{opacity:.6;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0812268c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;z-index:100;animation:fade .15s ease-out}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:pop .18s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:19px}.modal-body{padding:22px;overflow-y:auto}.modal-body p{margin-top:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 18px 18px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.spinner-wrap{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-2);padding:40px}.spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.boot{min-height:100vh;display:grid;place-items:center}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px;color:var(--text-2)}.empty-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:26px;background:var(--brand-soft);color:var(--brand);margin-bottom:14px}.empty strong{color:var(--text);font-size:17px;margin-bottom:4px}.empty p{margin:0;max-width:380px}.toasts{position:fixed;top:80px;right:24px;display:grid;gap:10px;z-index:200}.toast{display:flex;align-items:center;gap:10px;background:var(--text);color:var(--surface);padding:12px 18px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-weight:600;animation:pop .18s ease-out}.toast .bi{color:#4ade80}.scrim{display:none}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.settings-main{display:grid;gap:20px}.settings-card{padding:0;overflow:hidden}.settings-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border)}.settings-head p{margin:2px 0 0}.settings-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.settings-form,.theme-options{padding:22px}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.settings-spacer{flex:1}.toggle-sm .toggle-track{width:36px;height:20px}.toggle-sm .toggle-track:after{width:14px;height:14px}.toggle-sm input:checked+.toggle-track:after{transform:translate(16px)}.toggle-sm{font-size:14px;color:var(--text-2)}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.theme-option{display:flex;flex-direction:column;gap:10px;padding:10px;border:1.5px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s}.theme-option input{position:absolute;opacity:0;pointer-events:none}.theme-option:hover{border-color:var(--brand)}.theme-option.selected{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.theme-option:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.theme-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:0 4px 2px}.theme-option.selected .theme-label{color:var(--brand)}.theme-preview{height:78px;border-radius:8px;padding:10px;display:grid;grid-template-columns:26% 1fr;grid-template-rows:12px 1fr;gap:6px;border:1px solid rgba(0,0,0,.08)}.theme-preview span:nth-child(1){grid-row:1 / 3;border-radius:4px}.theme-preview span:nth-child(2){border-radius:3px}.theme-preview span:nth-child(3){border-radius:4px}.theme-preview-light{background:#f2f6fc}.theme-preview-light span:nth-child(1){background:#fff}.theme-preview-light span:nth-child(2){background:#025add}.theme-preview-light span:nth-child(3){background:#fff}.theme-preview-dark{background:#0b0d10;border-color:#272c35}.theme-preview-dark span:nth-child(1){background:#15181d}.theme-preview-dark span:nth-child(2){background:#1f63e0}.theme-preview-dark span:nth-child(3){background:#1b1f25}.theme-preview-system{background:linear-gradient(135deg,#f2f6fc 50%,#0b0d10 50%)}.theme-preview-system span:nth-child(1){background:#fff}.theme-preview-system span:nth-child(2){background:linear-gradient(90deg,#025add 50%,#1f63e0 50%)}.theme-preview-system span:nth-child(3){background:linear-gradient(135deg,#fff 50%,#1b1f25 50%)}.settings-side{position:sticky;top:86px;padding:0;overflow:hidden}.profile-summary{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:28px 20px 22px;background:linear-gradient(180deg,var(--brand-soft),transparent);border-bottom:1px solid var(--border)}.profile-summary strong{font-size:17px;margin-top:8px}.avatar-lg{width:72px;height:72px;font-size:26px;box-shadow:0 0 0 4px var(--surface),0 8px 20px -8px var(--brand-ring)}.details{margin:0;padding:8px 20px}.details div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.details div:last-child{border-bottom:0}.details dt{color:var(--text-2);font-size:14px}.details dd{margin:0;font-weight:600;font-size:14px;text-align:right}.settings-note{margin:0;padding:14px 20px 18px;display:flex;gap:8px;line-height:1.45}.field>label{font-size:14px;font-weight:600}.field select,.field textarea{min-height:42px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;transition:border-color .15s,box-shadow .15s}.field textarea{padding:10px 13px;resize:vertical;line-height:1.5}.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface-2);color:var(--text-2);cursor:not-allowed}.field-full{grid-column:1 / -1}.alert-success{background:var(--success-soft);color:var(--success)}.avatar-xs{width:22px;height:22px;font-size:9px}.avatar-sm{width:30px;height:30px;font-size:11px}.pmo-toolbar{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.pmo-toolbar .search{margin-left:auto}.filter{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:240px;font-size:14px}.filter:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.th-seq{width:70px}.seq{font-weight:700;color:var(--brand);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}.seq:hover{text-decoration:underline}.seq-new{color:#f59e0b;font-size:12px;margin-left:2px}.row-title{color:var(--text);text-decoration:none;font-weight:600}.row-title:hover{color:var(--brand)}.pmo-table td{white-space:normal}.pmo-table .cell-title{min-width:220px;max-width:420px}.cell-project{display:flex;flex-direction:column;line-height:1.3;min-width:140px}.cell-project small{color:var(--text-3);font-size:12px}.row-trash td,.pmo-card.row-trash{opacity:.85}.owner-stack{display:inline-flex;align-items:center;white-space:nowrap}.owner-stack .avatar{margin-right:-6px;box-shadow:0 0 0 2px var(--surface)}.owner-stack-text{margin-left:12px;font-size:13px;color:var(--text-2)}.table-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--border)}.legend{display:inline-flex;align-items:center;gap:4px}.pmo-cards{display:none;list-style:none;margin:0;padding:12px;gap:12px}.pmo-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface);display:grid;gap:8px}.pmo-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.pmo-card-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmo-card-title{font-weight:700;color:var(--text);text-decoration:none;font-size:16px;line-height:1.35}.pmo-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:0}.pmo-card-fields div{min-width:0}.pmo-card-fields dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.pmo-card-fields dd{margin:2px 0 0;font-size:14px}.pmo-form,.detail-sections{display:grid;gap:18px}.form-card h2{font-size:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:0;z-index:20;margin-top:18px;padding:14px 18px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.detail-summary{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:16px 22px;margin-bottom:18px}.summary-item{display:flex;flex-direction:column;gap:3px}.summary-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.summary-value{font-weight:600}.seq-big{font-size:20px;color:var(--brand);font-weight:700}.summary-link{margin-left:auto}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0}.kv-grid dt{font-size:13px;color:var(--text-2);margin-bottom:3px}.kv-grid dd{margin:0;font-weight:500;overflow-wrap:anywhere}.kv-full{grid-column:1 / -1}.prewrap{white-space:pre-wrap}.is-editing .form-card{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.trash-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:18px;border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger);flex-wrap:wrap}.trash-banner>.bi{font-size:22px}.trash-banner div{flex:1;display:flex;flex-direction:column;min-width:200px}.trash-banner span{color:var(--text-2);font-size:14px}.btn-on-banner-danger{color:var(--danger);background:var(--surface)}.btn-on-banner-danger:hover:not(:disabled){background:var(--danger-soft)!important;border-color:var(--danger)}.owner-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.owner-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius)}.owner-list li>span:not(.avatar){display:flex;flex-direction:column;line-height:1.3;min-width:0}.owner-list small{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related{margin-top:18px}.related .tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border);overflow-x:auto}.related .tab{border:0;background:none;padding:14px 12px;font-weight:600;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:8px;align-items:center}.related .tab.active{color:var(--brand);border-bottom-color:var(--brand)}.related-head{display:flex;align-items:center;gap:8px;padding:14px 20px;flex-wrap:wrap}.btn-sm{height:32px;padding:0 12px;font-size:13px}.owner-picker{position:relative}.owner-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:44px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:text}.owner-picker.open .owner-chips,.owner-chips:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.owner-picker[aria-invalid=true] .owner-chips{border-color:var(--danger)}.owner-picker.disabled .owner-chips{background:var(--surface-2);cursor:default}.owner-chips input{flex:1;min-width:160px;border:0!important;outline:none;background:transparent;height:32px;padding:0 4px!important;box-shadow:none!important}.owner-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 3px;border-radius:999px;background:var(--brand-soft);color:var(--text);font-size:13px;font-weight:600}.owner-chip button{width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--text-2);cursor:pointer;display:grid;place-items:center}.owner-chip button:hover{background:var(--surface);color:var(--danger)}.owner-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;list-style:none;margin:0;padding:6px;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.owner-options li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer}.owner-options li.active{background:var(--brand-soft)}.owner-options li>span:not(.avatar){display:flex;flex-direction:column;line-height:1.3}.owner-options li small{color:var(--text-2);font-size:12px}.owner-empty{color:var(--text-2);cursor:default!important}.field select,.filter{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238b96a8' viewBox='0 0 16 16'%3E%3Cpath d='M1.6 4.6a.6.6 0 0 1 .85 0L8 10.15l5.55-5.55a.6.6 0 1 1 .85.85l-5.98 5.97a.6.6 0 0 1-.84 0L1.6 5.45a.6.6 0 0 1 0-.85z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:14px;cursor:pointer}.combo{position:relative}.combo-trigger{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:0 13px;text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}.combo-trigger:hover:not(:disabled){border-color:var(--brand)}.combo.open .combo-trigger,.combo-trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.combo-trigger[aria-invalid=true]{border-color:var(--danger)}.combo-trigger:disabled{background:var(--surface-2);color:var(--text-2);cursor:not-allowed}.combo-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-placeholder{flex:1;color:var(--text-3)}.combo-chevron{color:var(--text-3);font-size:13px;transition:transform .2s}.combo.open .combo-chevron{transform:rotate(180deg)}.combo-required{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:20px;bottom:0}.combo-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .12s ease-out}.combo-search-wrap{position:relative;padding:8px;border-bottom:1px solid var(--border)}.combo-search-wrap .bi{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:14px;pointer-events:none;z-index:1}.combo .combo-search,.field .combo .combo-search{width:100%;height:40px;padding:0 12px 0 38px!important;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:14px;box-shadow:none}.combo .combo-search:focus{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px var(--brand-ring)}.combo-list{position:static!important;box-shadow:none!important;border:0!important;border-radius:0!important;max-height:280px}.combo-list li.chosen strong{color:var(--brand)}.combo-check{margin-left:auto;color:var(--brand)}.combo-clear{color:var(--text-2)}.rte{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;transition:border-color .15s,box-shadow .15s}.rte:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.rte-invalid{border-color:var(--danger)}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--surface-2)}.rte-btn{width:32px;height:32px;display:inline-grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-2);cursor:pointer;font-size:15px}.rte-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.rte-btn.active{background:var(--brand-soft);color:var(--brand)}.rte-btn:disabled{opacity:.35;cursor:default}.rte-sep{width:1px;height:20px;background:var(--border-strong);margin:0 4px}.rte-spacer{flex:1}.rte-content{min-height:140px;max-height:480px;overflow-y:auto;padding:12px 14px;outline:none;line-height:1.6}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-3);float:left;height:0;pointer-events:none}.rte-disabled .rte-content{background:var(--surface-2)}.rte-loading{min-height:180px;display:grid;place-items:center;color:var(--text-3)}.rte-content>:first-child,.rich-text>div>:first-child{margin-top:0}.rte-content>:last-child,.rich-text>div>:last-child{margin-bottom:0}.rte-content p,.rich-text p{margin:0 0 .7em}.rte-content h2,.rich-text h2{font-size:19px;margin:1em 0 .5em}.rte-content h3,.rich-text h3{font-size:16px;margin:1em 0 .4em}.rte-content ul,.rte-content ol,.rich-text ul,.rich-text ol{margin:0 0 .7em;padding-left:1.4em}.rte-content li p,.rich-text li p{margin:0}.rte-content blockquote,.rich-text blockquote{margin:0 0 .7em;padding:4px 0 4px 14px;border-left:3px solid var(--brand);color:var(--text-2)}.rte-content a,.rich-text a{color:var(--brand);text-decoration:underline}.rich-text{font-weight:400!important;line-height:1.6}.row-click{cursor:pointer}.row-title{color:var(--brand)!important}.row-title:hover{text-decoration:underline}.nowrap{white-space:nowrap}.avatar{flex-direction:row!important;align-items:center!important;justify-content:center!important;line-height:1!important;text-align:center;padding:0!important}.empty-val{color:var(--text-3);font-style:italic;font-weight:400}.link-btn{border:0;background:none;padding:0;color:var(--brand);font-weight:700;cursor:pointer;text-align:left;font-size:inherit}.link-btn:hover{text-decoration:underline}.stats-6{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-link{text-decoration:none;color:inherit}.stat-sub{font-size:12px;color:var(--text-3);margin-top:2px}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.dash-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.dash-side{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start}.dash-bars{list-style:none;margin:0;padding:0;display:grid;gap:12px}.dash-bars li{display:grid;grid-template-columns:120px 1fr 64px;align-items:center;gap:12px}.dash-bars-label{font-size:14px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-bars-track{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.dash-bars-fill{display:block;height:100%;border-radius:999px;background:var(--brand-solid);transition:width .4s ease}.tone-bar-success{background:#22a05a}.tone-bar-warning{background:#e3a321}.tone-bar-danger{background:#d9433b}.tone-bar-neutral{background:#8b96a8}.dash-bars-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.dash-bars-value small{margin-left:6px;font-weight:400;color:var(--text-3);font-size:12px}.attention{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.attention-group,.dash-side,.dash-side>.card{min-width:0}.attention-text,.recent-text{flex:1}.attention-list .badge{flex-shrink:0}.attention-group h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 8px;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}.attention-empty{display:flex;align-items:center;gap:6px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success)}.attention-list,.recent-list,.mini-stats{list-style:none;margin:0;padding:0}.attention-list li a,.recent-list li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;color:inherit}.attention-list li a:hover,.recent-list li a:hover{background:var(--surface-2)}.attention-list li+li,.recent-list li+li{border-top:1px solid var(--border)}.attention-text,.recent-text{display:flex;flex-direction:column;min-width:0;line-height:1.35}.attention-text strong,.recent-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list li a{justify-content:flex-start}.recent-icon{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.quick-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-add-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);font-weight:600;font-size:14px;transition:border-color .15s,background .15s}.quick-add-btn:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.mini-stats li a,.mini-stats li span{display:flex;align-items:center;gap:10px;padding:9px 4px;text-decoration:none;color:var(--text);font-size:14px}.mini-stats li+li{border-top:1px solid var(--border)}.mini-stats strong,.mini-stats li a>.bi:last-child{margin-left:auto}.mini-stats li a:hover{color:var(--brand)}@media (max-width: 1100px){.stats-6{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid-2{grid-template-columns:1fr}}@media (max-width: 520px){.dash-bars li{grid-template-columns:90px 1fr 56px}.quick-add{grid-template-columns:1fr}}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:var(--surface)}.login-hero{position:relative;background:var(--hero) 18% center / cover no-repeat;display:flex;align-items:flex-end;padding:56px;overflow:hidden}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#02286e00 35%,#021e55b8)}.login-hero-text{position:relative;color:#fff;max-width:520px}.login-hero-text h2{font-size:34px;line-height:1.2}.login-hero-text h2 span{display:block;color:#9cc7ff}.login-hero-text p{font-size:17px;opacity:.9;margin:14px 0 0}.login-panel{display:grid;place-items:center;padding:40px 24px}.login-form{width:100%;max-width:400px;display:grid;gap:20px}.login-logo{height:40px;width:auto;justify-self:start;margin-bottom:8px}.login-form h1{font-size:30px}.login-form p{margin:6px 0 0}.login-back{justify-self:center;display:inline-flex;align-items:center;gap:6px;color:var(--text-2);text-decoration:none;font-size:14px;font-weight:600}.login-back:hover{color:var(--brand)}@media (max-width: 1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.settings-layout{grid-template-columns:1fr}.settings-side{position:static;order:-1;display:grid;grid-template-columns:240px minmax(0,1fr)}.profile-summary{border-bottom:0;border-right:1px solid var(--border);justify-content:center}.settings-note{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:14px}}@media (max-width: 760px){.users-table thead{display:none}.users-table,.users-table tbody{display:block}.users-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 16px;border-bottom:1px solid var(--border)}.users-table td{display:block;padding:0;border:0}.users-table td:first-child{grid-column:1 / -1}.users-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:3px}.users-table .cell-actions{grid-column:1 / -1;text-align:left}.pmo-table{display:none}.pmo-cards{display:grid}.pmo-toolbar{padding:14px 16px}.pmo-toolbar .filter{flex:1 1 100%;width:100%;min-width:0;max-width:none}.pmo-toolbar .search{margin-left:0}.kv-grid{grid-template-columns:1fr}.detail-summary{gap:16px 24px}.summary-link{margin-left:0}.sticky-actions .btn{flex:1}.sticky-actions .settings-spacer,.sticky-actions>.muted{display:none}}@media (max-width: 700px){.form-grid-2,.form-grid-3,.theme-options{grid-template-columns:1fr}.theme-preview{height:56px}.settings-side{grid-template-columns:1fr}.profile-summary{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width: 900px){.login{grid-template-columns:1fr}.login-hero{min-height:220px;padding:28px}.login-hero-text h2{font-size:24px}.login-hero-text p{display:none}}@media (max-width: 860px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.nav-open .sidebar{transform:none}.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#08122673;z-index:35}.topbar{padding:0 16px}.topbar-title,.user-btn-text,.user-btn-chevron{display:none}.user-btn{padding:3px}.content{padding:16px 16px 40px}.page-header-banner{padding:24px 20px;min-height:0}.page-header-text h1{font-size:24px}.breadcrumb{padding:10px 20px}.table-toolbar{padding:14px 16px}.search{flex:1 1 100%}.table th,.table td{padding:12px 16px}}@media (max-width: 520px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.stat-icon{width:40px;height:40px;font-size:18px;border-radius:11px}.stat-value{font-size:24px}.role-picker{grid-template-columns:1fr}.segmented{width:100%}.segmented button{flex:1;justify-content:center;padding:7px 8px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.alert-info{background:var(--info-soft);color:var(--info)}.login-or{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:13px}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}.login-demo-note{text-align:center;margin:-8px 0 0!important}.th-sort{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.th-sort .bi{font-size:11px;opacity:.45}.th-sort.active,.th-sort:hover{color:var(--text)}.th-sort.active .bi{opacity:1;color:var(--brand)}.th-sort:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.pmo-table{max-height:calc(100vh - 230px);overflow:auto}.pmo-table thead th{position:sticky;top:0;z-index:2}.cell-stack{display:flex;flex-direction:column;line-height:1.3}.cell-stack small{color:var(--text-3);font-size:12px}.role-editor .table-wrap{margin:4px -4px 0}.perm-table th[scope=row]{font-size:14px;text-transform:none;letter-spacing:0;color:var(--text);background:none;font-weight:600}.perm-table td{padding:8px 12px}.perm-table .perm-admin th[scope=row]{color:var(--text-2)}.perm-select,.perm-row-set select{padding:6px 8px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:600;min-width:96px}.perm-select.perm-all{border-color:var(--success);color:var(--success)}.perm-select.perm-division{border-color:var(--info);color:var(--info)}.perm-select.perm-own{border-color:var(--warning);color:var(--warning)}.perm-select.perm-none{color:var(--text-3)}.perm-row-set select{min-width:0;font-weight:500;color:var(--text-2)}.perm-help{margin:14px 0 0;padding-left:18px;display:grid;gap:4px}.action-menu{position:relative}.action-menu .dropdown{z-index:60;min-width:230px;max-height:calc(100vh - 120px);overflow-y:auto}.dropdown-divider{border:0;border-top:1px solid var(--border);margin:6px 0}.resource-card{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;font-size:18px}.details dt .bi{margin-right:6px}.risk-view{padding:28px 32px}.risk-title{font-size:26px;line-height:1.25;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.risk-text{display:grid;grid-template-columns:1fr 1fr;gap:32px}.risk-text h3{font-size:15px;margin:0 0 10px}.risk-block{border-left:4px solid var(--brand-solid);padding:6px 0 6px 18px;line-height:1.65}.risk-block-mit{border-left-color:var(--success)}:root[data-theme=dark] .risk-block-desc{border-left-color:var(--brand)}.risk-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.risk-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.risk-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin:0 0 10px;display:flex;gap:8px;align-items:center}.risk-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}.risk-kv:first-of-type{border-top:0}.risk-kv span{color:var(--text-2)}.risk-kv strong{text-align:right;font-weight:600}@media (max-width: 900px){.risk-text,.risk-cols{grid-template-columns:1fr}.risk-view{padding:20px}}.program-list{list-style:none;margin:0;padding:0}.program{border-bottom:1px solid var(--border)}.program-head{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer}.program-head:hover{background:var(--surface-2)}.program-head:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.program-chevron{transition:transform .15s;color:var(--text-3)}.program.open .program-chevron{transform:rotate(90deg);color:var(--brand)}.program-title{display:flex;flex-direction:column;flex:1}.program-status{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.program-body{padding:0 0 8px;background:var(--surface-2)}.program-body .pmo-table{max-height:none}@media (max-width: 860px){.program-head{flex-wrap:wrap}.program-status{justify-content:flex-start;width:100%;padding-left:28px}}@media print{.sidebar,.topbar,.page-header-actions,.breadcrumb,.related .tabs,.form-actions{display:none!important}.shell,.main{display:block!important;margin:0!important}.card{box-shadow:none!important;break-inside:avoid}}.filter-combo{width:210px;max-width:100%}.filter-combo .combo-trigger{min-height:40px}.filter-combo .combo-panel{min-width:260px}@media (max-width: 860px){.filter-combo{width:100%}}.scroll-marker{display:block;height:1px}.load-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;color:var(--text-2);font-size:14px}.load-more-cards{display:none}@media (max-width: 860px){.load-more-cards{display:flex}}.spinner-sm{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.seq-cell{font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums}.cell-link{color:var(--text);font-weight:700;text-decoration:none}.cell-link:hover{color:var(--brand);text-decoration:underline}.count-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.count-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);font:inherit;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s}.count-tile .bi{grid-row:span 2;font-size:22px;color:var(--brand);width:42px;height:42px;display:grid;place-items:center;background:var(--brand-soft);border-radius:12px}.count-tile-value{font-size:24px;font-weight:800;line-height:1}.count-tile-label{font-size:13px;color:var(--text-2);font-weight:600}.count-tile:hover,.count-tile.active{border-color:var(--brand);transform:translateY(-1px)}.count-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (max-width: 1200px){.count-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.more-btn{width:42px;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--brand);display:grid;place-items:center;cursor:pointer;font-size:20px;box-shadow:var(--shadow-sm)}.more-btn:hover,.more-btn.open{background:var(--brand-soft);border-color:var(--brand)}.more-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.action-menu .dropdown-item{color:var(--text)}.action-menu .dropdown-item.menu-add{color:var(--brand)}.action-menu .dropdown-item.menu-add .bi{font-weight:700}.action-menu .dropdown-item.menu-primary{color:#fff;background:var(--brand-solid)}.action-menu .dropdown-item.menu-primary:hover{background:var(--brand-hover)}.action-menu .dropdown-item.danger{color:var(--danger)}.portfolio-name{display:inline-flex;align-items:center;gap:4px}.portfolio-rename{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.portfolio-rename input{padding:5px 8px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;min-width:220px}.icon-btn-sm{width:26px;height:26px;font-size:13px}.role-projects{margin-top:16px;display:grid;gap:8px}.role-projects .search{max-width:360px}.check-list{list-style:none;margin:0;padding:6px;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px 12px}.check-list label{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:14px}.check-list label:hover{background:var(--surface-2)}.pmo-table table{min-width:1100px}.pmo-table .col-frozen{position:sticky;z-index:1;background:var(--surface)}.pmo-table thead .col-frozen{z-index:3;background:var(--surface-2)}.pmo-table .col-frozen-last{box-shadow:6px 0 8px -6px #0000002e}.pmo-table tbody tr:hover .col-frozen{background:var(--surface-2)}.pmo-table .cell-title{min-width:220px}.nav-group-heading>button,.nav-group-heading>.nav-link{font-size:15.5px;font-weight:800;letter-spacing:.01em;color:var(--text)}a.count-tile{text-decoration:none}.count-tiles{grid-template-columns:repeat(7,minmax(0,1fr))}.count-tile-status{cursor:default}.count-tile-status:hover{transform:none;border-color:var(--border)}.count-tile-status .count-tile-value .badge{font-size:14px;height:28px}@media (max-width: 1300px){.count-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 560px){.count-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.banner-link{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.risk-block-warn{border-left-color:var(--warning)}.risk-text-single{grid-template-columns:1fr;margin-top:22px}.pending-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--surface-3);color:var(--text-3);font-size:12px;font-weight:700}.finances-card h2 .bi,.notes-card h2 .bi,.related-title .bi{color:var(--brand);margin-right:6px}.notes-card{padding:22px 24px}.notes-card h2{font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:8px}.notes-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.notes-list li{border-left:3px solid var(--brand-solid);padding:4px 0 4px 14px}.notes-meta{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}.program-toggle{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px}.program-toggle:hover{background:var(--surface-3)}.program-toggle:focus-visible{outline:2px solid var(--brand)}.program-head{cursor:pointer}.program-empty{padding:14px 20px;margin:0}.related-title{font-size:15px;margin:0}.record-type-switch{display:flex;align-items:center;gap:14px;padding:14px 20px;margin-bottom:18px;flex-wrap:wrap}.record-type-switch .segmented a{text-decoration:none;padding:7px 14px;border-radius:7px;font-weight:600;font-size:14px;color:var(--text-2);display:inline-flex;gap:8px;align-items:center}.record-type-switch .segmented a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.ev{font-weight:800}.ev-success{color:#15803d}.ev-warning{color:#b45309}.ev-danger{color:#dc2626}:root[data-theme=dark] .ev-success{color:#4ade80}:root[data-theme=dark] .ev-warning{color:#fbbf24}:root[data-theme=dark] .ev-danger{color:#f87171}.cell-money{white-space:nowrap;font-variant-numeric:tabular-nums}.finances-note{margin:16px 0 0}:root[data-theme=dark]{--brand: #6ea8ff;--brand-2: #3b82f6;--brand-solid: #2563eb;--brand-hover: #1d4ed8;--brand-soft: rgba(59, 130, 246, .15);--brand-ring: rgba(96, 165, 250, .38);--bg: #04060c;--surface: #0a101c;--surface-2: #0e1625;--surface-3: #142036;--border: #18233b;--border-strong: #23345a;--text: #e9effb;--text-2: #9eb0cd;--text-3: #6c7d9b;--sidebar: #060a14;--banner-overlay: linear-gradient(90deg, rgba(4, 7, 16, .95) 0%, rgba(7, 18, 46, .8) 52%, rgba(14, 40, 104, .38) 100%);--shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 12px 32px -14px rgba(0, 0, 0, .85);--shadow-lg: 0 30px 60px -18px rgba(0, 0, 0, .9), 0 0 0 1px rgba(96, 165, 250, .08);--blue-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 45%, #1e40af 100%);--blue-glow: 0 10px 26px -10px rgba(37, 99, 235, .75)}:root[data-theme=dark] body{background:radial-gradient(1100px 620px at 88% -12%,rgba(37,99,235,.18),transparent 62%),radial-gradient(900px 520px at -12% 112%,rgba(59,130,246,.09),transparent 60%),var(--bg);background-attachment:fixed}:root[data-theme=dark] .sidebar{background:linear-gradient(180deg,#070d1b,#04070f);border-right-color:#60a5fa1a}:root[data-theme=dark] .topbar{background:#050913b8;border-bottom-color:#60a5fa1a}:root[data-theme=dark] .nav-link.active,:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .action-menu .dropdown-item.menu-primary{background:var(--blue-gradient);border-color:transparent;color:#fff;box-shadow:var(--blue-glow)}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6 45%,#1d4ed8)}:root[data-theme=dark] .card,:root[data-theme=dark] .count-tile,:root[data-theme=dark] .page-header{background:linear-gradient(180deg,#ffffff07,#fff0 42%),var(--surface);border-color:#60a5fa1c}:root[data-theme=dark] .breadcrumb{background:linear-gradient(90deg,#1e40af,#2563eb 55%,#3b82f6)}:root[data-theme=dark] .table th{background:#0c1424;color:var(--text-2);border-bottom-color:#60a5fa24}:root[data-theme=dark] .pmo-table thead .col-frozen{background:#0c1424}:root[data-theme=dark] .pmo-table .col-frozen{background:var(--surface)}:root[data-theme=dark] .pmo-table tbody tr:hover td,:root[data-theme=dark] .pmo-table tbody tr:hover .col-frozen{background:#0f1a2e}:root[data-theme=dark] .stat-icon.tone-primary,:root[data-theme=dark] .count-tile .bi{box-shadow:0 0 0 1px #60a5fa2e,0 8px 22px -10px #2563ebcc}:root[data-theme=dark] .count-tile:hover,:root[data-theme=dark] .stat-link:hover{border-color:#60a5fa73;box-shadow:0 14px 30px -16px #2563ebb3}:root[data-theme=dark] .segmented{background:#0c1424}:root[data-theme=dark] .segmented button.active,:root[data-theme=dark] .record-type-switch .segmented a.active{background:var(--surface-3);color:#fff;box-shadow:inset 0 0 0 1px #60a5fa40}:root[data-theme=dark] .combo-trigger,:root[data-theme=dark] .search input,:root[data-theme=dark] .field input,:root[data-theme=dark] .field select{background-color:#08101d}:root[data-theme=dark] .dropdown,:root[data-theme=dark] .combo-panel,:root[data-theme=dark] .modal{background:#0b1322;border-color:#60a5fa29}:root[data-theme=dark] .more-btn{background:#0b1322;border-color:#60a5fa40;color:#93c5fd}:root[data-theme=dark] .risk-col{background:#0c1424;border-color:#60a5fa1a}:root[data-theme=dark] .login-panel{background:radial-gradient(800px 500px at 100% 0%,rgba(37,99,235,.18),transparent 60%),var(--bg)}.notes-card,.finances-card{margin-top:18px}.record-info{display:flex;flex-wrap:wrap;gap:10px 32px;align-items:center;padding:14px 22px;margin-top:18px;font-size:14px}.record-info .summary-label{margin-right:6px}.combo-compact .combo-trigger{min-height:34px;padding:0 10px;font-size:13px;font-weight:600;gap:6px}.combo-compact .combo-panel{min-width:150px}.combo-compact .combo-list li{padding:7px 10px}.perm-select{min-width:112px}.perm-select .combo-trigger{border-width:1px}.perm-select.perm-all .combo-trigger{border-color:var(--success);color:var(--success);background:var(--success-soft)}.perm-select.perm-division .combo-trigger{border-color:var(--info);color:var(--info);background:var(--info-soft)}.perm-select.perm-selected .combo-trigger{border-color:var(--violet);color:var(--violet);background:var(--violet-soft)}.perm-select.perm-own .combo-trigger{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.perm-select.perm-none .combo-trigger{color:var(--text-3)}.perm-row-set .combo{min-width:120px}.perm-table td{overflow:visible}.combo-list:focus{outline:none}.perm-select.combo,.perm-row-set .combo{padding:0;border:0;background:none}.role-editor .table-wrap{overflow:visible}.pmo-toolbar .combo-trigger,.filter-combo .combo-trigger{height:40px;min-height:40px;border-color:var(--border);background:var(--surface);font-size:14px}:root[data-theme=dark] .pmo-toolbar .combo-trigger,:root[data-theme=dark] .search input{background:#08101d;border-color:var(--border);color:var(--text)}.pmo-toolbar .combo-trigger:hover:not(:disabled){border-color:var(--brand)}.fullscreen-page{min-height:100vh;width:100%;background:var(--bg)}.wip-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:18px;border-radius:var(--radius);border:1px dashed var(--warning);background:var(--warning-soft)}.wip-banner>.bi{font-size:22px;color:var(--warning)}.wip-banner div{display:flex;flex-direction:column;flex:1;font-size:14px}.wip-banner span{color:var(--text-2)}.stats-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}@media (max-width: 1100px){.stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.stats-4{grid-template-columns:1fr}}.budget-stats .stat-value{font-size:22px;font-variant-numeric:tabular-nums}.ev-split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ev-split-item{all:unset;box-sizing:border-box;cursor:pointer;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.ev-split-item:hover,.ev-split-item.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.ev-split-item:focus-visible{outline:2px solid var(--brand)}.ev-split-count{font-size:22px;font-weight:800}.ev-split-label{font-size:12px;color:var(--text-2)}.ev-split-success .ev-split-count{color:var(--success)}.ev-split-warning .ev-split-count{color:var(--warning)}.ev-split-danger .ev-split-count{color:var(--danger)}.ev-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-3);margin-bottom:8px}.ev-bar span{flex-basis:0}.ev-bar-success{background:var(--success)}.ev-bar-warning{background:var(--warning)}.ev-bar-danger{background:var(--danger)}.ev-bar-none{background:var(--neutral);opacity:.5}@media (max-width: 700px){.ev-split{grid-template-columns:repeat(2,minmax(0,1fr))}}.budget-programs{list-style:none;margin:0;padding:0;display:grid;gap:12px}.budget-programs li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name pct" "sub pct" "bar bar";column-gap:12px;row-gap:4px}.budget-programs li>a{grid-area:name}.budget-programs li>small{grid-area:sub}.budget-programs li>.spend-bar{grid-area:bar}.budget-programs .spend-pct{grid-area:pct;align-self:center;font-variant-numeric:tabular-nums}.spend-bar{display:block;height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden;min-width:80px}.spend-fill{display:block;height:100%;border-radius:999px;background:var(--success)}.spend-fill.watch{background:var(--warning)}.spend-fill.over{background:var(--danger)}.spend-cell{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.spend-cell .spend-bar{width:90px}.budget-table td.num,.budget-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-table table{min-width:980px}.wip-stage{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 16px 64px}.wip-art{position:relative;width:min(420px,100%);height:220px;margin-bottom:18px}.wip-bars{position:absolute;inset:auto 40px 0 40px;height:170px;display:flex;align-items:flex-end;gap:12px;border-bottom:2px solid var(--border-strong)}.wip-bars span{flex:1;height:var(--h);border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,var(--brand-2),var(--brand-solid));transform-origin:bottom;animation:wip-grow 2.6s ease-in-out var(--d) infinite;opacity:.9}.wip-gear{position:absolute;color:var(--brand)}.wip-gear-lg{right:6px;top:0;font-size:64px;animation:wip-spin 6s linear infinite}.wip-gear-sm{right:62px;top:46px;font-size:34px;color:var(--brand-2);animation:wip-spin 4s linear infinite reverse}.wip-coin{position:absolute;bottom:30px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#7a5200;background:radial-gradient(circle at 35% 30%,#ffe48a,#f4b400 70%);box-shadow:0 2px 6px #00000040;animation:wip-float 3.2s ease-in-out infinite;opacity:0}.wip-coin-1{left:18%;animation-delay:0s}.wip-coin-2{left:46%;animation-delay:1.1s}.wip-coin-3{left:70%;animation-delay:2.2s}.wip-title{font-size:30px;margin:0 0 6px;background:linear-gradient(90deg,var(--brand-solid),var(--brand-2),var(--brand-solid));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wip-shine 3s linear infinite}.wip-text{color:var(--text-2);margin:0 0 22px;max-width:480px}.wip-progress{width:min(360px,100%);height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-bottom:28px}.wip-progress span{display:block;width:40%;height:100%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--brand),transparent);animation:wip-slide 1.6s ease-in-out infinite}.wip-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;text-align:left}.wip-list li{display:flex;align-items:center;gap:10px;color:var(--text-2);font-weight:600;animation:wip-fade 2.4s ease-in-out var(--d) infinite}.wip-list .bi{color:var(--brand)}.wip-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 var(--brand-ring);animation:wip-pulse 1.8s ease-out var(--d) infinite}@keyframes wip-grow{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@keyframes wip-spin{to{transform:rotate(360deg)}}@keyframes wip-float{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(-150px);opacity:0}}@keyframes wip-shine{to{background-position:-200% 0}}@keyframes wip-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes wip-fade{0%,to{opacity:.55}50%{opacity:1}}@keyframes wip-pulse{0%{box-shadow:0 0 0 0 var(--brand-ring)}to{box-shadow:0 0 0 10px transparent}}@media (prefers-reduced-motion: reduce){.wip-bars span{transform:none}.wip-coin{opacity:1}}.pmo-table.is-scrolled-x .col-frozen-last{border-right:2px solid var(--brand);box-shadow:8px 0 12px -6px #025add47}:root[data-theme=dark] .pmo-table.is-scrolled-x .col-frozen-last{box-shadow:8px 0 14px -6px #2563eb8c}.action-menu .dropdown-item:disabled{opacity:.55;cursor:not-allowed;background:none}.menu-soon{margin-left:auto;font-size:11px}.btn-ghost-danger{background:none;border:1px solid transparent;color:var(--danger)}.btn-ghost-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.pmo-card-action{margin-top:10px}.related-alert{margin:12px 16px 0}.project-chip .bi-kanban{color:var(--brand)}.chip-move{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--warning);margin-left:2px}
