:root{color-scheme:light;--bg: #fcfcfc;--bg-elev: #ffffff;--bg-sunken: #f6f6f5;--bg-hover: #f3f3f2;--bg-selected: #eef2ff;--bg-sprint-header: #f7f7f6;--border: #eaeaea;--border-strong: #d4d4d3;--border-subtle: #f0f0ef;--text: #1a1a1a;--text-secondary: #5a5a58;--text-tertiary: #8a8a87;--text-muted: #b0b0ad;--accent: #5b5bd6;--accent-bg: #eef2ff;--accent-border: #c7d2fe;--success: #1f9d5a;--success-bg: #eaf7ef;--warning: #c2751e;--warning-bg: #fdf3e6;--danger: #d23f3f;--danger-bg: #fdecec;--info: #2770c7;--info-bg: #e8f1fb;--region-global: #6e56cf;--region-emea: #0b9488;--region-ap: #c2751e;--region-na: #2770c7;--region-latam: #d23f3f;--region-cn: #d23f3f;--region-hk: #0b9488;--region-us: #2770c7;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--row-h: 32px;--row-h-compact: 28px;--shadow-pop: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.08);--shadow-sticky: 1px 0 0 var(--border);--text-on-accent: #fcfcfc;--scrim: rgba(14, 14, 16, .5)}[data-theme=dark]{color-scheme:dark;--bg: #0e0e10;--bg-elev: #161618;--bg-sunken: #1a1a1d;--bg-hover: #1f1f22;--bg-selected: #1e1e42;--bg-sprint-header: #141417;--border: #26262a;--border-strong: #36363c;--border-subtle: #1e1e22;--text: #e8e8e6;--text-secondary: #a8a8a4;--text-tertiary: #787874;--text-muted: #555552;--accent: #8b8bff;--accent-bg: #1e1e42;--accent-border: #3b3b7a;--success: #4ade80;--success-bg: #0f2a1a;--warning: #f5b544;--warning-bg: #2a1f0d;--danger: #f87171;--danger-bg: #2a1111;--info: #60a5fa;--info-bg: #0f1f3a;--shadow-pop: 0 2px 4px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.4);--text-on-accent: #fcfcfc;--scrim: rgba(0, 0, 0, .65)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:13px;color:var(--text);background:var(--bg);height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}#root{height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;min-height:48px}.topbar-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;letter-spacing:-.01em}.topbar-title .dot{width:8px;height:8px;border-radius:2px;background:var(--accent)}.topbar-title .project{color:var(--text-tertiary);font-weight:500}.topbar-title .sep{color:var(--text-muted)}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:6px}.btn{height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:background .12s}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-hover)}.btn .kbd{font-family:var(--font-mono);font-size:10.5px;padding:1px 4px;border-radius:3px;background:var(--bg-sunken);color:var(--text-tertiary);border:1px solid var(--border);margin-left:2px}.filter-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:6px;background:var(--bg-sunken);border:1px dashed var(--border-strong);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer}.filter-chip:hover{background:var(--bg-hover);color:var(--text)}.filter-chip.active{background:var(--accent-bg);border:1px solid var(--accent-border);border-style:solid;color:var(--accent)}.filter-chip .count{font-family:var(--font-mono);font-size:10.5px;padding:0 5px;border-radius:3px;background:#0000000f}[data-theme=dark] .filter-chip .count{background:#ffffff1a}.search-box{display:flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:6px;background:var(--bg-sunken);border:1px solid var(--border);min-width:220px}.search-box input{border:none;background:transparent;outline:none;color:var(--text);font-size:12.5px;width:100%}.search-box svg{color:var(--text-tertiary);flex-shrink:0}.filter-divider{width:1px;height:16px;background:var(--border);margin:0 2px}.main{display:flex;flex:1;min-height:0;overflow:hidden}.sprint-rail{width:260px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-elev);overflow-y:auto;padding:12px 8px}.sprint-rail-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:6px 8px 10px}.rail-sprint{padding:10px;border-radius:8px;cursor:pointer;margin-bottom:2px;border:1px solid transparent}.rail-sprint:hover{background:var(--bg-hover)}.rail-sprint.active{background:var(--accent-bg);border-color:var(--accent-border)}.rail-sprint.drag-over{background:var(--accent-bg);border:2px dashed var(--accent);padding:9px}.rail-sprint-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px}.rail-sprint.current .rail-sprint-title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}.rail-sprint-dates{font-family:var(--font-mono);font-size:10.5px;color:var(--text-tertiary);margin-top:2px}.rail-sprint-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--text-secondary)}.capacity-bar{margin-top:6px;height:4px;background:var(--bg-sunken);border-radius:2px;overflow:hidden;position:relative}.capacity-bar .fill{height:100%;background:var(--success);transition:width .3s}.capacity-bar .fill.warn{background:var(--warning)}.capacity-bar .fill.over{background:var(--danger)}.capacity-stat{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary)}.grid-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--bg)}.grid-scroll{flex:1;overflow:auto;position:relative}.grid{display:grid;grid-template-columns:var(--col-widths, 40px 120px minmax(420px, 1fr) 160px 100px 140px 80px 90px 180px 80px);min-width:1210px}.grid.compact{font-size:12.5px}.grid-head .cell{position:sticky}.col-resize{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:25;-webkit-user-select:none;user-select:none}.col-resize:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:transparent;transition:background .1s}.col-resize:hover:after,.col-resize.dragging:after{background:var(--accent);width:2px}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none;user-select:none}body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.grid-head{display:contents}.grid-head .cell{position:sticky;top:0;z-index:20;background:var(--bg-elev);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-strong);padding:8px 10px;display:flex;align-items:center;gap:4px;white-space:nowrap}.grid-head .cell.num{justify-content:flex-end}.cell{padding:0 10px;display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);min-height:var(--row-h);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--text);position:relative}.grid.compact .cell{min-height:var(--row-h-compact);padding:0 8px;font-size:12.5px}.cell.num{justify-content:flex-end;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.cell .inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell.editable{cursor:text}.cell.editing{background:var(--bg-elev)!important;box-shadow:inset 0 0 0 2px var(--accent);z-index:5}.cell-wrap.is-focused .cell{outline:2px solid var(--accent);outline-offset:-2px;z-index:4}.cell input.cell-input{border:none;outline:none;background:transparent;font:inherit;color:inherit;width:100%;padding:0}.row.selected .cell{background:var(--bg-selected)}.row:hover .cell:not(.grid-head .cell){background:var(--bg-hover)}.row.selected:hover .cell{background:var(--bg-selected);filter:brightness(.98)}.row.drop-before .cell:first-of-type:before,.row.drop-before .cell{position:relative}.row.drop-before .cell:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent);z-index:3}.row.dragging .cell{opacity:.4}.sprint-group-header{display:contents}.sprint-group-header .cell{background:var(--bg-sprint-header);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--border);padding-top:16px;min-height:44px;color:var(--text)}.sprint-group-header .cell.title{grid-column:2 / -2;display:flex;align-items:center;gap:10px;cursor:pointer;padding-left:8px}.sprint-group-header .cell.lead{padding:0;justify-content:center}.sprint-group-header .chevron{transition:transform .15s;color:var(--text-tertiary)}.sprint-group-header.collapsed .chevron{transform:rotate(-90deg)}.sprint-group-header.drag-target .cell:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent);z-index:3}.sprint-group-header.drag-target .cell{background:var(--accent-bg)}.sprint-group-header .cell.total{font-family:var(--font-mono);font-weight:600;justify-content:flex-end;color:var(--text)}.sprint-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--border);font-size:11px;font-weight:500;color:var(--text-secondary);font-family:var(--font-mono)}.sprint-badge.current{background:var(--success-bg);border-color:var(--success);color:var(--success)}.sprint-badge.holiday{color:var(--warning);border-color:transparent;background:transparent;gap:3px}.sprint-totals{display:inline-flex;gap:14px;margin-left:auto;padding-right:12px;font-size:11.5px;font-family:var(--font-mono);color:var(--text-secondary)}.sprint-totals .stat{display:flex;align-items:center;gap:4px}.sprint-totals .stat .lbl{font-family:var(--font-sans);color:var(--text-tertiary)}.sprint-totals .stat .val{color:var(--text);font-weight:600}.sprint-totals .stat.bad .val{color:var(--danger)}.sprint-totals .stat.ok .val{color:var(--success)}.sprint-footer{display:contents}.sprint-footer .cell{background:var(--bg-sunken);font-size:11.5px;color:var(--text-secondary);min-height:30px;border-bottom:1px solid var(--border)}.sprint-footer .cell.label{grid-column:2 / -2;justify-content:flex-end;font-weight:500;padding-right:16px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.sprint-footer .cell.val{font-family:var(--font-mono);font-weight:600;justify-content:flex-end;color:var(--text)}.sprint-footer.remain .cell.val.negative{color:var(--danger)}.sprint-footer.remain .cell.val.positive{color:var(--success)}.capacity-breakdown{display:contents}.capacity-breakdown .cell{background:var(--bg-sunken);min-height:48px;border-bottom:1px solid var(--border);padding:8px 12px}.capacity-breakdown .cell.full{grid-column:1 / -1;align-items:stretch}.cap-regions{display:flex;gap:10px;align-items:center;width:100%;overflow:auto}.cap-region{display:flex;flex-direction:column;gap:3px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev);min-width:120px}.cap-region-name{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.cap-region-stats{display:flex;align-items:baseline;gap:4px;font-family:var(--font-mono);font-size:11.5px}.cap-region-stats .used{font-weight:700;color:var(--text)}.cap-region-stats .of{color:var(--text-muted)}.cap-region-stats .cap{font-weight:500;color:var(--text-secondary);border:none;background:transparent;width:28px;font-family:inherit;font-size:inherit;padding:0;outline:none}.cap-region-stats .cap:hover{color:var(--accent)}.cap-region-bar{height:3px;background:var(--bg-sunken);border-radius:2px;overflow:hidden}.cap-region-bar .fill{height:100%;background:var(--success);transition:width .2s}.cap-region-bar .fill.warn{background:var(--warning)}.cap-region-bar .fill.over{background:var(--danger)}.cap-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-right:8px;font-weight:600}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}.pill.yes{background:var(--accent-bg);color:var(--accent)}.pill.no{background:var(--bg-sunken);color:var(--text-tertiary)}.pill.billable{background:var(--success-bg);color:var(--success)}.pill.non-billable{background:var(--bg-sunken);color:var(--text-secondary)}.region-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500}.region-tag .dot{width:6px;height:6px;border-radius:50%}.region-tag.Global .dot{background:var(--region-global)}.region-tag.EMEA .dot{background:var(--region-emea)}.region-tag.AP .dot{background:var(--region-ap)}.region-tag.NA .dot{background:var(--region-na)}.region-tag.LATAM .dot{background:var(--region-latam)}.region-tag.CN .dot{background:var(--region-cn)}.region-tag.HK .dot{background:var(--region-hk)}.region-tag.US .dot{background:var(--region-na)}.region-select{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--text);border:none;background:transparent;cursor:pointer}.region-select:hover{background:var(--bg-hover)}.status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500}.status-chip.Planned{background:var(--bg-sunken);color:var(--text-secondary)}.status-chip.Ready{background:var(--accent-bg);color:var(--accent)}.status-chip.InReview{background:var(--info-bg);color:var(--info)}.status-chip.AtRisk{background:var(--warning-bg);color:var(--warning)}.status-chip.Blocked{background:var(--danger-bg);color:var(--danger)}.status-chip .ico{width:6px;height:6px;border-radius:50%;background:currentColor}.grid.legacy-colors .row[data-status="At Risk"] .cell,.grid.legacy-colors .row[data-status=Blocked] .cell,.grid.legacy-colors .row[data-status="At Risk"] .cell.num,.grid.legacy-colors .row[data-status=Blocked] .cell.num,.grid.legacy-colors .row[data-status="At Risk"] .jira-id,.grid.legacy-colors .row[data-status=Blocked] .jira-id{color:var(--danger)}.jira-cell{display:flex;gap:6px;align-items:center;font-family:var(--font-mono);font-size:11.5px}.jira-id{color:var(--accent);text-decoration:none}.jira-id:hover{text-decoration:underline}.jira-id.secondary{color:var(--text-tertiary);font-size:10.5px}.cell.check{justify-content:center;padding:0;cursor:pointer}.cb{width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:3px;background:var(--bg-elev);display:flex;align-items:center;justify-content:center;transition:all .1s}.cb.checked{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.cb svg{width:10px;height:10px}.row-handle{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:12px;height:16px;display:none;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab}.row:hover .row-handle{display:flex}.row:hover .open-detail-btn{opacity:1!important}.row-handle:active{cursor:grabbing}.avatar{width:22px;height:22px;border-radius:50%;background:var(--bg-sunken);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-secondary);font-family:var(--font-mono)}.comment-badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:var(--text-tertiary);margin-left:6px}.tweaks{position:fixed;bottom:16px;right:16px;width:280px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:12px;z-index:100;font-size:12.5px}.tweaks h4{margin:0 0 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.tweak-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.tweak-row:last-child{margin-bottom:0}.tweak-row label{color:var(--text-secondary);flex:1}.segmented{display:inline-flex;background:var(--bg-sunken);border-radius:6px;padding:2px;gap:0}.segmented button{border:none;background:transparent;padding:3px 8px;font-size:11.5px;font-weight:500;color:var(--text-secondary);border-radius:4px}.segmented button.active{background:var(--bg-elev);color:var(--text)}.ctx-menu{position:fixed;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-pop);padding:4px;z-index:200;min-width:180px;font-size:12.5px}.ctx-item{padding:6px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--text)}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:var(--danger)}.ctx-sep{height:1px;background:var(--border);margin:4px 0}.ctx-kbd{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-tertiary)}.side-panel{position:fixed;top:0;right:0;bottom:0;width:420px;background:var(--bg-elev);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);z-index:90;transform:translate(100%);transition:transform .2s ease;display:flex;flex-direction:column;overflow:hidden}.side-panel.open{transform:translate(0)}.side-panel-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.side-panel-head .meta{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.side-panel-head h3{margin:4px 0 0;font-size:15px;font-weight:600;line-height:1.35}.side-panel-body{flex:1;overflow:auto;padding:16px 18px}.panel-section{margin-bottom:20px}.panel-section h5{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 8px;font-weight:600}.field-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--border-subtle);font-size:12.5px}.field-row:last-child{border-bottom:none}.field-row .k{color:var(--text-secondary)}.field-row .v{color:var(--text);font-weight:500}.comment{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--bg-sunken)}.comment .author{font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:6px}.comment .time{font-size:10.5px;color:var(--text-tertiary);font-weight:400}.comment .body{font-size:12.5px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.comment-composer{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg-elev)}.comment-composer input{flex:1;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12.5px;background:var(--bg);color:var(--text);outline:none}.comment-composer input:focus{border-color:var(--accent)}.selection-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:8px 10px 8px 14px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:12.5px;box-shadow:var(--shadow-pop);z-index:80}.selection-bar .sel-count{font-weight:600}.selection-bar .sel-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:inherit;padding:4px 8px;border-radius:6px;font-size:11.5px;font-weight:500}[data-theme=dark] .selection-bar .sel-btn{border-color:#0003}.selection-bar .sel-btn:hover{background:#ffffff1a}[data-theme=dark] .selection-bar .sel-btn:hover{background:#0000000f}.add-row{display:contents}.add-row .cell{background:var(--bg-elev);color:var(--text-tertiary);cursor:pointer;min-height:30px;border-bottom:1px solid var(--border);font-size:12px}.add-row .cell:hover{background:var(--bg-hover);color:var(--accent)}.add-row .cell.title{grid-column:2 / -2;padding-left:8px}.cell select.inline-select{border:none;background:transparent;font:inherit;color:inherit;outline:none;width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:12px}select{color-scheme:inherit}select option{background-color:var(--bg-elev);color:var(--text)}select option:checked{background-color:var(--accent-bg);color:var(--text)}.group-tabs{display:inline-flex;background:var(--bg-sunken);border-radius:6px;padding:2px}.group-tabs button{border:none;background:transparent;padding:3px 10px;font-size:11.5px;font-weight:500;color:var(--text-secondary);border-radius:4px}.group-tabs button.active{background:var(--bg-elev);color:var(--text)}.statusbar{height:26px;border-top:1px solid var(--border);background:var(--bg-elev);display:flex;align-items:center;padding:0 14px;font-size:11px;color:var(--text-tertiary);gap:14px;flex-shrink:0}.statusbar .kbd{font-family:var(--font-mono);padding:0 4px;border:1px solid var(--border);border-radius:3px;background:var(--bg-sunken);color:var(--text-secondary);font-size:10px;margin-right:2px}.statusbar .sep{width:1px;height:12px;background:var(--border)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.list-row{cursor:pointer}.list-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.list-row:focus-visible td:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.list-row:focus-visible td:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.list-row:hover td{background:var(--bg-hover)}.list-row .row-overflow{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.list-row:hover .row-overflow,.list-row .row-overflow.open,.list-row .row-overflow:focus-visible{opacity:1}.list-row .row-overflow:hover{background:var(--bg-hover);color:var(--text)}.list-row .row-overflow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.list-row-menu{position:fixed;min-width:160px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-pop);padding:4px;z-index:50;display:flex;flex-direction:column;gap:0}.list-row-menu button{text-align:left;padding:6px 10px;border-radius:4px;border:none;background:transparent;color:var(--text);font:inherit;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:8px}.list-row-menu button:hover{background:var(--bg-hover)}.list-row-menu button.danger{color:var(--danger)}.list-row-menu button.danger:hover{background:var(--danger-bg)}.list-row-menu button[disabled]{opacity:.4;cursor:not-allowed}.list-row td:first-child{position:relative}.list-row .plan-drag-handle{position:absolute;left:2px;top:50%;transform:translateY(-50%);width:16px;height:18px;display:none;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none}.list-row:hover .plan-drag-handle{display:flex}.list-row .plan-drag-handle:active{cursor:grabbing}.list-row.dragging td{opacity:.4}.list-row.drop-before td{box-shadow:inset 0 2px 0 var(--accent)}.list-row.drop-after td{box-shadow:inset 0 -2px 0 var(--accent)}.recharts-pie-label-text{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}
