:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--border:#e3e5ea;--text:#1f2430;--text-soft:#6b7280;--accent:#4f46e5;--accent-soft:#eef2ff;--on-accent:#fff;--danger:#dc2626;--danger-soft:#fef2f2;--danger-border:#fecaca;--danger-border-2:#fca5a5;--danger-strong:#991b1b;--green:#059669;--green-soft:#ecfdf5;--warn-soft:#fef3c7;--warn-text:#b45309;--violet:#8b5cf6;--violet-dark:#7c3aed;--violet-soft:#f5f3ff;--violet-soft-2:#ede9fe;--violet-border:#ddd6fe;--check-border:#c3c9d4;--placeholder:#a5adba;--hint:#b6bdc9;--overlay:#0f172a73;--chip-count-bg:#0000001f;--count-bg:#0000000f;--radius:10px;--shadow:0 1px 3px #0f172a14;--shadow-lg:0 10px 40px #0f172a1a;--shadow-xl:0 20px 60px #0f172a4d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1218;--surface:#171b23;--surface-2:#1e232d;--border:#2c3340;--text:#e6e9ef;--text-soft:#98a1b3;--accent:#818cf8;--accent-soft:#232a3d;--on-accent:#0f1218;--danger:#f87171;--danger-soft:#2a1a1d;--danger-border:#5c2b2b;--danger-border-2:#7f3a3a;--danger-strong:#fca5a5;--green:#34d399;--green-soft:#14291f;--warn-soft:#2e2412;--warn-text:#fbbf24;--violet-dark:#a78bfa;--violet-soft:#1e1b31;--violet-soft-2:#241f3d;--violet-border:#4c3f8a;--check-border:#4b5462;--placeholder:#6b7484;--hint:#5b6472;--overlay:#0000009e;--chip-count-bg:#ffffff29;--count-bg:#ffffff14;--shadow:0 1px 3px #00000073;--shadow-lg:0 10px 40px #00000080;--shadow-xl:0 20px 60px #000000a6}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;font-size:14px}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.loading{height:100vh;color:var(--text-soft);place-items:center;font-size:16px;display:grid}.auth-wrap{background:linear-gradient(160deg, var(--accent-soft) 0%, var(--bg) 60%);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;border-radius:16px;width:100%;max-width:380px;padding:36px 32px}.auth-logo{font-size:40px}.auth-card h1{margin:8px 0 4px;font-size:22px}.auth-sub{color:var(--text-soft);margin:0 0 20px;font-size:13px}.auth-card form{flex-direction:column;gap:10px;display:flex}.auth-card input{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:10px 12px}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:-1px}.auth-error{color:var(--danger);font-size:13px}.auth-message{color:var(--green);font-size:13px}.auth-switch{color:var(--accent);background:0 0;border:none;margin-top:16px;font-size:13px}.btn-primary{background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:10px 16px;font-weight:600}.btn-primary:hover{filter:brightness(1.1)}.btn-ghost{border:1px solid var(--border);color:var(--text-soft);white-space:nowrap;background:0 0;border-radius:8px;padding:7px 12px}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{border:1px solid var(--danger-border);color:var(--danger);background:0 0;border-radius:8px;padding:8px 14px}.btn-danger:hover{background:var(--danger-soft)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 18px;display:flex}.logo{white-space:nowrap;font-size:16px;font-weight:700}.filters{flex-wrap:wrap;flex:1;gap:6px;min-width:200px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip.active{background:var(--text);border-color:var(--text);color:var(--bg)}.chip-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.chip-count{opacity:.75;background:var(--chip-count-bg);border-radius:999px;padding:0 6px;font-size:11px}.chip-new{color:var(--text-soft);border-style:dashed}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.theme-toggle{border:1px solid var(--border);background:0 0;border-radius:8px;padding:5px 9px;font-size:15px;line-height:1.2}.theme-toggle:hover{background:var(--surface-2)}.theme-toggle:disabled{opacity:.35;cursor:default}.search-box{align-items:center;display:flex;position:relative}.search-box input{border:1px solid var(--border);background:var(--surface);width:200px;color:var(--text);border-radius:8px;padding:6px 58px 6px 30px;font-size:13px;transition:width .15s,border-color .15s}.search-box input::placeholder{color:var(--text-soft)}.search-box input:focus{border-color:var(--accent);outline:none;width:300px}.search-box.active input{border-color:var(--accent);background:var(--accent-soft)}.search-icon{pointer-events:none;opacity:.75;font-size:13px;position:absolute;left:9px}.search-count{color:var(--accent);pointer-events:none;font-size:11px;font-weight:700;position:absolute;right:30px}.search-clear{width:20px;height:20px;color:var(--text-soft);background:0 0;border:none;border-radius:50%;padding:0;font-size:12px;line-height:1;position:absolute;right:5px}.search-clear:hover{background:var(--surface-2);color:var(--text)}.search-empty{background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--text);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-size:13px;display:flex}mark.search-hit{color:inherit;background:#facc1599;border-radius:3px;padding:0 1px}.search-snippet{-webkit-line-clamp:2;color:var(--text-soft);-webkit-box-orient:vertical;margin-top:2px;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.idea-note.idea-dim{opacity:.2;filter:grayscale(.5)}.idea-note.idea-hit{outline-offset:2px;z-index:2;outline:3px solid #f59e0b}@media (width<=720px){.search-box{flex:100%;order:9}.search-box input,.search-box input:focus{width:100%}}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);z-index:120;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;animation:.15s toast-in;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast-undo{border:1px solid color-mix(in srgb, var(--bg) 45%, transparent);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-left:12px;padding:2px 10px;font-size:12px}.toast-undo:hover{background:color-mix(in srgb, var(--bg) 20%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.clean-done{color:var(--green);opacity:.7;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.clean-done:hover{opacity:1;background:var(--green-soft)}.quick-first{color:var(--warn-text);opacity:.85;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:700}.quick-first:hover{opacity:1;background:var(--warn-soft)}.quick-first:disabled{opacity:.25;cursor:default;background:0 0}.badge-week-where{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);font-weight:600}.badge-week-late{background:var(--danger-soft);color:var(--danger-strong);border:1px solid var(--danger-border-2);font-weight:700}:root[data-theme=dark] .badge-week-late{color:#fecaca;background:#450a0a;border-color:#b91c1c}.week-ghost{opacity:.9;border-style:dashed}.to-isolate{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;line-height:1.4}.to-isolate:hover{background:var(--accent);color:var(--on-accent)}.iso-veil{z-index:60;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:fixed;inset:0}.iso-keep{z-index:65;box-shadow:0 0 0 3px var(--accent), var(--shadow-xl);position:relative}.iso-bar{z-index:70;background:var(--surface);border:1px solid var(--accent);max-width:90vw;box-shadow:var(--shadow-xl);border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:13px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%)}.iso-bar b{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;overflow:hidden}.sort-select{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:8px;padding:6px 8px;font-size:13px}.load-error{background:var(--danger-soft);border-bottom:1px solid var(--danger-border);color:var(--danger-strong);justify-content:center;align-items:center;gap:12px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.load-error .btn-ghost{border-color:var(--danger-border-2);color:var(--danger-strong);padding:4px 12px}.main-row{flex:1;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.left-rail{flex-direction:column;gap:12px;width:280px;min-width:280px;display:flex}.kanban-new{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}:root{--series-ui:#e11d48;--series-imp:#4f46e5}:root[data-theme=dark]{--series-ui:#f43f5e;--series-imp:#6366f1}.impact-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 14px 0}.impact-hero{color:var(--text-soft);font-size:13px}.impact-hero strong{color:var(--text)}.impact-pct{color:var(--text-soft)}.impact-body{border-top:1px solid var(--border);grid-template-columns:1.4fr 1fr;gap:22px;padding:4px 14px 14px;display:grid}@media (width<=900px){.impact-body{grid-template-columns:1fr}}.impact-chart{min-width:0}.impact-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);margin:10px 0 2px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;display:block}.impact-sub{color:var(--text-soft);margin:0 0 8px;font-size:12px}.impact-legend{color:var(--text-soft);flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:11.5px;display:flex}.impact-legend span{align-items:center;gap:5px;display:inline-flex}.sw{border-radius:2px;width:9px;height:9px;display:inline-block}.sw-ui{background:var(--series-ui)}.sw-imp{background:var(--series-imp)}.sw-track{background:var(--count-bg);border:1px solid var(--border)}.impact-plot{position:relative}.impact-plot svg{width:100%;height:auto;display:block}.impact-plot .axis{stroke:var(--border);stroke-width:1px}.impact-plot .track{fill:var(--count-bg)}.impact-plot .s-ui{fill:var(--series-ui)}.impact-plot .s-imp{fill:var(--series-imp)}.impact-plot .val{fill:var(--text);font-size:10px;font-weight:700}.impact-plot .tick{fill:var(--text-soft);font-size:9.5px}.impact-plot g:hover .track{fill:var(--border)}.impact-tip{background:var(--text);color:var(--bg);pointer-events:none;white-space:nowrap;z-index:5;box-shadow:var(--shadow-lg);border-radius:7px;padding:6px 9px;font-size:11.5px;line-height:1.35;position:absolute;top:0;transform:translate(-50%)}.impact-table{color:var(--text-soft);margin-top:8px;font-size:11.5px}.impact-table summary{cursor:pointer}.impact-table table{border-collapse:collapse;margin-top:6px}.impact-table th,.impact-table td{text-align:left;padding:2px 10px 2px 0;font-weight:400}.impact-table th{letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,Consolas,monospace;font-size:10px}.impact-aging{flex-direction:column;gap:4px;display:flex}.age-row{text-align:left;background:0 0;border:none;border-radius:6px;grid-template-columns:1fr 86px 30px;align-items:center;gap:8px;padding:3px 2px;display:grid}.age-row:hover{background:var(--surface-2)}.age-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.age-bar{width:86px;height:12px}.age-bar .s-imp{fill:var(--series-imp)}.age-days{color:var(--text-soft);text-align:right;font-size:11px}.quads-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.quad-grid{grid-template-columns:1fr 1fr;align-items:start;gap:10px;min-width:0;display:grid}.quad-grid .quad{background:var(--surface);box-shadow:var(--shadow)}.side-cols{flex-direction:column;gap:10px;width:240px;min-width:210px;display:flex}.side-cols .task-card{padding:6px 8px}.side-cols .task-title{font-size:13px}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-width:0;display:flex}.stage-col{transition:border-color .1s,background .1s}.stage-col.over{border-color:var(--accent);background:var(--accent-soft)}.kanban-col-head{align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.kanban-col-head h3{margin:0;font-size:14px}.kanban-col-body{flex-direction:column;gap:8px;padding:4px 8px 10px;display:flex}.quad{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;transition:border-color .1s,background .1s}.quad.over{border-color:var(--accent);background:var(--accent-soft)}.quad-head{justify-content:space-between;align-items:center;padding:7px 10px 0;font-size:12px;font-weight:700;display:flex}.quad-count{color:var(--text-soft);background:var(--count-bg);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:400}.quad-body{flex-direction:column;gap:2px;padding:2px 6px 6px;display:flex}.quad-body .task-card{background:0 0;padding:5px 8px}.quad-body .task-card:hover{background:var(--surface)}.quad-body .quick-add input{padding:5px 8px;font-size:13px}.quad-ui{border-left:3px solid #ef4444}.quad-i{border-left:3px solid #4f46e5}.quad-u{border-left:3px solid #f59e0b}.quad-none{border-left:3px solid #94a3b8}.top-row{align-items:flex-start;gap:12px;margin:12px 14px 0;display:flex}.top-row .plan-band{flex:1;min-width:0;margin:0}.doing-side{width:260px;min-width:230px}.doing-side .task-card{padding:6px 8px}.doing-side .task-title{font-size:13px}.pb-days-sel{color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:1px 6px;font-size:12px;display:inline-flex}.pb-days-sel button{color:var(--text);background:0 0;border:none;padding:0 4px;font-size:13px;line-height:1.4}.pb-days-sel button:disabled{opacity:.25;cursor:default}.pb-col-toggle{cursor:pointer;align-items:center;gap:5px;min-width:0;display:inline-flex}.pb-col.pb-collapsed{cursor:pointer;flex:none;justify-content:center;align-self:stretch;align-items:center;width:34px;min-width:34px;padding:10px 0;display:flex}.pb-col.pb-collapsed:hover{background:var(--accent-soft)}.pb-vert{writing-mode:vertical-rl;color:var(--text-soft);white-space:nowrap;text-transform:capitalize;font-size:11px;font-weight:700}.pb-today.pb-collapsed .pb-vert{color:var(--accent)}.pb-col.pb-doing{background:linear-gradient(180deg, var(--violet-soft-2) 0%, var(--violet-soft) 100%);border:2px solid var(--violet);overflow:hidden;box-shadow:0 2px 10px #8b5cf638}.pb-doing .pb-col-head{background:var(--violet);margin-bottom:2px;padding:7px 10px}.pb-doing .pb-col-label{color:#fff;font-size:13px}.pb-doing .section-caret{color:#ffffffd9}.pb-doing .quad-count{color:#fff;background:#ffffff40}.pb-doing .pb-col-body .task-card{background:var(--surface);border-color:var(--violet-border)}.pb-doing .pb-col-body .task-card:hover{background:var(--surface);border-color:var(--violet)}.pb-doing .drop-hint{color:var(--violet-dark)}.pb-col.pb-doing.pb-collapsed{background:var(--violet);border-color:var(--violet-dark)}.pb-col.pb-doing.pb-collapsed .pb-vert{color:#fff}.pb-col.pb-focus{background:linear-gradient(180deg, var(--warn-soft) 0%, var(--surface) 100%);border:2px solid #f59e0b;overflow:hidden;box-shadow:0 2px 10px #f59e0b33}.pb-focus .pb-col-head{background:#f59e0b;margin-bottom:2px;padding:7px 10px}.pb-focus .pb-col-label{color:#fff}.pb-focus .section-caret{color:#ffffffd9}.pb-focus .quad-count{color:#fff;background:#ffffff40}.pb-focus .pb-col-body .task-card{background:var(--surface)}.pb-focus .drop-hint{color:var(--warn-text)}.pb-col.pb-focus.pb-collapsed{background:#f59e0b;border-color:#d97706}.pb-col.pb-focus.pb-collapsed .pb-vert{color:#fff}.badge-focus{background:var(--warn-soft)}.badge-triage{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;font-weight:600}:root[data-theme=dark] .badge-triage{color:#c7d2fe;background:#312e81;border-color:#4f46e5}.to-triage{color:#4338ca;cursor:pointer;white-space:nowrap;background:0 0;border:1px dashed #a5b4fc;border-radius:999px;padding:2px 7px;font-size:10.5px;line-height:1.4}.to-triage:hover{color:#fff;background:#6366f1;border-color:#6366f1}:root[data-theme=dark] .to-triage{color:#a5b4fc;background:0 0;border-color:#4f46e5}:root[data-theme=dark] .to-triage:hover{color:#fff;background:#6366f1}.badge-remind{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.badge-remind.due{color:#991b1b;background:#fee2e2;border-color:#fca5a5}:root[data-theme=dark] .badge-remind{color:#fde68a;background:#422006;border-color:#a16207}:root[data-theme=dark] .badge-remind.due{color:#fecaca;background:#450a0a;border-color:#b91c1c}.modal-overlay.rem-overlay{z-index:130}.rem-popup{border-top:4px solid var(--warn-text);flex-direction:column;gap:4px;max-width:560px;display:flex}.rem-popup h3{margin:0}.rem-sub{color:var(--text-soft);margin:0 0 6px;font-size:12.5px}.rem-list{flex-direction:column;gap:8px;max-height:60vh;display:flex;overflow-y:auto}.rem-item{border:1px solid var(--border);border-left:3px solid var(--warn-text);background:var(--surface-2);border-radius:8px;padding:8px 10px}.rem-item-head{align-items:baseline;gap:8px;display:flex}.rem-title{color:var(--text);text-align:left;background:0 0;border:none;flex:1;padding:0;font-size:14px;font-weight:600}.rem-title:hover{text-decoration:underline}.rem-ago{color:var(--warn-text);white-space:nowrap;font-size:11.5px;font-weight:600}.rem-notes{color:var(--text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:12.5px;display:-webkit-box;overflow:hidden}.rem-actions{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;display:flex}.rem-act{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px}.rem-act:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.rem-done{background:var(--green-soft);color:var(--green);border-color:#0000;font-weight:600}.rem-done:hover{background:var(--green);color:#fff;border-color:var(--green)}.rem-clear{color:var(--text-soft)}.rem-bulk{gap:6px;margin-top:10px;display:flex}.remind-row{align-items:center;gap:6px;display:flex}.remind-presets{flex-wrap:wrap;gap:5px;margin-bottom:6px;display:flex}.remind-preset{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px}.remind-preset:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.field-remind{grid-column:1/-1}.pb-col.pb-waiting{background:linear-gradient(180deg, #ecfeff 0%, var(--surface) 100%);border:2px solid #06b6d4;overflow:hidden;box-shadow:0 2px 10px #06b6d42e}:root[data-theme=dark] .pb-col.pb-waiting{background:linear-gradient(180deg, #0c2b30 0%, var(--surface) 100%)}.pb-waiting .pb-col-head{background:#06b6d4;margin-bottom:2px;padding:7px 10px}.pb-waiting .pb-col-label{color:#fff}.pb-waiting .section-caret{color:#ffffffd9}.pb-waiting .quad-count{color:#fff;background:#ffffff40}.pb-waiting .pb-col-body .task-card{background:var(--surface)}.pb-waiting .drop-hint{color:#0e7490}.pb-col.pb-waiting.pb-collapsed{background:#06b6d4;border-color:#0891b2}.pb-col.pb-waiting.pb-collapsed .pb-vert{color:#fff}.focus-zone{background:linear-gradient(#fef3c7 0%,#fffbeb 100%);border:2px solid #f59e0b;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:8px;padding:6px;display:flex}:root[data-theme=dark] .focus-zone{background:linear-gradient(#451a03 0%,#2a1e05 100%)}.focus-zone.over{outline-offset:2px;outline:2px solid #f59e0b}.focus-zone-head{align-items:center;gap:6px;display:flex}.focus-zone-label{color:#92400e;font-size:12.5px;font-weight:700}:root[data-theme=dark] .focus-zone-label{color:#fde68a}.focus-zone .quad-count{color:#fff;background:#f59e0b}.focus-zone .quad-count.wip-full{background:#dc2626}.focus-done-chip{color:#047857;background:#d1fae5;border:1px solid #6ee7b7;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}:root[data-theme=dark] .focus-done-chip{color:#6ee7b7;background:#064e3b;border-color:#059669}.focus-zone .drop-hint{color:var(--warn-text);padding:6px;font-size:12px}.focus-zone .task-card{background:var(--surface)}:root{--agent:#ea580c;--agent-strong:#c2410c;--agent-soft:#fff7ed;--agent-line:#fdba74;--on-agent:#fff}:root[data-theme=dark]{--agent:#fb923c;--agent-strong:#fb923c;--agent-soft:#2b1708;--agent-line:#9a3412;--on-agent:#1a1006}.agent-zone{border:1.5px solid var(--agent-line);background:var(--agent-soft);border-radius:10px;flex-direction:column;gap:6px;margin-top:8px;padding:6px;display:flex}.agent-zone.over{outline:2px solid var(--agent);outline-offset:2px}.agent-zone-head{align-items:center;gap:6px;display:flex}.agent-zone-label{color:var(--agent-strong);font-size:12px;font-weight:700}.agent-zone .quad-count{background:var(--agent-strong);color:var(--on-agent)}.agent-zone .drop-hint{color:var(--agent-strong);padding:4px 6px;font-size:11.5px}.agent-zone .task-card{background:var(--surface)}.agent-item{border:1.5px solid var(--agent-line);border-radius:10px;flex-direction:column;gap:4px;padding:4px;display:flex}.agent-foot{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0 4px 2px;display:flex}.agent-chip{border:1px solid var(--agent-line);background:var(--surface);color:var(--agent-strong);border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700}.agent-chip:hover{background:var(--agent-soft);border-color:var(--agent)}.agent-note{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-basis:100%;margin:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.agent-item.st-failed{border-color:var(--danger)}.agent-item.st-failed .agent-chip{background:var(--danger-soft);color:var(--danger-strong);border-color:var(--danger-border)}.agent-item.st-waiting{border-color:var(--agent);background:color-mix(in srgb, var(--agent) 9%, var(--surface));animation:1.6s ease-in-out infinite agent-glow}.agent-item.st-waiting .agent-chip{background:var(--agent-strong);color:var(--on-agent);border-color:#0000}@keyframes agent-glow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--agent) 0%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--agent) 38%, transparent)}}@keyframes agent-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes agent-blink-soft{0%,to{opacity:1}50%{opacity:.55}}.badge-agent{background:var(--agent-soft);color:var(--agent-strong);border:1px solid var(--agent-line);font-weight:700}.badge-agent.st-waiting{background:var(--agent-strong);color:var(--on-agent);border-color:#0000;animation:1.2s ease-in-out infinite agent-blink-soft}.badge-agent.st-failed{background:var(--danger-soft);color:var(--danger-strong);border-color:var(--danger-border)}.agent-alert{color:var(--on-agent);background:var(--agent-strong);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;animation:1.2s ease-in-out infinite agent-blink;box-shadow:0 0 0 1.5px #ffffffd9}@media (prefers-reduced-motion:reduce){.agent-item.st-waiting,.badge-agent.st-waiting,.agent-alert{animation:none}.agent-item.st-waiting{box-shadow:0 0 0 3px var(--agent)}}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kaeo-zone{border:1px dashed var(--violet);background:var(--violet-soft);border-radius:10px;flex-direction:column;gap:6px;margin-top:8px;padding:6px;display:flex}.kaeo-zone.over{outline:2px solid var(--violet);outline-offset:2px;border-style:solid}.kaeo-zone-head{align-items:center;gap:6px;display:flex}.kaeo-zone-label{color:var(--violet-dark);font-size:12px;font-weight:700}.kaeo-zone .quad-count{background:var(--violet);color:#fff}.kaeo-zone .drop-hint{color:var(--violet-dark);padding:4px 6px;font-size:11.5px}.kaeo-zone .task-card{background:var(--surface)}.badge-watch{background:var(--violet-soft-2);border:1px solid var(--violet-border)}.col-move{gap:2px;margin-left:4px;display:inline-flex}.col-move button{color:#fff;cursor:pointer;background:#ffffff40;border:none;border-radius:4px;width:16px;height:16px;padding:0;font-size:11px;line-height:1}.col-move button:hover{background:#ffffff73}.pb-col.pb-week{background:linear-gradient(180deg, #ecfdf5 0%, var(--surface) 100%);border:2px solid #10b981;overflow:hidden;box-shadow:0 2px 10px #10b9812e}:root[data-theme=dark] .pb-col.pb-week{background:linear-gradient(180deg, #064e3b 0%, var(--surface) 100%)}.pb-week .pb-col-head{background:#10b981;margin-bottom:2px;padding:7px 10px}.pb-week .pb-col-label{color:#fff}.pb-week .section-caret{color:#ffffffd9}.pb-week .quad-count{color:#fff;background:#ffffff40}.pb-week .pb-col-body .task-card{background:var(--surface)}.pb-week .drop-hint{color:#047857}.pb-col.pb-week.pb-collapsed{background:#10b981;border-color:#059669}.pb-col.pb-week.pb-collapsed .pb-vert{color:#fff}:root{--key-ring:#059669;--key-bg:#047857;--key-fg:#fff}:root[data-theme=dark]{--key-ring:#34d399;--key-bg:#34d399;--key-fg:#0f1218}.task-card.week-key{box-shadow:0 0 0 2px var(--key-ring), 0 3px 10px color-mix(in srgb, var(--key-ring) 28%, transparent)}.badge-week-key{background:var(--key-bg);color:var(--key-fg);border:none;font-weight:700}.task-card.week-carry{box-shadow:0 0 0 2px var(--warn-text)}.badge-week-carry{background:var(--warn-soft);color:var(--warn-text);border:1px dashed var(--warn-text);font-weight:700}.week-carry-chip{background:var(--warn-soft);color:var(--warn-text);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.week-carry{border-top:1px dashed var(--warn-text);flex-direction:column;gap:8px;margin-top:10px;padding-top:8px;display:flex}.week-carry-head{letter-spacing:.12em;text-transform:uppercase;color:var(--warn-text);font-family:ui-monospace,Consolas,monospace;font-size:10px}.week-carry-item{flex-direction:column;gap:4px;display:flex}.week-carry-actions{flex-wrap:wrap;gap:5px;display:flex}.badge-week{background:#d1fae5;border:1px solid #6ee7b7}:root[data-theme=dark] .badge-week{background:#064e3b;border-color:#059669}.ideas-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 14px 0}.ideas-add{font-size:12.5px}.ideas-canvas{border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);max-height:320px;overflow:auto}.ideas-surface{background-image:radial-gradient(circle, var(--border) 1px, transparent 1px);background-size:22px 22px;width:2400px;height:620px;position:relative}.ideas-surface.linking{cursor:crosshair}.ideas-empty{color:var(--text-soft);pointer-events:none;font-size:13px;position:absolute;top:24px;left:24px}.ideas-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ideas-links line{stroke:var(--text-soft);stroke-width:2px;opacity:.55}.ideas-links circle.link-del{fill:var(--surface);stroke:var(--text-soft);pointer-events:all;cursor:pointer}.ideas-links circle.link-del:hover{stroke:#dc2626}.ideas-links text{fill:var(--text-soft);font-size:10px}.idea-note{border-radius:4px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:2px 3px 8px #0000002e}.idea-note.link-source{outline:2px solid var(--accent);outline-offset:2px}.idea-note.link-target{cursor:crosshair}.idea-note.link-target:hover{outline:2px dashed var(--accent);outline-offset:2px}.idea-handle{cursor:grab;touch-action:none;background:#0000000f;align-items:center;gap:2px;padding:2px 4px;display:flex}.idea-handle:active{cursor:grabbing}.idea-btn{cursor:pointer;color:#0000008c;background:0 0;border:none;border-radius:4px;padding:1px 3px;font-size:11px;line-height:1}.idea-btn:hover{background:#0000001f}.idea-btn.active{background:var(--accent);color:#fff}.idea-note textarea{resize:none;color:#1f2937;background:0 0;border:none;outline:none;flex:1;padding:6px 8px;font-family:inherit;font-size:12.5px;line-height:1.35}.idea-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 0 50%,#00000047 50% 58%,#0000 58% 70%,#00000047 70% 78%,#0000 78%);border-bottom-right-radius:4px;width:16px;height:16px;position:absolute;bottom:0;right:0}.idea-resize:hover{background-color:#00000014}:root[data-theme=dark] .idea-note{box-shadow:2px 3px 10px #00000080}.cl-promote{border:1px solid var(--border);background:var(--surface-2);color:var(--accent);cursor:pointer;border-radius:6px;padding:4px 7px;font-size:12px;line-height:1}.cl-promote:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.cl-promote:disabled{opacity:.35;cursor:default}.cl-promote-all{border:1px solid var(--border);background:var(--surface-2);color:var(--accent);cursor:pointer;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.cl-promote-all:hover{background:var(--accent);border-color:var(--accent);color:#fff}.auth-forgot{opacity:.85;margin-top:10px;font-size:12.5px}.recovery-modal{flex-direction:column;gap:10px;max-width:380px;display:flex}.recovery-modal input{width:100%}.legend-panel{max-width:640px}.legend-cols{grid-template-columns:1fr 1fr;gap:4px 22px;display:grid}@media (width<=640px){.legend-cols{grid-template-columns:1fr}}.legend-cols h4{color:var(--text-soft);margin:8px 0 4px;font-size:13px}.legend-cols ul{margin:0;padding:0;list-style:none}.legend-cols li{padding:2px 0;font-size:13px}.pb-col.pb-triage{background:linear-gradient(180deg, #eef2ff 0%, var(--surface) 100%);border:2px solid #6366f1;overflow:hidden;box-shadow:0 2px 10px #6366f12e}:root[data-theme=dark] .pb-col.pb-triage{background:linear-gradient(180deg, #1e1b4b 0%, var(--surface) 100%)}.pb-triage .pb-col-head{background:#6366f1;margin-bottom:2px;padding:7px 10px}.pb-triage .pb-col-label{color:#fff}.pb-triage .section-caret{color:#ffffffd9}.pb-triage .quad-count{color:#fff;background:#ffffff40}.pb-triage .pb-col-body .task-card{background:var(--surface)}.pb-triage .drop-hint{color:#4338ca}.pb-col.pb-triage.pb-collapsed{background:#6366f1;border-color:#4f46e5}.pb-col.pb-triage.pb-collapsed .pb-vert{color:#fff}.plan-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 14px 0}.horizon-band{margin-top:12px}.plan-band-body{align-items:flex-start;gap:10px;padding:0 12px 12px;display:flex;overflow-x:auto}.pb-col{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:1 1 0;min-width:175px;transition:border-color .1s,background .1s}.horizon-band .pb-col{flex:none;width:200px;min-width:200px}.pb-col.over{border-color:var(--accent);background:var(--accent-soft)}.pb-col.pb-today{border-color:var(--accent);background:var(--accent-soft);border-width:2px}.pb-col.pb-backlog{border-left:4px solid var(--danger);background:var(--danger-soft)}.pb-col-head{align-items:center;gap:6px;padding:7px 10px 2px;display:flex}.pb-col-label{text-transform:capitalize;white-space:nowrap;font-size:12px;font-weight:700}.pb-today .pb-col-label{color:var(--accent)}.pb-col-sub{color:var(--text-soft);font-weight:500}.pb-col-body{flex-direction:column;gap:2px;min-height:48px;padding:2px 6px 8px;display:flex}.pb-col-body .task-card{background:0 0;padding:5px 8px}.pb-col-body .task-card:hover{background:var(--surface)}.pb-col-body .quick-add input{width:100%}.objectives-bar{border-top:1px solid var(--border);background:var(--surface);align-items:stretch;gap:12px;padding:10px 16px;display:flex}.objectives-title{white-space:nowrap;align-self:center;font-size:13px;font-weight:700}.objectives-scroll{flex:1;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.obj-card{border:1px solid var(--border);border-top:3px solid var(--accent);background:var(--surface-2);border-radius:8px;min-width:210px;max-width:260px;padding:7px 10px}.obj-card.active{outline:2px solid var(--accent)}.obj-head{align-items:center;gap:4px;display:flex}.obj-name{color:var(--text);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;padding:0;font-size:13px;font-weight:600;display:inline-flex}.obj-name:hover{color:var(--accent)}.obj-progress{align-items:center;gap:8px;margin-top:4px;display:flex}.obj-progress input[type=range]{flex:1;height:18px}.obj-pct{text-align:right;min-width:34px;font-size:12px;font-weight:700}.obj-meta{color:var(--text-soft);margin-top:2px;font-size:11px}.obj-new{border:1px dashed var(--border);color:var(--text-soft);white-space:nowrap;background:0 0;border-radius:8px;padding:0 18px}.obj-new:hover{background:var(--surface-2);color:var(--text)}.empty-hint{color:var(--text-soft);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;padding:24px}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.section-header h2{margin:0;font-size:14px;font-weight:600}.section-subtitle{color:var(--text-soft);font-size:11px;font-style:italic}.section-caret{color:var(--text-soft);width:12px;font-size:11px}.section-dot{border-radius:3px;width:10px;height:10px}.section-count{color:var(--text-soft);background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px}.section-spacer{flex:1}.section-menu{color:var(--text-soft);background:0 0;border:none;border-radius:6px;padding:0 6px;font-size:16px}.section-menu:hover{background:var(--surface-2)}.section-body{flex-direction:column;gap:4px;padding:4px 10px 10px;display:flex}.quick-add{gap:6px;padding:4px 2px 0;display:flex}.quick-add input{color:var(--text);background:0 0;border:none;border-radius:6px;flex:1;padding:7px 8px}.quick-add input::placeholder{color:var(--placeholder)}.quick-add input:focus{background:var(--surface-2);outline:none}.quick-add select{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:6px;max-width:140px;font-size:12px}.show-done{color:var(--text-soft);text-align:left;background:0 0;border:none;padding:6px 8px;font-size:12px}.show-done:hover{color:var(--text)}.task-card{background:var(--surface);touch-action:manipulation;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:9px;padding:8px 10px;display:flex}.task-card:hover{background:var(--surface-2);border-color:var(--border)}.task-card.dragging{opacity:.35}.task-card.reorder-over{box-shadow:inset 0 3px 0 var(--accent);border-radius:0 0 8px 8px}.task-card.selected,.task-divider.selected{outline:2px solid var(--accent);outline-offset:1px}.quad-mark{vertical-align:baseline;margin-right:4px;font-size:11px;display:inline-block}.badge-quick{background:var(--green-soft);color:var(--green);font-weight:700}.ctx-backdrop{z-index:130;position:fixed;inset:0}.ctx-menu{background:var(--surface);border:1px solid var(--border);min-width:210px;max-height:400px;box-shadow:var(--shadow-xl);border-radius:10px;padding:5px;position:fixed;overflow-y:auto}.ctx-title{color:var(--text-soft);padding:5px 9px 3px;font-size:11px;font-weight:700}.ctx-sep{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);padding:6px 9px 2px;font-size:10px;font-weight:700}.ctx-item{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.ctx-moves{grid-template-columns:1fr 1fr;gap:4px;padding:0 4px 6px;display:grid}.ctx-move{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;white-space:nowrap;border-radius:7px;padding:7px 9px;font-size:12.5px}.ctx-move:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ctx-item:hover{background:var(--surface-2)}.ctx-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.ctx-none{color:var(--text-soft);text-align:center;width:8px}.ctx-link{color:var(--accent)}.ctx-link:hover{background:var(--accent-soft)}.ctx-link-icon{text-align:center;width:8px}.badge-link{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border)}.ctx-new-input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:7px;margin-top:2px;padding:7px 9px;font-size:13px}.ctx-new-input:focus{border-color:var(--accent);outline:none}.rec-card.reorder-over-h{box-shadow:inset 3px 0 0 var(--accent)}.task-divider{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:5px;align-items:center;margin:3px 0;padding:3px 9px;display:flex}.task-divider.dragging{opacity:.35}.task-divider.reorder-over{box-shadow:inset 0 3px 0 var(--text)}.divider-label{color:#fff;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere;font-size:11px;font-weight:800}.add-divider{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:6px;padding:0 8px;font-size:14px;line-height:1.6}.add-divider:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-soft)}.swatch-none{color:var(--text-soft);place-items:center;font-size:13px;display:grid;background:var(--surface-2)!important}.task-card,.rec-card{position:relative}.unplan-x{background:var(--surface-2);width:18px;height:18px;color:var(--text-soft);opacity:0;border:none;border-radius:50%;padding:0;font-size:11px;line-height:1;transition:opacity .12s;position:absolute;top:4px;right:4px}.task-card:hover .unplan-x,.rec-card:hover .unplan-x{opacity:1}.unplan-x:hover{background:var(--danger-soft);color:var(--danger)}@media (hover:none){.unplan-x{opacity:.55}}.card-del{background:var(--surface-2);width:18px;height:18px;color:var(--text-soft);opacity:0;pointer-events:none;border:none;border-radius:50%;place-items:center;padding:0;transition:opacity .12s;display:grid;position:absolute;top:4px;right:4px}.card-del.has-x{right:26px}.task-card.selected .card-del,.task-divider.selected .card-del{opacity:1;pointer-events:auto}@media (hover:hover){.task-card:hover .card-del,.task-divider:hover .card-del,.rec-card:hover .card-del{opacity:1;pointer-events:auto}}.card-del:hover,.card-del:focus-visible{background:var(--danger-soft);color:var(--danger);opacity:1;pointer-events:auto}.task-divider{position:relative}.task-divider .card-del{color:#fff;background:#ffffff47;top:50%;right:6px;transform:translateY(-50%)}.task-divider .card-del:hover,.task-divider .card-del:focus-visible{background:var(--danger);color:#fff}.task-card.done .task-title{color:var(--text-soft);text-decoration:line-through}.drag-overlay{background:var(--surface);border:1px solid var(--accent);box-shadow:var(--shadow-lg);max-width:300px}.check{border:2px solid var(--check-border);background:var(--surface);width:20px;min-width:20px;height:20px;color:var(--on-accent);border-radius:50%;place-items:center;margin-top:1px;padding:0;font-size:12px;line-height:1;display:grid}.check:hover{border-color:var(--green);color:var(--green)}.check.checked{background:var(--green);border-color:var(--green)}.check-recurring{border-radius:6px}.task-body{cursor:pointer;flex:1;min-width:0}.task-title{overflow-wrap:break-word;line-height:1.35;display:block}.prio-high{color:var(--danger);margin-right:5px;font-weight:800}.task-badges{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.badge{color:var(--text-soft);background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:11px}.badge-project{color:#fff}.badge-planned{background:var(--accent-soft);color:var(--accent)}.badge-horizon{background:var(--warn-soft);color:var(--warn-text)}.badge-done-recent{background:var(--green-soft);color:var(--green)}.plan-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:380px;min-width:380px;min-height:0;display:flex}.plan-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.plan-tabs{flex:1;gap:4px;display:flex}.plan-tabs button{color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.plan-tabs button.active{background:var(--accent-soft);color:var(--accent)}.plan-collapse{border:1px solid var(--border);color:var(--text-soft);background:0 0;border-radius:8px;padding:4px 9px}.week-nav{align-items:center;gap:6px;padding:8px 12px;display:flex}.week-nav button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:4px 10px}.week-nav .week-today{flex:1;font-size:13px;font-weight:600}.plan-scroll{flex-direction:column;flex:1;gap:8px;padding:8px 12px 12px;display:flex;overflow-y:auto}.drop-row{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;transition:border-color .1s,background .1s}.drop-row.today{border-color:var(--accent)}.drop-row.today .drop-row-label{color:var(--accent)}.drop-row.over{background:var(--accent-soft);border-color:var(--accent)}.drop-row.overdue{border-color:var(--danger-border-2);background:var(--danger-soft)}.drop-row-head{align-items:baseline;gap:8px;padding:7px 10px 0;display:flex}.drop-row-label{text-transform:capitalize;font-size:12px;font-weight:700}.drop-row-sub{color:var(--text-soft);font-size:11px}.drop-row-body{flex-direction:column;gap:2px;padding:2px 6px 6px;display:flex}.drop-row-body .task-card{background:0 0;padding:5px 8px}.drop-row-body .task-card:hover{background:var(--surface)}.drop-hint{color:var(--hint);padding:2px 8px 4px;font-size:11px;font-style:italic}.day-add input{padding:4px 8px;font-size:12px}.row-clear{color:var(--text-soft);opacity:.55;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px}.row-clear:hover{opacity:1;background:var(--danger-soft);color:var(--danger)}.row-clear:disabled{opacity:.2;cursor:default}.week-clear{font-size:14px}.unplan-zone{border:2px dashed var(--border);color:var(--text-soft);text-align:center;border-radius:8px;margin:8px 12px 12px;padding:12px;font-size:12px;display:none}.unplan-zone.visible{display:block}.unplan-zone.over{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.modal-overlay{background:var(--overlay);z-index:100;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(500px,100vw - 32px);max-height:calc(100vh - 40px);box-shadow:var(--shadow-xl);border-radius:14px;flex-direction:column;gap:12px;padding:20px;display:flex;overflow-y:auto}.modal h3{margin:0;font-size:15px}.modal-title{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:9px 12px;font-size:16px;font-weight:600}.modal textarea{border:1px solid var(--border);background:var(--surface-2);resize:vertical;border-radius:8px;padding:9px 12px}.modal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--text-soft);font-size:12px;font-weight:600}.field select,.field input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:7px 9px;font-weight:400}.modal-checks{gap:18px;display:flex}.modal-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.kind-toggle{gap:8px;display:flex}.kind-toggle button{border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px;display:flex}.kind-toggle button small{font-size:11px}.kind-toggle button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.check-label{flex-direction:row;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.check-label input[type=checkbox]{width:16px;height:16px}.checklist{flex-direction:column;gap:6px;display:flex}.checklist-item{align-items:center;gap:8px;display:flex}.checklist-item input[type=checkbox]{flex-shrink:0;width:15px;height:15px}.checklist-item input[type=text]{background:var(--surface-2);border:1px solid #0000;border-radius:6px;flex:1;min-width:0;padding:4px 7px;font-size:13px}.checklist-item input[type=text]:focus{outline:1px solid var(--accent);background:var(--surface)}.checklist-item .cl-done{color:var(--text-soft);text-decoration:line-through}.checklist-add{border:1px dashed var(--border);background:0 0;border-radius:6px;padding:5px 8px;font-size:13px}.checklist-add:focus{outline:1px solid var(--accent)}.badge-checklist{background:var(--green-soft);color:var(--green)}.completion-field{color:var(--text-soft);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.color-swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid #0000;border-radius:8px;width:28px;height:28px;padding:0}.swatch.selected{outline:2px solid var(--text);outline-offset:2px}.section.drop-over{border-color:var(--accent);background:var(--accent-soft)}.kanban-col-head{cursor:pointer;-webkit-user-select:none;user-select:none}.kanban-col.collapsed .kanban-col-head{padding-bottom:10px}.quad-head{cursor:pointer;-webkit-user-select:none;user-select:none}.quads-clean{border:1px solid var(--green);background:var(--green-soft);color:var(--green);border-radius:999px;align-self:flex-start;margin-bottom:4px;padding:6px 12px;font-size:12.5px;font-weight:600}.quads-clean:hover{background:var(--green);color:var(--surface)}.quad-head .section-caret{font-size:10px}.quad:has(.quad-head:only-child) .quad-head{padding-bottom:7px}.recurring-strip{background:linear-gradient(135deg, var(--violet-soft) 0%, var(--accent-soft) 100%);border:1px solid var(--violet-border);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 14px 0}.recurring-strip-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 14px;display:flex}.recurring-strip-head h3{margin:0;font-size:14px}.rec-due-badge{color:var(--on-accent);background:var(--danger);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.recurring-strip-body{align-items:stretch;gap:8px;padding:0 12px 12px;display:flex;overflow-x:auto}.rec-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:8px;flex-shrink:0;align-items:flex-start;gap:8px;min-width:190px;max-width:240px;padding:8px 10px;display:flex}.rec-card.rec-due{border-left-color:var(--danger)}.rec-card.dragging{opacity:.35}.rec-done{border:2px solid var(--check-border);background:var(--surface);width:26px;min-width:26px;height:26px;color:var(--text-soft);border-radius:8px;padding:0;font-size:14px;line-height:1}.rec-done:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.rec-body{cursor:pointer;min-width:0}.rec-title{overflow-wrap:break-word;font-size:13px;font-weight:600;line-height:1.3;display:block}.rec-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.rec-freq{color:var(--text-soft);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:10px}.rec-fresh{font-size:11px;font-weight:600}.rec-fresh-ok{color:var(--green)}.rec-fresh-due{color:var(--danger)}.rec-add{flex-shrink:0;align-items:center;display:flex}.rec-add input{border:1px dashed var(--violet-border);background:0 0;border-radius:8px;width:160px;padding:8px 10px;font-size:13px}.rec-add input:focus{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}.recurring-strip.drop-over{border-color:var(--accent);outline:2px solid var(--accent)}.today-strip{background:linear-gradient(135deg, var(--warn-soft) 0%, var(--on-accent)7ed 100%);border-color:var(--warn-text)}.today-hint{padding:10px 6px;font-style:italic}.today-card .rec-done{border-radius:50%}.chat-fab{background:var(--accent);width:52px;height:52px;color:var(--on-accent);z-index:90;border:none;border-radius:50%;font-size:22px;position:fixed;bottom:110px;right:20px;box-shadow:0 6px 20px #4f46e566}.chat-fab:hover{filter:brightness(1.1)}.chat-panel{background:var(--surface);border:1px solid var(--border);width:380px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 180px);box-shadow:var(--shadow-xl);z-index:90;border-radius:14px;flex-direction:column;display:flex;position:fixed;bottom:110px;right:20px;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.chat-small-btn{padding:3px 8px;font-size:12px}.chat-messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-hint{color:var(--text-soft);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px}.chat-hint ul{margin:6px 0 0;padding-left:18px}.chat-hint li{margin:3px 0}.chat-msg{white-space:pre-wrap;overflow-wrap:break-word;border-radius:12px;max-width:85%;padding:8px 11px;font-size:13px;line-height:1.4}.chat-msg.user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.chat-msg.assistant{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.chat-typing{color:var(--text-soft)}.chat-input-row{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:10px;display:flex}.chat-input-row textarea{border:1px solid var(--border);resize:none;background:var(--surface-2);border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.chat-input-row textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.chat-input-row .btn-primary{padding:8px 14px}.chat-demo-note{border-top:1px solid var(--border);color:var(--text-soft);text-align:center;padding:12px;font-size:12px}@media (width<=1100px){.kanban{flex-direction:column;align-items:stretch}.stage-col{min-width:0}}@media (width<=860px){.layout{flex-direction:column}.left-rail{width:100%;min-width:0;padding:12px 12px 0;overflow-y:visible}.plan-panel{border-left:none;border-top:1px solid var(--border);width:100%;min-width:0;max-height:55vh}.objectives-bar{flex-direction:column;gap:6px}.topbar{gap:8px;padding:8px 12px}.logo{font-size:14px}}
