:root{--surface-canvas: #f5f2ea;--surface-card: #ffffff;--surface-card-soft: #faf7ef;--surface-nav: #1a1c1e;--surface-nav-hover: #2a2d30;--surface-rail: #ffffff;--surface-elevated: #ffffff;--surface-overlay: rgba(20, 22, 24, .4);--pastel-mint: #d6e4d0;--pastel-mint-deep: #c0d4b3;--pastel-sky: #d4dde2;--pastel-sand: #ece6d4;--pastel-blush: #ecd9d3;--pastel-lavender: #ddd4e3;--accent: #6b8e5a;--accent-hover: #5a7a4a;--accent-soft: #c8d8b9;--accent-fg: #1a1c1e;--text-primary: #1a1c1e;--text-secondary: #5b6068;--text-tertiary: #8a8f97;--text-on-nav: #f5f2ea;--text-on-nav-muted: #a8acb2;--text-on-accent: #1a1c1e;--border-subtle: rgba(26, 28, 30, .06);--border-default: rgba(26, 28, 30, .1);--border-strong: rgba(26, 28, 30, .18);--status-success: #4f8a5c;--status-success-bg: #e3f0e6;--status-warning: #c89339;--status-warning-bg: #fbeed3;--status-danger: #c0524d;--status-danger-bg: #f8dbd9;--status-info: #4a6e87;--status-info-bg: #dde7ee;--stage-lead: #d4dde2;--stage-discovery: #ddd4e3;--stage-proposal: #ece6d4;--stage-negotiation: #ecd9d3;--stage-closed-won: #c8d8b9;--stage-closed-lost: #d8d8d8;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(26, 28, 30, .04);--shadow-md: 0 2px 8px rgba(26, 28, 30, .06);--shadow-lg: 0 8px 24px rgba(26, 28, 30, .08);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 56px;--sp-10: 72px}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;padding:0;background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1a1c1e1f;border-radius:8px;border:2px solid var(--surface-canvas)}::-webkit-scrollbar-thumb:hover{background:#1a1c1e38}:root{--tasks-canvas: #ffffff;--tasks-card: #ffffff;--tasks-row-hover: #f7f8f9;--tasks-row-divider: #eceef1;--tasks-divider-strong: #e2e5ea;--tasks-header-bg: #ffffff;--tasks-toolbar-bg: #fbfbfc;--tasks-sidebar-bg: #0e1011;--tasks-sidebar-text: #d6d8dd;--tasks-sidebar-text-strong: #f1f2f4;--tasks-sidebar-text-muted: #8a8d94;--tasks-sidebar-active: #1c1e22;--tasks-sidebar-hover: #16181b;--tasks-sidebar-border: rgba(255, 255, 255, .06);--tasks-sidebar-icon: #9ca0a8;--st-backlog: #b7bdc7;--st-todo: #8a8f97;--st-in_progress: #f2b341;--st-in_review: #5a9bd4;--st-done: #5e6ad2;--st-canceled: #a3a8b1;--st-duplicate: #a3a8b1;--st-backlog-bg: #f2f4f7;--st-todo-bg: #eef0f3;--st-in_progress-bg: #fef5e1;--st-in_review-bg: #e6f0fa;--st-done-bg: #ebecf7;--st-canceled-bg: #eef0f3;--pri-none: #b7bdc7;--pri-urgent: #e1574b;--pri-high: #f3b13a;--pri-medium: #6c8cb5;--pri-low: #9aa1ab;--pri-urgent-bg: #fbe4e2;--c1: #5e6ad2;--c2: #6f9c6c;--c3: #c89339;--c4: #b35a8c;--c5: #4a8aa5;--c6: #9b6cb6;--c7: #c0524d;--c8: #4f8a5c}html,body,#app{background:var(--tasks-canvas);font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,system-ui,sans-serif;font-size:13.5px;line-height:1.45;letter-spacing:-.005em}a:hover{color:var(--accent)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.spacer{flex:1}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-mono{font-family:var(--font-mono)}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.h1{font-size:22px;font-weight:600;letter-spacing:-.015em;color:var(--text-primary)}.h2{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.h3{font-size:14px;font-weight:600;color:var(--text-primary)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:500}.card{background:var(--tasks-card);border-radius:8px;border:1px solid var(--tasks-row-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:6px;font-weight:500;font-size:12.5px;background:var(--tasks-card);border:1px solid var(--tasks-divider-strong);color:var(--text-primary);transition:background 80ms ease,border-color 80ms ease;white-space:nowrap}.btn:hover{background:var(--tasks-row-hover);border-color:var(--text-tertiary)}.btn-sm{padding:3px 8px;font-size:11.5px}.btn-icon{width:26px;height:26px;padding:0;display:inline-grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary)}.btn-icon:hover{background:var(--tasks-row-hover);color:var(--text-primary)}.btn-primary{background:#5e6ad2;border-color:#5e6ad2;color:#fff}.btn-primary:hover{background:#4c57b8;border-color:#4c57b8}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--tasks-row-hover);color:var(--text-primary)}.btn-danger{color:var(--status-danger)}.btn-danger:hover{background:#fbe6e4;color:var(--status-danger)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;padding:5px 9px;font:inherit;font-size:13px;border-radius:6px;background:var(--tasks-card);border:1px solid var(--tasks-divider-strong);color:var(--text-primary);transition:border-color 80ms ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c1)}.textarea{line-height:1.5;resize:vertical;min-height:60px}.input-flush{border:none;background:transparent;padding:4px 0}.input-flush:focus{outline:none;border-bottom:1px solid var(--c1)}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:500;background:var(--tasks-row-hover);color:var(--text-secondary);white-space:nowrap;border:1px solid var(--tasks-row-divider);line-height:1.5}.chip-color-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.chip-soft{background:transparent;border-color:var(--tasks-divider-strong)}.status-icon{width:14px;height:14px;flex:none;position:relative;display:inline-block;border-radius:50%;box-sizing:border-box}.status-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.6px solid currentColor}.status-icon.s-backlog{color:var(--st-backlog)}.status-icon.s-backlog:before{border-style:dashed}.status-icon.s-todo{color:var(--st-todo)}.status-icon.s-in_progress{color:var(--st-in_progress)}.status-icon.s-in_progress:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:conic-gradient(currentColor 0deg 180deg,transparent 180deg 360deg)}.status-icon.s-in_review{color:var(--st-in_review)}.status-icon.s-in_review:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:conic-gradient(currentColor 0deg 270deg,transparent 270deg 360deg)}.status-icon.s-done{color:var(--st-done);background:var(--st-done)}.status-icon.s-done:before{border-color:var(--st-done)}.status-icon.s-done:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:700;line-height:1}.status-icon.s-canceled{color:var(--st-canceled);background:var(--st-canceled)}.status-icon.s-canceled:before{border-color:var(--st-canceled)}.status-icon.s-canceled:after{content:"×";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;line-height:1}.status-icon.s-duplicate{color:var(--st-duplicate);background:var(--st-duplicate)}.status-icon.s-duplicate:before{border-color:var(--st-duplicate)}.status-icon.s-duplicate:after{content:"≡";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;line-height:1}.status-icon.lg{width:18px;height:18px}.status-icon.lg:before{border-width:2px}.priority-icon{width:14px;height:14px;flex:none;display:inline-flex;align-items:flex-end;justify-content:space-between;padding:1px;gap:1.5px;position:relative}.priority-icon .bar{width:3px;border-radius:1px;background:var(--pri-none)}.priority-icon .bar.b1{height:4px}.priority-icon .bar.b2{height:7px}.priority-icon .bar.b3{height:10px}.priority-icon.p0 .bar{background:var(--pri-none);opacity:.6;border-radius:50%;height:3px;width:3px;align-self:center}.priority-icon.p4 .bar.b1{background:var(--pri-low)}.priority-icon.p3 .bar.b1,.priority-icon.p3 .bar.b2{background:var(--pri-medium)}.priority-icon.p2 .bar{background:var(--pri-high)}.priority-icon.p1{background:var(--pri-urgent);border-radius:3px;padding:0;align-items:center;justify-content:center}.priority-icon.p1 .bar{display:none}.priority-icon.p1:after{content:"!";color:#fff;font-size:9px;font-weight:700;line-height:1}.avatar{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-size:9.5px;font-weight:600;color:#fff;background:var(--c5);flex:none;-webkit-user-select:none;user-select:none}.avatar.lg{width:26px;height:26px;font-size:11px}.avatar.xl{width:38px;height:38px;font-size:13px}.avatar.unassigned{background:transparent;border:1.5px dashed var(--text-tertiary);color:var(--text-tertiary);font-weight:400}.proj-icon{width:16px;height:16px;flex:none;display:inline-grid;place-items:center;background:var(--c1);color:#fff;border-radius:4px;font-size:10px;font-weight:700}.proj-icon.lg{width:28px;height:28px;font-size:13px;border-radius:6px}.toolbar{display:flex;align-items:center;gap:6px;padding:6px 14px;border-bottom:1px solid var(--tasks-row-divider);background:var(--tasks-toolbar-bg);flex-wrap:wrap}.toolbar-section{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.toolbar-divider{width:1px;height:18px;background:var(--tasks-divider-strong);margin:0 4px}.group-head{display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--tasks-toolbar-bg);border-bottom:1px solid var(--tasks-row-divider);border-top:1px solid var(--tasks-row-divider);font-size:12.5px;font-weight:600;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.group-head:first-child{border-top:none}.group-head .group-count{color:var(--text-tertiary);font-weight:500}.group-head .group-spacer{flex:1}.group-head .caret{width:12px;height:12px;display:inline-block;transform:rotate(0);transition:transform .12s ease;color:var(--text-tertiary)}.group-head.collapsed .caret{transform:rotate(-90deg)}.view-tabs{display:inline-flex;gap:2px;padding:2px;background:var(--tasks-row-hover);border-radius:7px}.view-tab{padding:3px 10px;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;cursor:pointer;border:none}.view-tab:hover{color:var(--text-primary)}.view-tab.active{background:var(--tasks-card);color:var(--text-primary);box-shadow:0 1px 2px #0000000d,0 0 0 1px var(--tasks-row-divider)}.menu{position:absolute;background:var(--tasks-card);border:1px solid var(--tasks-divider-strong);box-shadow:0 12px 32px #0000001f,0 2px 8px #0000000d;border-radius:8px;padding:4px;min-width:200px;z-index:50;max-height:360px;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;font-size:12.5px;color:var(--text-primary);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;white-space:nowrap}.menu-item:hover,.menu-item.is-active{background:var(--tasks-row-hover)}.menu-divider{height:1px;background:var(--tasks-row-divider);margin:4px 2px}.menu-section-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:7px 8px 4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f111573;z-index:60;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:100%;max-width:580px;background:var(--tasks-card);border-radius:10px;box-shadow:0 24px 64px #0003;display:flex;flex-direction:column;overflow:hidden}.modal-head{padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid var(--tasks-row-divider);font-size:12.5px;color:var(--text-tertiary)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:10px}.modal-foot{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--tasks-row-divider);background:var(--tasks-toolbar-bg)}.kanban{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:24px}.kanban-col{width:280px;min-width:280px;background:var(--tasks-row-hover);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.kanban-col-head{padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600}.kanban-col-body{display:flex;flex-direction:column;gap:6px;padding:4px 8px 10px;overflow-y:auto;flex:1}.kanban-card{background:var(--tasks-card);border-radius:6px;padding:8px 10px;border:1px solid var(--tasks-row-divider);display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color 80ms ease,box-shadow 80ms ease}.kanban-card:hover{border-color:var(--text-tertiary);box-shadow:0 2px 4px #0000000a}.kanban-card.is-dragging{opacity:.4}.kanban-col.is-drag-over{background:#eaeefb;box-shadow:inset 0 0 0 2px var(--c1)}hr.divider{border:none;border-top:1px solid var(--tasks-row-divider);margin:0}.tag-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
