.outline-page{background:var(--bg-page,#f8f9fa);flex-direction:column;height:100%;display:flex;overflow:hidden}.outline-header{border-bottom:1px solid var(--border-color,#e0e0e0);background:var(--bg-surface,#fff);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.outline-header__title{color:var(--text-primary,#1a1a1a);margin:0;font-size:1.25rem;font-weight:600}.outline-header__controls{align-items:center;gap:8px;display:flex}.outline-header__controls button,.outline-header__controls input,.outline-header__controls select,.outline-header__controls .outline-export-btn{box-sizing:border-box;height:32px;font-size:.8rem}.outline-table-wrap{flex:1;padding:0 20px 20px;overflow:auto}.outline-table{border-collapse:collapse;width:100%;font-size:.875rem}.outline-table th{background:var(--bg-surface,#fff);border-bottom:2px solid var(--border-color,#e0e0e0);text-align:left;color:var(--text-secondary,#666);white-space:nowrap;z-index:2;-webkit-user-select:none;user-select:none;padding:8px 12px;font-weight:600;position:sticky;top:0}.outline-table td{border-bottom:1px solid var(--border-subtle,#eee);color:var(--text-primary,#1a1a1a);white-space:nowrap;text-overflow:ellipsis;padding:6px 12px;overflow:hidden}.outline-table tr:hover td{background:var(--bg-hover,#f5f7fa)}.outline-cell--title{align-items:center;gap:4px;min-width:0;display:flex}.outline-cell__indent{flex-shrink:0;height:1px;display:inline-block}.outline-cell__expand{cursor:pointer;width:20px;height:20px;color:var(--text-secondary,#666);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;display:flex}.outline-cell__expand:hover{background:var(--bg-hover,#e8e8e8)}.outline-cell__expand--leaf{visibility:hidden}.outline-cell__wbs{color:var(--accent-text,#1d4ed8);background:var(--accent-bg,#dbeafe);letter-spacing:.3px;white-space:nowrap;border-radius:3px;flex-shrink:0;margin-right:4px;padding:1px 5px;font-family:monospace;font-size:.7rem;font-weight:600}.outline-cell__task-id{color:var(--text-secondary,#999);flex-shrink:0;margin-right:6px;font-family:monospace;font-size:.75rem}.outline-cell__title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}tr[data-depth="1"] td:first-child{border-left:3px solid #cbd5e1}tr[data-depth="2"] td:first-child{border-left:3px solid #94a3b8}tr[data-depth="3"] td:first-child{border-left:3px solid #64748b}tr[data-decomp=true] td:first-child{border-left-style:dashed!important}tr[data-depth="1"],tr[data-depth="2"],tr[data-depth="3"]{font-size:.84rem}tr[data-depth="2"],tr[data-depth="3"]{color:var(--text-secondary,#555)}.outline-col-config{z-index:100;background:var(--bg-surface,#fff);border:1px solid var(--border-color,#ddd);border-radius:8px;min-width:220px;padding:12px;position:absolute;top:48px;right:20px;box-shadow:0 4px 16px #0000001f}.outline-col-config__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.outline-col-config__title{font-size:.875rem;font-weight:600}.outline-col-config__close{cursor:pointer;color:var(--text-secondary,#666);background:0 0;border:none;font-size:1.1rem}.outline-col-config__list{margin:0;padding:0;list-style:none}.outline-col-config__item{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.outline-col-config__label{cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.outline-col-config__arrows{gap:2px;display:flex}.outline-col-config__arrows button{cursor:pointer;color:var(--text-secondary,#666);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.7rem}.outline-col-config__arrows button:hover:not(:disabled){background:var(--bg-hover,#eee)}.outline-col-config__arrows button:disabled{opacity:.3;cursor:default}.outline-col--start{width:10%}.outline-col--id{width:8%}.outline-cell--editable{cursor:pointer;border-radius:3px;margin:-1px -4px;padding:1px 4px}.outline-cell--editable:hover{background:var(--bg-hover,#e8ecf0);outline:1px solid var(--border-color,#ccc)}.outline-inline-input{border:1px solid var(--border-color,#aaa);background:var(--bg-surface,#fff);width:100%;color:var(--text-primary,#1a1a1a);border-radius:3px;padding:2px 6px;font-family:inherit;font-size:.875rem}.outline-inline-input--narrow{width:60px}.outline-inline-select{border:1px solid var(--border-color,#aaa);background:var(--bg-surface,#fff);color:var(--text-primary,#1a1a1a);border-radius:3px;padding:2px 4px;font-family:inherit;font-size:.8rem}.outline-col--icons{width:36px;min-width:36px;max-width:36px;padding:4px 2px!important}.outline-icons{gap:2px;font-size:.8rem;line-height:1;display:flex}.outline-icon{cursor:default}.outline-col--score{width:7%}.outline-score{align-items:center;gap:4px;font-size:.82rem;font-weight:500;display:inline-flex}.outline-score__model{color:var(--text-secondary,#999);font-size:.6rem;font-weight:400}.outline-row{cursor:pointer}.outline-col--title{width:28%;min-width:200px}.outline-col--status{width:9%}.outline-col--priority{width:10%}.outline-col--assignee{width:9%}.outline-col--due{width:8%}.outline-col--sp{width:5%}.outline-col--direction{width:9%}.outline-col--type{width:7%}.outline-col--value{width:9%}.outline-badge{border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.outline-badge--backlog{color:#666;background:#e8e8e8}.outline-badge--inprogress{color:#1d4ed8;background:#dbeafe}.outline-badge--review{color:#92400e;background:#fef3c7}.outline-badge--done{color:#065f46;background:#d1fae5}.outline-badge--blocked{color:#991b1b;background:#fee2e2}.outline-badge--cancelled{color:#9ca3af;background:#f3f4f6;text-decoration:line-through}.outline-value--terminal{color:#059669;font-weight:500}.outline-value--instrumental{color:#2563eb}.outline-value--hygiene{color:#6b7280}.outline-priority--must{color:#dc2626;font-weight:600}.outline-priority--nice{color:#2563eb}.outline-priority--could{color:#6b7280}.outline-group-row td{background:var(--bg-group,#f0f4f8);border-bottom:2px solid var(--border-color,#d0d0d0);padding:8px 12px;font-weight:600}.outline-group-row__content{align-items:center;gap:8px;display:flex}.outline-group-row__color{border-radius:3px;flex-shrink:0;width:12px;height:12px}.outline-group-row__label{font-size:.875rem}.outline-group-row__stats{color:var(--text-secondary,#888);font-size:.75rem;font-weight:400}.outline-group-select{border:1px solid var(--border-color,#ddd);background:var(--bg-surface,#fff);cursor:pointer;color:var(--text-primary,#333);border-radius:4px;padding:0 8px;font-size:.8rem}.outline-empty{color:var(--text-secondary,#999);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.outline-empty__icon{opacity:.5;font-size:3rem}.outline-empty__text{font-size:1rem}.outline-status-bar{border-top:1px solid var(--border-color,#e0e0e0);background:var(--bg-surface,#fff);color:var(--text-secondary,#666);flex-shrink:0;align-items:center;gap:16px;padding:6px 20px;font-size:.8rem;display:flex}.outline-filter-input{border:1px solid var(--border-color,#ddd);background:var(--bg-surface,#fff);width:200px;color:var(--text-primary,#333);border-radius:4px;padding:0 10px;font-size:.8rem}.outline-filter-input::placeholder{color:var(--text-secondary,#999)}.outline-th__content{justify-content:space-between;align-items:center;gap:4px;display:flex}.outline-th__label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.outline-th__grip{cursor:grab;color:var(--text-secondary,#bbb);-webkit-user-select:none;user-select:none;opacity:0;flex-shrink:0;padding:0 2px;font-size:.7rem;transition:opacity .15s}.outline-table th:hover .outline-th__grip{opacity:1}.outline-th__grip:active{cursor:grabbing}.outline-col--dragging{opacity:.4}.outline-th__sort-btn{cursor:pointer;width:22px;height:22px;color:var(--text-secondary,#aaa);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.65rem;transition:all .15s;display:flex}.outline-th__sort-btn:hover{background:var(--bg-hover,#e0e4ea);border-color:var(--border-color,#ccc);color:var(--text-primary,#333)}.outline-th__sort-btn--active{background:var(--accent-bg,#dbeafe);border-color:var(--accent-border,#93c5fd);color:var(--accent-text,#1d4ed8);font-weight:700}.outline-col--sorted{color:var(--text-primary,#1a1a1a)!important;background:var(--bg-hover,#eef2f7)!important}.outline-toolbar-group{border-right:1px solid var(--border-subtle,#e0e0e0);align-items:center;gap:4px;padding:0 4px;display:flex}.outline-toolbar-group:last-of-type{border-right:none}.outline-toolbar-label{color:var(--text-secondary,#888);white-space:nowrap;font-size:.75rem}.outline-toolbar-btn{border:1px solid var(--border-color,#ddd);background:var(--bg-surface,#fff);cursor:pointer;color:var(--text-secondary,#666);white-space:nowrap;border-radius:4px;padding:0 10px;font-size:.78rem;transition:all .15s}.outline-toolbar-btn:hover{background:var(--bg-hover,#f0f0f0);border-color:var(--border-color,#bbb)}.outline-toolbar-btn--active{background:var(--accent-bg,#dbeafe);border-color:var(--accent-border,#93c5fd);color:var(--accent-text,#1d4ed8)}.outline-toolbar-group--disabled{opacity:.5;pointer-events:none}.outline-toolbar-group--disabled .outline-group-select{cursor:not-allowed}.outline-column-config-btn:disabled,.outline-export-btn:disabled,.outline-toolbar-btn:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-surface,#fff)}.outline-column-config-btn:disabled:hover,.outline-export-btn:disabled:hover,.outline-toolbar-btn:disabled:hover{background:var(--bg-surface,#fff);border-color:var(--border-color,#ddd);color:var(--text-secondary,#666)}.outline-export-btn:disabled:hover .outline-export-btn__icon{color:#fff;background:#217346}.outline-export-btn{cursor:pointer;color:#217346;white-space:nowrap;background:#fff;border:1px solid #217346;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;transition:all .15s;display:flex}.outline-export-btn:hover{color:#fff;background:#217346}.outline-export-btn__icon{color:#fff;letter-spacing:.5px;background:#217346;border-radius:2px;justify-content:center;align-items:center;width:22px;height:18px;font-size:.6rem;font-weight:700;display:inline-flex}.outline-export-btn:hover .outline-export-btn__icon{color:#217346;background:#fff}.outline-column-config-btn{border:1px solid var(--border-color,#ddd);background:var(--bg-surface,#fff);cursor:pointer;color:var(--text-secondary,#666);border-radius:4px;padding:0 10px;font-size:.8rem}.outline-column-config-btn:hover{background:var(--bg-hover,#f0f0f0)}[data-theme=dark] .outline-page{background:var(--bg-page,#1a1a2e)}[data-theme=dark] .outline-header{background:var(--bg-surface,#16213e);border-bottom-color:var(--border-color,#2a2a4a)}[data-theme=dark] .outline-table th{background:var(--bg-surface,#16213e);border-bottom-color:var(--border-color,#2a2a4a);color:var(--text-secondary,#aaa)}[data-theme=dark] .outline-table td{border-bottom-color:var(--border-subtle,#2a2a4a)}[data-theme=dark] .outline-table tr:hover td{background:var(--bg-hover,#1e2a4a)}[data-theme=dark] .wbs-node{background:var(--bg-surface,#1e2a4a);border-color:var(--border-color,#3a3a5a);color:var(--text-primary,#e0e0e0)}[data-theme=dark] .wbs-chart-minimap,[data-theme=dark] .wbs-chart-controls{background:var(--bg-surface,#1e2a4a);border-color:var(--border-color,#3a3a5a)}.wbs-chart-container{background:var(--bg-page,#f8f9fa);flex:1;position:relative;overflow:hidden}.wbs-chart-svg{-webkit-user-select:none;user-select:none;display:block}.wbs-chart-svg *{-webkit-user-select:none;user-select:none}.wbs-chart-minimap{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#ddd);z-index:10;border-radius:6px;padding:4px;position:absolute;bottom:60px;right:16px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.wbs-chart-controls{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#ddd);z-index:11;border-radius:6px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:16px;right:16px;box-shadow:0 2px 8px #0000001a}.wbs-chart-btn{cursor:pointer;width:28px;height:28px;color:var(--text-secondary,#666);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.95rem;transition:all .15s;display:inline-flex}.wbs-chart-btn:hover{background:var(--bg-hover,#eef2f7);color:var(--text-primary,#1a1a1a)}.wbs-chart-btn:active{background:var(--accent-bg,#dbeafe)}.wbs-chart-zoom-label{color:var(--text-secondary,#888);font-variant-numeric:tabular-nums;text-align:center;-webkit-user-select:none;user-select:none;min-width:42px;padding:0 4px;font-size:.72rem}.outline-toolbar-btn--icon{justify-content:center;align-items:center;width:32px;font-size:.95rem;line-height:1;display:inline-flex;padding:0!important}.outline-toolbar-btn--icon svg{display:block}.outline-view-toggle__btn--icon{justify-content:center;align-items:center;width:34px;display:inline-flex;padding:0!important}.outline-view-toggle__btn--icon svg{display:block}.wbs-chart-edge{stroke-linecap:round}.wbs-node{background:var(--bg-surface,#fff);border:1.5px solid var(--border-color,#d0d0d0);box-sizing:border-box;border-radius:8px;flex-direction:column;gap:4px;width:100%;height:100%;padding:8px 10px;font-family:inherit;transition:box-shadow .15s;display:flex;overflow:hidden}.wbs-node:hover{border-color:var(--accent-border,#93c5fd);box-shadow:0 2px 8px #0000001f}.wbs-node__header{justify-content:space-between;align-items:center;gap:4px;display:flex}.wbs-node__wbs{color:var(--accent-text,#1d4ed8);background:var(--accent-bg,#dbeafe);white-space:nowrap;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.65rem;font-weight:700}.wbs-node__status{white-space:nowrap;border-radius:8px;padding:1px 5px;font-size:.6rem;font-weight:500}.wbs-node__status--backlog{color:#666;background:#e8e8e8}.wbs-node__status--inprogress{color:#1d4ed8;background:#dbeafe}.wbs-node__status--review{color:#92400e;background:#fef3c7}.wbs-node__status--done{color:#065f46;background:#d1fae5}.wbs-node__status--blocked{color:#991b1b;background:#fee2e2}.wbs-node__status--cancelled{color:#9ca3af;background:#f3f4f6}.wbs-node__title{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary,#1a1a1a);font-size:.75rem;line-height:1.3;overflow:hidden}.wbs-node--inprogress{border-left:3px solid #3b82f6}.wbs-node--done{border-left:3px solid #10b981}.wbs-node--blocked{border-left:3px solid #ef4444}.wbs-node--review{border-left:3px solid #f59e0b}.wbs-node--kanban{border:1.5px solid var(--border-color,#d0d0d0);background:0 0;padding:0;position:relative;overflow:visible}.wbs-node__wbs-chip{z-index:3;color:var(--accent-text,#1d4ed8);background:var(--bg-surface,#fff);border:1px solid var(--accent-border,#93c5fd);letter-spacing:.3px;white-space:nowrap;pointer-events:none;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:.65rem;font-weight:700;position:absolute;top:-10px;left:8px}.wbs-node__kanban-wrap{border-radius:6px;width:100%;height:100%;overflow:hidden}.wbs-node__kanban-wrap>*{width:100%;height:100%}.outline-view-toggle{border:1px solid var(--border-color,#ddd);border-radius:4px;display:flex;overflow:hidden}.outline-view-toggle__btn{background:var(--bg-surface,#fff);cursor:pointer;height:32px;color:var(--text-secondary,#666);white-space:nowrap;border:none;padding:0 10px;font-size:.78rem;transition:all .15s}.outline-view-toggle__btn:not(:last-child){border-right:1px solid var(--border-color,#ddd)}.outline-view-toggle__btn--active{background:var(--accent-bg,#dbeafe);color:var(--accent-text,#1d4ed8);font-weight:600}.outline-view-toggle__btn:hover:not(.outline-view-toggle__btn--active){background:var(--bg-hover,#f0f0f0)}
