:root{--color-background: #f3f8f7;--color-surface: #ffffff;--color-surface-soft: #f7fbfa;--color-surface-muted: #edf6f4;--color-border: #d6e4e2;--color-border-strong: #a9c8c3;--color-text: #253238;--color-text-soft: #465b5e;--color-text-muted: #657678;--color-primary: #2f6f73;--color-primary-strong: #24595d;--color-focus-ring: rgba(47, 111, 115, .18);--color-danger: #a33f3f;--color-danger-bg: #fff4f2;--color-danger-border: #f3c8c1;color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;padding:16px}.app-shell--centered{align-items:center;display:flex;justify-content:center}.top-bar{align-items:end;display:grid;column-gap:12px;grid-template-areas:"title session" "controls controls";grid-template-columns:minmax(0,1fr) auto;row-gap:10px;margin-bottom:14px;position:relative}.top-bar-title{align-items:end;display:inline-flex;gap:10px;grid-area:title;justify-self:start;min-width:0}.project-heading{min-width:0}.top-bar h1{font-size:24px;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.top-bar-controls{align-items:end;display:flex;flex:1;flex-wrap:nowrap;gap:8px;grid-area:controls;justify-content:flex-start;min-width:0}.field{display:grid;gap:4px;min-width:0;position:relative}.field span{color:var(--color-text-muted);font-size:11px;font-weight:700;min-width:0;overflow-wrap:anywhere}.field input,.field select,.field textarea{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text);max-width:100%;min-width:0;outline:none;padding:8px 10px}.field input,.field select{height:34px;padding-block:0}.field textarea{min-height:72px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.story-card:focus,.line-item-row:focus,.unknown-item:focus,.icon-button:focus,.icon-menu-button:focus,.story-select-button:focus,.story-expanded:focus,.command-button:focus,.secondary-button:focus,.danger-button:focus,.app-menu button:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.field--compact{width:128px}.field--search{flex:1 1 220px;max-width:360px;min-width:180px}.field--search input{padding-left:32px}.field--select{width:160px}.field--project-select{width:180px}.field--new-project{width:min(100%,340px)}.field--project-list-name{width:100%}.field--project-list-description{grid-column:1 / -1;width:100%}.field--project-list-description textarea{min-height:58px}.field--color{width:78px}.field--color input{padding:3px}.field-icon{bottom:9px;color:var(--color-text-muted);left:10px;position:absolute}.top-bar-menu{flex:0 0 auto;position:relative}.top-bar-session{align-self:end;grid-area:session;justify-self:end;min-width:0}.icon-menu-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text);display:inline-flex;height:34px;justify-content:center;outline:none;padding:0;width:34px}.app-menu{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:8px;box-shadow:0 10px 28px #24595d24;min-width:180px;padding:4px;position:absolute;left:0;top:calc(100% + 6px);z-index:20}.app-menu button{align-items:center;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--color-text);display:flex;gap:8px;font-weight:700;height:32px;outline:none;padding:0 10px;text-align:left;white-space:nowrap;width:100%}.app-menu button:hover{background:var(--color-surface-muted)}.command-button,.secondary-button,.danger-button{align-items:center;border-radius:6px;display:inline-flex;gap:6px;height:34px;justify-content:center;outline:none;padding:0 12px}.command-button{background:var(--color-primary-strong);border:1px solid var(--color-primary-strong);color:var(--color-surface)}.command-button:disabled{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text-muted)}.command-button--small,.secondary-button--small,.danger-button--small{height:30px;padding:0 9px}.secondary-button{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text)}.secondary-button:disabled,.danger-button:disabled{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text-muted)}.danger-button{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.mini-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-soft);font-size:12px;font-weight:700;min-height:26px;padding:3px 8px}.mini-button:disabled{background:var(--color-surface-muted);color:var(--color-text-muted)}.save-error,.app-error,.form-error,.backup-status--error{color:var(--color-danger);font-weight:700}.save-error,.backup-status{margin:0 0 12px}.save-error--inline{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:6px;font-size:13px;padding:8px 10px}.backup-status{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:8px 10px}.backup-status p{margin:0}.backup-status--info{background:var(--color-surface-soft);color:var(--color-text-soft)}.backup-status--error{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.backup-status-dismiss{align-items:center;background:transparent;border:1px solid transparent;border-radius:5px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;padding:0;width:28px}.backup-status-dismiss:hover,.backup-status-dismiss:focus{background:#ffffffb8;border-color:currentColor;outline:none}.backup-file-input{display:none}.projects-screen,.settings-screen{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:14px;max-width:960px;padding:16px}.projects-screen-header h2,.settings-screen-header h2{font-size:20px;line-height:1.25;margin:0}.projects-create-form{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(220px,340px) auto;justify-content:start}.projects-list{display:grid;gap:8px}.settings-row{align-items:end;display:flex;gap:8px}.field--font-size{width:180px}.settings-unit{color:var(--color-text-muted);font-size:13px;font-weight:700;padding-bottom:9px}.projects-list-item{align-items:end;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(240px,1fr) auto auto auto;min-width:0;padding:10px}.projects-list-item.is-current{border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.projects-list-item--archived{background:var(--color-surface)}.projects-list-main{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;min-width:0}.current-project-badge{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-soft);font-size:11px;font-weight:700;line-height:1;padding:6px 8px}.archived-projects{border-top:1px solid var(--color-border);display:grid;gap:8px;padding-top:12px}.archived-projects-header{align-items:center;display:flex;gap:8px}.archived-projects-header h3{font-size:15px;line-height:1.3;margin:0}.archived-projects-header span{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1;padding:5px 7px}.project-archive-summary{display:grid;gap:4px;min-width:0}.project-archive-summary--description{grid-column:1 / -1}.project-archive-summary>span{color:var(--color-text-muted);font-size:11px;font-weight:700}.project-archive-summary strong,.project-archive-summary p{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-soft);display:flex;min-height:34px;margin:0;min-width:0;overflow-wrap:anywhere;padding:7px 10px}.app-muted,.lane-empty,.detail-empty{color:var(--color-text-muted)}.auth-shell{align-items:center;display:flex;justify-content:center}.auth-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:14px;max-width:420px;padding:24px;width:min(100%,420px)}.auth-panel-header{display:grid;gap:6px}.auth-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.auth-panel h1{font-size:24px;line-height:1.2;margin:0}.auth-copy{color:var(--color-text-muted);line-height:1.45;margin:0}.auth-mode-badge{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary-strong);font-size:11px;font-weight:800;line-height:1;padding:5px 7px}.auth-form{display:grid;gap:10px}.auth-field input{width:100%}.auth-button{width:fit-content}.session-controls{align-items:center;display:inline-flex;gap:8px;min-width:0}.session-controls span{color:var(--color-text-muted);font-size:12px;font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1500px){.top-bar-session{justify-self:end}}.board-workspace{display:block}.board-workspace--with-detail{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 328px}.lanes-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(190px,1fr));min-width:0}.lane,.detail-pane{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:0}.lane{display:flex;flex-direction:column;min-height:calc(100vh - 98px);overflow:hidden}.lane-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:10px 12px}.lane-header h2{font-size:14px;line-height:1.25;margin:0}.lane-header span{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:11px;font-weight:700;min-width:22px;padding:2px 7px;text-align:center}.lane-items{display:flex;flex:1;flex-direction:column;gap:7px;overflow:auto;padding:8px}.sortable-board-item{cursor:grab;min-width:0;touch-action:none}.sortable-board-item.is-dragging{cursor:grabbing}.sortable-board-item-content{min-width:0}.drag-overlay-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;box-shadow:0 10px 30px #24595d29;color:var(--color-text);display:flex;gap:8px;max-width:260px;padding:8px 10px}.drag-overlay-item span{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-empty{border:1px dashed var(--color-border-strong);border-radius:6px;font-size:13px;margin:0;padding:12px;text-align:center}.story-card,.unknown-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.story-card{min-width:0;padding:7px}.story-card:hover,.unknown-item:hover{border-color:var(--color-border-strong)}.story-card.is-selected,.line-item-row.is-selected,.unknown-item.is-selected{border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.story-card-main{align-items:start;display:grid;gap:7px;grid-template-columns:22px minmax(0,1fr);min-height:30px;min-width:0}.story-select-button,.story-meta-button{background:transparent;border:1px solid transparent;border-radius:5px;color:inherit;min-width:0;outline:none;text-align:left}.story-select-button{display:grid;min-height:30px;padding:2px 1px;width:100%}.story-card-meta{align-items:start;display:grid;gap:6px;grid-template-columns:minmax(0,1fr);margin:4px 0 0 29px}.story-meta-button{align-items:center;display:flex;flex-wrap:wrap;gap:5px;max-width:100%;min-width:0;padding:1px;width:100%}.story-card-actions{display:flex;flex-wrap:wrap;gap:5px;justify-self:start}.icon-button{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-muted);display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.epic-pill{--epic-color: var(--color-text-muted);background:color-mix(in srgb,var(--epic-color) 8%,var(--color-surface));border:1px solid var(--epic-color);border-color:color-mix(in srgb,var(--epic-color) 50%,var(--color-border));border-radius:999px;color:var(--epic-color);color:color-mix(in srgb,var(--epic-color) 72%,var(--color-text-soft));display:-webkit-box;font-size:11px;font-weight:700;line-height:1.15;max-width:min(100%,14rem);min-width:0;overflow:hidden;overflow-wrap:anywhere;padding:4px 7px;text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.point-badge,.state-badge{border-radius:5px;display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:5px 6px;white-space:nowrap}.point-badge{background:#fff6e8;color:#8f5421}.state-badge{background:var(--color-surface-muted);color:var(--color-text-soft)}.state-badge--started,.state-badge--finished,.state-badge--delivered{background:#e3f4f1;color:var(--color-primary-strong)}.state-badge--accepted{background:#e5f6ea;color:#3f7b56}.state-badge--rejected{background:var(--color-danger-bg);color:var(--color-danger)}.story-title{color:var(--color-text);display:-webkit-box;font-size:14px;line-height:1.3;min-width:0;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.story-expanded{border-top:1px solid var(--color-border);border-radius:5px;color:var(--color-text-soft);cursor:pointer;display:grid;gap:8px;margin-top:8px;outline:none;padding:8px 2px 0 28px}.story-expanded p,.story-expanded ul{margin:0}.story-expanded span{color:var(--color-text-muted);display:block;font-size:13px;font-weight:700;margin-bottom:3px}.story-expanded p,.story-expanded li{font-size:var(--story-body-font-size, 10.5pt);line-height:1.35;overflow-wrap:anywhere}.story-expanded-text{white-space:pre-wrap}.story-expanded ul{padding-left:16px}.task-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.task-list li{align-items:center;display:grid;gap:6px;grid-template-columns:12px minmax(0,1fr) auto}.task-list span{color:var(--color-text-soft);display:block;margin:0;overflow-wrap:anywhere}.task-list small{color:var(--color-text-muted);font-size:11px}.epic-manager{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:10px;margin-bottom:12px;padding:12px}.epic-manager-create,.epic-editor-row{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(150px,1fr) 78px minmax(180px,1.3fr) auto}.epic-editor-list{display:grid;gap:8px}.epic-editor-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(150px,1fr) 78px minmax(180px,1.3fr) minmax(116px,auto) auto auto;padding-top:8px}.epic-editor-row--readonly{align-items:end;grid-template-columns:minmax(150px,1fr) 78px minmax(180px,1.3fr) minmax(116px,auto)}.epic-readonly-field{display:grid;gap:4px;min-width:0}.epic-readonly-field>span:first-child{color:var(--color-text-muted);font-size:11px;font-weight:700}.epic-readonly-field strong,.epic-readonly-field p{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-soft);display:flex;min-height:34px;margin:0;min-width:0;overflow-wrap:anywhere;padding:7px 10px}.epic-readonly-field--color{width:78px}.epic-readonly-swatch{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:6px;display:block;height:34px}.epic-story-counts{align-self:end;display:flex;flex-wrap:wrap;gap:5px;min-width:116px}.epic-story-count{border-radius:5px;display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:5px 6px;white-space:nowrap}.epic-story-count--open{background:#fff6e8;color:#8f5421}.epic-story-count--done{background:#e5f6ea;color:#3f7b56}.line-item-row{align-items:stretch;background:var(--color-surface-soft);border:1px solid transparent;border-radius:6px;color:var(--color-text-soft);display:grid;gap:6px;grid-template-columns:14px minmax(0,1fr) 14px;outline:none;padding:6px 4px}.line-item-row:hover{border-color:var(--color-border-strong)}.line-item-row--completed{background:#f3f6f4;color:var(--color-text-muted)}.line-item-row--completed .line-item-rule{border-color:#b8c5bb}.line-item-row--completed .line-item-title{color:var(--color-text-soft)}.line-item-row--completed .line-item-title-row svg{color:#3f7b56}.line-item-rule{align-self:center;border-top:1px solid var(--color-border-strong);display:block}.line-item-content{display:grid;gap:4px;min-width:0}.line-item-title-row{align-items:start;display:grid;gap:6px;grid-template-columns:14px minmax(0,1fr);min-width:0}.line-item-title-row svg{margin-top:2px}.line-item-title{color:var(--color-text);display:-webkit-box;font-size:13px;line-height:1.3;min-width:0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-item-meta-row{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.line-item-meta-row small{color:var(--color-text-muted);font-size:11px;white-space:nowrap}.line-item-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;padding:1px 6px}.line-item-status-badge--completed{background:#e5f6ea;color:#3f7b56}.unknown-item{color:#7a5732;font-size:12px;padding:8px}.detail-pane{align-self:start;max-height:calc(100vh - 32px);min-height:calc(100vh - 98px);overflow-y:auto;overflow-wrap:anywhere;overscroll-behavior:contain;padding:14px;position:sticky;scrollbar-gutter:stable;top:16px}.detail-pane h2{color:var(--color-text);font-size:18px;line-height:1.25;margin:0 0 10px;overflow-wrap:anywhere}.detail-pane-header{align-items:start;border-bottom:1px solid var(--color-border);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 24px;margin:-2px 0 12px;padding-bottom:10px}.detail-pane-header>div{min-width:0}.detail-pane-header h2{margin-bottom:0}.detail-close-button{justify-self:end}.detail-empty{align-items:center;border:1px dashed var(--color-border-strong);border-radius:6px;display:flex;font-size:13px;justify-content:center;margin:0;min-height:180px;padding:16px;text-align:center}.detail-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-width:0}.detail-section{border-top:1px solid var(--color-border);padding:11px 0}.detail-section h3{color:var(--color-text-muted);font-size:12px;margin:0 0 5px}.detail-section p,.detail-section li{color:var(--color-text-soft);font-size:13px;line-height:1.45}.detail-section p,.detail-section ul{margin:0}.detail-section ul{padding-left:18px}.detail-action-row,.lane-move-controls,.editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.detail-action-row{margin:0 0 10px}.lane-move-controls{border-bottom:1px solid var(--color-border);margin-bottom:12px;padding-bottom:10px}.editor-form{border-top:1px solid var(--color-border);display:grid;gap:10px;padding:11px 0}.save-feedback{align-items:center;color:var(--color-primary-strong);display:inline-flex;font-size:12px;font-weight:700;gap:4px;line-height:1}.form-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.form-error{font-size:12px;margin:-4px 0 0}.inline-create-form{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:10px}.task-editor-list{display:grid;gap:8px}.task-editor-row{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:6px;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);padding:8px}.task-editor-fields{display:grid;gap:8px;min-width:0}.item-move-buttons{display:grid;gap:4px}.detail-empty--compact{min-height:78px}.detail-tasks{display:grid;gap:6px;list-style:none;margin:0;padding:0}.detail-tasks li{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:6px;display:grid;gap:2px;padding:7px 8px}.detail-tasks span{color:var(--color-text);font-size:13px;line-height:1.35}.detail-tasks small{color:var(--color-text-muted);font-size:11px}.detail-facts,.detail-meta{display:grid;gap:8px;margin:0}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.detail-facts div,.detail-meta div{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:6px;min-width:0;padding:8px}.detail-facts dt,.detail-meta dt{color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.detail-facts dd,.detail-meta dd{color:var(--color-text);font-size:13px;font-weight:700;margin:2px 0 0}.detail-meta{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:11px}@media(max-width:1180px){.top-bar{align-items:start;grid-template-areas:"title session" "controls controls";grid-template-columns:minmax(0,1fr) auto}.top-bar-controls{flex-wrap:wrap;justify-content:flex-start}.field--search{width:min(100%,280px)}.board-workspace{grid-template-columns:1fr}.detail-pane{max-height:none;min-height:280px;overflow-y:visible;overscroll-behavior:auto;position:static;scrollbar-gutter:auto}}@media(max-width:980px){.top-bar{grid-template-areas:"title" "session" "controls";grid-template-columns:1fr}.top-bar-session{justify-self:start}}@media(max-width:760px){.app-shell{padding:10px}.top-bar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.field,.field--compact,.field--search,.field--select,.field--color,.secondary-button,.danger-button,.command-button{width:100%}.command-button,.secondary-button,.danger-button{justify-content:center}.epic-manager-create,.epic-editor-row,.form-grid,.form-grid--compact,.inline-create-form,.projects-create-form,.projects-list-item,.projects-list-main,.settings-row{grid-template-columns:1fr}.settings-row{align-items:start;display:grid}.epic-readonly-field--color,.epic-story-counts{width:100%}.lanes-grid{grid-auto-columns:minmax(260px,82vw);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:4px}.lane{min-height:430px}.story-card-main{grid-template-columns:22px minmax(0,1fr)}.story-card-meta{align-items:start;grid-template-columns:1fr}}
