:root{color-scheme:light;--bg-0: #f8fbff;--bg-1: #eef6f7;--bg-2: #eaf0f6;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .92);--surface-soft: rgba(255, 255, 255, .56);--line: rgba(148, 163, 184, .28);--line-strong: rgba(100, 116, 139, .28);--text: #0f172a;--muted: #64748b;--subtle: #94a3b8;--green: #22c55e;--cyan: #06b6d4;--blue: #2563eb;--yellow: #f59e0b;--red: #ef4444;--green-dark: #15803d;--purple: #8b5cf6;--orange: #f97316;--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--shadow-soft: 0 20px 60px rgba(15, 23, 42, .08);--shadow-card: 0 16px 36px rgba(15, 23, 42, .08);--shadow-hover: 0 24px 54px rgba(15, 23, 42, .13);--blur: blur(22px) saturate(145%);--nav-width: 232px;--topbar-height: 76px;--ai-dock-bottom: 22px;--ai-dock-left: calc(var(--nav-width) + 36px);--ai-dock-height: 84px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at 18% 10%,rgba(34,197,94,.18),transparent 32%),radial-gradient(circle at 85% 4%,rgba(6,182,212,.18),transparent 28%),linear-gradient(135deg,var(--bg-0),var(--bg-1) 48%,var(--bg-2));overflow-x:hidden}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}button:disabled{cursor:progress;opacity:.74}.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(580px,100%);padding:28px 34px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-soft)}.brand-mark,.brand-orb{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 16px 36px #22c55e3d}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.login-card h1{margin:10px 0;font-size:clamp(30px,4.4vw,42px);line-height:1.08;letter-spacing:0}.login-copy{color:var(--muted);line-height:1.7}.login-card label{display:grid;gap:8px;margin:10px 0;color:var(--muted);font-weight:700}.login-card input,.settings-form input{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--text);background:#ffffffd1;outline:none}.login-card input:focus,.ai-input-row input:focus,.settings-form input:focus{border-color:#22c55e8a;box-shadow:0 0 0 4px #22c55e1a}.login-row{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.check{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px;margin:0!important;white-space:nowrap}.primary-btn,.top-actions button,.ghost-btn,.task-actions button,.review-hero button,.settings-form button,.ai-input-row button,.suggestions button,.archive-modal-card button{border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--text);background:#ffffffb8;box-shadow:0 10px 24px #0f172a0f}.primary-btn{color:#fff;border:0;background:linear-gradient(135deg,var(--green),var(--cyan))}.login-card .primary-btn{width:100%;margin-top:14px}.login-error{color:var(--muted);font-size:13px;min-height:20px}.app-shell{height:100vh;display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);padding:18px;gap:18px}.sidebar{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-soft)}.side-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.side-brand strong{display:block}.side-brand span{display:block;color:var(--muted);font-size:12px}.side-nav{display:grid;gap:8px}.nav-btn{width:100%;justify-content:flex-start;border-radius:16px;text-align:left;box-shadow:none}.ghost-btn{width:auto;justify-content:center;box-shadow:none;color:var(--muted)}.ghost-btn:hover{color:var(--text)}.nav-btn{border:0;padding:12px 13px;color:var(--muted);background:transparent}.nav-btn.active{color:var(--text);background:#ffffffd1;box-shadow:0 12px 28px #0f172a12}.side-bottom{margin-top:auto;display:grid;gap:8px}.sync-indicator{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px 13px;border-radius:16px;color:var(--muted);font-size:13px;font-weight:700;background:#ffffff80}.sync-indicator.synced{color:var(--green-dark)}.sync-indicator.syncing{color:var(--muted)}.sync-indicator.offline{color:var(--yellow)}.main-stage{min-width:0;display:grid;grid-template-rows:var(--topbar-height) minmax(0,1fr);gap:14px;position:relative}.topbar{border:1px solid var(--line);background:var(--surface-soft);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-soft)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:var(--radius-lg)}.topbar h2{margin:0;font-size:18px;letter-spacing:0}.top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-actions button{padding:8px 12px;font-size:13px}.top-sync-status{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;color:var(--muted);background:#ffffff94}.top-sync-status.offline{color:var(--red)}.content{min-height:0;overflow:auto;padding:2px;padding-bottom:calc(var(--ai-dock-height) + var(--ai-dock-bottom) + 16px)}.board{display:grid;gap:14px;min-height:100%}.backlog-stage{display:grid;gap:12px}.backlog-group-selector{display:flex;flex-wrap:wrap;gap:8px}.backlog-group-selector button{height:34px;min-height:0;flex:0 0 auto;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 12px;line-height:1;color:var(--muted);background:#ffffff9e;box-shadow:none}.backlog-group-selector button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--green),var(--cyan))}.three-cols{grid-template-columns:repeat(3,minmax(240px,1fr))}.backlog-board{grid-template-columns:repeat(4,minmax(220px,1fr))}.task-column{min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff6b}.column-head,.archive-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);font-weight:800}.column-head i{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:999px}.task-card{position:relative;overflow:hidden;margin-bottom:12px;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);background:var(--surface-strong);box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.task-card.is-running{border-color:color-mix(in srgb,var(--accent, #22c55e),white 25%);animation:runningGlow 2.8s ease-in-out infinite}@keyframes runningGlow{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:var(--shadow-card),0 0 30px color-mix(in srgb,var(--accent, #22c55e),transparent 55%)}}.task-card.is-done{opacity:.74;filter:grayscale(.18)}.task-card.is-done:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#f1f5f97a}.task-stripe{position:absolute;inset:0 auto 0 0;z-index:2;width:4px;background:var(--accent, #14b8a6)}.task-body{position:relative;z-index:0;padding:14px 14px 13px 18px}.task-labels{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.chip{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--chip, #94a3b8),white 62%);border-radius:999px;padding:4px 8px;color:color-mix(in srgb,var(--chip, #64748b),black 18%);background:color-mix(in srgb,var(--chip, #94a3b8),white 88%);font-size:12px;font-weight:800}.chip.muted{--chip: #94a3b8}.chip.large{padding:8px 12px;font-size:13px}.task-card h3{margin:12px 0 10px;font-size:15px;line-height:1.45}.task-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.task-meta strong{color:var(--green-dark, #15803d);font-variant-numeric:tabular-nums}.task-actions{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;opacity:0;pointer-events:none;background:#0f172a1a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .16s ease}.task-card:hover .task-actions,.task-card:focus-within .task-actions{opacity:1;pointer-events:auto}.task-actions button{padding:8px 12px;font-size:12px;background:#fff}.archive-list{display:grid;gap:14px}.archive-day{padding:18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff7a}.archive-head h3{margin:0;color:var(--text)}.archive-item{display:block;width:100%;border:0;padding:0;text-align:left;color:inherit;background:transparent}.end-note{color:var(--muted);text-align:center}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.review-hero,.metric-card,.review-list,.settings-grid>section,.settings-grid>aside{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.review-hero{grid-column:1 / -1;padding:24px}.review-hero h3{margin:14px 0 8px;font-size:28px}.range-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:#ffffffb8}.range-toggle button{border:0;border-radius:999px;padding:8px 12px;background:transparent}.range-toggle .active{color:#fff;background:var(--text)}.metric-card{display:grid;gap:6px;padding:22px}.metric-card strong{font-size:34px}.metric-card span,.review-hero p,.hint{color:var(--muted)}.review-list{grid-column:1 / -1;padding:18px}.review-list h3{margin-top:0}.review-dialogs{grid-column:1 / -1;padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.review-dialogs h3{margin-top:0}.dialog-list{display:grid;gap:10px}.dialog-entry{padding:12px;border:1px solid var(--line);border-radius:12px;background:#ffffffb3}.dialog-entry.completed{border-left:3px solid var(--green)}.dialog-entry.error{border-left:3px solid var(--red)}.dialog-entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dialog-entry-time{color:var(--muted);font-size:12px}.dialog-entry-status{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#94a3b82e}.dialog-entry-status.completed{color:var(--green-dark);background:#22c55e1f}.dialog-entry-status.error{color:var(--red);background:#ef44441f}.dialog-entry-message,.dialog-entry-response{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.dialog-entry-response{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.dialog-entry-label{flex:0 0 36px;color:var(--muted);font-size:12px;font-weight:700}.dialog-entry-text{flex:1;min-width:0;color:var(--text);font-size:13px;line-height:1.5;word-break:break-word}.dialog-entry-response .dialog-entry-text{color:var(--muted)}.settings-version{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card);align-self:start}.version-number{font-size:13px;color:var(--text);font-weight:700}.settings-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-grid>aside{display:grid;align-content:start;gap:8px;padding:14px}.settings-grid>aside button{justify-content:flex-start;border:0;border-radius:14px;padding:12px;color:var(--muted);background:transparent}.settings-grid>aside .active{color:var(--text);background:#fffc}.settings-grid>section{padding:22px}.settings-grid h3{margin-top:0;font-size:24px}.label-cloud{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.settings-form{display:grid;grid-template-columns:minmax(160px,1fr) 72px auto;gap:10px;align-items:center}.label-manager{display:grid;gap:8px;margin:10px 0 0}.label-groups{display:grid;gap:16px;margin:16px 0}.label-group{display:grid;gap:8px}.label-group-head{display:flex;align-items:center;gap:10px}.label-group-name{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;color:var(--text);background:#94a3b82e;font-size:12px;font-weight:800;letter-spacing:.02em}.label-group-count{color:var(--muted);font-size:12px;font-weight:700}.label-empty{color:var(--muted)}.label-row{display:grid;grid-template-columns:34px minmax(0,1fr) 120px auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:#ffffff9e}.label-swatch{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:none;cursor:pointer}.label-name-input{width:100%;border:1px solid transparent;border-radius:10px;padding:8px 10px;color:var(--text);background:transparent;font-weight:700;outline:none}.label-name-input:hover{border-color:var(--line)}.label-name-input:focus{border-color:#22c55e8a;background:#ffffffe6}.label-group-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--muted);background:#ffffffb8;font-size:13px;outline:none}.label-group-input:focus{border-color:#22c55e8a;color:var(--text)}.label-delete-btn{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#ffffffb3}.label-delete-btn:hover{color:var(--red);border-color:color-mix(in srgb,var(--red),white 55%)}.label-confirm-actions{display:inline-flex;gap:6px}.label-confirm-btn{border:0;border-radius:10px;padding:8px 12px;color:#fff;background:var(--red);font-size:12px;font-weight:700}.label-cancel-btn{border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--muted);background:#ffffffb3;font-size:12px}.label-add-row{display:grid;grid-template-columns:minmax(140px,1fr) 120px 44px auto;gap:10px;align-items:center;margin-top:4px}.label-add-row input[type=text],.label-add-row>input:not([type=color]){border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--text);background:#ffffffd9;outline:none}.label-add-row input[type=color]{width:44px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:none;cursor:pointer}.ai-dock{position:fixed;z-index:400;pointer-events:none;transition:none}.ai-dock.docked{bottom:var(--ai-dock-bottom);left:var(--ai-dock-left);right:36px;max-width:min(880px,calc(100vw - var(--ai-dock-left) - 36px));margin:0 auto;pointer-events:auto}.ai-dock.docked .ai-panel-v2{width:100%;padding:0;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;gap:8px}.ai-dock.centered{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,32px);pointer-events:auto}.ai-dock-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:#0f172a5c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:default;animation:ai-dock-fade-in .18s ease}.ai-dock.centered .ai-panel-v2{position:relative;z-index:1;width:min(680px,100%);max-height:min(78vh,720px);overflow-y:auto;padding:20px 22px 16px;gap:12px;border-radius:24px;border:1px solid rgba(148,163,184,.24);background:#fafcfbf7;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:0 40px 100px #0f172a47,0 0 0 1px #ffffff80 inset;animation:ai-dock-scale-in .22s cubic-bezier(.22,1,.36,1)}@keyframes ai-dock-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ai-dock-scale-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel-v2{display:grid;gap:10px;pointer-events:auto;cursor:text}.ai-dock.centered .ai-bubble-list{max-height:200px}.ai-bubble-list{display:grid;gap:6px;max-height:140px;overflow-y:auto}.ai-bubble{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:8px 12px;border-radius:12px;background:#ffffffb8;border:1px solid var(--line)}.ai-bubble-status{flex-shrink:0;font-size:14px}.ai-bubble.completed .ai-bubble-status{color:var(--green-dark)}.ai-bubble.error .ai-bubble-status{color:var(--red)}.ai-bubble-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(480px,100%)}.ai-bubble-response{color:var(--green-dark);font-size:12px}.ai-bubble-actions{display:flex;gap:6px}.ai-bubble-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer}.ai-dock-header{display:flex;align-items:center;gap:12px;padding-bottom:4px}.ai-dock-header-orb{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 10px 24px #22c55e47}.ai-dock-header-copy{display:grid;gap:2px;min-width:0}.ai-dock-header-copy strong{font-size:17px;letter-spacing:.01em}.ai-dock-header-copy span{font-size:12.5px;color:var(--muted)}.ai-dock-close{margin-left:auto;width:32px;height:32px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fffc;box-shadow:none}.ai-dock-close:hover{color:var(--text)}.ai-quick-phrases{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ai-quick-phrases-label{font-size:12px;color:var(--subtle);flex-shrink:0;margin-right:2px}.quick-phrase-chip{border:0;background:#0f172a0d;border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;color:var(--muted);box-shadow:none;transition:background .12s,color .12s}.quick-phrase-chip:hover{color:var(--green-dark);background:#22c55e1f}.ai-composer{display:grid;border:1px solid rgba(148,163,184,.4);border-radius:18px;background:#fff;box-shadow:0 12px 36px #0f172a1f;transition:border-color .15s,box-shadow .15s;overflow:hidden}.ai-composer:focus-within{border-color:#22c55e8c;box-shadow:0 0 0 3px #22c55e24,0 16px 44px #0f172a24}.ai-dock.docked .ai-composer.is-collapsed{border-radius:999px}.is-processing .ai-composer{border-color:#22c55e66;box-shadow:0 0 0 3px #22c55e1a,0 12px 36px #22c55e24}.ai-input-mirror-wrap{position:relative;min-width:0}.ai-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:var(--green);pointer-events:none}.ai-kbd-hint{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:2;font-size:11px;font-weight:600;font-family:inherit;color:var(--subtle);border:1px solid var(--line);border-radius:6px;padding:2px 6px;background:#0f172a08;pointer-events:none}.ai-input-mirror,.ai-input-mirror-wrap textarea{font-size:15px;line-height:1.55;padding:13px 16px;font-family:inherit;letter-spacing:normal}.ai-input-mirror{position:absolute;top:0;right:0;bottom:0;left:0;white-space:pre-wrap;word-break:break-word;pointer-events:none;overflow:hidden;color:var(--text);z-index:1}.ai-input-mirror-wrap textarea{display:block;position:relative;width:100%;min-width:0;border:0;border-radius:0;resize:none;background:transparent;color:var(--text);outline:none;box-shadow:none;z-index:2}.ai-input-mirror-wrap textarea::placeholder{color:var(--subtle)}.ai-input-mirror-wrap textarea.has-tokens{color:transparent;caret-color:var(--text)}.ai-composer.is-collapsed .ai-input-mirror,.ai-composer.is-collapsed .ai-input-mirror-wrap textarea{padding:12px 64px 12px 44px}.ai-dock.centered .ai-input-mirror,.ai-dock.centered .ai-input-mirror-wrap textarea{min-height:88px;font-size:16px;line-height:1.6;padding:16px 18px 10px}.ai-composer-footer{display:flex;align-items:center;gap:8px;padding:6px 10px 8px 14px;border-top:1px solid rgba(148,163,184,.16)}.ai-composer-context{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--subtle)}.ai-composer-context svg{color:var(--green)}.ai-composer-spacer{flex:1}.ai-queue-badge{font-size:11.5px;font-weight:700;color:var(--green-dark);background:#22c55e1f;border-radius:999px;padding:3px 8px}.ai-send-btn,.ai-voice-btn{width:30px;height:30px;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:transparent;color:var(--muted);box-shadow:none;transition:background .12s,color .12s}.ai-voice-btn:hover{color:var(--text);background:#0f172a0f}.ai-send-btn{color:#fff;background:linear-gradient(135deg,var(--green),var(--green-dark));box-shadow:0 4px 12px #22c55e4d}.ai-send-btn:hover:not(:disabled){filter:brightness(1.05)}.ai-send-btn:disabled{color:var(--subtle);background:#0f172a0f;box-shadow:none;cursor:default}.ai-input-hint-v2{margin:0;font-size:12px;color:var(--subtle);text-align:center}.ai-inline-status{margin:0;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.suggestion-menu-v2{display:grid;gap:8px;max-height:min(320px,40vh);overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fffffffa;box-shadow:var(--shadow-card)}.suggestion-group-title{margin:0 0 6px;font-size:11px;color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.suggestion-menu-v2 button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer;min-height:44px}.suggestion-menu-v2 button strong{font-size:14px}.suggestion-menu-v2 button span{font-size:12px;color:var(--muted)}.suggestion-menu-v2 button.active,.suggestion-menu-v2 button:hover{background:#22c55e1a}.suggestion-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.archive-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a3d;z-index:10}.archive-modal-card{width:min(440px,100%);padding:24px;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.archive-modal-card h3{margin:6px 0 10px}.archive-modal-card p{color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.insights-grid{display:flex;flex-direction:column;gap:20px}.insights-range-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;align-self:flex-start}.insights-range-toggle button{border:none;background:transparent;padding:6px 18px;border-radius:999px;cursor:pointer;color:var(--muted);font-size:14px}.insights-range-toggle button.active{background:linear-gradient(135deg,var(--green),var(--cyan));color:#fff}.insight-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.insights-error-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--red) 40%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 8%,var(--surface));color:var(--red)}.insights-error-bar button{margin-left:auto;border:1px solid var(--red);background:transparent;color:var(--red);border-radius:999px;padding:4px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.insights-skeleton{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--muted)}.insight-section-head{margin-bottom:12px}.insight-section-head h3{font-size:16px}.insight-timeline{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.timeline-track{position:relative}.timeline-marks{position:relative;height:18px;margin-bottom:6px}.timeline-mark{position:absolute;top:0;transform:translate(-50%);font-size:11px;color:var(--subtle)}.timeline-bar{position:relative;height:32px;background:color-mix(in srgb,var(--bg-1) 60%,transparent);border-radius:8px;overflow:hidden}.timeline-entry-block{position:absolute;top:2px;bottom:2px;border-radius:4px;min-width:2px;opacity:.85}.timeline-entry-block:hover{opacity:1}.insight-stacked-bars{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.stacked-rows{display:flex;flex-direction:column;gap:8px}.stacked-row{display:grid;grid-template-columns:36px 1fr 64px;align-items:center;gap:10px}.stacked-row-label{font-size:13px;color:var(--muted)}.stacked-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--bg-1) 50%,transparent)}.stacked-empty{flex:1}.stacked-segment{height:100%;min-width:1px}.stacked-segment:hover{opacity:.85}.stacked-row-total{font-size:12px;color:var(--subtle);text-align:right}.insights-bottom-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.insight-heatmap{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.heatmap-empty{color:var(--subtle);padding:24px 0;text-align:center}.heatmap-grid{display:grid;grid-template-columns:28px repeat(24,1fr);gap:2px}.heatmap-cell{min-height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--subtle)}.heatmap-col-head{font-size:9px}.heatmap-row-wrapper{display:contents}.heatmap-row-head{font-size:11px;color:var(--muted)}.heatmap-value{background:var(--cyan);border-radius:3px;min-height:18px}.heatmap-value[style*="opacity: 0"]{background:color-mix(in srgb,var(--bg-1) 50%,transparent)}.insight-ai-review{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.ai-review-body{display:flex;flex-direction:column;gap:14px}.ai-review-btn{align-self:flex-start}.ai-review-loading{display:flex;align-items:center;gap:8px;color:var(--muted)}.ai-review-error{display:flex;flex-direction:column;gap:8px;color:var(--red)}.ai-review-error button{align-self:flex-start}.ai-review-result{display:flex;flex-direction:column;gap:14px}.ai-review-regenerate{align-self:flex-start;border:1px solid var(--line);background:transparent;border-radius:999px;padding:4px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px}.ai-review-section{display:flex;flex-direction:column;gap:4px}.ai-review-summary{color:var(--text);line-height:1.6}.ai-review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.ai-review-list li{position:relative;padding-left:14px;color:var(--text);line-height:1.5}.ai-review-list li:before{content:"•";position:absolute;left:0;color:var(--cyan)}.ai-review-list.suggestions li:before{content:"→";color:var(--green)}.insights-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.insights-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}.filter-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:#ffffffb3;cursor:pointer;font-size:12px}.filter-chip.active{border-color:var(--green);background:#22c55e1a}.filter-clear{border:none;background:transparent;color:var(--cyan);cursor:pointer;font-size:13px}.insights-charts-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.4fr);gap:16px}.insight-chart-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f;box-shadow:var(--shadow-card)}.chart-empty{color:var(--subtle);text-align:center;padding:24px 0}.chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chart-legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:transparent;cursor:pointer;font-size:12px}.chart-legend-item i{width:8px;height:8px;border-radius:50%;display:inline-block}.chart-legend-item.active{border-color:var(--text)}.timeline-gap{position:absolute;top:2px;bottom:2px;border:1px dashed color-mix(in srgb,var(--cyan) 50%,transparent);background:#0891b20f;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s;z-index:1}.timeline-bar:hover .timeline-gap{opacity:1}.timeline-entry-block.dimmed{opacity:.25}.timeline-delete-btn{position:absolute;top:1px;right:1px;border:none;background:#00000059;color:#fff;border-radius:3px;padding:1px 2px;cursor:pointer;opacity:0}.timeline-entry-block:hover .timeline-delete-btn{opacity:1}.timeline-delete-confirm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:2px;align-items:center;justify-content:center;background:#00000080;border-radius:4px}.timeline-delete-confirm button{border:none;background:#fff;border-radius:3px;padding:0 4px;font-size:10px;cursor:pointer}.backfill-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;display:grid;place-items:center;z-index:20;padding:16px}.backfill-modal{width:min(420px,100%);padding:20px;border-radius:var(--radius-lg);background:var(--surface-strong);border:1px solid var(--line);display:grid;gap:12px}.backfill-modal-head{display:flex;justify-content:space-between;align-items:center}.backfill-field{display:grid;gap:4px;font-size:13px}.backfill-field input{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.backfill-label-chips{display:flex;flex-wrap:wrap;gap:6px}.chip.selectable{cursor:pointer;opacity:.7}.chip.selectable.active{opacity:1;outline:2px solid var(--text)}.backfill-error{color:var(--red);font-size:13px;margin:0}.backfill-actions{display:flex;justify-content:flex-end;gap:8px}.ghost-icon-btn{border:none;background:transparent;cursor:pointer;color:var(--muted)}.ai-review-stale-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;background:#f59e0b1a;font-size:12px;color:var(--muted)}.ai-review-stale-bar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:12px}.balance-bar-track{display:flex;height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--bg-1) 50%,transparent)}.balance-bar-segment{height:100%;min-width:2px}.balance-bar-labels{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;color:var(--muted)}.balance-bar-labels i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.ai-review-conclusions{list-style:none;padding:0;margin:0;display:grid;gap:10px}.ai-review-conclusion{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.ai-review-conclusion.anomaly{border-color:color-mix(in srgb,var(--red) 30%,var(--line))}.ai-review-conclusion-head{display:flex;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.ai-review-evidence{font-size:12px;color:var(--muted);margin:4px 0 0}.ai-review-expand-hint{font-size:11px;color:var(--cyan);flex-shrink:0}.evidence-chart-note{font-size:11px;color:var(--muted);margin:4px 0 0;text-align:center}.backlog-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}.backlog-toolbar-actions{display:flex;gap:8px;align-items:center}.backlog-toolbar-actions>button:not(.primary-btn){height:38px;border:1px solid var(--line);border-radius:999px;padding:0 14px;font-size:13px;color:var(--muted);background:#ffffffb8;box-shadow:none}.backlog-toolbar-actions>button:not(.primary-btn).active{border-color:var(--green);color:var(--green-dark);background:#22c55e1a}.backlog-toolbar-actions>.primary-btn{height:38px;padding:0 16px;font-size:13px}.backlog-organize-hint{margin:0;font-size:12px;color:var(--muted)}.task-card.organize-mode.focused{outline:2px solid var(--green)}.task-priority-badge{position:absolute;top:8px;right:8px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;z-index:1}.task-card{position:relative}.task-organize-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.priority-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}.priority-btn.p1.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.priority-btn.p2.active{background:#fff7ed;border-color:#f97316;color:#f97316}.priority-btn.p3.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.task-delete-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--red)}.plan-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a3d;z-index:15}.plan-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--surface-strong);border-left:1px solid var(--line);padding:20px;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;box-shadow:var(--shadow-soft)}.plan-drawer-head{display:flex;justify-content:space-between;align-items:center}.plan-advice{margin:0;font-size:13px;color:var(--muted);padding:10px 12px;background:#22c55e14;border-radius:10px}.plan-list{list-style:none;padding:0;margin:0;overflow-y:auto;display:grid;gap:10px}.plan-list li{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.plan-list li.deselected{opacity:.5}.plan-item-check{display:flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:pointer}.plan-item-order{font-weight:700}.plan-item-meta{font-size:12px;color:var(--muted)}.plan-item-reason{margin:6px 0 0 24px;font-size:12px;color:var(--muted)}.plan-item-actions{display:flex;gap:4px;margin-top:6px;margin-left:24px}.plan-item-actions button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:2px 6px;cursor:pointer}.plan-drawer-footer{display:flex;justify-content:flex-end;gap:8px}.wellbeing-map-table{display:grid;gap:16px}.wellbeing-group{border:1px solid var(--line);border-radius:10px;padding:12px}.wellbeing-group-row,.wellbeing-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}.wellbeing-label-row{padding-left:12px;font-size:14px}.wellbeing-label-row i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.settings-hint{color:var(--muted);font-size:13px}.archive-page{display:grid;gap:14px}.archive-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.archive-range-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px}.archive-range-toggle button{border:none;background:transparent;padding:6px 14px;border-radius:999px;cursor:pointer;font-size:13px;color:var(--muted)}.archive-range-toggle button.active{background:linear-gradient(135deg,var(--green),var(--cyan));color:#fff}.archive-custom-range{display:flex;align-items:center;gap:6px;font-size:13px}.archive-label-filter{display:flex;flex-wrap:wrap;gap:6px}.archive-search{border:1px solid var(--line);border-radius:999px;padding:6px 12px;min-width:160px}.archive-sync-hint{width:100%;margin:0;font-size:12px;color:var(--subtle)}.archive-daily-bar{padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8f}.archive-day.highlight{outline:2px solid var(--green);border-radius:var(--radius-lg);transition:outline .2s}.archive-empty{color:var(--muted);text-align:center;padding:32px}@media (max-width: 1100px){:root{--ai-dock-left: 112px }.app-shell{grid-template-columns:82px minmax(0,1fr)}.side-brand span,.side-brand strong,.nav-btn:not(.active){font-size:0}.nav-btn{justify-content:center}.three-cols,.backlog-board{grid-template-columns:minmax(260px,1fr)}.settings-grid,.insights-bottom-row,.insights-charts-row{grid-template-columns:1fr}}@media (max-width: 760px){:root{--topbar-height: auto;--ai-dock-bottom: 12px;--ai-dock-left: 12px;--ai-dock-height: 72px}.app-shell{min-height:100vh;height:auto;grid-template-columns:1fr;padding:12px}.sidebar{position:sticky;top:12px;z-index:4;display:grid;grid-template-columns:auto 1fr;border-radius:22px}.side-brand{margin:0}.side-nav{grid-template-columns:repeat(5,minmax(42px,1fr))}.side-bottom{display:none}.nav-btn{justify-content:center;padding:10px}.nav-btn{font-size:0}.topbar{align-items:flex-start;flex-direction:column}.main-stage{grid-template-rows:auto minmax(60vh,1fr)}.ai-dock.docked{left:12px;right:12px;max-width:none}.ai-dock.centered .ai-panel-v2{width:100%;max-height:min(68vh,640px);padding:18px 16px}.review-grid{grid-template-columns:1fr}.review-hero h3{font-size:22px}.settings-form{grid-template-columns:1fr}.ai-input-row{grid-template-columns:minmax(0,1fr) 44px 44px}.ai-input-hint{white-space:normal}.suggestions{padding-bottom:4px}}
