.help-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.help-tooltip-trigger{color:#94a3b8;text-align:center;cursor:help;opacity:0;z-index:2;pointer-events:none;background:0 0;border:1px solid #94a3b8;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-family:inherit;font-size:10px;line-height:12px;transition:opacity .2s;display:flex;position:absolute;top:-6px;right:-10px}.help-tooltip-wrap:hover .help-tooltip-trigger{opacity:1;pointer-events:auto}.help-tooltip-popover{z-index:10000;color:#f1f5f9;white-space:normal;pointer-events:auto;text-align:center;word-break:break-word;background:#1e293b;border-radius:8px;width:fit-content;max-width:min(280px,90vw);padding:8px 12px;font-size:12px;line-height:1.45;box-shadow:0 4px 16px #0000004d}.help-tooltip-popover--rich{white-space:pre-line;text-align:left;max-width:min(340px,90vw)}.okr-page{min-height:100%;padding:var(--space-4) var(--space-6);gap:var(--space-4);color:var(--color-text-primary);background:var(--color-bg);flex-direction:column;display:flex;overflow:auto}.okr-header{flex:none}.okr-header h1{margin:0 0 var(--space-1);font-size:var(--text-xl);color:var(--color-text-primary);font-weight:600}.okr-header__desc{font-size:var(--text-md);color:var(--color-text-secondary);margin:0}.okr-split{gap:var(--space-4);flex:auto;align-items:stretch;min-height:0;display:flex}.okr-split__left{min-width:280px;max-width:380px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:0 0 320px;overflow:auto}.okr-split__right{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:auto;justify-content:center;align-items:center;display:flex;overflow:auto}.okr-tree{--okr-palette-1:var(--color-primary);--okr-palette-2:var(--color-success);--okr-palette-3:var(--color-warning);--okr-palette-4:var(--color-danger);--okr-palette-5:var(--color-hypothesis);--okr-palette-6:var(--color-info);--okr-palette-7:var(--color-warning-alt);--okr-palette-8:var(--color-text-secondary);gap:var(--space-2);flex-direction:column;display:flex}.okr-tree__add-root{appearance:none;border:1px dashed var(--color-border-muted);color:var(--color-primary);font-size:var(--text-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;font-weight:500}.okr-tree__add-root:hover{background:var(--color-hover);border-color:var(--color-primary)}.okr-tree__add-root:focus{box-shadow:var(--focus-ring);outline:none}.okr-tree__empty-hint{color:var(--color-text-muted);font-size:var(--text-base);margin:0;line-height:1.4}.okr-tree__list,.okr-tree__children{margin:0;padding:0;list-style:none}.okr-tree__children{padding-left:var(--space-4);border-left:1px dashed var(--color-border-muted,var(--color-border));margin-left:var(--space-3)}.okr-tree__node{margin:0}.okr-tree__row{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-height:28px;transition:background var(--transition-fast);display:flex;position:relative}.okr-tree__row:hover{background:var(--color-hover)}.okr-tree__row--selected{background:var(--color-primary-light);outline:1px solid var(--color-primary-border)}.okr-tree__row:focus{box-shadow:var(--focus-ring);outline:none}.okr-tree__row--kr{color:var(--color-text-secondary);font-size:var(--text-base)}.okr-tree__color-dot{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;flex:none;width:12px;height:12px;padding:0}.okr-tree__color-dot:hover{border-color:var(--color-primary)}.okr-tree__color-dot--palette-1{background:var(--okr-palette-1);border-color:var(--okr-palette-1)}.okr-tree__color-dot--palette-2{background:var(--okr-palette-2);border-color:var(--okr-palette-2)}.okr-tree__color-dot--palette-3{background:var(--okr-palette-3);border-color:var(--okr-palette-3)}.okr-tree__color-dot--palette-4{background:var(--okr-palette-4);border-color:var(--okr-palette-4)}.okr-tree__color-dot--palette-5{background:var(--okr-palette-5);border-color:var(--okr-palette-5)}.okr-tree__color-dot--palette-6{background:var(--okr-palette-6);border-color:var(--okr-palette-6)}.okr-tree__color-dot--palette-7{background:var(--okr-palette-7);border-color:var(--okr-palette-7)}.okr-tree__color-dot--palette-8{background:var(--okr-palette-8);border-color:var(--okr-palette-8)}.okr-tree__color-palette{z-index:10;gap:var(--space-1);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);grid-template-columns:repeat(4,1fr);display:grid;position:absolute;top:100%;left:0}.okr-tree__color-swatch{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;width:20px;height:20px;padding:0}.okr-tree__color-swatch--palette-1{background:var(--okr-palette-1)}.okr-tree__color-swatch--palette-2{background:var(--okr-palette-2)}.okr-tree__color-swatch--palette-3{background:var(--okr-palette-3)}.okr-tree__color-swatch--palette-4{background:var(--okr-palette-4)}.okr-tree__color-swatch--palette-5{background:var(--okr-palette-5)}.okr-tree__color-swatch--palette-6{background:var(--okr-palette-6)}.okr-tree__color-swatch--palette-7{background:var(--okr-palette-7)}.okr-tree__color-swatch--palette-8{background:var(--okr-palette-8)}.okr-tree__color-swatch:hover{border-color:var(--color-primary);transform:scale(1.1)}.okr-tree__title{font-size:var(--text-md);color:var(--color-text-primary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;-webkit-box-orient:vertical;flex:auto;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}.okr-tree__title--kr{color:var(--color-text-secondary);font-size:var(--text-base)}.okr-tree__kr-marker{color:var(--color-text-muted);font-size:var(--text-base);flex:none}.okr-tree__rename-input{font-size:var(--text-md);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);padding:2px var(--space-1);flex:auto;min-width:0}.okr-tree__rename-input:focus{box-shadow:var(--focus-ring);outline:none}.okr-tree__actions{gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex:none;display:flex}.okr-tree__row:hover .okr-tree__actions,.okr-tree__row:focus-within .okr-tree__actions{opacity:1}.okr-tree__action-btn{appearance:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.okr-tree__action-btn:hover{background:var(--color-hover);border-color:var(--color-primary);color:var(--color-text-primary)}.okr-tree__action-btn--danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.okr-tree__action-btn:focus{box-shadow:var(--focus-ring);outline:none}.okr-tree__row{row-gap:var(--space-1);flex-wrap:wrap;align-items:center}.okr-tree__chevron-btn{appearance:none;color:var(--color-text-muted);cursor:pointer;width:16px;height:16px;font-size:var(--text-base);border-radius:var(--radius-sm);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.okr-tree__chevron-btn:hover{background:var(--color-hover);color:var(--color-text-primary)}.okr-tree__chevron-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-tree__chevron-spacer{flex:none;width:16px;height:16px;display:inline-block}.okr-tree__chip{padding:1px var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:2px;font-weight:500;line-height:1.2;display:inline-flex}.okr-tree__score-chip{color:var(--color-on-primary,var(--color-bg));border-color:#0000;font-weight:600}.okr-tree__period-chip{background:var(--color-hover);color:var(--color-text-secondary)}.okr-tree__counter-chip{background:var(--color-surface-alt);color:var(--color-text-muted)}.okr-tree__kr-progress{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-border,var(--color-primary))}.okr-tree__kr-checklist-chip{background:var(--color-surface-alt);color:var(--color-text-muted)}.okr-tree__kr-type-icon{width:16px;height:16px;font-size:var(--text-base);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.okr-editor-placeholder{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;max-width:420px;display:flex}.okr-editor-placeholder__copy{color:var(--color-text-secondary);font-size:var(--text-lg);margin:0;line-height:1.4}.okr-editor-placeholder__analyze{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);font-size:var(--text-md);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.okr-editor-placeholder__analyze:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-primary)}.okr-editor-placeholder__analyze:disabled{opacity:.55;cursor:not-allowed}.okr-editor-placeholder__analyze:focus{box-shadow:var(--focus-ring);outline:none}.okr-editor-placeholder__tooltip-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.okr-split__right:has(.okr-editor){justify-content:flex-start;align-items:stretch}.okr-editor{gap:var(--space-4);flex-direction:column;width:100%;max-width:1120px;display:flex}.okr-editor__header{align-items:baseline;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.okr-editor__title{font-size:var(--text-lg);color:var(--color-text-primary);word-break:break-word;margin:0;font-weight:600}.okr-editor__child-indicator{font-size:var(--text-base);color:var(--color-text-muted)}.okr-editor__field{gap:var(--space-1);flex-direction:column;display:flex}.okr-editor__label{font-size:var(--text-base);color:var(--color-text-secondary);font-weight:500}.okr-editor__textarea,.okr-editor__input{font:inherit;color:var(--color-text-primary);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);box-sizing:border-box;width:100%;transition:border-color var(--transition-fast), background var(--transition-fast)}.okr-editor__textarea{resize:vertical;min-height:72px;line-height:1.45}.okr-editor__textarea--raw{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--text-base);min-height:140px}.okr-editor__textarea:focus,.okr-editor__input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);background:var(--color-surface);outline:none}.okr-editor__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.okr-editor__analyze-ai{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.okr-editor__analyze-ai:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-primary)}.okr-editor__analyze-ai:disabled{opacity:.55;cursor:not-allowed}.okr-editor__analyze-ai:focus{box-shadow:var(--focus-ring);outline:none}.okr-editor__tooltip-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.okr-editor__analyze-local{appearance:none;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary,#fff);font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.okr-editor__analyze-local:hover:not(:disabled){filter:brightness(1.05)}.okr-editor__analyze-local:disabled{opacity:.55;cursor:not-allowed}.okr-editor__analyze-local:focus{box-shadow:var(--focus-ring);outline:none}.okr-editor__raw-preview{padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;white-space:pre-wrap;word-break:break-word;cursor:pointer;color:var(--color-text-secondary);max-height:160px;margin:0;overflow:auto}.okr-editor__raw-preview:hover,.okr-editor__raw-preview:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.okr-editor__raw-expand{appearance:none;margin-top:var(--space-2);border:1px solid var(--color-border);color:var(--color-text-secondary);font:inherit;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-self:flex-start}.okr-editor__raw-expand:hover{background:var(--color-hover);border-color:var(--color-primary)}.okr-editor__raw-expand:focus{box-shadow:var(--focus-ring);outline:none}@media (width<=780px){.okr-split{flex-direction:column}.okr-split__left{flex:none;min-width:0;max-width:none}.okr-split__right{flex:auto;min-height:240px}}.okr-objective-row--dragging{opacity:.55}.okr-objective-row--drag-over{outline:2px solid var(--color-primary);outline-offset:-2px}.okr-root-drop-zone{box-sizing:border-box;min-height:12px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);transition:min-height var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), padding var(--transition-fast);border:1px dashed #0000;justify-content:flex-start;align-items:center;display:flex}.okr-root-drop-zone__hint{opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.okr-root-drop-zone--drag-over{min-height:36px;padding:var(--space-2);border-color:var(--color-primary);background:var(--color-primary-light)}.okr-root-drop-zone--drag-over .okr-root-drop-zone__hint{opacity:1;color:var(--color-primary)}.okr-error-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-md);font-size:var(--text-md);box-shadow:var(--shadow-sm);display:flex}.okr-error-banner__message{flex:auto}.okr-error-banner__close{appearance:none;color:inherit;font-size:var(--text-lg);padding:0 var(--space-1);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}.okr-error-banner__close:hover{background:var(--color-hover)}.okr-error-banner__close:focus{box-shadow:var(--focus-ring);outline:none}.okr-confirm-dialog-overlay{background:var(--color-overlay,#00000073);z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.okr-confirm-dialog{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg,var(--radius-md));box-shadow:var(--shadow-lg,var(--shadow-sm));padding:var(--space-4) var(--space-5,var(--space-4));gap:var(--space-3);flex-direction:column;width:100%;max-width:420px;display:flex}.okr-confirm-dialog__title{font-size:var(--text-lg);color:var(--color-text-primary);margin:0;font-weight:600}.okr-confirm-dialog__body{font-size:var(--text-md);color:var(--color-text-secondary);margin:0;line-height:1.5}.okr-confirm-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.okr-confirm-dialog__btn{appearance:none;font:inherit;cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-primary);min-width:88px;transition:background var(--transition-fast), border-color var(--transition-fast)}.okr-confirm-dialog__btn:hover{background:var(--color-hover)}.okr-confirm-dialog__btn:focus{box-shadow:var(--focus-ring);outline:none}.okr-confirm-dialog__btn--confirm{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary,var(--color-bg))}.okr-confirm-dialog__btn--confirm:hover{background:var(--color-primary-hover,var(--color-primary))}.okr-confirm-dialog__btn--destructive{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-danger,var(--color-bg))}.okr-confirm-dialog__btn--destructive:hover{background:var(--color-danger-hover,var(--color-danger))}.okr-kr-panel{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.okr-kr-panel--empty{padding-top:var(--space-2)}.okr-kr-panel__empty-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;font-style:italic}.okr-kr-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.okr-kr-panel__item{margin:0;padding:0}.okr-kr-row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:background var(--transition-fast), border-color var(--transition-fast);flex-wrap:wrap;display:flex}.okr-kr-row:hover{background:var(--color-hover)}.okr-kr-row:focus-within{border-color:var(--color-primary);outline:none}.okr-kr-row--dragging{opacity:.55;cursor:grabbing}.okr-kr-row--drag-over{border-color:var(--color-primary);background:var(--color-hover)}.okr-kr-row__drag-handle{width:16px;min-width:16px;height:100%;color:var(--color-text-muted);cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--text-lg);justify-content:center;align-items:center;line-height:1;display:inline-flex}.okr-kr-row__drag-handle:hover{color:var(--color-text-primary)}.okr-kr-row__title{min-width:120px;color:var(--color-text-primary);cursor:text;text-overflow:ellipsis;white-space:nowrap;flex:160px;font-weight:500;overflow:hidden}.okr-kr-row__rename-input{min-width:120px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit;flex:160px}.okr-kr-row__field{flex-direction:column;gap:2px;min-width:72px;display:inline-flex}.okr-kr-row__field--type{min-width:120px}.okr-kr-row__field-label{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1}.okr-kr-row__type,.okr-kr-row__baseline,.okr-kr-row__current,.okr-kr-row__target,.okr-kr-row__unit{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-primary);font:inherit;width:100%;min-width:0}.okr-kr-row__type{min-width:120px}.okr-kr-row__baseline,.okr-kr-row__current,.okr-kr-row__target{width:84px}.okr-kr-row__unit{width:88px}.okr-kr-row__weight{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-primary);font:inherit;width:84px;min-width:0}.okr-kr-row__delete{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.okr-kr-row__delete:hover{background:var(--color-danger-bg,var(--color-hover));color:var(--color-danger,var(--color-text-primary))}@media (width<=780px){.okr-kr-row{flex-direction:column;align-items:stretch}.okr-kr-row__title,.okr-kr-row__rename-input{white-space:normal;flex:auto;width:100%}.okr-kr-row__field{flex-direction:row;justify-content:space-between;align-items:center;min-width:0}.okr-kr-row__baseline,.okr-kr-row__current,.okr-kr-row__target,.okr-kr-row__unit,.okr-kr-row__weight,.okr-kr-row__type{width:60%}.okr-kr-row__delete{align-self:flex-end}}.kanban-kr-badge{font-size:var(--text-xs);background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:var(--radius-pill);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;max-width:180px;transition:background var(--transition-fast);align-items:center;gap:4px;padding:2px 6px;display:inline-flex;overflow:hidden}.kanban-kr-badge:hover{background:var(--color-hover);color:var(--color-text-primary)}.kanban-kr-badge__icon{opacity:.7;flex-shrink:0}.kanban-kr-badge__name{text-overflow:ellipsis;flex:auto;overflow:hidden}.kanban-kr-badge__progress{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.okr-checklist-o{gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.okr-checklist-o__header{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.okr-checklist-o__title{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.okr-checklist-o__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.okr-checklist-o__row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);transition:background var(--transition-fast);grid-template-columns:auto 1fr auto;display:grid;position:relative}.okr-checklist-o__row:hover{background:var(--color-hover)}.okr-checklist-o__tick{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:18px;height:18px;color:var(--color-surface);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.okr-checklist-o__tick:hover{border-color:var(--color-primary)}.okr-checklist-o__tick:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-checklist-o__tick[aria-checked=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.okr-checklist-o__title-cell{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.35}.okr-checklist-o__help{border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.okr-checklist-o__help:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-checklist-o__tooltip{margin-top:var(--space-1);z-index:10;max-width:360px;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised,var(--color-surface));color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md,var(--shadow-sm));font-size:var(--text-sm);pointer-events:none;line-height:1.4;display:none;position:absolute;top:100%;right:0}.okr-checklist-o__row:hover .okr-checklist-o__tooltip,.okr-checklist-o__row:focus-within .okr-checklist-o__tooltip{display:block}.okr-matrix-kr{gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.okr-matrix-kr__header{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.okr-matrix-kr__title{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.okr-matrix-kr__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.okr-matrix-kr__empty-hint{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-hover,transparent);border-radius:var(--radius-sm);margin:0}.okr-matrix-kr__scroll{margin:0 calc(var(--space-3) * -1);padding:0 var(--space-3);overflow-x:auto}.okr-matrix-kr__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.okr-matrix-kr__corner{background:var(--color-surface);width:1%;min-width:180px}.okr-matrix-kr__col-header{padding:var(--space-1) var(--space-2);color:var(--color-text-primary);text-align:center;border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.okr-matrix-kr__row{position:relative}.okr-matrix-kr__row-header{z-index:1;background:var(--color-surface);padding:var(--space-2);vertical-align:middle;text-align:left;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);font-weight:500;position:sticky;left:0}.okr-matrix-kr__row-title{margin-right:var(--space-1);line-height:1.35;display:inline-block}.okr-matrix-kr__help{border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:help;vertical-align:middle;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.okr-matrix-kr__help:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-matrix-kr__tooltip{left:var(--space-3);margin-top:var(--space-1);z-index:10;max-width:360px;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised,var(--color-surface));color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md,var(--shadow-sm));font-size:var(--text-sm);pointer-events:none;line-height:1.4;display:none;position:absolute;top:100%}.okr-matrix-kr__row:hover .okr-matrix-kr__tooltip,.okr-matrix-kr__row:focus-within .okr-matrix-kr__tooltip{display:block}.okr-matrix-kr__cell-wrap{padding:var(--space-1);text-align:center;border-bottom:1px solid var(--color-border)}.okr-matrix-kr__cell{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:22px;height:22px;color:var(--color-surface);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.okr-matrix-kr__cell:hover{border-color:var(--color-primary)}.okr-matrix-kr__cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-matrix-kr__cell[aria-checked=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.okr-checklist-cascade{gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.okr-checklist-cascade__header{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.okr-checklist-cascade__title{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.okr-checklist-cascade__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.okr-checklist-cascade__row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);transition:background var(--transition-fast);grid-template-columns:auto 1fr auto;display:grid;position:relative}.okr-checklist-cascade__row:hover{background:var(--color-hover)}.okr-checklist-cascade__tick{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:18px;height:18px;color:var(--color-surface);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.okr-checklist-cascade__tick:hover{border-color:var(--color-primary)}.okr-checklist-cascade__tick:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-checklist-cascade__tick[aria-checked=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.okr-checklist-cascade__title-cell{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.35}.okr-checklist-cascade__help{border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.okr-checklist-cascade__help:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-checklist-cascade__tooltip{margin-top:var(--space-1);z-index:10;max-width:360px;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised,var(--color-surface));color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md,var(--shadow-sm));font-size:var(--text-sm);pointer-events:none;line-height:1.4;display:none;position:absolute;top:100%;right:0}.okr-checklist-cascade__row:hover .okr-checklist-cascade__tooltip,.okr-checklist-cascade__row:focus-within .okr-checklist-cascade__tooltip{display:block}.okr-dashboard{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card)}.okr-dashboard__head{margin-bottom:var(--space-3)}.okr-dashboard__title{font-size:var(--text-md);color:var(--color-text-primary);margin:0;font-weight:600}.okr-dashboard__grid{gap:var(--space-4);grid-template-columns:220px minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=860px){.okr-dashboard__grid{grid-template-columns:minmax(0,1fr)}}.okr-gauge{width:180px;height:180px;margin:0 auto;position:relative}.okr-gauge__ring{z-index:0;border-radius:50%;width:100%;height:100%;position:relative}.okr-gauge__center{background:var(--color-bg-card);box-shadow:inset 0 0 0 1px var(--color-border);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:18%}.okr-gauge__value{font-size:var(--text-xl);color:var(--okr-gauge-color,var(--color-text-primary));font-weight:700}.okr-radar{width:100%}.okr-radar__svg{width:100%;height:auto;display:block}.okr-radar__ring,.okr-radar__axis{stroke:var(--color-border);stroke-width:1px}.okr-radar__data{fill:var(--color-primary-light);fill-opacity:.6;stroke:var(--color-primary);stroke-width:2px}.okr-radar__label{fill:var(--color-text-primary);font-size:12px;font-weight:500}.okr-bars{gap:var(--space-2);flex-direction:column;display:flex}.okr-bars__row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:72px minmax(0,1fr) 56px;display:grid}.okr-bars__label{color:var(--color-text-secondary,var(--color-text-primary));text-align:right;font-weight:500}.okr-bars__track{background:var(--color-bg-subtle);border-radius:var(--radius-sm);height:10px;overflow:hidden}.okr-bars__fill{border-radius:var(--radius-sm);height:100%;transition:width .16s}.okr-bars__score{font-variant-numeric:tabular-nums;color:var(--color-text-primary);text-align:right}.okr-editor__tags{gap:var(--space-2);margin:var(--space-2) 0 var(--space-1);flex-wrap:wrap;display:flex}.okr-editor__tag-chip{font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-secondary);border-radius:999px;align-items:center;padding:2px 8px;font-weight:500;line-height:1.4;display:inline-flex}.okr-editor__tag-chip--green{border-color:var(--color-success-border,var(--color-primary));background:var(--color-success-bg,var(--color-primary-light,var(--color-surface-alt)));color:var(--color-success,var(--color-primary))}.okr-editor__tag-chip--gray{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-secondary)}.okr-editor__keyboard-hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin-left:var(--space-2);align-self:center}.okr-editor__period-chip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:0 var(--space-1) 0 var(--space-3);max-width:320px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:inline-flex}.okr-editor__period-chip:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.okr-editor__period-chip__input{padding:var(--space-2) 0;min-width:0;color:inherit;font:inherit;border-radius:var(--radius-md);background:0 0;border:none;outline:none;flex:auto}.okr-editor__period-chip__input:focus{box-shadow:none;outline:none}.okr-editor__period-chip__dropdown{appearance:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-md);padding:0 var(--space-2);background:0 0;border:none;justify-content:center;align-items:center;height:100%;display:inline-flex}.okr-editor__period-chip__dropdown:hover{color:var(--color-primary)}.okr-dashboard__head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.okr-dashboard__head-left{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.okr-dashboard__info-btn{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-alt);width:28px;height:28px;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.okr-dashboard__info-btn:hover{background:var(--color-hover);border-color:var(--color-primary)}.okr-dashboard__info-btn:focus{box-shadow:var(--focus-ring);outline:none}.okr-dashboard__quality-badge{font-size:var(--text-sm);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-weight:500;display:inline-flex}.okr-section-badge{font-size:var(--text-sm);border:1px solid var(--color-success-border,var(--color-primary));background:var(--color-success-bg,var(--color-primary-light,var(--color-surface-alt)));color:var(--color-success,var(--color-primary));border-radius:999px;align-items:center;padding:4px 12px;font-weight:600;line-height:1.3;display:inline-flex}.okr-gauge__emoji{filter:drop-shadow(0 2px 6px #00000026);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;font-size:42px;line-height:1;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}.okr-theory-modal__overlay{background:var(--color-overlay,#00000073);z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.okr-theory-modal{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg,var(--radius-md));box-shadow:var(--shadow-lg,var(--shadow-sm));padding:var(--space-5,var(--space-4)) var(--space-5,var(--space-4)) var(--space-4);gap:var(--space-3);flex-direction:column;width:100%;max-width:520px;display:flex;position:relative}.okr-theory-modal__close{top:var(--space-2);right:var(--space-2);appearance:none;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:inline-flex;position:absolute}.okr-theory-modal__close:hover{background:var(--color-hover);color:var(--color-text-primary)}.okr-theory-modal__close:focus{box-shadow:var(--focus-ring);outline:none}.okr-theory-modal__title{padding-right:var(--space-6,var(--space-5,var(--space-4)));font-size:var(--text-lg);color:var(--color-text-primary);margin:0;font-weight:600}.okr-theory-modal__body{gap:var(--space-2);flex-direction:column;display:flex}.okr-theory-modal__para{font-size:var(--text-md);color:var(--color-text-secondary);margin:0;line-height:1.5}.okr-editor__title-row{align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:2fr 1fr 1.5fr;display:grid}.okr-editor__title-row__title{border-bottom:none;min-width:0;padding-bottom:0}.okr-editor__title-row__period{justify-self:start;min-width:0}.okr-editor__title-row__tags{justify-self:end;min-width:0;margin:0}@media (width<=980px){.okr-editor__title-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.okr-editor__title-row__period,.okr-editor__title-row__tags{justify-self:start}}.okr-checks-grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:1fr 2fr 1fr;align-items:start;display:grid}.okr-checks-grid>.okr-checklist-o,.okr-checks-grid>.okr-matrix-kr,.okr-checks-grid>.okr-checklist-cascade{min-width:0;margin-top:0}@media (width<=980px){.okr-checks-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}}.okr-checklist-cascade__root-hint{padding:var(--space-2) var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-style:italic;line-height:1.5}.okr-mobile{gap:var(--space-3);flex-direction:column;flex:auto;min-height:0;display:flex}.okr-mobile__breadcrumb{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);min-height:44px;display:flex}.okr-mobile__back-btn{min-width:44px;min-height:44px;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.okr-mobile__back-btn:hover{background:var(--color-hover)}.okr-mobile__back-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-mobile__crumb-list{align-items:center;gap:var(--space-1);white-space:nowrap;scrollbar-width:none;flex:auto;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.okr-mobile__crumb-list::-webkit-scrollbar{display:none}.okr-mobile__crumb-item{align-items:center;gap:var(--space-1);display:inline-flex}.okr-mobile__crumb-link{appearance:none;color:var(--color-primary);font:inherit;font-size:var(--text-sm);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-height:32px;transition:background var(--transition-fast);background:0 0;border:none}.okr-mobile__crumb-link:hover{background:var(--color-hover)}.okr-mobile__crumb-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-mobile__crumb-current{font-size:var(--text-sm);color:var(--color-text-primary);padding:var(--space-1) var(--space-2);font-weight:600}.okr-mobile__crumb-sep{color:var(--color-text-muted);font-size:var(--text-sm)}.okr-mobile__drill-panel{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.okr-mobile__drill-title{font-size:var(--text-lg);color:var(--color-text-primary);word-break:break-word;margin:0;font-weight:600}.okr-mobile__progress-track{background:var(--color-bg-subtle,var(--color-surface-alt));border-radius:var(--radius-pill);box-sizing:border-box;width:100%;height:12px;position:relative;overflow:hidden}.okr-mobile__progress-fill{background:var(--color-primary);border-radius:var(--radius-pill);min-width:0;height:100%;transition:width .16s}.okr-mobile__progress-label{right:var(--space-2);font-size:var(--text-xs);color:var(--color-on-primary,var(--color-bg));mix-blend-mode:difference;pointer-events:none;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.okr-mobile__kr-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.okr-mobile__kr-item{flex-direction:column;gap:4px;display:flex}.okr-mobile__kr-title{font-size:var(--text-md);color:var(--color-text-primary);line-height:1.3}.okr-mobile__kr-progress-track{background:var(--color-bg-subtle,var(--color-surface-alt));border-radius:var(--radius-pill);width:100%;height:6px;overflow:hidden}.okr-mobile__kr-progress-fill{background:var(--color-primary);border-radius:var(--radius-pill);height:100%;transition:width .16s}.okr-mobile__kr-pct{font-size:var(--text-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.okr-mobile__objective-list{gap:var(--space-2);flex-direction:column;flex:auto;margin:0;padding:0;list-style:none;display:flex}.okr-mobile__empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-md);text-align:center}.okr-mobile__objective-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;display:flex;overflow:hidden}.okr-mobile__objective-btn{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-3) var(--space-4);appearance:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.okr-mobile__objective-btn:hover{background:var(--color-hover)}.okr-mobile__objective-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.okr-mobile__objective-title{font-size:var(--text-md);color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.okr-mobile__objective-score{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.okr-mobile__objective-chevron{color:var(--color-text-muted);flex:none}.okr-mobile__item-progress-track{background:var(--color-bg-subtle,var(--color-surface-alt));width:100%;height:4px;overflow:hidden}.okr-mobile__item-progress-fill{background:var(--color-primary);height:100%;transition:width .16s}.okr-mobile__editor-overlay{z-index:200;background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.okr-mobile__editor-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex:none;align-items:center;display:flex}.okr-mobile__editor-body{padding:var(--space-4) var(--space-3);flex:auto;overflow-y:auto}.timeline-board{background:var(--color-bg);color:var(--color-text);flex-direction:column;flex:auto;gap:8px;min-height:0;padding:8px 12px;display:flex;overflow:hidden}.timeline-toolbar{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 8px;display:flex}.timeline-toolbar-group{align-items:center;gap:6px;display:flex}.timeline-today-chip{background:var(--color-bg);border:1px solid var(--color-border);height:28px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.timeline-today-chip:hover{border-color:var(--color-schedule-accent);background:#22c55e1a}.timeline-today-chip__icon{font-size:12px;line-height:1}.timeline-icon-btn{border:1px solid var(--color-border);background:var(--color-bg);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.timeline-icon-btn:hover{background:var(--color-bg-muted);border-color:var(--color-schedule-accent)}.timeline-icon-btn--active{background:var(--color-schedule-accent);border-color:var(--color-schedule-accent);color:#fff}.timeline-icon-btn--active:hover{background:var(--color-schedule-accent);color:#fff}.timeline-icon-btn svg{display:block}.timeline-icon-toggle-group{border-radius:4px;gap:0;display:inline-flex;overflow:hidden}.timeline-icon-toggle-group .timeline-icon-btn{border-right-width:0;border-radius:0}.timeline-icon-toggle-group .timeline-icon-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.timeline-icon-toggle-group .timeline-icon-btn:last-child{border-right-width:1px;border-top-right-radius:4px;border-bottom-right-radius:4px}.timeline-filters-popover-wrap{position:relative}.timeline-filters-btn{gap:6px;width:auto;padding:0 10px;font-size:12px;font-weight:500}.timeline-filters-btn__label{white-space:nowrap}.timeline-filters-btn__badge{background:var(--color-schedule-accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.timeline-icon-btn--active .timeline-filters-btn__badge{color:var(--color-schedule-accent);background:#fff}.timeline-filters-popover{z-index:50;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;gap:8px;min-width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001f}.timeline-filters-popover .timeline-checkbox{padding:2px 0}.timeline-offset-indicator{color:#c2410c;font-variant-numeric:tabular-nums;letter-spacing:.2px;vertical-align:middle;background:#f973162e;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.timeline-toolbar select,.timeline-toolbar .timeline-nav__btn{box-sizing:border-box;height:28px}.timeline-label{text-transform:uppercase;color:var(--color-text-muted);font-size:11px}.timeline-toolbar select{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;padding:3px 6px;font-size:12px}.timeline-checkbox{color:var(--color-text);align-items:center;gap:4px;font-size:12px;display:inline-flex}.timeline-grid-wrapper{border:1px solid var(--color-border);background:var(--color-bg);border-radius:4px;flex:auto;overflow:auto}.timeline-grid{background:var(--color-border);gap:1px;display:grid}.timeline-corner{background:var(--color-bg-muted);z-index:3;position:sticky;top:0;left:0}.timeline-bucket-header{background:var(--color-bg-muted);border-bottom:2px solid var(--color-border);z-index:2;flex-direction:column;gap:2px;padding:6px 8px;display:flex;position:sticky;top:0}.timeline-bucket-header--past{background:#ef44441a;border-bottom-color:#ef4444}.timeline-bucket-header--future{background:#3b82f61a;border-bottom-color:#3b82f6}.timeline-bucket-header--no-date{background:#f59e0b1f;border-bottom-color:#f59e0b}.timeline-bucket-header--past-done{opacity:.85;background:#6b72801f;border-bottom-color:#6b7280}.timeline-bucket-header--today{border-bottom-color:var(--color-schedule-accent);background:#22c55e24;box-shadow:inset 0 0 0 1px #22c55e59}.timeline-bucket-header--today.timeline-bucket-header--past,.timeline-bucket-header--today.timeline-bucket-header--future{border-bottom-color:var(--color-schedule-accent);background:#22c55e24}.timeline-bucket-header--heat-low{background:#22c55e14}.timeline-bucket-header--heat-mid{background:#eab30824}.timeline-bucket-header--heat-high{background:#f973162e}.timeline-bucket-header--heat-overload{background:#ef444438}.timeline-bucket-header--today.timeline-bucket-header--heat-low,.timeline-bucket-header--today.timeline-bucket-header--heat-mid,.timeline-bucket-header--today.timeline-bucket-header--heat-high,.timeline-bucket-header--today.timeline-bucket-header--heat-overload{background:#22c55e24}.timeline-today-badge{background:var(--color-schedule-accent);color:#fff;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle;border-radius:10px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.timeline-bucket-label{text-transform:capitalize;flex-direction:column;align-items:center;font-size:12px;font-weight:600;line-height:1.15;display:flex}.timeline-bucket-label__primary{display:block}.timeline-bucket-label__secondary{color:var(--text-secondary,#888);text-transform:none;letter-spacing:.3px;margin-top:1px;font-size:9.5px;font-weight:500;display:block}.timeline-bucket-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:10px}.timeline-bucket-load{font-variant-numeric:tabular-nums;color:var(--color-text-muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.timeline-bucket-load--overload{color:#dc2626;font-weight:700}.timeline-bucket-load__sep{opacity:.55}.timeline-bucket-load__badge{color:#fff;background:#dc2626;border-radius:6px;justify-content:center;align-items:center;min-width:12px;height:12px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.timeline-row-header{background:var(--color-bg-muted);z-index:1;cursor:pointer;color:var(--color-text);text-align:left;border:none;border-left:4px solid #888;align-items:center;gap:6px;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:600;display:flex;position:sticky;left:0}.timeline-row-header:hover{background:var(--color-bg-hover)}.timeline-row-chevron{color:var(--color-text-muted);text-align:center;flex-shrink:0;width:10px;font-size:9px}.timeline-row-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.timeline-row-count{background:var(--color-bg);border:1px solid var(--color-border);font-variant-numeric:tabular-nums;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;padding:1px 6px;font-size:10px;display:inline-flex}.timeline-cell--collapsed{justify-content:center;align-items:center;min-height:24px;padding:2px 4px}.timeline-cell-collapsed-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.timeline-cell{background:var(--color-bg);flex-direction:column;gap:3px;min-height:48px;padding:4px;transition:background .12s;display:flex}.timeline-cell--over{background:var(--color-bg-hover);outline:2px dashed var(--color-schedule-accent);outline-offset:-2px}.timeline-cell--ghost-trail{background:#22c55e0f;box-shadow:inset 0 0 0 1px #22c55e59}.timeline-cell__ghost{border:1px dashed var(--color-schedule-accent);color:var(--color-schedule-accent);text-align:center;pointer-events:none;background:#22c55e1a;border-radius:3px;justify-content:center;align-items:center;padding:4px 6px;font-size:10px;font-weight:600;display:flex}.timeline-cell--past{background:#ef44440a}.timeline-cell--past-done{opacity:.85;background:#6b72800d}.timeline-cell--future{background:#3b82f60a}.timeline-cell--no-date{background:#f59e0b0d}.timeline-card{background:var(--color-bg-muted);border:1px solid var(--color-border);cursor:pointer;border-left:3px solid #888;border-radius:3px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex;overflow:hidden}.timeline-card:hover{background:var(--color-bg-hover)}.timeline-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.timeline-card--dragging{opacity:.5}.timeline-card--selected{outline:2px solid var(--color-schedule-accent);outline-offset:1px;box-shadow:0 0 0 1px #22c55e40}.timeline-card--critical{outline-offset:1px;outline:2px solid #f97316;box-shadow:0 0 0 1px #f973164d}.timeline-gantt-bar--critical{outline-offset:1px;outline:2px solid #f97316;box-shadow:0 0 0 1px #f9731659}.timeline-nav__btn--active{background:#f9731626;border-color:#f97316}.timeline-card__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.timeline-card__overdue{color:#ef4444;flex-shrink:0;font-weight:700}.timeline-card__priority{color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.timeline-card__status-dot{border:1px solid #0003;border-radius:50%;flex-shrink:0;width:8px;height:8px}.timeline-card__avatar{background:var(--color-bg);border:1px solid var(--color-border);width:16px;height:16px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;line-height:1;display:inline-flex}.timeline-card__estimate{font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-bg);border-radius:2px;flex-shrink:0;padding:0 3px;font-size:9px}.timeline-empty{text-align:center;color:var(--color-text-muted);background:var(--color-bg);padding:32px 16px}.timeline-nav{gap:4px}.timeline-nav__btn{background:var(--color-bg);border:1px solid var(--color-border);min-width:28px;color:var(--color-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;font-size:12px;line-height:1;display:inline-flex}.timeline-nav__btn:hover:not(:disabled){background:var(--color-bg-hover)}.timeline-nav__btn:disabled{opacity:.45;cursor:default}.timeline-nav__btn--today{font-weight:600}.board-toolbar__timeline-btn{height:30px;font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface-alt);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);border-radius:5px;flex-shrink:0;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.board-toolbar__timeline-btn:hover{color:var(--color-text-primary);border-color:var(--color-primary-muted)}.board-toolbar__timeline-btn--active{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-light)}.timeline-bars-track{border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;min-height:36px;padding:4px 0;display:grid;position:relative}.timeline-bars-track--collapsed{justify-content:flex-end;align-items:center;min-height:22px;padding:2px 8px;display:flex}.timeline-bars-track__cell{border-right:1px dashed var(--color-border);grid-row:1;height:100%}.timeline-bars-track__cell:last-child{border-right:none}.timeline-gantt-bar{color:#fff;cursor:pointer;text-shadow:0 1px #00000040;border:none;border-radius:4px;grid-row:1;align-self:center;align-items:center;min-width:0;height:22px;margin:0 2px;padding:0 8px;font-size:11px;font-weight:500;display:flex;overflow:hidden}.timeline-gantt-bar:hover{filter:brightness(1.1)}.timeline-gantt-bar:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.timeline-gantt-bar__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timeline-gantt-bar--clip-left{border-top-left-radius:0;border-bottom-left-radius:0}.timeline-gantt-bar--clip-right{border-top-right-radius:0;border-bottom-right-radius:0}.timeline-gantt-bar{position:relative}.timeline-gantt-bar__resize-handle{cursor:ew-resize;z-index:2;background:0 0;width:6px;transition:background .15s;position:absolute;top:0;bottom:0}.timeline-gantt-bar__resize-handle--left{left:0}.timeline-gantt-bar__resize-handle--right{right:0}.timeline-gantt-bar:hover .timeline-gantt-bar__resize-handle{background:#ffffff59}.timeline-gantt-bar__resize-handle:hover{background:#ffffffb3!important}.timeline-row-overload-badge{color:#92400e;font-variant-numeric:tabular-nums;white-space:nowrap;background:#eab30833;border:1px solid #eab30873;border-radius:9px;align-items:center;gap:2px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.timeline-shortcuts-popover-wrap{position:relative}.timeline-shortcuts-popover{z-index:50;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;min-width:320px;padding:12px 14px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 12px #0000001f}.timeline-shortcuts-popover__title{color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:700}.timeline-shortcuts-popover__list{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.timeline-shortcuts-popover__list dt{white-space:nowrap;align-items:center;gap:3px;font-size:11px;display:inline-flex}.timeline-shortcuts-popover__list dd{color:var(--color-text-muted);margin:0;font-size:11px}.timeline-shortcuts-popover__list kbd{background:var(--color-bg-muted);border:1px solid var(--color-border);min-width:16px;color:var(--color-text);text-align:center;border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:10px;font-weight:700;display:inline-block}.timeline-shortcuts-popover__list em{color:var(--color-text-muted);font-size:10px;font-style:italic}.timeline-icon-btn{position:relative}.timeline-icon-btn__counter{color:#fff;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;background:#ef4444;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-6px}.timeline-grid-wrapper{position:relative}.timeline-resize-ghost{pointer-events:none;z-index:30;position:absolute;transform:translate(-1px)}.timeline-resize-ghost__line{background:var(--color-accent,#f97316);width:2px;height:100%;box-shadow:0 0 4px #f9731699}.timeline-resize-ghost__label{background:var(--color-accent,#f97316);color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;top:-22px;left:4px}.timeline-resize-ghost[data-clamped="1"] .timeline-resize-ghost__line,.timeline-resize-ghost[data-clamped="1"] .timeline-resize-ghost__label{background:#dc2626;box-shadow:0 0 4px #dc262699}.timeline-bucket-header--sticky-left{z-index:3;background:var(--color-bg-muted);position:sticky}.timeline-bucket-header--sticky-right{z-index:3;background:var(--color-bg-muted);position:sticky;right:0}.timeline-cell--sticky-left{z-index:2;background:var(--color-bg);position:sticky}.timeline-cell--sticky-right{z-index:2;background:var(--color-bg);position:sticky;right:0}.timeline-print-header{display:none}@media print{@page{size:A3 landscape;margin:10mm}.timeline-toolbar,.timeline-nav,.timeline-cell__ghost{display:none!important}.timeline-board{color:#000;background:#fff;min-height:0;padding:0;overflow:visible}.timeline-print-header{color:#000;page-break-after:avoid;border-bottom:1px solid #000;margin-bottom:6mm;padding:0 0 6mm;font-size:14pt;font-weight:600;display:block}.timeline-row{page-break-inside:avoid}.timeline-cell,.timeline-cell--past,.timeline-cell--past-done,.timeline-cell--future,.timeline-cell--ghost-trail,.timeline-cell--over{border:1px solid #999;box-shadow:none!important;background:#fff!important;outline:none!important}.timeline-card{page-break-inside:avoid;color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #666!important}.timeline-gantt-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}.timeline-bucket-header{border-bottom:1px solid #000;color:#000!important;background:#f0f0f0!important}}.space-privacy{align-items:center;display:inline-flex;position:relative}.space-privacy__toggle{border:1px solid var(--border-subtle,#d0d5dd);background:var(--surface-1,#fff);width:28px;height:28px;color:var(--text-secondary,#475467);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.space-privacy__toggle:hover{background:var(--surface-hover,#f2f4f7);border-color:var(--border-strong,#98a2b3)}.space-privacy__icon{color:currentColor;align-items:center;display:inline-flex}.space-privacy[data-mode=private] .space-privacy__toggle{color:var(--text-warning,#b54708)}.space-privacy[data-mode=presentation] .space-privacy__toggle{color:var(--text-danger,#b42318)}.space-privacy__menu{z-index:50;border:1px solid var(--border-subtle,#d0d5dd);background:var(--surface-1,#fff);border-radius:8px;min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #10182824}.space-privacy__menu-group{display:block}.space-privacy__menu-item{width:100%;color:var(--text-primary,#101828);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.space-privacy__menu-item:hover{background:var(--surface-hover,#f2f4f7)}.space-privacy__menu-item--selected{font-weight:600}.space-privacy__menu-label{white-space:nowrap;flex:auto}.space-privacy__menu-check{color:var(--text-accent,#155eef);flex:none}.space-privacy__presentation{flex-direction:column;gap:6px;margin:2px 0 4px 30px;padding:2px 0;display:flex}.space-privacy__option{color:var(--text-secondary,#475467);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.space-privacy__option input{cursor:pointer}.roadmap-page{max-width:1600px;margin:0 auto;padding:1.5rem}.roadmap-page__header{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.roadmap-page__title{color:var(--color-text-primary);margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.roadmap-page__desc{color:var(--color-text-secondary);margin:0;font-size:.875rem}.roadmap-toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.roadmap-toolbar__field{color:var(--color-text-secondary);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.roadmap-toolbar__field select,.roadmap-toolbar__field input{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;padding:4px 8px;font-size:.8125rem}.roadmap-toolbar__year{width:90px}.roadmap-toolbar__export{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:6px 12px;font-size:.8125rem}.roadmap-toolbar__export:hover{background:var(--color-primary-dark)}.roadmap-body{align-items:flex-start;gap:1rem;display:flex}.roadmap-grid-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex:1;padding:4px;overflow:auto}.roadmap-grid{display:block}.roadmap-col-header{fill:var(--color-surface-alt);stroke:var(--color-border);stroke-width:1px}.roadmap-col-header__label{fill:var(--color-text-primary);font-size:12px;font-weight:600}.roadmap-row__bg{fill:var(--color-surface)}.roadmap-row__bg.even{fill:var(--color-surface-alt)}.roadmap-row__label{fill:var(--color-text-primary);font-size:12px}.roadmap-col-divider{stroke:var(--color-border);stroke-width:.5px;stroke-dasharray:2 3}.roadmap-bar{cursor:pointer}.roadmap-bar__rect{transition:filter .15s}.roadmap-bar:hover .roadmap-bar__rect{filter:brightness(1.15)}.roadmap-bar__label{fill:#fff;pointer-events:none;font-size:11px;font-weight:500}.roadmap-empty{text-align:center;color:var(--color-text-secondary);padding:3rem 1rem}.roadmap-empty__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.roadmap-empty__hint{margin:0;font-size:.875rem}.roadmap-side-panel{background:var(--color-surface);border:1px solid var(--color-border);width:320px;box-shadow:var(--shadow-sm);border-radius:8px;flex-shrink:0;padding:1rem}.roadmap-side-panel__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.roadmap-side-panel__header h2{color:var(--color-text-primary);margin:0;font-size:1rem}.roadmap-side-panel__close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1rem}.roadmap-side-panel__close:hover{color:var(--color-text-primary)}.roadmap-side-panel__meta{grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 1rem;font-size:.8125rem;display:grid}.roadmap-side-panel__meta dt{color:var(--color-text-secondary)}.roadmap-side-panel__meta dd{color:var(--color-text-primary);margin:0}.roadmap-side-panel__subtitle{color:var(--color-text-secondary);text-transform:uppercase;margin:.5rem 0;font-size:.8125rem;font-weight:600}.roadmap-side-panel__empty{color:var(--color-text-secondary);font-size:.8125rem}.roadmap-side-panel__tasks{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.roadmap-side-panel__tasks li{margin-bottom:.25rem}.roadmap-side-panel__task-btn{width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:6px 8px;font-size:.8125rem;display:flex}.roadmap-side-panel__task-btn:hover{background:var(--color-hover);border-color:var(--color-border)}.roadmap-task-status{background:var(--color-border);border-radius:50%;flex-shrink:0;width:8px;height:8px}.roadmap-task-status--done{background:#22c55e}.roadmap-task-status--in-progress{background:#3b82f6}.roadmap-task-status--blocked{background:#ef4444}.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)}.spaces-overview{flex-direction:column;height:100%;display:flex;overflow-y:auto}.spaces-overview__header{justify-content:space-between;align-items:flex-start;padding:20px 24px 12px;display:flex}.spaces-overview__title{margin:0;font-size:20px;font-weight:600}.spaces-overview__desc{color:var(--color-text-muted,#6b7280);margin:4px 0 0;font-size:13px}.spaces-overview__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:12px 24px 32px;display:grid}.space-card{border:1px solid var(--color-border,#e5e7eb);background:var(--color-surface,#fff);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.space-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #3b82f61a}.space-card__header{align-items:center;gap:8px;display:flex}.space-card__name{color:var(--color-text,#1a1a2e);margin:0;font-size:15px;font-weight:600}.space-card__meta{color:var(--color-text-muted,#6b7280);font-size:12px}.space-card__board-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.space-card__board-item{color:var(--color-text-muted,#6b7280);padding:2px 0;font-size:12px}.space-card__board-item:before{content:"• ";opacity:.4}.space-card__board-item--more{color:var(--color-primary);font-style:italic}.space-card__board-item--more:before{content:""}.spaces-overview__empty{text-align:center;color:var(--color-text-muted,#6b7280);grid-column:1/-1;padding:48px 24px;font-size:14px}.space-card--all-tasks{border-color:var(--color-primary);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 60%);border-width:2px}.space-card__system-cue{box-sizing:border-box;overflow-wrap:anywhere;max-width:100%;color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, transparent);border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:11px;line-height:1.35}.space-card-wrap{min-width:0;position:relative}.space-card-wrap>.space-card{width:100%;height:100%}.space-card--system{border-color:var(--color-primary);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 7%, transparent), transparent 65%)}.space-card__name{overflow-wrap:anywhere;min-width:0}.space-card__parent{color:var(--color-text-muted,#6b7280);font-size:12px}.spaces-overview__create,.spaces-overview__create-form button,.space-card__create-form button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:7px;padding:7px 11px}.spaces-overview__create-form,.space-card__create-form{gap:8px;padding:8px 24px;display:flex}.space-card__create-form{padding:8px 0 0}.spaces-overview__create-form input,.space-card__create-form input{border:1px solid var(--color-border,#d1d5db);border-radius:7px;flex:1;min-width:0;padding:7px 9px}.space-card__menu-trigger{border:1px solid var(--color-border,#d1d5db);background:var(--color-surface,#fff);width:30px;height:30px;color:var(--color-text,#1a1a2e);cursor:pointer;border-radius:7px;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.space-card__menu{z-index:20;border:1px solid var(--color-border,#d1d5db);background:var(--color-surface,#fff);border-radius:8px;min-width:180px;padding:5px;position:absolute;top:43px;right:10px;box-shadow:0 8px 28px #00000029}.space-card__menu button{width:100%;color:var(--color-text,#1a1a2e);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;padding:8px 10px;display:block}.space-card__menu button:hover,.space-card__menu button:focus-visible{background:var(--surface-hover,#8080801f)}.space-card__shared{position:absolute;top:13px;right:47px}.board-group-section .board-status-bar{display:none}.board-status-bar{background:var(--color-surface,#f8fafc);border-top:1px solid var(--color-border);font-size:var(--text-sm,12px);color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:16px;min-height:32px;padding:6px 20px;display:flex}.board-status-bar__item{white-space:nowrap;align-items:center;gap:4px;display:flex}.board-status-bar__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.board-status-bar__dot--progress{background:#3b82f6}.board-status-bar__dot--blocked{background:#f97316}.board-status-bar__dot--done{background:#22c55e}.board-status-bar__dot--sp{background:#8b5cf6}.board-status-bar__aging-chip{color:#fff;font-size:var(--text-xs,11px);background:#ef4444;border-radius:10px;padding:1px 8px;font-weight:600;line-height:18px}.board-status-bar__separator{background:var(--color-border);flex-shrink:0;width:1px;height:14px}@media print{.board-status-bar{display:none!important}}
