:root{--font-sans:"Proxima Nova","ProximaNova","Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--bg:oklch(97.3% 0.012 218);--surface:oklch(99% 0.006 218);--surface-2:oklch(94.8% 0.014 218);--surface-3:oklch(91.8% 0.018 218);--surface-hover:oklch(92.8% 0.02 218);--border:oklch(88% 0.02 218);--border-strong:oklch(80.5% 0.026 218);--text:oklch(20.5% 0.025 232);--text-secondary:oklch(41% 0.035 232);--text-muted:oklch(56% 0.035 232);--accent:oklch(47% 0.13 226);--accent-hover:oklch(42% 0.14 226);--accent-soft:oklch(92.2% 0.048 226);--accent-soft-2:oklch(87% 0.07 226);--accent-contrast:oklch(98.5% 0.006 226);--success:oklch(50% 0.13 153);--success-soft:oklch(92.5% 0.06 153);--warning:oklch(62% 0.15 65);--warning-soft:oklch(92.5% 0.075 65);--danger:oklch(53% 0.19 28);--danger-soft:oklch(93% 0.06 28);--info:oklch(53% 0.12 232);--info-soft:oklch(92.5% 0.05 232);--done:oklch(46% 0.11 167);--focus-ring:color-mix(in oklch,var(--accent) 32%,transparent);--overlay:oklch(16% 0.018 232/0.48);--shadow:0 1px 2px oklch(22% 0.02 232/0.05),0 10px 28px oklch(22% 0.02 232/0.08);--shadow-lg:0 6px 18px oklch(22% 0.02 232/0.12),0 24px 60px oklch(22% 0.02 232/0.18);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--radius:8px;--radius-sm:6px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);color-scheme:light}[data-theme=dark]{--bg:oklch(15.5% 0.018 232);--surface:oklch(19.2% 0.018 232);--surface-2:oklch(23% 0.02 232);--surface-3:oklch(27% 0.024 232);--surface-hover:oklch(28.5% 0.026 232);--border:oklch(30% 0.025 232);--border-strong:oklch(38% 0.03 232);--text:oklch(93.5% 0.014 224);--text-secondary:oklch(76% 0.022 224);--text-muted:oklch(61% 0.026 224);--accent:oklch(72% 0.12 221);--accent-hover:oklch(78% 0.12 221);--accent-soft:oklch(28% 0.065 226);--accent-soft-2:oklch(35% 0.075 226);--accent-contrast:oklch(14.5% 0.018 232);--success:oklch(72% 0.13 153);--success-soft:oklch(28% 0.07 153);--warning:oklch(76% 0.14 72);--warning-soft:oklch(30% 0.075 72);--danger:oklch(70% 0.16 25);--danger-soft:oklch(30% 0.075 25);--info:oklch(72% 0.11 232);--info-soft:oklch(28% 0.06 232);--done:oklch(70% 0.11 167);--overlay:oklch(9% 0.018 232/0.62);--shadow:0 1px 2px oklch(5% 0.01 232/0.45),0 12px 30px oklch(5% 0.01 232/0.38);--shadow-lg:0 10px 28px oklch(5% 0.01 232/0.48),0 28px 72px oklch(5% 0.01 232/0.58);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .2s var(--ease-out),color .2s var(--ease-out)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::placeholder{color:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft-2);color:var(--text)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-base);font-weight:500;cursor:pointer;min-width:0;transition:background .16s var(--ease-out-quart),border-color .16s var(--ease-out-quart),color .16s var(--ease-out-quart),opacity .16s var(--ease-out-quart),transform .12s var(--ease-out-quart),box-shadow .16s var(--ease-out-quart);white-space:nowrap}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);opacity:1;box-shadow:0 8px 20px color-mix(in oklch,var(--accent) 22%,transparent)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 34%,var(--border))}.btn-sm{padding:4px 10px;font-size:var(--text-sm)}.icon{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-btn{width:40px;height:40px;padding:0;justify-content:center}.input,.select,.textarea{width:100%;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-base);outline:none;min-width:0;transition:border-color .16s var(--ease-out-quart),box-shadow .16s var(--ease-out-quart),background .16s var(--ease-out-quart)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.textarea{resize:vertical;min-height:72px}.form-grid{display:grid;grid-gap:12px;gap:12px;min-width:0}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sprint-form-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));grid-gap:10px;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.compact-input-row,.detail-tabs{display:flex;gap:8px;min-width:0}.detail-tabs{gap:4px;border-bottom:1px solid var(--border);padding-bottom:8px;flex-wrap:wrap}.compact-input-row{align-items:flex-start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.label{display:block;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px}.chip,.label{font-size:var(--text-xs)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-weight:500;line-height:1.5;max-width:100%;min-width:0;overflow-wrap:anywhere}.dot{width:7px;height:7px}.avatar,.dot{border-radius:50%;flex-shrink:0}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--accent-soft);color:var(--accent);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(155deg,var(--bg),var(--surface-2))}.login-card{width:min(380px,100%);padding:32px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:216px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);padding:16px 10px;gap:2px}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:4px 10px 18px;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.profile-menu-wrap{position:relative}.sidebar-account{margin-top:auto;padding:12px 0 0;border-top:1px solid var(--border)}.profile-trigger{width:100%;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);cursor:pointer;padding:9px;text-align:left;min-width:0;transition:background .15s var(--ease-out-quart),color .15s var(--ease-out-quart)}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-hover)}.profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-trigger-avatar{width:30px;height:30px;background:var(--accent);color:var(--accent-contrast)}.profile-copy{min-width:0;display:flex;flex:1 1;flex-direction:column;gap:1px}.profile-name{font-size:var(--text-sm);font-weight:650}.profile-name,.profile-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-sub{color:var(--text-muted);font-size:var(--text-xs)}.profile-caret{display:inline-flex;color:var(--text-muted);flex-shrink:0;transition:transform .16s var(--ease-out-quart)}.profile-trigger[aria-expanded=true] .profile-caret{transform:rotate(180deg)}.icon-sm{width:14px;height:14px}.profile-popover{position:absolute;left:0;bottom:calc(100% + 8px);z-index:70;display:flex;flex-direction:column;gap:2px;width:max(100%,240px);padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .16s var(--ease-out)}.profile-popover-id{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:10px;border-bottom:1px solid var(--border)}.profile-popover-id>span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}.profile-popover-id b{font-size:var(--text-sm);font-weight:650}.profile-popover-id b,.profile-popover-id small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-popover-id small{color:var(--text-muted);font-size:var(--text-xs)}.profile-menu-item{display:flex;align-items:center;gap:10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;padding:9px 10px;text-align:left;text-decoration:none;width:100%;min-height:38px;transition:background .15s var(--ease-out-quart),color .15s var(--ease-out-quart)}.profile-menu-item .icon{flex-shrink:0;color:var(--text-secondary)}.profile-menu-item:hover{background:var(--surface-hover);color:var(--text)}.profile-menu-item.danger:hover{background:var(--danger-soft);color:var(--danger)}.profile-menu-item.danger:hover .icon{color:var(--danger)}.profile-menu-label{display:block;font-size:var(--text-sm);font-weight:600;white-space:nowrap}.brand-mark{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--done));color:var(--accent-contrast);justify-content:center;font-size:.8125rem;font-weight:800}.brand-mark,.nav-item{display:flex;align-items:center}.nav-item{gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-base);font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:left;min-width:0;transition:background .15s var(--ease-out-quart),color .15s var(--ease-out-quart),transform .12s var(--ease-out-quart)}.nav-item:hover{background:var(--surface-hover);color:var(--text);transform:translateX(1px)}.nav-item.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.nav-section{margin:14px 10px 6px;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.main{flex:1 1;flex-direction:column}.main,.topbar{display:flex;min-width:0}.topbar{align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar h1{font-size:var(--text-lg);font-weight:650;letter-spacing:-.01em;margin-right:auto}.content{flex:1 1;overflow:auto;padding:24px;min-width:0}.board{display:flex;gap:14px;align-items:flex-start;min-height:100%}.board-col{width:260px;flex-shrink:0;background:var(--surface-2);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 130px);border:1px solid color-mix(in oklch,var(--border) 80%,transparent)}.board-col.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.board-col-head{display:flex;align-items:center;gap:8px;padding:2px 4px 6px;font-size:var(--text-sm);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);min-width:0}.board-col-count{font-size:var(--text-xs);font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 7px;color:var(--text-muted)}.wip-over{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.board-cards{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:40px}.board-empty{max-width:560px;margin:40px auto;padding:40px 32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center}.board-empty h2{margin-bottom:8px;font-size:var(--text-xl)}.board-empty p{max-width:440px;margin:0 auto 20px;color:var(--text-muted);line-height:1.6}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;contain:layout paint;transition:border-color .14s var(--ease-out-quart),box-shadow .14s var(--ease-out-quart),transform .14s var(--ease-out-quart),background .14s var(--ease-out-quart)}.task-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.task-card.dragging{opacity:.45}.task-card-title{font-size:var(--text-base);font-weight:550;line-height:1.4;margin-bottom:7px;overflow-wrap:anywhere}.task-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.priority-bar{width:3px;align-self:stretch;border-radius:2px}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th{text-align:left;font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:9px 12px;vertical-align:middle;min-width:0;overflow-wrap:anywhere}.table tbody tr{cursor:pointer;transition:background .12s var(--ease-out-quart)}.table tbody tr:hover{background:var(--surface-hover)}.overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);width:100%;max-width:860px;max-height:88vh}.modal-sm{max-width:480px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--border);grid-gap:1px;gap:1px;contain:layout paint}.cal-head{background:var(--surface-2);padding:7px;text-align:center;font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.cal-cell{background:var(--surface);min-height:110px;padding:6px;display:flex;flex-direction:column;gap:4px}.cal-cell.other-month{background:var(--surface-2)}.cal-cell.today .cal-date{background:var(--accent);color:var(--accent-contrast);box-shadow:0 6px 16px color-mix(in oklch,var(--accent) 22%,transparent)}.cal-cell.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.cal-date{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;white-space:nowrap}.cal-task{font-size:var(--text-sm);font-weight:500;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);cursor:-webkit-grab;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid var(--accent);min-width:0}.stat-tile{padding:14px 18px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}.stat-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--stat-accent,var(--accent));opacity:.72}.stat-accent-info{--stat-accent:var(--info)}.stat-accent-success{--stat-accent:var(--success)}.stat-accent-warning{--stat-accent:var(--warning)}.stat-value{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.stat-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.empty,.stat-label{color:var(--text-muted)}.empty{text-align:center;padding:48px 0;font-size:var(--text-base)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.dropdown{position:absolute;top:calc(100% + 6px);right:0;width:340px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60;animation:pop-in .16s var(--ease-out)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px;min-width:0}.seg button{border:none;background:transparent;padding:4px 12px;border-radius:5px;font-size:var(--text-sm);font-weight:550;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease-out-quart),color .15s var(--ease-out-quart),box-shadow .15s var(--ease-out-quart),transform .12s var(--ease-out-quart)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg button:active{transform:scale(.98)}.notice{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;font-size:var(--text-sm);overflow-wrap:anywhere}.notice-success{background:var(--success-soft);border-color:color-mix(in oklch,var(--success) 32%,var(--border));color:color-mix(in oklch,var(--success) 68%,var(--text))}.notice-warning{background:var(--warning-soft);border-color:color-mix(in oklch,var(--warning) 34%,var(--border));color:color-mix(in oklch,var(--warning) 62%,var(--text))}.notice-danger{background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 34%,var(--border));color:color-mix(in oklch,var(--danger) 68%,var(--text))}.sync-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in oklch,var(--warning) 34%,var(--border));background:var(--warning-soft);color:color-mix(in oklch,var(--warning) 62%,var(--text));border-radius:999px;padding:5px 9px;font-size:var(--text-sm);font-weight:650;white-space:nowrap}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;min-width:min(360px,calc(100vw - 32px));max-width:min(420px,calc(100vw - 32px));padding:11px 13px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:550;animation:toast-in .22s var(--ease-out);overflow-wrap:anywhere}.toast-success{border-color:color-mix(in oklch,var(--success) 42%,var(--border));box-shadow:0 18px 44px color-mix(in oklch,var(--success) 14%,transparent),var(--shadow-lg)}.toast-error{border-color:color-mix(in oklch,var(--danger) 42%,var(--border));box-shadow:0 18px 44px color-mix(in oklch,var(--danger) 14%,transparent),var(--shadow-lg)}.toast-info{border-color:color-mix(in oklch,var(--accent) 38%,var(--border))}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slide-left{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}.anim-left{animation:slide-left .22s var(--ease-out)}.anim-right{animation:slide-right .22s var(--ease-out)}.anim-fade{animation:fade-up .22s var(--ease-out)}.overlay{animation:overlay-in .15s var(--ease-out)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{animation:pop-in .18s var(--ease-out);overflow-y:auto}.task-card{will-change:auto}.task-card:active{cursor:-webkit-grabbing;cursor:grabbing;transform:translateY(0) scale(.995)}.board-col{transition:background .15s var(--ease-out-quart),outline-color .15s var(--ease-out-quart)}.board-col.drag-over{background:var(--accent-soft)}.quick-add{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);padding:7px 10px;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart),background .15s var(--ease-out-quart),transform .12s var(--ease-out-quart)}.quick-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.swimlane-head{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.swimlane-head:first-child{margin-top:0}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;max-height:none}.detail-main{padding:22px 24px;border-right:1px solid var(--border);gap:14px}.detail-main,.detail-side{display:flex;flex-direction:column;overflow:visible;min-width:0}.detail-side{padding:18px;gap:12px;background:var(--surface-2)}.detail-header{display:flex;align-items:flex-start;gap:10px;min-width:0}.detail-title-input{flex:1 1;min-width:0}.detail-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0}.detail-main div,.detail-main p,.detail-side .input,.detail-side .select,.detail-side div,.modal input[type=date],.modal input[type=number]{min-width:0}@media (max-width:860px){.detail-grid{grid-template-columns:1fr;max-height:none;overflow:visible}.detail-main,.detail-side{overflow-y:visible}}.cal-cell{position:relative;transition:background .15s var(--ease-out-quart),outline-color .15s var(--ease-out-quart);cursor:default;min-width:0}.cal-cell.other-month:hover,.cal-cell:hover{background:var(--surface-hover)}.cal-cell.drag-over{background:var(--accent-soft)}.cal-cell-head{display:flex;align-items:center;justify-content:space-between}.cal-add{opacity:0;border:none;background:var(--accent-soft);color:var(--accent);width:20px;height:20px;border-radius:6px;font-size:.8125rem;line-height:1;cursor:pointer;transition:opacity .12s var(--ease-out-quart),transform .12s var(--ease-out-quart),background .12s var(--ease-out-quart)}.cal-cell:hover .cal-add{opacity:1}.cal-add:hover{transform:scale(1.12)}.cal-task{transition:transform .12s var(--ease-out-quart),box-shadow .12s var(--ease-out-quart),opacity .12s var(--ease-out-quart);animation:fade-up .18s var(--ease-out)}.cal-task:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.cal-task.done{opacity:.55;text-decoration:line-through}.cal-task.dragging{opacity:.4}.cal-more{border:none;background:none;color:var(--text-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;text-align:left;padding:1px 7px;border-radius:5px}.cal-more:hover{background:var(--surface-2);color:var(--text)}.day-popover{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:230px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column;gap:5px;animation:pop-in .14s var(--ease-out)}.cal-weekend{background:color-mix(in srgb,var(--surface) 96%,var(--text) 4%)!important}.cal-weekend:hover{background:var(--surface-hover)!important}.cal-cell.in-active-sprint{background:color-mix(in oklch,var(--accent-soft) 42%,var(--surface))!important}.cal-cell.in-active-sprint:hover{background:color-mix(in oklch,var(--accent-soft) 68%,var(--surface-hover))!important}.cal-cell.sprint-end,.cal-cell.sprint-start{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--accent) 62%,var(--border))}.cal-sprint-marker{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 7px;border-radius:5px;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-xs);line-height:1.25}.cal-sprint-marker span{flex-shrink:0;font-weight:700}.cal-sprint-marker b{overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.settings-wrap{max-width:720px;margin:0 auto;gap:18px}.settings-card,.settings-wrap{display:flex;flex-direction:column}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;gap:14px;animation:fade-up .22s var(--ease-out)}.settings-card h3{font-size:var(--text-lg);font-weight:650}.settings-card .hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:-8px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:var(--text-base)}.switch-row:last-child{border-bottom:none}.settings-planning-field>span{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-planning-field b{font-size:var(--text-sm);font-weight:650}.settings-planning-field small{max-width:58ch;color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.switch{position:relative;width:36px;height:20px;border-radius:999px;background:var(--border-strong);border:none;cursor:pointer;transition:background .18s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart);flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:transform .18s var(--ease-out);box-shadow:0 1px 2px rgba(0,0,0,.25)}.switch.on{background:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.switch.on:after{transform:translateX(16px)}.save-state{font-size:var(--text-xs);color:var(--success);white-space:nowrap}.save-state-dirty{color:var(--warning);font-weight:650}.detail-save-prompt{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--success);background:var(--surface);font-size:var(--text-xs)}.detail-save-prompt-dirty{border-color:color-mix(in oklch,var(--warning) 34%,var(--border));font-weight:650}.detail-save-prompt-dirty,.planning-warning{color:var(--warning);background:var(--warning-soft)}.planning-ready{color:var(--done);background:var(--success-soft)}.task-card-readonly{cursor:default}.task-card-readonly:hover{transform:none;box-shadow:none}.settings-tabs{display:inline-flex;align-self:flex-start;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.settings-tabs button{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:7px 12px}.settings-tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.user-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.inline-check{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.user-list{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.user-row:last-child{border-bottom:none}.user-row .chip{margin-left:auto}.pick-block{display:flex;flex-direction:column;gap:8px}.chip-action,.chip-add{border:1px dashed var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer}.chip-action:hover,.chip-add:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.inline-user-form{display:grid;grid-template-columns:minmax(100px,1fr) minmax(150px,1.2fr) minmax(120px,1fr) auto;grid-gap:8px;gap:8px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.inline-form-error{grid-column:1/-1;margin:0}.schedule-card,.schedule-summary{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-size:var(--text-sm)}.schedule-card{display:flex;flex-direction:column;gap:4px}.attachment-panel,.time-panel{display:flex;flex-direction:column;gap:10px}.file-upload-row,.time-summary{display:flex;align-items:center;gap:10px;min-width:0}.time-summary{justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.quick-time-row{display:flex;flex-wrap:wrap;gap:6px}.mention-wrap{position:relative;flex:1 1;min-width:0}.mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:80;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .14s var(--ease-out)}.mention-menu button{display:flex;align-items:center;gap:9px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;padding:7px;text-align:left}.mention-menu button:hover{background:var(--surface-hover)}.mention-menu small{display:block;color:var(--text-muted);font-size:var(--text-xs)}.cal-task.done-marker,.cal-task.ended-here{background:var(--success-soft);color:var(--success);font-weight:650}.cal-task.done-marker{text-decoration:none}.cal-event{display:flex;align-items:center;gap:6px;min-width:0;width:100%;border:1px solid transparent;border-radius:5px;cursor:pointer;overflow:hidden;padding:2px 7px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:550;transition:transform .12s var(--ease-out-quart),box-shadow .12s var(--ease-out-quart),opacity .12s var(--ease-out-quart)}.cal-event span{flex-shrink:0;font-size:var(--text-xs);font-weight:700;opacity:.78}.cal-event:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.cal-event.event{background:var(--info-soft);color:var(--info)}.cal-event.meeting{background:var(--accent-soft);color:var(--accent)}.cal-event.ooo{background:var(--warning-soft);color:var(--warning)}.agenda-event{align-items:flex-start;flex-direction:column;gap:2px}.agenda-event.meeting{border-color:color-mix(in oklch,var(--accent) 32%,var(--border))}.agenda-event.ooo{border-color:color-mix(in oklch,var(--warning) 42%,var(--border));background:var(--warning-soft)}.calendar-editor{padding:22px;display:flex;flex-direction:column;gap:14px}.calendar-editor h2{font-size:var(--text-lg);font-weight:650}.calendar-toggle{align-self:end;display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:var(--text-sm);min-height:40px}.calendar-attendees{display:flex;flex-wrap:wrap;gap:6px}.chip-selected{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent)}[data-density=compact] body{font-size:.875rem}[data-density=compact] .content{padding:16px}[data-density=compact] .task-card{padding:7px 9px}[data-density=compact] .task-card-title{margin-bottom:4px}[data-density=compact] .table td{padding:6px 10px}[data-density=compact] .board-col{width:244px;padding:8px}[data-density=compact] .cal-cell{min-height:92px}body{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.backlog-grid{display:grid;grid-template-columns:1fr 380px;grid-gap:20px;gap:20px;align-items:start}.card-move,.fab,.m-only,.tabbar{display:none}@media (hover:none) and (pointer:coarse){.card-move{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.card-move button{flex:1 1;border:1px solid var(--border-strong);background:var(--surface-2);border-radius:7px;padding:6px 0;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);cursor:pointer}.card-move button:disabled{opacity:.35}.card-move button:active{background:var(--accent-soft);color:var(--accent)}}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:14px}.mini-day{border:none;background:transparent;border-radius:10px;padding:6px 0 4px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;min-height:44px;font-size:var(--text-sm);font-weight:550;color:var(--text-secondary);transition:background .12s var(--ease-out-quart),color .12s var(--ease-out-quart),transform .1s var(--ease-out-quart)}.mini-day:active{transform:scale(.96)}.mini-day.other{color:var(--text-muted);opacity:.55}.mini-day.selected{background:var(--accent);color:var(--accent-contrast)}.mini-day.today:not(.selected){color:var(--accent);font-weight:750}.mini-day.in-active-sprint:not(.selected){background:var(--accent-soft);color:var(--accent)}.mini-day.sprint-end,.mini-day.sprint-start{box-shadow:inset 0 0 0 1px var(--accent)}.mini-dots{display:flex;gap:2px;height:5px}.mini-dots .dot{width:5px;height:5px}.mini-day.selected .mini-dots .dot{background:var(--accent-contrast)!important}.agenda-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;animation:fade-up .18s var(--ease-out);min-width:0}.agenda-row:active{background:var(--surface-hover)}.agenda-sprint-boundary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm)}.agenda-sprint-boundary span{overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.mrow{display:flex;flex-direction:column;gap:7px;padding:13px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;animation:fade-up .18s var(--ease-out);min-width:0}.mrow:active{background:var(--surface-hover)}.mrow-title{font-size:var(--text-base);font-weight:600;line-height:1.35;overflow-wrap:anywhere}.mrow-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}@media (max-width:768px){.sidebar{display:none}.shell{height:100dvh;flex-direction:column}.main{height:100%}.topbar{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:6px}.topbar h1{font-size:var(--text-lg)}.topbar .new-task-btn{display:none}.m-only{display:inline-flex}.content{padding:14px 14px calc(84px + env(safe-area-inset-bottom))}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tab-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border:none;background:none;color:var(--text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.02em;border-radius:10px;cursor:pointer;min-height:44px;justify-content:center;text-decoration:none;transition:color .15s var(--ease-out-quart),transform .1s var(--ease-out-quart),background .15s var(--ease-out-quart)}.tab-item .tab-icon{font-size:1.1875rem;line-height:1}.tab-item.active{color:var(--accent);background:var(--accent-soft)}.tab-item:active{transform:scale(.94)}.fab{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),var(--done));color:var(--accent-contrast);font-size:1.625rem;font-weight:500;box-shadow:var(--shadow-lg);cursor:pointer;z-index:46;transition:transform .12s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart)}.fab:active{transform:scale(.92)}.board{overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -14px;padding:0 14px 6px;-webkit-overflow-scrolling:touch}.board-col{width:84vw;flex-shrink:0;scroll-snap-align:center;max-height:none}.board-cards{overflow-y:visible;min-height:60px}.toolbar{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px 14px;padding:2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar .btn,.toolbar .input,.toolbar .seg,.toolbar .select{flex-shrink:0}.btn,.input,.select{min-height:40px}.seg button{padding:7px 12px}.task-card{padding:12px 13px}.overlay{padding:0;align-items:flex-end}.modal{max-width:100%!important;max-height:92dvh;border-radius:18px 18px 0 0;border-bottom:none;animation:sheet-up .24s var(--ease-out)}.detail-grid{grid-template-columns:1fr;max-height:92dvh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.detail-main,.detail-side{overflow-y:visible;border-right:none}.detail-main{padding:18px 16px}.detail-side{padding:16px}.backlog-grid{grid-template-columns:1fr}.backlog-grid>.card{position:static!important}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.settings-wrap{gap:14px}.settings-card{padding:16px}.settings-card>div[style*=grid]{grid-template-columns:1fr!important}.inline-user-form,.user-create-grid{grid-template-columns:1fr}.settings-tabs{width:100%}.settings-tabs button{flex:1 1}.file-upload-row,.time-summary{align-items:stretch;flex-direction:column}.form-grid,.form-grid-2,.form-grid-3,.sprint-form-grid{grid-template-columns:1fr}.compact-input-row,.detail-header,.modal-actions{flex-direction:column}.compact-input-row .btn,.detail-header-actions,.detail-header-actions .btn,.modal-actions .btn{width:100%;justify-content:center}.dropdown{position:fixed;top:auto;left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));width:auto;max-height:55dvh}}@keyframes sheet-up{0%{transform:translateY(48px);opacity:.6}to{transform:none;opacity:1}}.sheet-close{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:none}@media (max-width:768px){.sheet-close{display:flex;justify-content:center;padding:10px 0 4px;background:var(--surface);touch-action:none}.sheet-close .bar{width:42px;height:4px;border-radius:999px;background:var(--border-strong)}.input,.select,.textarea{font-size:max(1rem,16px)}body,html{overscroll-behavior-y:none}.content,.sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.create-form{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}.create-form,.detail-grid{overflow-y:auto;flex:1 1;min-height:0}.detail-grid{max-height:none;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal{display:flex;flex-direction:column;will-change:transform}.agenda-row:active,.mrow:active,.task-card:active{transform:scale(.985);transition:transform .08s var(--ease-out-quart)}.dropdown{animation:sheet-up .24s var(--ease-out);border-radius:14px}.board{overscroll-behavior-x:contain}.mini-cal{touch-action:pan-y}.toast-stack{left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom))}.toast{min-width:0;max-width:none;width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planning-room{--plan-gap:20px;--plan-gap-lg:32px;width:100%;max-width:1360px;margin:0 auto;padding-bottom:56px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-lg{min-height:46px;padding:10px 22px;font-size:var(--text-base);font-weight:600}.planning-command-bar{position:-webkit-sticky;position:sticky;top:-24px;z-index:20;display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 0 6px;background:color-mix(in oklch,var(--bg) 92%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-density=compact] .planning-command-bar{top:-16px}.planner-back-link{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.planner-back-link:hover{color:var(--accent)}.planner-back-link:before{content:"\2190";margin-right:6px}.planner-save-state{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-left:auto;color:var(--success);font-size:var(--text-sm);white-space:nowrap}.planner-save-state.has-changes,.planner-save-state.is-pending{color:var(--text-secondary)}.planner-save-state.is-saving{color:var(--accent)}.planner-save-state.is-error{color:var(--danger)}.planner-save-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.planner-save-state.is-saving .planner-save-dot{animation:planner-save-pulse 1s ease-in-out infinite}@keyframes planner-save-pulse{50%{opacity:.28}}.planning-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--plan-gap-lg);gap:var(--plan-gap-lg);align-items:start;padding:28px 0 var(--plan-gap)}.planning-title-block{display:flex;flex-direction:column;gap:4px;min-width:0}.planning-kicker{color:var(--accent);font-size:var(--text-xs);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.planning-goal-input,.planning-name-input{width:100%;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);background:transparent;font:inherit;transition:border-color .16s var(--ease-out-quart),background .16s var(--ease-out-quart),box-shadow .16s var(--ease-out-quart)}.planning-name-input{padding:2px 8px 4px;margin-left:-8px;font-size:1.75rem;font-weight:720;line-height:1.2;letter-spacing:-.02em}.planning-goal-input{max-width:64ch;padding:5px 8px;margin-left:-8px;color:var(--text-secondary);font-size:var(--text-base)}.planning-goal-input:hover,.planning-name-input:hover{border-color:var(--border);background:var(--surface)}.planner-assignee-trigger:focus-visible,.planner-cell-input:focus,.planning-goal-input:focus,.planning-name-input:focus,.planning-schedule-fields input:focus,.planning-schedule-fields select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface)}.planning-schedule{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planning-schedule-fields{display:flex;align-items:flex-end;gap:12px}.planning-schedule-fields label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:var(--text-xs);font-weight:650}.planning-schedule-fields input,.planning-schedule-fields select{min-height:38px;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);font:inherit;font-size:var(--text-sm)}.planning-schedule-length{color:var(--text-muted);font-size:var(--text-xs);font-weight:650}.planning-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.planning-stat{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planning-stat-value{color:var(--text);font-size:var(--text-xl);font-weight:720;line-height:1.15;letter-spacing:-.01em}.planning-stat-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.planning-stat-sub{color:var(--text-muted);font-size:var(--text-xs)}.planning-stat-status.is-ready{border-color:color-mix(in oklch,var(--success) 45%,var(--border));background:color-mix(in oklch,var(--success-soft) 55%,var(--surface))}.planning-stat-status.is-ready .planning-stat-label,.planning-stat-status.is-ready .planning-stat-value{color:var(--success)}.planning-stat-status.needs-attention{border-color:color-mix(in oklch,var(--warning) 45%,var(--border));background:color-mix(in oklch,var(--warning-soft) 55%,var(--surface))}.planning-stat-status.needs-attention .planning-stat-label,.planning-stat-status.needs-attention .planning-stat-value{color:var(--warning)}.planning-insights{display:flex;align-items:center;flex-wrap:wrap;gap:10px 28px;margin-top:12px;padding:14px 18px;border:1px solid color-mix(in oklch,var(--accent) 26%,var(--border));border-radius:var(--radius);background:color-mix(in oklch,var(--accent-soft) 55%,var(--surface))}.planning-insights-head{display:flex;flex-direction:column;gap:1px}.planning-insights-head b{font-size:var(--text-sm)}.planning-insights-head span{color:var(--text-muted);font-size:var(--text-xs)}.planning-insights-metrics{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 24px;color:var(--text-secondary);font-size:var(--text-sm)}.planning-insights-metrics strong{color:var(--text);font-weight:700}.planning-error{margin-top:16px}.planning-step-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.planning-step-number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-sm);font-weight:750;flex-shrink:0;margin-top:2px}.planning-step-head h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.planning-step-head p{max-width:68ch;margin:3px 0 0;color:var(--text-muted);font-size:var(--text-sm)}.planning-workload-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.planning-workload-total{color:var(--text-secondary);font-size:var(--text-sm);font-weight:650;white-space:nowrap}.planning-sheet{padding-top:var(--plan-gap-lg)}.planning-new-task{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.planning-new-grid{display:grid;grid-template-columns:minmax(240px,2.4fr) minmax(160px,1.2fr) 76px 80px 120px minmax(140px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.planning-new-grid.is-customized{grid-template-columns:minmax(240px,2.4fr) minmax(160px,1.2fr) repeat(auto-fit,minmax(90px,1fr)) auto}.planning-new-field,.planning-new-grid label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:var(--text-xs);font-weight:650}.planning-new-grid .input,.planning-new-grid .planner-assignee-trigger,.planning-new-grid .select,.planning-new-submit{min-height:42px}.planning-new-grid .planner-assignee-trigger{border-color:var(--border);background:var(--surface)}.planning-category-create{display:flex;gap:4px}.planning-category-create .input{min-width:0}.planning-new-hint{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;color:var(--text-muted);font-size:var(--text-xs)}.planning-new-hint kbd{padding:1px 6px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);font-family:inherit;font-size:.6875rem;font-weight:650}.planner-suggest-btn{padding:3px 10px;border:1px solid color-mix(in oklch,var(--accent) 40%,var(--border));border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:var(--text-xs);font-weight:650;cursor:pointer;white-space:nowrap;transition:background .14s var(--ease-out-quart),border-color .14s var(--ease-out-quart)}.planner-suggest-btn:hover{border-color:var(--accent);background:var(--accent-soft-2)}.planning-backlog-panel{margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planning-backlog-panel>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;color:var(--text);cursor:pointer;list-style:none;border-radius:var(--radius)}.planning-backlog-panel>summary:hover{background:var(--surface-hover)}.planning-backlog-panel>summary::-webkit-details-marker{display:none}.planning-backlog-panel>summary:before{content:"+";display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-secondary);font-size:1rem;flex-shrink:0;transition:transform .16s var(--ease-out-quart)}.planning-backlog-panel[open]>summary:before{transform:rotate(45deg)}.planning-backlog-panel>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.planning-backlog-panel>summary>span:first-of-type{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.planning-backlog-panel summary b{font-size:var(--text-base)}.planning-backlog-panel summary small{color:var(--text-muted);font-size:var(--text-sm)}.planning-backlog-count{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:12px;background:var(--surface-2);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700}.planning-backlog-content{display:flex;flex-direction:column;gap:10px;padding:4px 16px 16px;border-top:1px solid var(--border)}.planning-backlog-search{max-width:340px;padding-top:12px}.planning-backlog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:0 28px;gap:0 28px;max-height:300px;overflow:auto}.planning-backlog-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;min-height:56px;padding:8px 0;border-bottom:1px solid var(--border)}.planning-backlog-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.planning-backlog-row b{font-size:var(--text-sm)}.planning-backlog-row b,.planning-backlog-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-backlog-row span{color:var(--text-muted);font-size:var(--text-xs)}.planning-backlog-empty{display:flex;flex-direction:column;gap:3px;min-height:84px;justify-content:center;color:var(--text-secondary)}.planning-backlog-empty span{color:var(--text-muted);font-size:var(--text-sm)}.planning-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planning-table{width:100%;min-width:940px;border-collapse:collapse;table-layout:fixed}.planning-table th{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-muted);background:var(--surface-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.035em;text-align:left;text-transform:uppercase}.planning-table th:first-child{width:30%}.planning-table th:nth-child(2){width:17%}.planning-table th:nth-child(3){width:11%}.planning-table th:nth-child(4){width:8%}.planning-table th:nth-child(5){width:11%}.planning-table th:nth-child(6){width:13%}.planning-table th:nth-child(7){width:10%}.planning-table.is-customized{min-width:880px;table-layout:auto}.planning-table.is-customized th{width:auto}.planning-table.is-customized th:first-child{width:32%}.planning-table.is-customized th:nth-child(2){width:18%}.planning-table.is-customized th:last-child{width:210px}.planning-table td{padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:middle}.planning-table tbody tr:last-child td{border-bottom:0}.planning-table tbody tr{transition:background .14s var(--ease-out-quart)}.planning-table tbody tr:hover{background:color-mix(in oklch,var(--accent-soft) 30%,transparent)}.planner-row-needs-work{box-shadow:inset 3px 0 0 var(--warning)}.planner-cell-input{width:100%;min-width:0;min-height:36px;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);background:transparent;font:inherit;font-size:var(--text-sm)}.planner-cell-input:hover{border-color:var(--border);background:var(--surface)}.planner-title-input{font-weight:600}.planner-task-cell{padding-left:12px!important}.planner-row-status{display:inline-flex;align-items:center;gap:5px;margin:2px 0 2px 8px;font-size:var(--text-xs);font-weight:650}.planner-row-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.planner-row-status.is-ready{color:var(--success)}.planner-row-status.is-gap{color:var(--warning)}.planner-number-cell input{text-align:right}.planner-hours-suggest{display:flex;align-items:center;gap:4px}.planner-hours-suggest .planner-suggest-btn{flex-shrink:0}.planner-action-cell{padding-right:10px!important;text-align:right}.planner-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.planner-delete-trigger{color:var(--danger)}.planner-delete-trigger:hover{background:var(--danger-soft);color:var(--danger)}.planner-delete-confirm{color:var(--danger);font-size:var(--text-xs);font-weight:650;white-space:nowrap}.planning-sheet-empty{display:flex;flex-direction:column;gap:4px;padding:36px 24px;color:var(--text-secondary);text-align:center}.planning-sheet-empty span{color:var(--text-muted);font-size:var(--text-sm)}.planner-assignee{position:relative;min-width:0}.planner-assignee-trigger{display:flex;align-items:center;gap:7px;width:100%;min-height:36px;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);background:transparent;cursor:pointer;text-align:left}.planner-assignee-trigger.is-open,.planner-assignee-trigger:hover{border-color:var(--border);background:var(--surface)}.planner-assignee-trigger.is-empty{color:var(--warning)}.planner-assignee-trigger.is-empty:before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border:1px dashed;border-radius:50%;font-size:var(--text-sm);flex-shrink:0}.planner-assignee-caret{width:14px;height:14px;margin-left:auto;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .16s var(--ease-out-quart)}.planner-assignee-trigger.is-open .planner-assignee-caret{transform:rotate(180deg)}.planner-avatar-stack{display:flex;padding-left:5px}.planner-avatar-stack .avatar{margin-left:-5px;border:1px solid var(--surface)}.planner-assignee-label{overflow:hidden;font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.planner-assignee-menu{position:fixed;z-index:60;width:max-content;max-width:min(560px,calc(100vw - 16px));padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop-in .14s var(--ease-out)}.planner-assignee-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.planner-assignee-menu-head b{font-size:var(--text-sm)}.planner-assignee-menu-actions{display:flex;align-items:center;gap:6px}.planner-chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-height:280px;padding:12px;overflow-y:auto}.planner-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);cursor:pointer;white-space:nowrap;transition:background .14s var(--ease-out-quart),border-color .14s var(--ease-out-quart),color .14s var(--ease-out-quart)}.planner-chip input[type=checkbox]{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0)}.planner-chip:hover{border-color:var(--accent);background:var(--surface-hover)}.planner-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.planner-chip.is-selected{border-color:var(--accent)}.planner-chip .avatar,.planner-chip.is-selected{background:var(--accent-soft);color:var(--accent)}.planner-chip .avatar{width:34px;height:34px}.planner-chip.is-selected .avatar{background:var(--accent);color:var(--accent-contrast)}.planner-chip.is-selected:after{content:"✓";position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:17px;height:17px;border:2px solid var(--surface);border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-size:.625rem;font-weight:800}.planner-chip-name{font-size:var(--text-sm);font-weight:600}.planner-chip-check{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity .14s var(--ease-out-quart),transform .14s var(--ease-out-quart)}.planner-chip.is-selected .planner-chip-check{opacity:1;transform:none}.planning-workload{margin-top:var(--plan-gap-lg);padding-top:var(--plan-gap-lg);border-top:1px solid var(--border)}.planning-workload-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:12px 24px;gap:12px 24px}.planning-workload-person{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.planning-workload-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;grid-gap:12px;gap:12px;align-items:center;width:100%;min-width:0;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .14s var(--ease-out-quart)}.planning-workload-row:hover{background:var(--surface-hover)}.planning-workload-row .avatar{width:32px;height:32px;font-size:var(--text-xs)}.planning-workload-caret{width:16px;height:16px;fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s var(--ease-out-quart)}.planning-workload-person.is-expanded .planning-workload-caret{transform:rotate(180deg)}.planning-workload-tasks{margin:0;padding:4px 16px 12px 62px;border-top:1px solid var(--border);list-style:none}.planning-workload-tasks li{display:flex;align-items:baseline;gap:8px;min-width:0;padding:7px 0;border-bottom:1px solid color-mix(in oklch,var(--border) 55%,transparent);font-size:var(--text-sm)}.planning-workload-tasks li:last-child{border-bottom:0}.planning-workload-task-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;align-self:center}.planning-workload-task-dot.is-gap{background:var(--warning)}.planning-workload-task-title{overflow:hidden;min-width:0;flex:1 1;text-overflow:ellipsis;white-space:nowrap}.planning-workload-task-meta{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.planning-workload-tasks-empty{color:var(--text-muted);font-size:var(--text-sm)}.planning-workload-detail{display:flex;flex-direction:column;gap:8px;min-width:0}.planning-workload-detail>div{display:flex;justify-content:space-between;gap:8px;min-width:0}.planning-workload-detail b{overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.planning-workload-detail span{flex-shrink:0;color:var(--text-muted);font-size:var(--text-xs)}.planning-workload-bar{position:relative;width:100%;height:8px;border-radius:4px;background:var(--surface-2);overflow:visible}.planning-workload-fill{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--accent);transition:width .3s var(--ease-out)}.planning-workload-capacity{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;background:var(--text-secondary)}.planning-workload-row strong{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:46px;text-align:right;font-size:var(--text-base)}.planning-workload-flag{color:var(--warning);font-size:var(--text-xs);font-style:normal;font-weight:650;white-space:nowrap}.planning-workload-person.is-over .planning-workload-fill{background:var(--warning)}.planning-workload-person.has-no-work{color:var(--text-muted);border-style:dashed;background:transparent}.planning-finish{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px;margin-top:var(--plan-gap-lg);padding:var(--plan-gap-lg) 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.planning-finish .planning-step-head{flex:1 1 340px;margin-bottom:0}.planning-active-sprint{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-basis:100%;order:3;padding:14px 16px;border:1px solid color-mix(in oklch,var(--warning) 42%,var(--border));border-radius:var(--radius);background:var(--warning-soft)}.planning-active-sprint>div{display:flex;flex-direction:column;gap:2px}.planning-active-sprint span{color:var(--warning);font-size:var(--text-xs);font-weight:750;letter-spacing:.04em;text-transform:uppercase}.planning-active-sprint b{font-size:var(--text-sm)}.planning-active-sprint p{max-width:62ch;margin:0;color:var(--text-secondary);font-size:var(--text-xs)}.planning-start-action{display:flex;align-items:center;gap:14px}.planning-start-action span{color:var(--text-muted);font-size:var(--text-sm)}.planning-empty,.planning-loading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:50vh;max-width:560px;margin:0 auto}.planning-empty p{color:var(--text-muted)}.sprint-planning-overview{display:flex;align-items:center;gap:16px;padding:12px 0 2px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-sm)}.sprint-planning-overview .has-gap{color:var(--warning)}.sprint-planning-overview .is-ready{color:var(--success)}.sprint-planning-overview .btn{margin-left:auto}@media (max-width:1150px){.planning-new-grid{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) 76px 80px}.planning-new-grid.is-customized{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-new-category,.planning-new-priority,.planning-new-submit{grid-row:2}.planning-new-category{grid-column:span 2}.planning-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.planning-hero{grid-template-columns:1fr;gap:var(--plan-gap)}.planning-schedule{width:100%}.planning-schedule-fields{flex-wrap:wrap}.planning-schedule-fields label{flex:1 1 140px}.planning-schedule-fields input,.planning-schedule-fields select{width:100%}.planning-step-head{flex-wrap:wrap}.planning-workload-total{width:100%;margin-left:44px;order:3}.planning-table-wrap{overflow:visible;border:0;background:transparent}.planning-table{display:block;min-width:0}.planning-table.is-customized{min-width:0}.planning-table thead{display:none}.planning-table tbody{display:flex;flex-direction:column;gap:12px}.planning-table tr{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 12px;gap:10px 12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.planner-row-needs-work{box-shadow:inset 0 3px 0 var(--warning)}.planning-table td{display:flex;flex-direction:column;gap:4px;padding:0;border:0}.planning-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-xs);font-weight:700}.planning-table .planner-action-cell,.planning-table .planner-task-cell{grid-column:1/-1}.planner-task-cell{padding-left:0!important}.planner-task-cell:before{display:none}.planner-row-status{margin-left:0}.planner-assignee-trigger,.planner-cell-input{min-height:44px;border-color:var(--border);background:var(--surface)}.planner-action-cell{padding-right:0!important}.planner-action-cell .btn{width:100%}.planning-workload-list{grid-template-columns:1fr}}@media (max-width:768px){.planning-command-bar{top:-14px}}@media (max-width:640px){.planner-save-state{overflow:hidden;text-overflow:ellipsis}.planning-hero{padding-top:20px}.planning-name-input{font-size:1.5rem}.planning-stats{grid-template-columns:1fr}.planning-insights-metrics{gap:4px 16px}.planning-backlog-panel summary small{display:none}.planning-new-grid,.planning-new-grid.is-customized{grid-template-columns:1fr 1fr}.planning-new-category,.planning-new-field,.planning-new-grid label,.planning-new-priority,.planning-new-submit{grid-column:auto;grid-row:auto}.planning-new-assignees,.planning-new-category,.planning-new-submit,.planning-new-title{grid-column:1/-1}.planning-active-sprint{align-items:stretch;flex-direction:column}.planning-active-sprint .btn{width:100%}.planning-start-action{align-items:stretch;flex-direction:column}.planning-start-action .btn{width:100%}.planning-start-action span{text-align:center}}@media (prefers-reduced-motion:reduce){.planner-save-state.is-saving .planner-save-dot{animation:none}.planning-workload-fill{transition:none}}