:root{--navy: #06243d;--navy-2: #0c3654;--teal: #0ecfc8;--teal-600: #0aafa9;--teal-tint: #e4faf9;--bg: #eef3f7;--surface: #ffffff;--border: #e3eaf1;--border-2: #edf2f6;--ink: #0b2236;--ink-2: #51647a;--ink-3: #8294a6;--success: #15a06e;--success-tint: #e5f6ef;--warning: #d9912a;--warning-tint: #faf0dc;--danger: #e0564b;--danger-tint: #fbe8e6;--danger-row: rgba(224, 86, 75, .055);--danger-cell: rgba(224, 86, 75, .07);--amber-cell: rgba(217, 145, 42, .1);--blue: #2d6bb0;--blue-tint: #e7f1fb;--shadow: 0 1px 2px rgba(6, 36, 61, .04), 0 8px 24px rgba(6, 36, 61, .06);--shadow-sm: 0 1px 2px rgba(6, 36, 61, .06);--radius: 16px;--radius-sm: 11px;--page-max: 1320px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}.page-wide{--page-max: 1480px}.wrap{position:relative;max-width:var(--page-max, 1320px);margin:0 auto;padding:26px 24px 60px}.view-status{color:var(--ink-3);font-size:13px;padding:40px 0;text-align:center}.view-status.err{color:var(--danger)}@media (max-width: 640px){.wrap{padding:20px 16px 50px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.sync-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--navy) 0%,#0a2540 100%);z-index:900}.sync-gate-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:380px;padding:32px 28px;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000059;text-align:center}.sg-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--teal-600);background:var(--teal-tint)}.sg-icon svg{width:24px;height:24px}.sync-gate-card h1{margin:4px 0 0;font-size:18px;font-weight:800;color:var(--navy)}.sg-msg{margin:0;font-size:14px;color:var(--ink-2);font-weight:500}.sg-link{font:inherit;font-weight:700;color:var(--teal-600);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sg-link:hover{color:var(--teal)}.sg-bar{width:260px;max-width:80vw;height:6px;border-radius:4px;background:#e3e9ef;overflow:hidden}.sg-bar-fill{height:100%;border-radius:4px;background:var(--teal-600);transition:width .4s ease}.sg-bar-fill.indeterminate{width:40%;animation:sg-slide 1.1s ease-in-out infinite}@keyframes sg-slide{0%{margin-left:-40%}to{margin-left:100%}}.sg-err{font-size:12.5px;font-weight:600;color:#c5453b}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:6px}.tabs::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:14px 14px 15px;font-size:13px;font-weight:600;color:#ffffff9e;border-bottom:2.5px solid transparent;cursor:pointer;transition:.15s}.tab svg{width:15px;height:15px;opacity:.9}.tab:hover{color:#ffffffe6}.tab.active{color:#fff;border-bottom-color:var(--teal)}.tab.active svg{color:var(--teal);opacity:1}.sync{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sync-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;border-radius:9px;padding:9px 14px;border:1px solid var(--teal);background:var(--teal);color:var(--navy);box-shadow:0 4px 12px #0ecfc852;transition:.16s ease;white-space:nowrap}.sync-btn:hover:not(:disabled){background:var(--teal-600);border-color:var(--teal-600)}.sync-btn:disabled{opacity:.75;cursor:default}.sync-actions{display:flex;align-items:center;gap:6px}.sync-btn.ghost{background:transparent;color:#ffffffb3;border-color:#ffffff40;box-shadow:none;font-size:12px;padding:9px 11px}.sync-btn.ghost:hover:not(:disabled){background:#ffffff14;color:#fff;border-color:#fff6}.sync-btn.cancel{background:transparent;color:#ffb4ad;border-color:#e5564b80;box-shadow:none;font-size:12px;padding:9px 11px}.sync-btn.cancel:hover:not(:disabled){background:#e5564b29;color:#fff;border-color:#e5564bcc}.sync-btn svg{width:15px;height:15px}.sync-btn svg.spin{animation:sync-spin 1s linear infinite}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-bar{width:190px;height:5px;border-radius:4px;background:#ffffff2e;overflow:hidden}.sync-bar-fill{height:100%;border-radius:4px;background:var(--teal);transition:width .4s ease}.sync-bar-fill.indeterminate{width:40%;animation:sync-slide 1.1s ease-in-out infinite}@keyframes sync-slide{0%{margin-left:-40%}to{margin-left:100%}}.sync-status{font-size:10.5px;color:#ffffff8c;font-weight:500}.sync-status:hover{color:#ffffffd9;text-decoration:underline}.hero{background:radial-gradient(900px 360px at 88% -40%,rgba(14,207,200,.22),transparent 60%),radial-gradient(700px 320px at 8% 140%,rgba(14,207,200,.1),transparent 55%),linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff}.hero-inner{max-width:var(--page-max, 1320px);margin:0 auto;padding:0 24px}.hero-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 0 30px}.hero-title{font-size:27px;font-weight:800;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:13px}.hero-title .glyph{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0ecfc829;border:1px solid rgba(14,207,200,.4)}.hero-title .glyph svg{width:21px;height:21px;color:var(--teal)}.hero-title .glyph.danger{background:#e0564b2e;border-color:#e0564b73}.hero-title .glyph.danger svg{color:#ff8f84}.hero-sub{color:#fff9;font-size:12.5px;font-weight:500;margin:7px 0 0 51px}.hero-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 640px){.hero-title{font-size:23px}.hero-inner{padding:0 16px}}.sprint-title-wrap{position:absolute;right:24px;margin:0 0 4px}.sprint-title{display:inline-flex;align-items:center;gap:20px;flex-wrap:wrap;padding:5px 11px 5px 8px;margin-left:-8px;border-radius:10px;cursor:pointer;border:1px solid rgba(14,207,200,.4);background:#1bd6d011;padding:.75rem 1rem;transition:background .15s}.sprint-title:hover,.sprint-title.opened{background:#1bd6d029;border-color:#0ecfc8b3}.sprint-title .chev{display:grid;place-items:center;color:var(--ink-3)}.sprint-title .chev svg{width:15px;height:15px;transition:transform .15s}.sprint-title.opened .chev svg{transform:rotate(180deg)}.sprint-title .star{color:var(--teal-600);display:grid;place-items:center}.sprint-title .star svg{width:16px;height:16px}.sprint-title h2{margin:0;font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.015em}.sprint-phase{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:20px;border:1px solid var(--teal-600)}.sprint-phase.current{border-color:var(--teal-600);color:var(--teal-600);background:var(--teal-tint)}.sprint-phase.current{color:var(--teal-600);background:var(--teal-tint)}.sprint-phase.past,.sprint-phase.previous{border-color:var(--ink-3);color:var(--ink-3);background:#eef2f6}.sprint-phase.future,.sprint-phase.next{border-color:var(--blue);color:var(--blue);background:var(--blue-tint)}.sprint-title.active .sprint-phase.current,.sprint-opt.active .sprint-phase.current{background:#fff}.sprint-title .meta{font-size:12px;color:var(--navy);font-weight:500}.st-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.sprint-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);padding:6px}.sprint-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.sprint-opt:hover{background:#f4f8fb;color:var(--ink)}.sprint-opt.active{background:var(--teal-tint);color:var(--teal-600)}.sprint-opt .opt-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sprint-opt .sprint-phase{opacity:.7}.sprint-opt .opt-left,.sprint-opt .opt-right{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.sprint-opt .opt-count{font-size:11px;font-weight:600;color:var(--ink-3)}.sprint-opt.active .opt-count{color:var(--teal-600)}.footer{max-width:var(--page-max, 1320px);margin:8px auto 0;padding:22px 24px 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer .f-meta{font-size:11.5px;color:var(--ink-3);line-height:1.7}.footer .f-meta b{color:var(--ink-2);font-weight:600}.footer .f-meta a{color:var(--teal-600);font-weight:500}.footer-actions{display:flex;align-items:center;gap:10px}.btn-feedback{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;border-radius:7px;padding:5px 10px;border:1px solid var(--teal);background:var(--teal);color:var(--navy);transition:.16s ease;white-space:nowrap}.btn-feedback svg{width:12px;height:12px}.btn-feedback:hover{background:var(--teal-600);border-color:var(--teal-600)}.section{margin-top:30px}.section.first{margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:9px}.section-title:before{content:"";width:4px;height:15px;border-radius:3px;background:var(--teal)}.section-title svg{width:15px;height:15px}.section-title.danger{color:#c5453b}.section-title.danger:before{background:var(--danger)}.section-title.amber{color:#a9761f}.section-title.amber:before{background:var(--warning)}.section-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.section-note{font-size:12px;color:var(--ink-3)}.section-note b{color:var(--ink-2)}.section-note a{color:var(--teal-600);font-weight:600}.section-note .warn{color:var(--danger);font-weight:600}.section-link{font-size:12.5px;font-weight:600;color:var(--teal-600);display:inline-flex;align-items:center;gap:5px}.section-link:hover{color:var(--navy)}.section-link svg{width:13px;height:13px}.overview .section.first{margin-top:50px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.kpi-grid{display:grid;gap:14px}.kpi-grid.cols-6{grid-template-columns:repeat(6,1fr)}.kpi-grid.cols-5{grid-template-columns:repeat(5,1fr)}.kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 16px 15px;box-shadow:var(--shadow);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.kpi:hover{transform:translateY(-2px);box-shadow:0 10px 28px #06243d1a}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teal)}.kpi.amber:before{background:var(--warning)}.kpi.red:before{background:var(--danger)}.kpi.green:before{background:var(--success)}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-label{font-size:11.5px;font-weight:600;color:var(--ink-2);letter-spacing:.01em;line-height:1.3}.kpi-chip{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--teal-tint);color:var(--teal-600)}.kpi-chip svg{width:14px;height:14px}.kpi.amber .kpi-chip{background:var(--warning-tint);color:var(--warning)}.kpi.red .kpi-chip{background:var(--danger-tint);color:var(--danger)}.kpi.green .kpi-chip{background:var(--success-tint);color:var(--success)}.kpi-value{font-size:31px;font-weight:800;letter-spacing:-.02em;margin:11px 0 2px;color:var(--navy);font-variant-numeric:tabular-nums}.kpi.amber .kpi-value{color:#b5781c}.kpi.red .kpi-value{color:#c5453b}.kpi.green .kpi-value{color:#0f7e56}.kpi-foot{font-size:11px;color:var(--ink-3);font-weight:500}.kpi-foot a{color:var(--teal-600);font-weight:600}.kpi-foot a:hover{text-decoration:underline}.kpi-ring{display:flex;align-items:center;gap:14px;margin-top:6px}.ring{--p: 0;--size: 62px;width:var(--size);height:var(--size);border-radius:50%;flex-shrink:0;background:conic-gradient(var(--teal) calc(var(--p) * 1%),#e7eef3 0);display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;width:46px;height:46px;border-radius:50%;background:var(--surface)}.ring span{position:relative;z-index:1;font-size:13px;font-weight:800;color:var(--navy)}.ring-info .num{font-size:23px;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1}.ring-info .cap{font-size:11px;color:var(--ink-3);font-weight:500;margin-top:3px}@media (max-width: 1100px){.kpi-grid.cols-5,.kpi-grid.cols-6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.kpi-grid.cols-5,.kpi-grid.cols-6{grid-template-columns:repeat(2,1fr)}}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.1fr;gap:14px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:15px 16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:3px}.metric .m-label{font-size:11.5px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:7px}.metric .m-label svg{width:14px;height:14px;color:var(--teal-600)}.metric .m-value{font-size:25px;font-weight:800;color:var(--navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric .m-value small{font-size:13px;font-weight:600;color:var(--ink-3);margin-left:2px}.metric .m-foot{font-size:10.5px;color:var(--ink-3)}.metric.capacity{justify-content:space-between;background:linear-gradient(160deg,#fff,#f4fbfb)}.cap-warn{font-size:11px;color:#a9761f;font-weight:500;line-height:1.4}.cap-warn b{color:var(--danger)}.cap-link{font-size:12.5px;font-weight:700;color:var(--teal-600);display:inline-flex;align-items:center;gap:6px;margin-top:8px}.cap-link:hover{color:var(--navy)}.cap-link svg{width:14px;height:14px}@media (max-width: 1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.metric.capacity{grid-column:span 2}}@media (max-width: 640px){.metric-grid{grid-template-columns:1fr}.metric.capacity{grid-column:auto}}.chart-card{padding:18px 20px 20px}.chart-card h3{margin:0 0 2px;font-size:15.5px;font-weight:700;color:var(--navy);letter-spacing:-.01em}.chart-card .csub{font-size:12px;color:var(--ink-3);font-weight:500;margin-bottom:14px}.burn-wrap{height:330px;position:relative}.bar-wrap{height:340px;position:relative}.donut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.donut-card{padding:18px 18px 16px}.donut-card h3{margin:0 0 14px;font-size:14.5px;font-weight:700;color:var(--navy)}.donut-body{display:flex;align-items:center;gap:20px;height:calc(100% - 40px)}.donut-wrap{position:relative;flex:1;min-width:0;height:230px}.donut-legend{flex:0 0 auto;display:grid;grid-template-columns:auto auto auto;align-items:center;align-content:center;column-gap:8px;row-gap:9px;overflow-y:auto;margin:0;padding:0;list-style:none}.donut-legend li{display:contents}.dl-dot{width:9px;height:9px;border-radius:50%}.dl-label{white-space:nowrap;color:var(--ink-2);font-weight:500;font-size:12px}.dl-val{padding-left:12px;text-align:right;color:var(--ink-3);font-weight:600;font-size:12px;font-variant-numeric:tabular-nums}.donut-wrap canvas{position:relative;z-index:1}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;place-items:center;pointer-events:none}.donut-center .dc-num{font-size:22px;font-weight:800;color:var(--navy);letter-spacing:-.02em;text-align:center}.donut-center .dc-lbl{font-size:10.5px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center}@media (max-width: 1100px){.donut-grid{grid-template-columns:1fr}}.mini-av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.mini-av.un{background:#a9761f}.mini-av.un svg{width:12px;height:12px}.mini-av.bot{background:#5b6b7d}.mini-av.bot svg{width:11px;height:11px}.t-assignee{display:flex;align-items:center;gap:8px;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.success{background:var(--success-tint);color:#0f7e56}.pill.amber{background:var(--warning-tint);color:#a9761f}.pill.red{background:var(--danger-tint);color:#c5453b}.pill.muted{background:#eef2f6;color:var(--ink-3)}.prio{font-size:12.5px;font-weight:600}.prio.crit{color:var(--danger)}.prio.high{color:var(--warning)}.prio.med{color:#a9761f}.prio.muted{color:var(--ink-3);font-weight:500}.due-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.due-pill.teal{background:var(--teal-tint);color:var(--teal-600)}.due-pill.amber{background:var(--warning-tint);color:#a9761f}.due-pill.red{background:var(--danger-tint);color:#c5453b}.due-pill.has-tip{position:relative}.dd-tip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--navy);color:#fff;font-size:11px;font-weight:500;padding:5px 9px;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;z-index:30;box-shadow:0 4px 12px #06243d33}.dd-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--navy)}.due-pill.has-tip:hover .dd-tip{opacity:1;visibility:visible}.added-date{display:inline-flex;flex-direction:column;line-height:1.25;white-space:nowrap}.added-date .ad-time{font-size:11px;color:var(--ink-2)}.dd-tip-fixed{position:fixed;bottom:auto;transform:translate(-50%,calc(-100% - 7px));opacity:1;visibility:visible}.selectbox{position:relative;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--ink-2);background:var(--surface);cursor:pointer}.selectbox:hover{border-color:#cfdae4}.selectbox.active{border-color:var(--teal);color:var(--ink)}.selectbox svg{width:14px;height:14px;color:var(--ink-3)}.sb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.sb-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:61;display:flex;flex-direction:column;min-width:100%;max-width:320px;max-height:380px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);cursor:default}.sb-options{overflow-y:auto;padding:5px}.sb-clear{flex-shrink:0;width:100%;border:0;border-top:1px solid var(--border-2);background:var(--surface);padding:10px 12px;font-family:inherit;font-size:12px;font-weight:600;color:var(--teal-600);text-align:left;cursor:pointer}.sb-clear:hover{background:#f4f8fb}.sb-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap;cursor:pointer}.sb-opt:hover{background:#f4f8fb;color:var(--ink)}.sb-opt.active,.sb-opt.on{background:var(--teal-tint);color:var(--teal-600);font-weight:600}.sb-check{display:inline-block;width:12px;flex-shrink:0;color:var(--teal-600);font-weight:700}.sb-opt-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sb-opt-count{flex-shrink:0;color:var(--ink-3);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.sb-opt.on .sb-opt-count{color:var(--teal-600)}.pager{display:flex;align-items:center;gap:6px}.pager .pg-count{font-size:12.5px;color:var(--ink-2);font-weight:500;margin-right:4px}.pg-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;color:var(--ink-2);cursor:pointer}.pg-btn:hover{border-color:#cfdae4;color:var(--ink)}.pg-btn svg{width:14px;height:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px 14px}.panel-head h3{margin:0;font-size:15.5px;font-weight:700;color:var(--navy);letter-spacing:-.01em}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:880px}thead th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:10px 14px;background:#f6f9fb;border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);white-space:nowrap}thead th.sortable{cursor:pointer}thead th.sortable.active{color:var(--teal-600)}thead th.right{text-align:right}thead th .arr{margin-left:4px;color:var(--teal-600)}thead th .arr.inactive{color:var(--ink-3);opacity:.6}thead th.sortable:hover .arr.inactive{opacity:1}tbody td{padding:12px 14px;border-bottom:1px solid var(--border-2);font-size:13px;color:var(--ink-2);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#f8fbfc}tr.row-link{cursor:pointer}tr.row-link .t-project{position:relative}tr.row-link .t-project:after{content:"↗";margin-left:6px;font-size:11px;color:transparent}tr.row-link:hover .t-project{color:var(--teal-600)}tr.row-link:hover .t-project:after{color:var(--teal-600)}.t-project{font-weight:600;color:var(--navy);white-space:nowrap}.t-num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-3)}.t-title{color:var(--ink);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-top:1px solid var(--border-2)}.note{font-size:11.5px;color:var(--ink-3)}.hours{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);white-space:nowrap}thead.danger th{background:var(--danger-tint);color:var(--navy);border-bottom-color:#f3cfcb}thead.danger th.eff-th small{color:var(--navy)}thead.danger th.sortable.active,thead.danger th.sortable.active .arr{color:#b24a41}tr.blocked-row{background:var(--danger-cell)}tr.blocked-row:hover{background:#e0564b1c}td.unassigned-na{background:var(--amber-cell);color:#a9761f}.unassigned-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#a9761f;font-weight:600}.unassigned-pill svg{width:13px;height:13px}tr.danger-row{background:var(--danger-row)}tr.danger-row:hover{background:#e0564b17}tr.danger-row .t-num,tr.danger-row .t-project,tr.danger-row.row-link:hover .t-project{color:#c5453b}.table-foot-row td{padding:13px 16px;border-top:2px solid var(--border);font-weight:700;color:var(--navy);background:#f6f9fb}.table-foot-row .tf-label{text-align:right;font-size:12.5px}.table-foot-row .tf-total{text-align:right;font-size:15px;font-variant-numeric:tabular-nums}.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.num.zero{color:#c5453b}.num.neg{color:#c5453b;background:var(--danger-cell)}.table-foot-row .num{font-weight:800}.muted{color:var(--ink-3)}.plain{color:var(--ink-2);font-weight:500}.standard-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:20px;border:1px solid var(--ink-3)}.due{color:var(--ink-3)}.cell-green{text-align:right;background:var(--success-tint);color:#0f7e56;font-weight:700;font-variant-numeric:tabular-nums}.cell-amber{text-align:right;background:var(--warning-tint);color:#a9761f;font-weight:700;font-variant-numeric:tabular-nums}.aged{color:#c5453b;font-weight:600}td.aged-cell{background:var(--amber-cell)}.sticky-head thead th{position:sticky;top:0;z-index:2;max-width:93px}.eff{display:flex;align-items:center;gap:10px;justify-content:flex-end}.eff-bar{width:56px;height:6px;border-radius:4px;background:#e7eef4;overflow:hidden;flex-shrink:0}.eff-bar i{display:block;height:100%;border-radius:4px;background:var(--teal)}.eff-bar.over i{background:var(--danger)}.eff-bar.none{background:repeating-linear-gradient(45deg,#eef3f7,#eef3f7 3px,#dde5ec 3px,#dde5ec 6px)}.eff-nums{font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;min-width:62px;text-align:right}.eff-nums .sl{color:var(--ink-3);font-weight:500;margin:0 2px}.eff-nums.over{color:#c5453b}.eff-nums .none{color:var(--ink-3)}.eff-rem{font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700;min-width:40px;text-align:right}.eff-rem.pos{color:#0f7e56}.eff-rem.neg{color:#c5453b}.eff-rem.zero{color:var(--ink-3)}.eff-th small{display:block;font-size:9px;font-weight:600;color:#a9b6c2;letter-spacing:.02em;text-transform:none;margin-top:1px}.dot-col{width:16px;padding-left:14px;padding-right:0;text-align:center}.state-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.state-dot.open{background:var(--success)}.state-dot.closed{background:var(--danger)}.t-iid{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:var(--ink-3)}.days{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}.table-foot-row .days{font-weight:800}td.tint-red{background:var(--danger-cell)}td.tint-amber{background:var(--amber-cell)}tr:hover td.tint-red{background:#e0564b1c}tr:hover td.tint-amber{background:#d9912a26}td.no-results{text-align:center;padding:28px 12px;color:var(--ink-3);font-size:13px;font-weight:500}tr:hover td.no-results{background:none}.search{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 14px;height:46px;box-shadow:var(--shadow-sm);max-width:560px}.search.grow{flex:1;min-width:280px}.search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0ecfc829}.search svg.mag{width:17px;height:17px;color:var(--ink-3);flex-shrink:0}.search input{border:0;outline:0;flex:1;font-family:inherit;font-size:14px;color:var(--ink);background:transparent}.search input::placeholder{color:var(--ink-3)}.search .chev{color:var(--ink-3)}.search .chev svg{width:15px;height:15px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.filters .selectbox{justify-content:space-between;gap:14px;padding:10px 14px;border-radius:10px;min-width:210px;box-shadow:var(--shadow-sm)}@media (max-width: 640px){.filters:not(.compact) .selectbox{min-width:0;flex:1}}.filters.compact{gap:10px;margin-top:12px}.filters.compact .selectbox{justify-content:space-between;gap:12px;min-width:0;padding:8px 12px;border-radius:9px;font-size:12.5px}.filters.compact .selectbox svg{width:13px;height:13px}.selectbox .count{background:var(--teal);color:var(--navy);font-size:10.5px;font-weight:700;border-radius:20px;padding:1px 7px;margin-left:2px}.pending-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.draft-note{font-size:12px;color:var(--ink-3);line-height:1.4;max-width:330px}.draft-note b{color:var(--warning)}.selectbox.flagbox{flex:1;min-width:300px;justify-content:flex-start;gap:8px}.selectbox .flag-active{color:var(--ink-3);font-weight:500}.selectbox.flagbox .count{margin-left:auto}.filter-divider{width:1px;align-self:stretch;min-height:22px;background:var(--border);margin:0 2px}.check-filter{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--border);border-radius:20px;background:#f1f5f9;font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;white-space:nowrap}.check-filter:hover{border-color:#cfdae4;background:#e8eef4}.check-filter input{accent-color:var(--teal-600);cursor:pointer}.check-filter:has(input:checked){border-color:var(--teal);background:var(--teal-tint);color:var(--ink)}.check-filter .cf-count{color:var(--ink-3);font-weight:600;font-variant-numeric:tabular-nums}.clear-filters{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--danger);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:8px 10px;border-radius:9px}.clear-filters:hover{background:var(--danger-tint)}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;line-height:1.3;background:var(--bg);color:var(--ink-2)}.badge.b-grey{background:var(--bg);color:var(--ink-2)}.badge.b-blue{background:var(--blue-tint);color:var(--blue)}.badge.b-amber{background:var(--warning-tint);color:#a9761f}.badge.b-red{background:var(--danger-tint);color:#c5453b}.badge.b-green{background:var(--success-tint);color:#0f7e56}.who{display:flex;align-items:center;gap:8px}.who .nm{overflow:hidden;text-overflow:ellipsis}.who .more{color:var(--ink-3);font-size:11.5px;font-weight:600}.av-stack{display:inline-flex;align-items:center}.av-stack .mini-av{margin-left:-6px;border:2px solid #fff}.av-stack .mini-av:first-child{margin-left:0}.none{color:var(--ink-3)}.flag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600}.flag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.flag.grey{color:var(--ink-2)}.flag.blue{color:var(--blue)}.flag.red{color:#c5453b}.flag.amber{color:#a9761f}.flag.green{color:#0f7e56}.cap{display:flex;align-items:center;gap:11px;justify-content:flex-end}.cap-track{width:92px;height:7px;border-radius:5px;background:#e9eff4;overflow:hidden;position:relative}.cap-fill{height:100%;border-radius:5px}.cap-val{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;min-width:48px;text-align:right}.member{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy)}.member .mini-av{width:26px;height:26px;font-size:10.5px}.num.dim{color:var(--ink-3);font-weight:500}.num.blocked{color:#c5453b;font-weight:700}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag.teal{background:var(--teal-tint);color:var(--teal-600)}.tag.green{background:var(--success-tint);color:#0f7e56}.tag.amber{background:var(--warning-tint);color:#a9761f}.tag.blue{background:var(--blue-tint);color:var(--blue)}.foot-row td{padding:13px 16px;border-top:2px solid var(--border);background:#f6f9fb;font-weight:800;color:var(--navy);font-size:13px}.foot-row .lbl{font-size:12.5px}.legend{display:flex;gap:16px;align-items:center;font-size:11.5px;color:var(--ink-3);font-weight:500}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.notes{background:linear-gradient(150deg,#fff,#f4fbfb);border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:var(--radius-sm);padding:16px 20px;box-shadow:var(--shadow-sm)}.notes h4{margin:0 0 9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.notes ul{margin:0;padding-left:18px}.notes li{font-size:12.5px;color:var(--ink-2);line-height:1.6;margin-bottom:4px}.notes li b{color:var(--navy)}.timeoff-btn,.manage-team{font:inherit;font-size:12.5px;font-weight:700;color:var(--navy);background:var(--teal);border:1px solid var(--teal);border-radius:9px;padding:7px 13px;cursor:pointer;white-space:nowrap;transition:.15s}.timeoff-btn:hover,.manage-team:hover{background:var(--teal-600);border-color:var(--teal-600)}td.cap-action{text-align:right}.cap-remove{border:none;background:none;color:var(--ink-3);font-size:13px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1}.cap-remove:hover{color:#c5453b;background:var(--danger-tint)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#06243d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:100%;max-width:440px;background:var(--surface);border-radius:14px;box-shadow:0 24px 64px #00000052;padding:22px 22px 20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{margin:0;font-size:16px;font-weight:800;color:var(--navy)}.modal-x{border:none;background:none;font-size:16px;line-height:1;color:var(--ink-3);cursor:pointer;padding:4px;border-radius:6px}.modal-x:hover{color:var(--ink);background:#f1f5f9}.toform{display:flex;flex-direction:column;gap:14px}.toform label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.toform-opt{font-weight:500;color:var(--ink-3)}.toform-hint{margin:0;font-size:12px;line-height:1.4;color:var(--ink-3)}.toform-type-row{align-items:flex-end}.toform-type-row>label:first-child{flex:1}.toform-type-row .toform-check{flex:0 0 auto;padding-bottom:9px}.toform-check{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.toform-check input{width:auto;accent-color:var(--teal-600);cursor:pointer}.toform input,.toform select{font:inherit;font-size:14px;font-weight:500;color:var(--ink);padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);outline:none;transition:border-color .15s}.toform input:focus,.toform select:focus{border-color:var(--teal-600)}.toform-row{display:flex;gap:12px}.toform-row label{flex:1}.toform-err{font-size:12px;font-weight:600;color:#c5453b}.toform-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.toform-cancel,.toform-submit{font:inherit;font-size:13px;font-weight:700;padding:9px 16px;border-radius:9px;cursor:pointer;transition:.15s}.toform-cancel{background:transparent;border:1px solid var(--border);color:var(--ink-2)}.toform-cancel:hover{border-color:#cfdae4;color:var(--ink)}.toform-submit{background:var(--teal);border:1px solid var(--teal);color:var(--navy)}.toform-submit:hover:not(:disabled){background:var(--teal-600);border-color:var(--teal-600)}.toform-submit:disabled{opacity:.5;cursor:not-allowed}tr.tm-off td{opacity:.55}.tm-select{font:inherit;font-size:12.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 8px;cursor:pointer}.tm-select:hover:not(:disabled){border-color:#cfdae4}.tm-select:disabled{opacity:.5;cursor:default}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--navy) 0%,#0a2540 100%);z-index:1000}.auth-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;padding:32px 28px;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000059;text-align:center}.auth-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--teal-600);background:var(--teal-tint)}.auth-icon svg{width:24px;height:24px}.auth-card h1{margin:4px 0 0;font-size:18px;font-weight:800;color:var(--navy)}.auth-card p{margin:0;font-size:13px;color:var(--ink-2)}.auth-card input{width:100%;margin-top:6px;padding:11px 13px;font-size:14px;border:1px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s}.auth-card input:focus{border-color:var(--teal-600)}.auth-card input.err{border-color:#c5453b}.auth-err{font-size:12px;font-weight:600;color:#c5453b}.auth-card button{width:100%;margin-top:4px;padding:11px;font-size:14px;font-weight:700;color:#fff;background:var(--teal-600);border:none;border-radius:10px;cursor:pointer;transition:opacity .15s}.auth-card button:hover{opacity:.9}.auth-card button:disabled{opacity:.5;cursor:not-allowed}.db-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--navy) 0%,#0a2540 100%);z-index:1000}.db-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:380px;padding:32px 28px;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000059;text-align:center}.db-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--teal-600);background:var(--teal-tint)}.db-icon svg{width:24px;height:24px}.db-card h1{margin:4px 0 0;font-size:18px;font-weight:800;color:var(--navy)}.db-card p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-2)}.db-err{font-size:12px;font-weight:600;color:#c5453b}.db-card button{width:100%;margin-top:6px;padding:11px;font-size:14px;font-weight:700;color:#fff;background:var(--teal-600);border:none;border-radius:10px;cursor:pointer;transition:opacity .15s}.db-card button:hover{opacity:.9}.db-card button:disabled{opacity:.5;cursor:not-allowed}.db-note{font-size:11.5px;color:var(--ink-3)}
