@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#f6f7fb;--surface:#fff;--surface-2:#f1f3f9;--surface-hover:#eef0f7;--border:#e3e6ef;--border-strong:#cfd4e2;--text:#171a26;--text-muted:#5a6178;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eceafd;--accent-text:#3f37c9;--danger:#dc2626;--danger-soft:#fdecec;--success:#16a34a;--p-critical:#dc2626;--p-high:#ea580c;--p-medium:#ca8a04;--p-low:#2563eb;--s-todo:#64748b;--s-progress:#2563eb;--s-review:#9333ea;--s-done:#16a34a;--viz-remaining:#2a78d6;--viz-ideal:#eb6834;--cat-0:#2a78d6;--cat-1:#eb6834;--cat-2:#1baf7a;--cat-3:#eda100;--cat-4:#e87ba4;--cat-5:#008300;--cat-6:#4a3aa7;--cat-7:#e34948;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280f;--shadow:0 1px 3px #10182814, 0 4px 12px #1018280d;--shadow-lg:0 20px 50px #1018282e;--sidebar-w:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e1016;--surface:#161922;--surface-2:#1c202b;--surface-hover:#222734;--border:#272c3a;--border-strong:#363d50;--text:#e9ebf2;--text-muted:#9098b0;--accent:#6d64f5;--accent-hover:#7f77ff;--accent-soft:#25234a;--accent-text:#b3adff;--danger:#f05252;--danger-soft:#3a1a1d;--success:#34c46a;--p-critical:#f05252;--p-high:#fb8b3c;--p-medium:#eab308;--p-low:#60a5fa;--s-todo:#94a3b8;--s-progress:#60a5fa;--s-review:#c084fc;--s-done:#34c46a;--viz-remaining:#3987e5;--viz-ideal:#d95926;--cat-0:#3987e5;--cat-1:#d95926;--cat-2:#199e70;--cat-3:#c98500;--cat-4:#d55181;--cat-5:#008300;--cat-6:#9085e9;--cat-7:#e66767;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #00000059, 0 4px 12px #00000040;--shadow-lg:0 20px 50px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.05rem;font-weight:650}p{margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;outline:none;width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s}select{cursor:pointer;width:auto;padding-right:32px}textarea{resize:vertical;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}[aria-invalid=true]{border-color:var(--danger)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:12.5px}.btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex;text-decoration:none!important}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-soft{background:var(--accent-soft);color:var(--accent-text)}.btn-soft:hover:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 80%, var(--accent) 20%)}.btn-ghost{border-color:var(--border-strong);color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-block{width:100%;height:42px}.icon-button{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-button:disabled{opacity:.3;cursor:default}.icon-button.sm{width:26px;height:26px}.link{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link:hover{text-decoration:underline}.shell{min-height:100%;display:flex}.sidebar{z-index:30;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{padding:4px 8px 20px}.logo{align-items:center;gap:10px;font-size:17px;font-weight:500;display:inline-flex}.logo b{color:var(--accent-text);font-weight:800}.nav{flex-direction:column;gap:2px;display:flex}.nav-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:14px 10px 6px;font-size:11px;font-weight:700}.nav-link{color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:550;display:flex;text-decoration:none!important}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-text)}.nav-link .count{margin-left:auto}.count{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:auto;padding-top:14px;display:flex}.me{align-items:center;gap:10px;min-width:0;padding:0 4px;display:flex}.me-text{flex-direction:column;min-width:0;display:flex}.me-text strong,.me-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me-text span{font-size:12.5px}.sidebar-actions{gap:4px;display:flex}.main{margin-left:var(--sidebar-w);flex:1;min-width:0}.mobile-bar,.scrim{display:none}.page{flex-direction:column;gap:20px;max-width:980px;margin:0 auto;padding:36px 32px 64px;display:flex}.page-wide{max-width:1320px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header p{margin-top:4px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.panel-title{align-items:center;gap:8px;margin-bottom:14px;font-size:15px;display:flex}.fullscreen{place-items:center;min-height:100%;display:grid}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-text);border-bottom-color:var(--accent)}.toolbar{flex-wrap:wrap;gap:10px;display:flex}.search{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.search svg{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.search input{padding-left:36px}.priority{align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.priority-critical{color:var(--p-critical)}.priority-high{color:var(--p-high)}.priority-medium{color:var(--p-medium)}.priority-low{color:var(--p-low)}.status{--c:var(--s-todo);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--c);background:color-mix(in srgb, var(--c) 13%, transparent);border-radius:999px;align-items:center;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.status-in_progress{--c:var(--s-progress)}.status-in_review{--c:var(--s-review)}.status-done{--c:var(--s-done)}.avatar{color:#fff;letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.task-key{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.task-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.task-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:0 16px 0 0;display:flex}.task-row:first-child{border-top:0}.task-row:hover{background:var(--surface-hover)}.task-row-main{min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;padding:14px 0 14px 16px;display:flex;text-decoration:none!important}.task-row-main .task-key{flex-shrink:0;width:58px}.task-title{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.task-row-meta{flex-shrink:0;align-items:center;gap:14px;display:flex}.board{grid-template-columns:repeat(4,minmax(230px,1fr));align-items:start;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.column{--c:var(--s-todo);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:320px;padding:12px;transition:border-color .15s,background .15s}.column-in_progress{--c:var(--s-progress)}.column-in_review{--c:var(--s-review)}.column-done{--c:var(--s-done)}.column.drop-target{border-color:var(--c);background:color-mix(in srgb, var(--c) 8%, var(--surface-2))}.column-header{align-items:center;gap:8px;padding:4px 6px 12px;display:flex}.column-header h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:13px}.column-header .count{background:var(--border);color:var(--text-muted)}.column-dot{background:var(--c);border-radius:50%;width:8px;height:8px}.column-body{flex-direction:column;gap:10px;display:flex}.column-empty{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);padding:22px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:grab;border-left:3px solid var(--c);padding:12px 12px 8px;transition:box-shadow .15s,transform .15s,opacity .15s}.card:hover{box-shadow:var(--shadow)}.card.dragging{opacity:.45;transform:rotate(1.5deg)}.card-title{color:var(--text);word-break:break-word;margin-bottom:10px;font-weight:550;display:block}.card-footer{align-items:center;gap:8px;display:flex}.back{cursor:pointer;color:var(--text-muted);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-weight:600;display:inline-flex}.back:hover{color:var(--text)}.detail{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;display:grid}.detail-main{flex-direction:column;gap:18px;min-width:0;display:flex}.detail-key{align-items:center;gap:10px;display:flex}.detail-title{word-break:break-word;font-size:1.75rem}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.description{white-space:pre-wrap;word-break:break-word}.detail-side{position:sticky;top:24px}.props{grid-template-columns:90px 1fr;align-items:center;gap:14px 12px;margin:0;display:grid}.props dt{color:var(--text-muted);font-size:13px;font-weight:550}.props dd{min-width:0;margin:0}.props select{width:100%}.person{align-items:center;gap:8px;font-weight:550;display:inline-flex}.comments{flex-direction:column;gap:16px;margin:0 0 16px;padding:0;list-style:none;display:flex}.comments:empty{display:none}.comment{gap:12px;display:flex}.comment p{white-space:pre-wrap;word-break:break-word}.comment-head{align-items:baseline;gap:8px;display:flex}.comment-form{gap:12px;display:flex}.comment-input{flex-direction:column;flex:1;align-items:flex-end;gap:8px;display:flex}.notifications{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.notifications li+li{border-top:1px solid var(--border)}.notification{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:14px 18px;display:flex}.notification:hover{background:var(--surface-hover)}.notification-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.notification.unread .notification-dot{background:var(--accent)}.notification.unread .notification-text{font-weight:600}.notification-text{flex:1;min-width:0}.profile-hero{align-items:center;gap:20px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat{flex-direction:column;gap:4px;padding:18px;display:flex}.stat svg{color:var(--accent-text)}.stat strong{margin-top:6px;font-size:1.8rem;font-weight:700;line-height:1.1}.danger-zone{justify-content:space-between;align-items:center;gap:16px;display:flex}.danger-zone .panel-title{margin-bottom:2px}.form{flex-direction:column;gap:16px;display:flex}.form.narrow{max-width:420px}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>span{font-size:13px;font-weight:600}.field-error{color:var(--danger);font-size:12.5px}.segmented{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.segmented label{border:1px solid var(--border-strong);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-size:13px;font-weight:550;display:flex}.segmented label:hover{background:var(--surface-hover)}.segmented label.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.segmented input{opacity:0;pointer-events:none;width:0;position:absolute}.alert{background:var(--danger-soft);color:var(--danger-text,var(--danger));border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-weight:550;display:flex}.rules{grid-template-columns:1fr 1fr;gap:4px 12px;margin:-6px 0 0;padding:0;list-style:none;display:grid}.rules li{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.rules li.ok{color:var(--success)}.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100%;display:grid}.auth-hero{color:#fff;background:radial-gradient(circle at 15% 20%,#ffffff24,#0000 40%),radial-gradient(circle at 85% 80%,#38bdf859,#0000 45%),linear-gradient(140deg,#4338ca 0%,#6d28d9 55%,#7c3aed 100%);flex-direction:column;justify-content:space-between;gap:40px;padding:44px 56px;display:flex}.auth-hero .logo b{color:#fff}.auth-hero .logo rect{fill:#fff3}.auth-hero h1{max-width:18ch;margin-bottom:16px;font-size:clamp(1.8rem,3vw,2.6rem)}.auth-hero p{opacity:.88;max-width:46ch;font-size:15.5px}.auth-features{flex-direction:column;gap:12px;margin:28px 0 0;padding:0;list-style:none;display:flex}.auth-features li{align-items:center;gap:10px;font-weight:550;display:flex}.auth-foot{opacity:.6;font-size:13px}.auth-panel{place-items:center;padding:40px 24px;display:grid}.auth-card{width:100%;max-width:380px}.auth-card h2{margin-bottom:4px;font-size:1.5rem}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c148c;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s ease-out pop;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;max-width:380px;box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:10px 8px 10px 14px;font-weight:550;animation:.2s ease-out slide;display:flex}.toast span{flex:1}.toast-success>svg:first-child{color:var(--success)}.toast-error>svg:first-child{color:var(--danger)}.spinner-wrap{justify-content:center;align-items:center;gap:10px;padding:48px;display:flex}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.empty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent-text);border-radius:16px;place-items:center;margin-bottom:6px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes slide{0%{opacity:0;transform:translate(16px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin-bottom:2px;font-size:12px;font-weight:700;display:block}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.btn kbd{color:#fff;background:#ffffff2e;border-color:#ffffff4d;margin-left:auto}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:550;display:inline-flex}.toggle input{width:16px;height:16px;accent-color:var(--accent);margin:0}.toggle input:disabled+*{cursor:not-allowed;opacity:.7}.toggle:has(input:disabled){cursor:not-allowed;opacity:.7}.hint{margin-top:8px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid select,.props select,.props input{width:100%}.modal-wide{max-width:720px}.confirm-extra{margin-top:12px}.switcher{margin:0 0 12px;position:relative}.switcher-button{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.switcher-button:hover{border-color:var(--border-strong)}.switcher-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.switcher-text strong,.switcher-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switcher-text span{font-size:12px}.switcher-menu{z-index:40;background:var(--surface);border:1px solid var(--border);max-height:320px;box-shadow:var(--shadow-lg);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.switcher-item{color:var(--text);border-radius:7px;align-items:center;gap:10px;padding:8px;font-weight:550;display:flex;text-decoration:none!important}.switcher-item:hover,.switcher-item[aria-selected=true]{background:var(--surface-hover)}.switcher-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.switcher-item.create{color:var(--accent-text);border-top:1px solid var(--border);border-radius:0 0 7px 7px;margin-top:4px}.project-icon{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:inline-grid}.create-button{justify-content:flex-start;margin-bottom:6px}.live-dot{background:var(--border-strong);border-radius:50%;align-self:center;width:8px;height:8px;margin-left:auto}.live-dot.on{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 20%, transparent)}.sidebar-actions{align-items:center}.sidebar .nav{overflow-y:auto}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.project-card{color:var(--text);flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s;display:flex;text-decoration:none!important}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.project-card-head{align-items:center;gap:12px;display:flex}.project-card-head div{flex-direction:column;min-width:0;display:flex}.project-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-card-members{align-items:center;gap:6px;margin-top:auto;display:inline-flex}.empty .btn{margin-top:12px}.due{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.due-overdue{color:var(--danger)}.due-today,.due-soon{color:var(--warn-text,var(--p-high))}.due-done{color:var(--text-muted);text-decoration:line-through}.overdue-text{color:var(--danger)}.labels{flex-wrap:wrap;gap:4px;min-width:0;display:inline-flex}.label-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.label-chip button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.label-chip.more{background:0 0}.label-chip.suggestion{cursor:pointer}.label-chip.suggestion:hover{border-color:var(--accent);color:var(--accent-text)}.checklist-progress{color:var(--text-muted);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.checklist-progress.complete{color:var(--success)}.avatar-empty{border:1.5px dashed var(--border-strong);border-radius:50%;flex-shrink:0;width:28px;height:28px}.avatar-empty.sm{width:24px;height:24px}.task-row-main .labels{flex-shrink:1;overflow:hidden}.task-row[draggable]{cursor:grab}.task-row.dragging{opacity:.45}.label-input-box{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 8px;display:flex}.label-input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.label-input-box input{border:0;outline:none;flex:1;min-width:100px;padding:4px;box-shadow:none!important}.label-suggestions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.markdown{word-break:break-word;line-height:1.6}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown pre,.markdown blockquote,.markdown table{margin:0 0 10px}.markdown h1,.markdown h2,.markdown h3{margin:16px 0 8px;font-size:1.05rem}.markdown ul,.markdown ol{padding-left:22px}.markdown code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.markdown pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto}.markdown pre code{background:0 0;border:0;padding:0}.markdown blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);padding-left:12px}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px}.markdown img{max-width:100%}.markdown input[type=checkbox]{width:auto;margin-right:6px}.markdown strong{font-weight:650}.md-editor{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px}.md-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.md-tabs{border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:4px 6px 0;display:flex}.md-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 10px;font-size:13px;font-weight:600}.md-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.md-hint{color:var(--text-muted);margin-left:auto;font-size:11.5px}.md-write{position:relative}.md-write textarea{border:0;border-radius:0 0 8px 8px;outline:none;box-shadow:none!important}.md-preview{min-height:80px;padding:10px 12px}.mention-menu{z-index:30;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-lg);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% - 4px);left:10px}.mention-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.mention-menu button.active,.mention-menu button:hover{background:var(--accent-soft);color:var(--accent-text)}.sprint-section{border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,background .15s;display:flex}.sprint-section.drop-target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-2))}.sprint-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sprint-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sprint-title h2{font-size:15px}.sprint-active-icon{color:var(--p-high)}.sprint-actions{align-items:center;gap:6px;display:flex}.sprint-state{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.state-active{background:color-mix(in srgb, var(--s-progress) 15%, transparent);color:var(--s-progress)}.state-planned{background:var(--border);color:var(--text-muted)}.sprint-goal{margin:-4px 0 0;font-size:13.5px}.sprint-section .task-list{box-shadow:none}.sprint-section .empty{background:var(--surface)}.move-select{max-width:150px;height:30px;padding:2px 28px 2px 8px;font-size:12.5px}.sprint-banner{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.sprint-banner svg{color:var(--p-high)}.menu{position:relative}.menu-list{z-index:30;background:var(--surface);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.menu-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-weight:550}.menu-list button:hover{background:var(--surface-hover)}.menu-list button.danger{color:var(--danger)}.card{flex-direction:column;gap:8px;display:flex}.card-title{margin-bottom:0}.card-meta{align-items:center;gap:10px;display:flex}.card-meta:empty{display:none}.group{flex-direction:column;gap:10px;display:flex}.group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.count.muted-count{background:var(--border);color:var(--text-muted)}.detail-nav{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.breadcrumb a{color:var(--text-muted);font-weight:600}.progress{background:var(--surface-2);border-radius:999px;height:6px;margin-bottom:10px;overflow:hidden}.progress span{background:var(--success);border-radius:999px;height:100%;transition:width .2s;display:block}.checklist{flex-direction:column;gap:2px;margin:0 0 10px;padding:0;list-style:none;display:flex}.checklist li{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.checklist li:hover{background:var(--surface-hover)}.checklist label{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.checklist input{width:16px;height:16px;accent-color:var(--success);flex-shrink:0;margin:0}.checklist li.done span{color:var(--text-muted);text-decoration:line-through}.checklist .icon-button{opacity:0}.checklist li:hover .icon-button,.checklist .icon-button:focus-visible{opacity:1}.inline-add{align-items:center;gap:8px;display:flex}.panel-title .spacer{flex:1}.attachments.drop-target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.drop-hint{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;padding:18px}.attachment-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.attachment{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.attachment-thumb{background:var(--surface-2);cursor:zoom-in;height:110px;color:var(--text-muted);border:0;place-items:center;padding:0;display:grid}.attachment-thumb.file{cursor:default}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-info{flex-direction:column;min-width:0;padding:8px 10px 0;display:flex}.attachment-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.attachment-actions{justify-content:flex-end;padding:2px 4px 4px;display:flex}.image-preview{border-radius:8px;max-width:100%;max-height:70vh;margin:0 auto;display:block}.tabs.compact{margin:-6px 0 14px}.tabs.compact .tab{align-items:center;gap:6px;display:inline-flex}.comment-body{flex:1;min-width:0}.comment-input .md-editor{width:100%}.activity{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.activity li{align-items:center;gap:10px;display:flex}.activity li>span:nth-child(2){flex:1;min-width:0}.with-icon{align-items:center;gap:6px;display:flex}.labels-button{cursor:pointer;text-align:left;background:0 0;border:1px dashed #0000;border-radius:6px;width:100%;padding:3px 4px}.labels-button:hover{border-color:var(--border-strong)}.detail-side .props{grid-template-columns:76px minmax(0,1fr)}.detail-side select,.detail-side input{padding-left:10px;padding-right:26px}.add-member{gap:8px;margin-bottom:14px;display:flex}.add-member-input{flex:1;max-width:360px;position:relative}.suggest-list{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0}.suggest-list button{cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.suggest-list button:hover{background:var(--surface-hover)}.member-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member-list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.member-list li:first-child{border-top:0}.member-text{flex-direction:column;flex:1;min-width:0;display:flex}.owner-badge{color:var(--p-medium);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.shortcuts{flex-direction:column;gap:10px;margin:0;display:flex}.shortcuts div{justify-content:space-between;align-items:center;gap:16px;display:flex}.shortcuts dt{align-items:center;gap:4px;display:flex}.shortcuts dd{color:var(--text-muted);margin:0}.stat-text{font-size:1.15rem!important}.viz-root{position:relative}.viz-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.viz-legend{color:var(--text-muted);gap:18px;margin:0;padding:0;font-size:13px;font-weight:550;list-style:none;display:flex}.viz-legend li{align-items:center;gap:6px;display:inline-flex}.viz-plot{width:100%;position:relative;overflow:hidden}.viz-plot svg{display:block}.viz-grid{stroke:var(--border);stroke-width:1px}.viz-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.viz-line-remaining{stroke:var(--viz-remaining);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.viz-line-ideal{stroke:var(--viz-ideal);stroke-width:2px;stroke-dasharray:5 5;stroke-linecap:round;fill:none}.viz-dot-remaining{fill:var(--viz-remaining);stroke:var(--surface);stroke-width:2px}.viz-dot-ideal{fill:var(--viz-ideal);stroke:var(--surface);stroke-width:2px}.viz-crosshair{stroke:var(--border-strong);stroke-width:1px}.viz-direct-label{fill:var(--text);font-size:12px;font-weight:650}.viz-tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);min-width:150px;box-shadow:var(--shadow);color:var(--text);border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;display:flex;position:absolute}.viz-tooltip span{color:var(--text-muted);align-items:center;gap:6px;display:flex}.swatch{width:12px;height:2px;display:inline-block}.swatch.remaining{background:var(--viz-remaining)}.swatch.ideal{background:repeating-linear-gradient(90deg, var(--viz-ideal) 0 4px, transparent 4px 6px)}.viz-table-wrap{max-height:320px;overflow-y:auto}.viz-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.viz-table th,.viz-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}.viz-table th{color:var(--text-muted);background:var(--surface);font-weight:600;position:sticky;top:0}.forgot-link{align-self:flex-end;margin-top:-8px}.auth-simple{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100%;padding:32px 16px;display:flex}.auth-simple-logo{color:var(--text);text-decoration:none!important}.auth-simple .auth-card{max-width:420px;padding:28px}.form.center{text-align:center;align-items:center}kbd{white-space:nowrap;border:1px solid var(--border-strong);min-width:20px;height:20px;font:600 11px/1 var(--font);color:var(--text-muted);background:var(--surface);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.btn kbd{color:inherit;opacity:.7;background:0 0;border-color:currentColor;margin-left:auto}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.num{font-variant-numeric:tabular-nums;text-align:right!important}code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.notice{background:var(--accent-soft);color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:8px;padding:10px 12px;font-size:13.5px}.form-note{font-size:13.5px}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form{align-items:center;gap:8px;max-width:560px;display:flex}.inline-form input{flex:1;min-width:0}.inline-form select{width:auto;min-width:180px}.inline-field{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.inline-field input{width:auto}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head .panel-title{margin-bottom:0}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);height:30px;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:0 12px;font-size:12.5px;font-weight:600}.chip:hover{color:var(--text);background:var(--surface-hover)}.readonly-badge{background:var(--surface-2);height:26px;color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.status-dot{background:var(--c);border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot.status-todo{--c:var(--s-todo)}.status-dot.status-in_progress{--c:var(--s-progress)}.status-dot.status-in_review{--c:var(--s-review)}.status-dot.status-done{--c:var(--s-done)}.avatar-img{object-fit:cover;background:var(--surface-2)}.avatar-edit{flex-shrink:0;position:relative}.avatar-edit-button{cursor:pointer;background:var(--surface);width:30px;height:30px;color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.avatar-edit-button:hover{background:var(--surface-hover)}.profile-hero-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.profile-hero-text .link{align-items:center;gap:4px;margin-top:4px;display:inline-flex}.search-button{border:1px solid var(--border);background:var(--surface-2);width:100%;height:36px;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:0 8px 0 10px;font-size:13.5px;display:flex}.search-button:hover{border-color:var(--border-strong);color:var(--text)}.search-button kbd{margin-left:auto}.search-button-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar .nav{flex:auto;min-height:0;margin:0 -6px;padding:0 6px 8px;overflow-y:auto}.sidebar-footer{flex-shrink:0}.nav-filter{padding-top:7px;padding-bottom:7px;font-size:13.5px}.nav-filter-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-backdrop{align-items:flex-start;padding-top:min(14vh,120px)}.palette{flex-direction:column;max-width:620px;max-height:min(70vh,560px);padding:0;display:flex;overflow:hidden}.palette-search{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-search input{height:52px;color:var(--text);background:0 0;border:0;outline:none;padding:0;font-size:16px;box-shadow:none!important}.palette-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-group{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:10px 10px 4px;font-size:11px;font-weight:700}.palette-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-item.active{background:var(--accent-soft)}.palette-icon{width:22px;color:var(--text-muted);flex-shrink:0;place-items:center;display:inline-grid}.palette-item.active .palette-icon{color:var(--accent-text)}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}.palette-hint{flex-shrink:0;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.palette-empty{text-align:center;padding:18px 12px}.project-icon.sm{border-radius:6px;width:22px;height:22px;font-size:10px}.epic-chip{border:1px solid var(--border);background:var(--surface);max-width:180px;height:22px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:5px;padding:0 8px 0 7px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.epic-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.points-badge{background:var(--surface-2);min-width:22px;height:20px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-grid}.blocked-badge{background:var(--danger-soft);height:20px;color:var(--danger);border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11.5px;font-weight:700;display:inline-flex}.board{padding-bottom:4px;overflow-x:auto}.card.is-blocked{border-left:3px solid var(--danger)}.card-parent{margin-bottom:2px;font-weight:600;display:block}.card-footer{gap:6px;min-width:0}.card-footer .task-key{white-space:nowrap}.card-footer .icon-button{display:none}.card:hover .card-footer .icon-button,.card:focus-within .card-footer .icon-button{display:inline-grid}@media (hover:none){.card-footer .icon-button{display:inline-grid}}.card-tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.card-tags:empty{display:none}.column.over-limit{background:color-mix(in srgb, var(--danger-soft) 70%, var(--surface-2));border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.count.danger{background:var(--danger)}.column-header .count{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.column-header .count.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.row-check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0 -4px 0 14px}.task-row.selected{background:var(--accent-soft)}.task-row.selected:hover{background:color-mix(in srgb, var(--accent-soft) 85%, var(--accent) 15%)}.filter-action{flex-shrink:0}.bulk-bar{left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);z-index:40;max-width:calc(100vw - var(--sidebar-w) - 32px);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:fixed;bottom:20px;transform:translate(-50%)}.bulk-bar strong{white-space:nowrap;padding:0 6px}.bulk-bar select{width:auto;height:32px;padding-top:0;padding-bottom:0;font-size:13px}.bulk-label input{width:110px;height:32px;font-size:13px}.danger-icon:hover:not(:disabled){color:var(--danger)!important;background:var(--danger-soft)!important}.detail-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.parent-link{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.mini-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mini-list li{border-top:1px solid var(--border);align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.mini-list li:first-child{border-top:0}.mini-list .task-key{flex-shrink:0}.mini-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:550;overflow:hidden}.link-group+.link-group{margin-top:10px}.link-label{color:var(--text-muted);text-transform:capitalize;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.link-form,.time-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.link-form select{width:auto}.link-form input{flex:1;min-width:120px}.time-form{margin:0 0 12px}.time-form input{width:120px}.time-form input[type=date]{width:150px}.time-form .time-note{flex:1;width:auto;min-width:140px}.time-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.time-list li{border-top:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.time-list li:first-child{border-top:0}.time-entry-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:1;overflow:hidden}.dev-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dev-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.dev-list li:first-child{border-top:0}.dev-list a{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}.dev-icon{color:var(--text-muted);flex-shrink:0}.dev-icon.dev-open{color:var(--success)}.dev-icon.dev-merged{color:var(--s-review)}.dev-icon.dev-closed{color:var(--danger)}.dev-state{text-transform:capitalize;background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}.dev-state.dev-open{color:color-mix(in srgb, var(--success) 60%, #000)}:root[data-theme=dark] .dev-state.dev-open{color:var(--success)}.dev-state.dev-merged{color:var(--s-review)}.dev-state.dev-closed{color:var(--danger-text)}.roadmap{padding:0;overflow-x:auto}.roadmap-row{border-top:1px solid var(--border);grid-template-columns:260px minmax(520px,1fr);min-width:780px;display:grid}.roadmap-row:first-child{border-top:0}.roadmap-head{background:var(--surface);z-index:1;position:sticky;top:0}.roadmap-head .roadmap-name{padding-top:12px;padding-bottom:12px;font-weight:700}.roadmap-name{border-right:1px solid var(--border);flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.roadmap-name .progress{height:5px;margin:0}.roadmap-title{align-items:center;gap:8px;min-width:0;font-weight:650;display:flex}.roadmap-title a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.roadmap-actions{opacity:0;transition:opacity .15s;display:inline-flex}.roadmap-row:hover .roadmap-actions,.roadmap-actions:focus-within{opacity:1}.roadmap-track{min-height:64px;position:relative}.roadmap-head .roadmap-track{min-height:0}.roadmap-month{color:var(--text-muted);white-space:nowrap;padding-left:8px;font-size:12px;font-weight:650;position:absolute;top:50%;transform:translateY(-50%)}.roadmap-gridline{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.roadmap-today{background:var(--accent);opacity:.55;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.roadmap-bar{background:var(--surface);border:2px solid;border-radius:7px;height:26px;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.roadmap-fill{opacity:.85;position:absolute;inset:0 auto 0 0}.roadmap-bar-label{color:var(--text);text-shadow:0 0 3px var(--surface), 0 0 3px var(--surface);padding:0 8px;font-size:11.5px;font-weight:700;line-height:22px;position:relative}.roadmap-nodates{font-style:italic;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.report-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.report-toolbar>select{width:auto;min-width:220px}.segmented.small{display:inline-flex}.segmented.small label{padding:6px 12px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.report-grid .viz-table a{color:var(--text)}.share{justify-content:flex-end;align-items:center;gap:8px;display:flex}.share-bar{background:var(--surface-2);border-radius:999px;width:60px;height:6px;display:inline-block;overflow:hidden}.share-bar span{background:var(--cat-0);border-radius:999px;height:100%;display:block}.swatch-box{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.viz-band{fill:var(--surface-hover)}.role-select{width:auto;height:32px;padding-top:0;padding-bottom:0;font-size:13px}.role-badge{color:var(--text-muted);font-size:12px;font-weight:700}.add-member select{width:auto}.invite-list{margin-top:12px}.invite-text{flex-direction:column;flex:1;min-width:0;display:flex}.invite-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-editor{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.column-editor li{align-items:center;gap:8px;display:flex}.column-editor .column-name{flex:1;min-width:0}.column-editor select{width:150px}.wip-input{width:100px!important}.column-add{flex-wrap:wrap;max-width:none}.column-add select{min-width:150px}.github-setup{flex-direction:column;gap:14px;max-width:640px;display:flex}.steps{color:var(--text-muted);flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.steps b{color:var(--text)}.copy-field{align-items:center;gap:6px;display:flex}.copy-field input{flex:1;min-width:0}.import-result{background:var(--surface-2);border-radius:8px;margin-top:14px;padding:12px 14px;font-size:13.5px}.import-errors{color:var(--danger);flex-direction:column;gap:2px;margin:8px 0 0;padding-left:18px;display:flex}.mode-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mode-option{cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex;position:relative}.mode-option input{opacity:0;pointer-events:none;position:absolute}.mode-option:hover{background:var(--surface-hover)}.mode-option.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.mode-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.btn.sm{height:30px;padding:0 12px;font-size:13px}.auth-icon{color:var(--accent)}.section-heading{margin:12px 0 -4px;font-size:1.1rem}.providers{flex-direction:column;gap:8px;display:flex}.divider{color:var(--text-muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.provider-button{gap:10px}.code-input{letter-spacing:.18em;font-variant-numeric:tabular-nums;text-align:center;font-size:18px}.qr-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.qr{border:1px solid var(--border);image-rendering:pixelated;background:#fff;border-radius:8px;padding:6px}.secret{word-break:break-all;-webkit-user-select:all;user-select:all;margin-top:6px;font-size:13px;display:block}.recovery{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:10px;margin-top:14px;padding:14px}.recovery-codes{grid-template-columns:repeat(2,minmax(0,max-content));gap:6px 28px;margin:10px 0 12px;padding:0;font-size:14.5px;list-style:none;display:grid}.status-on{color:var(--success);font-weight:700}.current-badge{background:var(--accent-soft);color:var(--accent-text);vertical-align:1px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700}.session-list li{align-items:center}.tag-2fa,.tag-warn{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.tag-2fa{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.tag-warn{background:color-mix(in srgb, var(--p-medium) 18%, transparent);color:var(--p-medium)}.policy-grid{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.audit-search{max-width:320px}.table-scroll{margin-top:12px;overflow-x:auto}.audit-table td{vertical-align:top}.audit-table code{white-space:nowrap}.audit-bad{color:var(--danger)}.pager{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.hook-list{flex-direction:column;gap:12px;margin:0 0 14px;padding:0;list-style:none;display:flex}.hook-list>li{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.hook-head{align-items:center;gap:10px;min-width:0;display:flex}.hook-head .mono{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hook-form select{flex:none;min-width:110px}.chip-toggle{align-items:center;gap:6px;display:inline-flex}.chip-toggle input{width:14px;height:14px;accent-color:var(--accent);margin:0}.chip-toggle.on{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.comment-head{align-items:center}.comment-action{opacity:0;transition:opacity .15s}.comment:hover .comment-action,.comment-action:focus-visible{opacity:1}@media (hover:none){.comment-action{opacity:1}}.comment-edit{flex-direction:column;gap:8px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.type-icon{color:var(--c);flex-shrink:0;align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.type-task{--c:var(--s-progress)}.type-bug{--c:var(--danger)}.type-story{--c:var(--success)}.type-spike{--c:var(--s-review)}.segmented.types{grid-template-columns:repeat(4,1fr)}.template-checklist{flex-direction:column;gap:2px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.template-checklist li{border-left:2px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:2px 0 2px 10px;display:flex}.toast-action{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--accent-text);cursor:pointer;white-space:nowrap;border-radius:6px;margin-left:4px;padding:4px 10px;font-weight:700}.toast-action:hover{background:var(--accent-soft)}.task-row-main.editing{cursor:default}.inline-title{height:30px;padding:2px 8px;font-weight:550}.row-edit{opacity:0}.task-row:hover .row-edit,.row-edit:focus-visible{opacity:1}@media (hover:none){.row-edit{opacity:1}}.inline-points{text-align:center;background:var(--surface-2);font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-color:#0000;border-radius:999px;width:44px;height:24px;padding:0 4px;font-size:12px;font-weight:700}.inline-points::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-points::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-points:hover,.inline-points:focus{border-color:var(--border-strong);background:var(--surface)}.inline-assignee{cursor:pointer;display:inline-grid;position:relative}.inline-assignee select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.inline-assignee:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.comment-footer{flex-wrap:wrap;align-items:center;gap:6px;min-height:26px;margin-top:4px;display:flex}.reaction{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;height:24px;color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12.5px;font-weight:650;display:inline-flex}.reaction.mine{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.reaction-picker{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0}.reaction-picker button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:32px;height:32px;font-size:17px}.reaction-picker button:hover{background:var(--surface-hover)}.reply-link{align-items:center;gap:4px;display:inline-flex}.comments.replies{border-left:2px solid var(--border);gap:12px;margin-top:10px;padding-left:4px}.comment-reply{padding-left:10px}.reply-form{flex-direction:column;gap:8px;padding-left:10px;list-style:none;display:flex}.markdown img{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:420px}.img-loading{background:var(--surface-2);border-radius:8px;width:160px;height:90px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.5}}.diff{background:var(--surface-2);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:60vh;margin:0;padding:10px 0;font-size:13px;line-height:1.55;overflow:auto}.diff>div{gap:8px;padding:0 12px 0 0;display:flex}.diff-sign{text-align:center;width:22px;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-shrink:0}.diff-add{background:color-mix(in srgb, var(--success) 14%, transparent)}.diff-add .diff-sign{color:var(--success)}.diff-del{background:color-mix(in srgb, var(--danger) 12%, transparent);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 55%, transparent)}.diff-del .diff-sign{color:var(--danger)}.mini-list li.paused{opacity:.6}@media (width<=1100px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.detail{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.detail-side{order:-1;position:static}.auth{grid-template-columns:1fr}.auth-hero{gap:20px;padding:28px 24px}.auth-hero h1{font-size:1.6rem}.auth-features,.auth-foot{display:none}}@media (width<=760px){.mobile-bar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 10px;display:flex;position:sticky;top:0}.bell .dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.sidebar{transition:transform .2s;top:56px;transform:translate(-100%)}.sidebar-brand{display:none}.menu-open .sidebar{box-shadow:var(--shadow-lg);transform:none}.menu-open .scrim{z-index:25;background:#00000059;display:block;position:fixed;inset:56px 0 0}.shell{flex-direction:column}.main{margin-left:0}.page{padding:20px 16px 48px}.column{min-height:0}.hide-sm,.task-row-main .task-key{display:none}.segmented{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.two{grid-template-columns:1fr}.move-select{max-width:110px}.header-actions{width:100%}.task-row-main .labels{display:none}.add-member{flex-direction:column}.add-member-input{max-width:none}.toasts{bottom:16px;left:16px;right:16px}.toast{max-width:none}.danger-zone{flex-direction:column;align-items:flex-start}.board{grid-template-columns:1fr!important}.bulk-bar{max-width:none;bottom:12px;left:16px;right:16px;transform:none}.report-grid,.mode-options{grid-template-columns:1fr}.inline-form{flex-wrap:wrap}.inline-form select{flex:1;min-width:0}.column-editor li{flex-wrap:wrap}.column-editor .column-name{flex-basis:100%}.column-editor select{flex:1;width:auto}.palette-backdrop{padding-top:12px}.task-row{flex-wrap:wrap;gap:0 8px;padding-bottom:10px}.task-row-main{flex:calc(100% - 40px);padding-bottom:6px}.task-row-main .epic-chip{display:none}.task-row-meta{flex-wrap:wrap;flex:100%;gap:8px;padding-left:16px}.task-row .row-check+.task-row-main+.task-row-meta{padding-left:34px}.search-button kbd{display:none}.recovery-codes{grid-template-columns:1fr}.segmented.types{grid-template-columns:repeat(2,1fr)}.inline-points{width:34px}.hook-head{flex-wrap:wrap}}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:8px;margin:22px 0 10px;font-size:13px;display:flex}.btn.is-on,.chip.active{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.chip.success{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success);border-color:#0000;margin-left:8px}.rot{transform:rotate(-90deg)}.segmented.small{grid-template-columns:repeat(2,auto);display:inline-grid}.board-lanes{flex-direction:column;gap:10px;display:flex;overflow-x:auto}.board-head{z-index:2;background:var(--bg);padding-bottom:0;position:sticky;top:0}.column-head{--c:var(--s-todo)}.column-head.column-in_progress{--c:var(--s-progress)}.column-head.column-in_review{--c:var(--s-review)}.column-head.column-done{--c:var(--s-done)}.column-head .column-header{padding-bottom:4px}.lane{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:6px 8px 10px}.lane-header{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:6px 4px 8px;font-weight:650;display:flex}.lane-title{align-items:center;gap:8px;display:inline-flex}.lane-row{padding-bottom:0}.column.lane-cell{min-height:72px;padding:8px}.workload{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:18px;padding:4px 16px 12px}.workload .section-title{margin:10px 0 8px}.workload ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.workload li{grid-template-columns:minmax(140px,220px) 1fr auto;align-items:center;gap:12px;display:grid}.workload-name{white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:550;display:inline-flex;overflow:hidden}.workload-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.workload-bar span{background:var(--accent);border-radius:999px;height:100%;display:block}.workload li.heavy .workload-bar span{background:var(--danger)}.workload-numbers{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.workload-empty{margin-bottom:16px}.capacity{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;display:flex}.capacity strong{color:var(--text)}.capacity.over,.capacity.over strong{color:var(--danger)}.capacity-people{flex-wrap:wrap;gap:4px;margin-left:6px;display:inline-flex}.capacity-people .chip{cursor:default;padding:2px 8px;font-size:12px}.past-sprints ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.viz-scope-line{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 3;opacity:.6}.viz-scope{dominant-baseline:hanging;font-size:11px;font-weight:700}.viz-scope.added{fill:var(--danger)}.viz-scope.removed{fill:var(--success)}.scope-marker-key{color:var(--text-muted);margin-right:6px;font-size:10px}.scope-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.scope-list li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.scope-sign{border-radius:50%;place-items:center;width:18px;height:18px;font-size:13px;font-weight:800;display:inline-grid}.scope-sign.added{background:var(--danger-soft);color:var(--danger)}.scope-sign.removed{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.cfd-band{stroke:var(--surface);stroke-width:.5px}.band-todo{fill:color-mix(in srgb, var(--s-todo) 55%, transparent);background:color-mix(in srgb, var(--s-todo) 55%, transparent)}.band-progress{fill:color-mix(in srgb, var(--s-progress) 70%, transparent);background:color-mix(in srgb, var(--s-progress) 70%, transparent)}.band-review{fill:color-mix(in srgb, var(--s-review) 70%, transparent);background:color-mix(in srgb, var(--s-review) 70%, transparent)}.band-done{fill:color-mix(in srgb, var(--s-done) 70%, transparent);background:color-mix(in srgb, var(--s-done) 70%, transparent)}.viz-legend .swatch[class*=band-]{border-radius:3px;width:12px;height:12px;margin-right:6px}.viz-dot-cycle{fill:var(--viz-remaining);fill-opacity:.75;stroke:var(--surface);stroke-width:1.5px;cursor:pointer}.viz-p85{stroke:var(--viz-ideal);stroke-width:1.5px;stroke-dasharray:5 4}.viz-bar-completed{fill:var(--cat-0)}.stats:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.review-actions{justify-content:flex-end;margin:12px 0;display:flex}.review-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.review-list li{align-items:center;gap:8px;min-width:0;display:flex}.review-list a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel-title .count{margin-left:6px}.retro-board{grid-template-columns:repeat(3,minmax(240px,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.retro-column{--c:var(--s-done);background:var(--surface-2);border:1px solid var(--border);border-top:3px solid var(--c);border-radius:var(--radius-lg);padding:12px}.retro-to_improve{--c:var(--viz-ideal)}.retro-action{--c:var(--accent)}.retro-column>header{align-items:center;gap:8px;display:flex}.retro-column>header h2{font-size:15px}.retro-add{flex-direction:column;gap:6px;margin:10px 0;display:flex}.retro-add .btn{align-self:flex-end}.retro-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.retro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 12px}.retro-card p{white-space:pre-wrap;word-break:break-word;margin:0 0 8px}.retro-card footer{align-items:center;gap:4px;display:flex}.retro-card-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.vote{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12.5px;font-weight:650;display:inline-flex}.vote.voted{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.vote:disabled{cursor:default}.release-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.release{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px}.release.is-released{background:var(--surface-2)}.release-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.release-toggle{cursor:pointer;color:var(--text);background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:15px;display:inline-flex}.release-progress{background:var(--surface-2);border-radius:999px;width:120px;height:6px;overflow:hidden}.release.is-released .release-progress{background:var(--border)}.release-progress span{background:var(--success);height:100%;display:block}.release-description{margin:4px 0 0 26px}.release-tasks{margin:10px 0 4px 26px}.release-notes{max-height:60vh;overflow:auto}.poker{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.poker-idle{padding-top:12px}.poker>header{justify-content:space-between;align-items:center;display:flex}.poker h3{align-items:center;gap:6px;margin:0;font-size:14px;display:inline-flex}.poker-deck{grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0;display:grid}.poker-card{aspect-ratio:3/4;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);border-radius:8px;font-size:16px;font-weight:800;transition:transform .12s,border-color .12s}.poker-card:hover{border-color:var(--accent);transform:translateY(-2px)}.poker-card.picked{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-3px)}.poker-votes{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.poker-votes li{align-items:center;gap:8px;font-size:13px;display:flex}.poker-vote{text-align:center;border:1px solid var(--border);border-radius:6px;min-width:26px;margin-left:auto;padding:1px 6px;font-weight:800}.poker-vote.hidden{color:var(--success)}.poker-result{flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0;display:flex}.poker-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.poker-actions select{width:auto}.roadmap{position:relative}.roadmap-arrows{pointer-events:none;z-index:1;position:absolute;top:0;left:0;overflow:visible}.dep-arrow{fill:none;stroke:var(--text-muted);stroke-width:1.5px;opacity:.8}.dep-arrow.late{stroke:var(--danger);stroke-dasharray:4 3}.dep-arrow-head{fill:var(--text-muted)}.dep-arrow-head.late{fill:var(--danger)}.depends-on{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.dependency-picker{border:0;flex-direction:column;gap:4px;max-height:180px;margin:0;padding:0;display:flex;overflow:auto}.dependency-picker legend{margin-bottom:4px;font-weight:600}.color-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-swatch{border:2px solid var(--surface);width:28px;height:28px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;background:var(--surface-2);color:var(--text-muted);border-radius:50%;font-size:11px;font-weight:700}.color-swatch.picked{box-shadow:0 0 0 2px var(--text)}.color-row input[type=color]{cursor:pointer;border-radius:6px;width:36px;height:30px;padding:0 2px}@media (width<=760px){.retro-board{grid-template-columns:1fr}.workload li{grid-template-columns:1fr;gap:4px}.stats:has(>:nth-child(3):last-child){grid-template-columns:1fr}.release-progress{width:80px}}.nowrap{white-space:nowrap}.rule{border:0;border-top:1px solid var(--border);margin:18px 0}.subsection-title{margin:0 0 4px;font-size:14px}.btn-group{align-items:center;gap:2px;display:inline-flex}.load-more{justify-content:center;margin:16px 0;display:flex}.progress.big{height:10px;margin:8px 0}.fql-form{align-items:flex-start;gap:10px;display:flex}.fql{flex:1;min-width:0;position:relative}.fql-input{width:100%;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.fql-input.invalid{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.fql-error-marker{white-space:pre;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1;position:absolute;top:100%;left:13px;right:0;overflow:hidden}.fql-error-pad{visibility:hidden}.fql-error-caret{color:var(--danger);font-size:18px;font-weight:900;position:relative;top:2px}.fql-error{margin-top:14px}.fql-suggestions{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:260px;max-height:300px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.fql-suggestions button{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.fql-suggestions button:hover,.fql-suggestions button.active{background:var(--accent-soft)}.fql-examples{align-items:center;margin:14px 0 18px}.fql-help summary{cursor:pointer;list-style:none}.fql-help-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:720px;margin-top:8px;padding:10px 14px}.fql-help-body p{margin:4px 0}.search-results .panel-head{flex-wrap:wrap}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 10px}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}.data-table td a{color:var(--text);font-weight:550}.data-table .num{text-align:right}.data-table tbody tr:hover{background:var(--surface-hover)}.th-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:18px;display:grid}.widget{min-width:0;margin:0}.widget-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.widget-head .panel-title{margin:0}.widget-tools{gap:2px;display:inline-flex}.widget-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.widget-list li{align-items:center;gap:8px;min-width:0;display:flex}.widget-list a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.widget-more{align-items:center;gap:4px;margin-top:10px;display:inline-flex}.widget-error{color:var(--danger)}.counter{color:var(--text);flex-direction:column;align-items:flex-start;display:flex;text-decoration:none!important}.counter strong{letter-spacing:-.02em;font-size:44px;font-weight:800;line-height:1.1}.bar-table{border-collapse:collapse;width:100%;font-size:13.5px}.bar-table th{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:140px;padding:4px 8px 4px 0;font-weight:550;overflow:hidden}.bar-table td{padding:4px}.bar-table td:nth-child(2){width:100%}.bar-table .num{text-align:right;white-space:nowrap}.bar{background:var(--surface-2);border-radius:999px;height:10px;display:block;overflow:hidden}.bar span{border-radius:999px;height:100%;display:block}.sprint-widget p{flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 4px;display:flex}.feed-mini li{align-items:flex-start}.feed-line{min-width:0;font-size:13.5px}.dashboard-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:40px;display:flex}.widget-types{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.widget-type{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:8px 10px;display:grid}.widget-type .muted{grid-column:1/-1}.widget-type.active{border-color:var(--accent);background:var(--accent-soft)}.widget-type input{opacity:0;pointer-events:none;position:absolute}.widget-type:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.cal-legend{margin-bottom:12px}.cal-legend label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.cal-dot{background:var(--c,var(--accent));border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.cal-task{--c:var(--cat-0)}.cal-sprint{--c:var(--s-progress)}.cal-release{--c:var(--cat-2)}.cal-epic{--c:var(--cat-5,var(--cat-3))}.cal-away{--c:var(--cat-1)}.calendar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface-2);padding:8px 10px;font-size:12px;font-weight:700}.cal-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;min-height:116px;padding:6px}.cal-day:nth-child(7n){border-right:0}.cal-day.other{background:var(--surface-2)}.cal-day.other .cal-date{color:var(--text-muted)}.cal-date{border-radius:12px;place-items:center;min-width:24px;height:24px;font-size:12.5px;font-weight:700;display:inline-grid}.cal-day.today .cal-date{background:var(--accent);color:#fff}.cal-day ul{flex-direction:column;gap:3px;margin:4px 0 0;padding:0;list-style:none;display:flex}.cal-event{white-space:nowrap;text-overflow:ellipsis;color:var(--text);background:color-mix(in srgb, var(--c) 16%, transparent);border-left:3px solid var(--c);border-radius:5px;padding:2px 6px;font-size:12px;line-height:1.35;display:block;overflow:hidden;text-decoration:none!important}.cal-event:hover{background:color-mix(in srgb, var(--c) 26%, transparent)}.cal-event.done{opacity:.65;text-decoration:line-through!important}.cal-event.late{--c:var(--danger)}.feed{margin:0;padding:6px 18px;list-style:none}.feed-day{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:16px 0 6px;font-size:12.5px}.feed-item{border-bottom:1px solid var(--border);gap:12px;padding:10px 0;display:flex}.feed li:last-child .feed-item{border-bottom:0}.feed-body{min-width:0}.feed-body p{margin:0 0 2px}.feed-body a{color:var(--text);font-weight:550}.feed-comment{border-left:3px solid var(--border-strong);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;margin:4px 0;padding:6px 10px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.team{margin:0}.team-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.team-head .panel-title{margin:0}.team-handle{color:var(--accent-text);align-items:center;gap:1px;font-size:13px;font-weight:650;display:inline-flex}.team-members{flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none;display:flex}.team-members li{align-items:center;gap:8px;display:flex}.team-chip{background:var(--accent-soft);width:20px;height:20px;color:var(--accent-text);border-radius:6px;place-items:center;display:inline-grid}.away-badge{background:color-mix(in srgb, var(--cat-1) 18%, transparent);color:var(--cat-1);vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.away-note{color:var(--cat-1);margin-top:4px;font-weight:600;display:block}@media (width<=760px){.fql-form{flex-direction:column;align-items:stretch}.dashboard-grid,.team-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));font-size:11px}.cal-day{min-height:64px;padding:3px}.cal-event{background:var(--c);border-left-width:0;height:6px;padding:0;font-size:0}.cal-head{text-align:center;padding:6px 2px;font-size:10px}}.ok-text{color:var(--success)}.chip.warn{background:color-mix(in srgb, var(--cat-1) 16%, transparent);color:var(--cat-1);border-color:#0000}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payload{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);white-space:pre;width:100%;max-height:280px;margin:8px 0 0;padding:10px 12px;font-size:12px;overflow:auto}.switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.switch span{background:var(--border-strong);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";width:14px;height:14px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--success)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+span{opacity:.55}.rule{margin:0}.rule.paused{opacity:.7}.rule-head{align-items:center;gap:10px;display:flex}.rule-head h2{margin:0;font-size:16px}.rule-sentence{margin:10px 0 6px;line-height:1.6}.rule-sentence code{background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:13px}.rule-meta{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.recipe-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.recipe{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:100%;height:100%;color:var(--text);flex-direction:column;gap:4px;padding:12px;display:flex}.recipe:hover{border-color:var(--accent);background:var(--accent-soft)}.rule-actions{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.rule-actions legend{margin-bottom:6px;font-weight:600}.rule-action{grid-template-columns:minmax(160px,200px) 1fr auto;align-items:start;gap:8px;display:grid}.rule-action textarea{min-height:38px}.run-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.run-list li{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.run-message{flex:1;min-width:0}.run-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.run-dot.ok{background:var(--success)}.run-dot.bad{background:var(--danger)}.git-hosts{grid-template-columns:repeat(3,auto);margin-bottom:12px;display:inline-grid}.hook-list,.token-list,.share-list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.hook-list li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.hook-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hook-url{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.hook-form{margin-top:6px}.event-picks{border:0;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;display:flex}.event-picks legend{width:100%;margin-bottom:6px;font-weight:600}.token-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.token-list li.expired{opacity:.6}.token-list .chip{cursor:default;margin-left:6px;padding:1px 8px;font-size:11.5px}.share-create{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.share-create select{width:auto}.share-list li{flex-direction:column;gap:4px;display:flex}.share-list li.expired{opacity:.6}.import-heading{margin-top:18px}.shared-page{background:var(--bg);min-height:100vh}.shared-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.shared-main{max-width:820px;margin:0 auto;padding:28px 16px 60px}.shared-task h1{align-items:center;gap:10px;margin:6px 0 12px;font-size:26px;display:flex}.shared-task h2{margin:22px 0 8px;font-size:15px}.shared-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.shared-description{margin-top:16px}.shared-checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.shared-checklist li{align-items:center;gap:8px;display:flex}.shared-checklist li.done{color:var(--text-muted);text-decoration:line-through}.shared-comments{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.shared-comments li{border-left:3px solid var(--border-strong);padding-left:12px}.shared-foot{margin-top:24px}.shared-error{text-align:center;padding:40px}@media (width<=760px){.form-grid.three{grid-template-columns:1fr}.rule-action{grid-template-columns:1fr auto}.rule-action>:nth-child(2){grid-column:1/2}.shared-header{padding:12px 16px}}.shared-task .chip-row{margin-bottom:14px}.skip-link{z-index:1000;border-radius:var(--radius);background:var(--accent);color:#fff;box-shadow:var(--shadow-lg);padding:10px 16px;font-weight:600;transition:top .15s;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.main:focus{outline:none}.offline-strip,.update-strip{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px;font-size:13px;display:flex}.offline-strip{background:var(--danger-soft);color:var(--text)}.update-strip{background:var(--accent-soft);color:var(--accent-text)}.update-strip .icon-button{margin-left:auto}.alert.info{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.update-banner{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.template-picks{border:0;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:0;padding:0;display:grid}.template-picks legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.template-pick{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.template-pick input{opacity:0;pointer-events:none;position:absolute}.template-pick.active{border-color:var(--accent);background:var(--accent-soft)}.template-pick:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.field-list{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.field-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.custom-props{margin-top:4px}.prop-row input,.prop-row select{width:100%;min-width:0}.storage-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.storage-bar{background:var(--surface-2);vertical-align:middle;border-radius:3px;width:120px;height:6px;display:inline-block;overflow:hidden}.storage-bar>span{background:var(--accent);height:100%;display:block}.system-stats{margin-bottom:16px}.system-stats .stat-text{overflow-wrap:anywhere;font-size:16px}.system-counts th{text-align:left;font-weight:500}.quota-form{align-items:end}.quota-save{align-items:end;padding-bottom:2px;display:flex}.tour-card{z-index:900;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(320px,100vw - 32px);box-shadow:var(--shadow-lg);padding:14px 16px;animation:.18s ease-out pop;position:fixed}.tour-card.docked{bottom:16px;right:16px}.tour-card h2{margin:4px 0 6px;font-size:15px}.tour-card p{color:var(--text-muted);margin:0 0 12px;font-size:13.5px}.tour-head{justify-content:space-between;align-items:center;display:flex}.tour-actions{justify-content:flex-end;gap:6px;display:flex}.tour-target{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}.status{color:color-mix(in srgb, var(--c) 70%, #000)}:root[data-theme=dark] .status{color:color-mix(in srgb, var(--c) 70%, #fff)}.owner-badge{color:color-mix(in srgb, var(--p-medium) 65%, #000)}:root[data-theme=dark] .owner-badge{color:var(--p-medium)}.muted a:not(.btn),p>a:not(.btn){text-underline-offset:2px;text-decoration:underline}:root{--danger-text:color-mix(in srgb, var(--danger) 80%, #000)}:root[data-theme=dark]{--danger-text:var(--danger)}:root{--warn-text:color-mix(in srgb, var(--p-high) 72%, #000)}:root[data-theme=dark]{--warn-text:var(--p-high)}.subhead{margin:16px 0 8px;font-size:13px;font-weight:700}.center{text-align:center}.chip-sm{cursor:default;align-items:center;gap:4px;height:24px;padding:0 9px;font-size:12px;display:inline-flex}.chip-picker{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.chip-remove:hover{color:var(--danger)}.chip-add{width:auto;max-width:150px;height:26px;padding:0 6px;font-size:12px}.chip-critical{background:var(--danger-soft);color:color-mix(in srgb, var(--danger) 78%, #000);cursor:default;border-color:#0000;align-items:center;gap:5px;display:inline-flex}.chip-warn{background:color-mix(in srgb, var(--p-high) 14%, transparent);color:color-mix(in srgb, var(--p-high) 56%, #000);cursor:default;border-color:#0000;align-items:center;gap:5px;display:inline-flex}:root[data-theme=dark] .chip-warn{color:var(--p-high)}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack>*+*{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.archived-note{margin-bottom:14px}.side-section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.side-title{align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:700;display:flex}.approval-list{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.approval{align-items:flex-start;gap:8px;display:flex}.approval-body{gap:2px;min-width:0;font-size:13px;display:grid}.approval-state{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.approval-state.pending{background:var(--surface-2);color:var(--text-muted)}.approval-state.approved{background:color-mix(in srgb, var(--success) 15%, transparent);color:color-mix(in srgb, var(--success) 56%, #000)}.approval-state.rejected{background:var(--danger-soft);color:var(--danger-text)}:root[data-theme=dark] .approval-state.approved{color:var(--success)}.approval-actions{gap:6px;margin-top:4px;display:flex}.approval-form{gap:6px;margin-top:6px;display:grid}.approval-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.workflow-requirements th,.workflow-matrix th{white-space:nowrap;font-size:12px}.workflow-requirements td,.workflow-matrix td{padding:6px 8px}.type-checklists{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.type-checklists .field>span{align-items:center;gap:6px;display:inline-flex}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input[type=number]{width:80px;margin:0 6px}.inline-field{align-items:center;gap:4px;font-size:13px;display:inline-flex}.sprint-goals{margin:4px 0 10px}.sprint-goals.panel{margin:0 0 16px;padding:12px 16px}.sprint-goals.compact{padding:0 2px}.sprint-goals-head{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.sprint-goals-head strong{color:var(--text)}.goal-list{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.goal-list li{align-items:center;gap:6px;font-size:13.5px;display:flex}.goal-list label{cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.goal-list li.done span{color:var(--text-muted);text-decoration:line-through}.capacity-table input{text-align:right;width:70px}.capacity-table tr.over td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.load-cell{min-width:160px}.load-bar{background:var(--surface-2);border-radius:5px;height:10px;position:relative;overflow:hidden}.load-available{background:color-mix(in srgb, var(--success) 25%, transparent);position:absolute;inset:0 auto 0 0}.load-used{background:var(--accent);border-radius:4px;position:absolute;inset:2px auto 2px 0}.load-used.over{background:var(--danger)}:root[data-theme=dark] .chip-critical{color:var(--danger)}.timeline-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.gantt{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-user-select:none;user-select:none;touch-action:pan-y;grid-template-columns:minmax(200px,320px) 1fr;display:grid;overflow:hidden}.gantt-names{border-right:1px solid var(--border);background:var(--surface);z-index:1}.gantt-name{border-bottom:1px solid var(--border);align-items:center;gap:6px;min-width:0;padding:0 10px;font-size:13px;display:flex}.gantt-name.critical{box-shadow:inset 3px 0 0 var(--danger)}.gantt-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gantt-head{border-bottom:1px solid var(--border);background:var(--surface-2);height:34px;position:relative}.gantt-scroll{overflow-x:auto}.gantt-canvas{position:relative}.gantt-tick{color:var(--text-muted);white-space:nowrap;padding-left:4px;font-size:11.5px;position:absolute;top:9px}.gantt-tick.major{color:var(--text);font-weight:600}.gantt-body{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 35px, var(--border) 35px, var(--border) 36px);position:relative}.gantt-line{background:var(--border);opacity:.6;width:1px;position:absolute;top:0;bottom:0}.gantt-line.major{opacity:1}.gantt-today{background:var(--accent);opacity:.7;z-index:1;width:2px;position:absolute;top:0;bottom:0}.gantt-arrows{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible}.gantt-arrow{fill:none;stroke:var(--text-muted);stroke-width:1.5px}.gantt-arrow.critical{stroke:var(--danger);stroke-width:2px}.gantt-arrow.late{stroke-dasharray:4 3}.gantt-arrow-head{fill:var(--text-muted)}.gantt-bar{background:var(--accent);color:#fff;cursor:grab;z-index:3;height:22px;box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;min-width:6px;padding:0 8px;font-size:11.5px;font-weight:700;display:flex;position:absolute}.gantt-bar.status-done{background:color-mix(in srgb, var(--success) 72%, #000)}.gantt-bar.status-todo{background:color-mix(in srgb, var(--s-todo) 85%, #000)}.gantt-bar.critical{outline:2px solid var(--danger);outline-offset:1px}.gantt-bar.conflict{background-image:repeating-linear-gradient(45deg,#0000 0 6px,#ffffff40 6px 12px)}.gantt-bar.dragging{cursor:grabbing;opacity:.85}.gantt-bar-label{white-space:nowrap;text-shadow:0 1px 1px #00000040;overflow:hidden}.gantt-handle{cursor:ew-resize;border-radius:0 6px 6px 0;width:8px;position:absolute;top:0;bottom:0;right:0}.gantt-handle:hover{background:#ffffff4d}.gantt-legend{flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px;display:flex}.legend-swatch{vertical-align:middle;background:var(--accent);border-radius:3px;width:14px;height:10px;margin-right:4px;display:inline-block}.legend-swatch.critical{outline:2px solid var(--danger)}.legend-swatch.conflict{background-image:repeating-linear-gradient(45deg, var(--accent) 0 3px, #fff9 3px 6px)}@media (width<=800px){.gantt{grid-template-columns:140px 1fr}.gantt-name .avatar{display:none}}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px;display:grid}.portfolio-card{border-top:4px solid var(--border-strong);align-content:start;gap:10px;display:grid}.portfolio-card.risk-at_risk{border-top-color:var(--danger)}.portfolio-card.risk-watch{border-top-color:var(--p-high)}.portfolio-card.risk-ok{border-top-color:var(--success)}.portfolio-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.portfolio-name{color:var(--text);font-size:15px;font-weight:700}.risk-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.risk-badge.risk-at_risk{background:var(--danger-soft);color:var(--danger-text)}.risk-badge.risk-watch{background:color-mix(in srgb, var(--p-high) 14%, transparent);color:color-mix(in srgb, var(--p-high) 56%, #000)}.risk-badge.risk-ok{background:color-mix(in srgb, var(--success) 14%, transparent);color:color-mix(in srgb, var(--success) 56%, #000)}:root[data-theme=dark] .risk-badge.risk-watch{color:var(--p-high)}:root[data-theme=dark] .risk-badge.risk-ok{color:var(--success)}.stat.risk-at_risk svg{color:var(--danger)}.progress-line{align-items:center;gap:8px;display:flex}.progress-line .progress{flex:1;margin:0}.portfolio-facts{text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;display:grid}.portfolio-facts dt{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.portfolio-facts dd{margin:0;font-size:16px;font-weight:700}.risk-reasons{color:var(--text-muted);margin:0;padding-left:18px}.portfolio-card p{margin:0}.quarter-label{padding:0 8px}.goal-card{gap:10px;margin-bottom:16px;display:grid}.goal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.goal-head h2{margin:0 0 4px;font-size:1.1rem}.goal-head .muted{align-items:center;gap:6px;display:inline-flex}.goal-score{align-items:center;gap:10px;display:flex}.goal-score strong{font-size:1.5rem}.health-badge{background:var(--surface-2);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700}.health-badge.health-on_track,.health-badge.health-done{background:color-mix(in srgb, var(--success) 14%, transparent);color:color-mix(in srgb, var(--success) 56%, #000)}.health-badge.health-at_risk{background:color-mix(in srgb, var(--p-high) 14%, transparent);color:color-mix(in srgb, var(--p-high) 56%, #000)}.health-badge.health-off_track{background:var(--danger-soft);color:var(--danger-text)}:root[data-theme=dark] .health-badge.health-on_track,:root[data-theme=dark] .health-badge.health-done{color:var(--success)}:root[data-theme=dark] .health-badge.health-at_risk{color:var(--p-high)}.goal-description{color:var(--text-muted);margin:0}.goal-progress{position:relative}.goal-progress .progress{height:8px;margin:0}.goal-expected{background:var(--text-muted);border-radius:1px;width:2px;height:14px;position:absolute;top:-3px}.kr-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kr-list li{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 160px auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.kr-main{min-width:0;display:grid}.kr-title{font-weight:600}.kr-bar{align-items:center;gap:6px;display:flex}.kr-bar .progress{flex:1;margin:0}.kr-current{width:80px}.kr-actions{gap:2px;display:flex}.goal-actions{flex-wrap:wrap;gap:8px;display:flex}.epic-picks{border:0;gap:4px;max-height:260px;margin:0;padding:0;display:grid;overflow:auto}@media (width<=700px){.kr-list li{grid-template-columns:1fr}.portfolio-facts{grid-template-columns:repeat(3,1fr)}}.presence-bar{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.presence-avatar{border-radius:50%;display:inline-flex}.presence-avatar.editing{box-shadow:0 0 0 2px var(--success)}.field-label-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-chip{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.live-chip .live-dot{width:8px;height:8px}.inline-comments{position:relative}::highlight(inline-anchor){background-color:#facc1573}.inline-comment-button{z-index:5;box-shadow:var(--shadow);position:absolute;transform:translate(-50%,calc(-100% - 6px))}.comment-anchor{color:var(--text-muted);background:var(--surface-2);border-left:3px solid #eab308;border-radius:0 6px 6px 0;margin:0 0 6px;padding:4px 10px;font-size:13px}.comment-anchor-draft{align-items:flex-start;gap:6px;display:flex}.comment-anchor-draft .comment-anchor{flex:1}.poll{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px}.poll-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.poll-head .muted{align-items:center;gap:4px;display:inline-flex}.poll-actions{gap:10px;margin-left:auto;display:inline-flex}.poll-options{gap:6px;margin:0;padding:0;list-style:none;display:grid}.poll-option{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;font:inherit;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:relative;overflow:hidden}.poll-option:disabled{cursor:default}.poll-option.mine{border-color:var(--accent)}.poll-option.winner{border-color:var(--success);font-weight:700}.poll-fill{background:var(--accent-soft);z-index:0;transition:width .2s;position:absolute;inset:0 auto 0 0}.poll-text,.poll-count{z-index:1;position:relative}.poll-text{flex:1}.poll-count{font-variant-numeric:tabular-nums;font-weight:700}.poll-form{margin-top:8px}.poll-option-input{align-items:center;gap:6px;display:flex}.poll-option-input input{flex:1}.kudos-line{margin:0 0 6px}.kudos-emoji{font-size:16px}.kudos-emoji.big{font-size:28px;line-height:1}.emoji-picks{gap:4px;display:flex}.emoji-pick{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;width:34px;height:34px;font-size:18px}.emoji-pick.active{border-color:var(--accent);background:var(--accent-soft)}.kudos-layout{grid-template-columns:1fr 280px;align-items:start;gap:16px;display:grid}.kudos-feed{gap:10px;margin:0;padding:0;list-style:none;display:grid}.kudos-card{align-items:flex-start;gap:14px;display:flex}.kudos-card p{margin:0 0 4px}.kudos-message{font-size:15px}.kudos-leaders ol{gap:8px;margin:0;padding-left:20px;display:grid}.kudos-leaders li{display:list-item}.kudos-leaders li .avatar{vertical-align:middle;margin-right:4px}@media (width<=800px){.kudos-layout{grid-template-columns:1fr}}.wiki{grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}.wiki-tree{max-height:calc(100vh - 120px);padding:12px;position:sticky;top:16px;overflow:auto}.wiki-tree ul{margin:0;padding-left:12px;list-style:none}.wiki-tree>ul{padding-left:0}.wiki-link{color:var(--text);border-radius:6px;padding:4px 8px;font-size:14px;display:block}.wiki-link:hover{background:var(--surface-hover)}.wiki-link.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.wiki-page{min-width:0}.wiki-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wiki-head h2{margin:0;font-size:1.5rem}.wiki-children{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}.wiki-children h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:13px}.wiki-history{grid-template-columns:220px 1fr;gap:16px;display:grid}.wiki-history .link.active{font-weight:700}.wiki-revision{border-left:1px solid var(--border);min-width:0;padding-left:16px}@media (width<=800px){.wiki,.wiki-history{grid-template-columns:1fr}.wiki-tree{max-height:none;position:static}}.meetings{gap:14px;margin-top:12px;display:grid}.meeting{gap:8px;display:grid}.meeting-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meeting-head h3{margin:4px 0 2px}.meeting-head .muted{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.actions-block h4{align-items:center;gap:6px;margin:8px 0 6px;font-size:13px;display:flex}.action-list{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.action-list li{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.decisions{gap:12px;margin-top:12px;display:grid}.decision-form{gap:8px;display:grid}.decision-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.decision-list li{align-items:flex-start;gap:10px;display:flex}.decision-main{flex:1;gap:4px;display:grid}.decision-main p{margin:0}.decision-main .muted{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.standup-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.standup-grid.walking{grid-template-columns:minmax(0,640px);justify-content:center}.standup-grid.walking .standup-card{font-size:16px}.standup-card{align-content:start;gap:10px;display:grid}.standup-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.standup-list h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 4px;font-size:12px}.standup-list ul{gap:2px;margin:0;padding-left:18px;display:grid}.standup-list p{margin:0}.standup-list.done h4{color:color-mix(in srgb, var(--success) 60%, #000)}.standup-list.blocked h4{color:var(--danger-text)}:root[data-theme=dark] .standup-list.done h4{color:var(--success)}.with-unit{align-items:center;gap:6px;display:flex}.with-unit input{flex:1;min-width:0}[data-nav-active]{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.keyboard-hint{margin:0}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.panel-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.panel-title-row h2{align-items:center;gap:8px;margin:0;font-size:16px;display:inline-flex}.panel-title-row .group-title{margin:0}.today-progress{align-items:center;gap:10px;min-width:180px;display:flex}.today-progress .progress{flex:1;margin:0}.task-row.is-done .task-title{color:var(--text-muted);text-decoration:line-through}.carry-over{border-color:var(--accent)}.plain-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.summary-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.summary-stats div{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;padding:10px;display:flex}.summary-stats strong{font-size:20px}.picker-list{max-height:50vh;margin-top:10px;overflow-y:auto}.quick-picker{max-height:50vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.quick-picker li{cursor:pointer;border-radius:6px;padding:8px 10px}.quick-picker li.active{background:var(--accent-soft);color:var(--accent-text)}.timer-pill{left:calc(var(--sidebar-w) + 20px);z-index:45;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex;position:fixed;bottom:20px}.timer-pill .timer-task{font-weight:650}.timer-pill .mono,.timer-running .mono{font-variant-numeric:tabular-nums}.preset-row,.preset-list{flex-wrap:wrap;gap:6px;display:flex}.preset-list{flex-direction:column;align-items:stretch;margin-bottom:12px}.preset-list .btn{justify-content:space-between}.chip-button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px}.chip-button:hover{border-color:var(--accent)}.reminder-list li{align-items:center;gap:10px;display:flex}.reminder-when{white-space:nowrap;min-width:150px;font-weight:600}.reminder-what{flex:1;min-width:0}.reminder-mini{font-size:13px}.reminder-mini .icon-button{margin-left:auto}.personal-buttons{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.personal-panel textarea{min-height:64px}.private-checklist .icon-button{margin-left:auto}.done-text{color:var(--text-muted);text-decoration:line-through}.notification-item{align-items:center;gap:8px;display:flex}.notification-item .notification{flex:1;min-width:0}.notification-item.selected .notification{background:var(--accent-soft)}.notification-actions{gap:2px;display:flex}.selection-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.rule-controls{flex-wrap:wrap;gap:8px;display:flex}.rule-controls select{flex:1;width:auto;min-width:160px}.rule-list{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.rule-list li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rule-project{min-width:140px}.rule-list .rule-controls{flex:1}.subheading{align-items:center;gap:6px;margin:16px 0 6px;font-size:14px;display:flex}.quiet-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.quiet-form .field{min-width:120px}.quiet-actions{gap:6px;display:flex}.menu-check{width:16px;display:inline-flex}@media (width<=860px){.timer-pill{bottom:16px;left:16px}.summary-stats{grid-template-columns:repeat(2,1fr)}.reminder-when{min-width:0}}.reminder-what a,.plain-list a{text-decoration:underline}:root{--series-1:#2a78d6;--series-2:#e0673a;--series-3:#1f9d6b;--series-4:#8b5cf6;--series-5:#d6417f;--series-6:#b58a00;--series-7:#0e8fa3;--series-8:#6b7280}:root[data-theme=dark]{--series-1:#5b9ef0;--series-2:#f08a5d;--series-3:#3ecf8e;--series-4:#a78bfa;--series-5:#f07aa8;--series-6:#e0b82e;--series-7:#33c3d6;--series-8:#9ca3af}.series-1{--c:var(--series-1)}.series-2{--c:var(--series-2)}.series-3{--c:var(--series-3)}.series-4{--c:var(--series-4)}.series-5{--c:var(--series-5)}.series-6{--c:var(--series-6)}.series-7{--c:var(--series-7)}.series-8{--c:var(--series-8)}.viz-series{fill:none;stroke:var(--c);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.viz-series.dashed{stroke-dasharray:6 5;stroke-width:1.8px}.viz-dot{fill:var(--c);stroke:var(--surface);stroke-width:2px}.viz-fill{fill:var(--c)}.series-swatch{background:var(--c,var(--text-muted));border-radius:3px;width:12px;height:12px;display:inline-block}.series-swatch.dashed{background:repeating-linear-gradient(90deg, var(--c) 0 4px, transparent 4px 6px)}.donut{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.donut-track{fill:none;stroke:var(--surface-2);stroke-width:22px}.donut-slice{fill:none;stroke:var(--c);stroke-width:22px}.donut-total{fill:var(--text);font-size:26px;font-weight:700}.donut-legend{flex-direction:column;gap:6px;min-width:180px;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{grid-template-columns:14px 1fr auto 42px;align-items:center;gap:8px;font-size:13.5px;display:grid}.donut-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.donut-legend .small{text-align:right}.forecast-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 14px;display:grid}.forecast-cards.compact{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0 0 8px}.forecast-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;padding:12px;display:flex}.forecast-card strong{font-size:18px}.forecast-card.highlight{border-color:var(--accent);background:var(--accent-soft)}.inline-label{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.inline-label input{width:auto}.good-text{color:color-mix(in srgb, var(--success) 75%, #000)}:root[data-theme=dark] .good-text{color:var(--success)}.danger-text{color:var(--danger-text)}.grow{flex:1;min-width:0}.aging-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.aging-list li{border-top:1px solid var(--border);grid-template-columns:76px minmax(0,2fr) 110px 24px minmax(80px,1.4fr) 56px 76px;align-items:center;gap:10px;padding:8px 0;display:grid}.aging-list li:first-child{border-top:0}.aging-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.aging-bar{background:var(--surface-2);border-radius:999px;height:8px;position:relative}.aging-bar span{background:var(--series-1);border-radius:999px;height:100%;display:block}.aging-late .aging-bar span{background:var(--danger)}.aging-watch .aging-bar span{background:var(--p-high)}.aging-bar i{background:var(--text-muted);width:2px;position:absolute;top:-3px;bottom:-3px}.aging-days{text-align:right;font-variant-numeric:tabular-nums}.aging-badge,.sla-badge{white-space:nowrap;text-align:center;background:var(--surface-2);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-block}.aging-badge.late,.sla-badge.breached{background:var(--danger-soft);color:var(--danger-text)}.aging-badge.watch,.sla-badge.at_risk{background:color-mix(in srgb, var(--p-high) 16%, transparent);color:var(--warn-text)}.aging-badge.ok,.sla-badge.met,.sla-badge.ok{background:color-mix(in srgb, var(--success) 16%, transparent);color:color-mix(in srgb, var(--success) 60%, #000)}:root[data-theme=dark] .aging-badge.ok,:root[data-theme=dark] .sla-badge.met,:root[data-theme=dark] .sla-badge.ok{color:var(--success)}.avatar-placeholder{width:22px;display:inline-block}.sla-targets input{width:120px}.sla-targets{margin-bottom:12px}.sla-lines li{flex-wrap:wrap;gap:8px}.report-preview{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius);max-height:60vh;padding:12px;font-size:13px;overflow:auto}.table-scroll{overflow-x:auto}.health-check{flex-direction:column;gap:12px;display:flex}.health-vote-form{flex-direction:column;gap:10px;display:flex}.health-row{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px 10px;display:flex}.health-row legend{padding:0 4px;font-weight:650}.health-scores{flex-wrap:wrap;flex:1;gap:6px;display:flex}.health-row select{width:auto}.health-choice{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-weight:600;display:inline-flex;position:relative}.health-choice input{opacity:0;pointer-events:none;position:absolute}.health-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.health-choice.green.active{border-color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent)}.health-choice.amber.active{border-color:var(--p-high);background:color-mix(in srgb, var(--p-high) 14%, transparent)}.health-choice.red.active{border-color:var(--danger);background:var(--danger-soft)}.health-dot{vertical-align:-1px;background:var(--surface-2);border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.health-dot.green{background:var(--success)}.health-dot.amber{background:var(--p-high)}.health-dot.red{background:var(--danger)}.health-bar{background:var(--surface-2);border-radius:999px;min-width:120px;height:12px;display:flex;overflow:hidden}.health-bar .green{background:var(--success)}.health-bar .amber{background:var(--p-high)}.health-bar .red{background:var(--danger)}.health-history td{white-space:nowrap}@media (width<=860px){.aging-list li{grid-template-columns:70px minmax(0,1fr) 56px 70px}.aging-list li>:nth-child(3),.aging-list li>:nth-child(4),.aging-list li>:nth-child(5){display:none}}.public-nav{flex-wrap:wrap;gap:16px;display:flex}.public-nav a{align-items:center;gap:6px;font-weight:600;display:inline-flex}.portal-panel{flex-direction:column;gap:12px;display:flex}.portal-panel h1{margin:0}.portal-intro{color:var(--text)}.portal-form{max-width:640px}.portal-types{border:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:0;padding:0;display:grid}.portal-types legend{margin-bottom:8px;font-weight:650}.portal-type{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:2px;padding:12px;display:flex;position:relative}.portal-type input{opacity:0;pointer-events:none;position:absolute}.portal-type.active{border-color:var(--accent);background:var(--accent-soft)}.portal-type:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.required{color:var(--danger-text)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.portal-done{text-align:center;align-items:center}.similar-public ul{margin:6px 0 0;padding-left:18px}.tracking-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tracking-status{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:650}.tracking-status.resolved{background:color-mix(in srgb, var(--success) 16%, transparent);color:color-mix(in srgb, var(--success) 60%, #000)}:root[data-theme=dark] .tracking-status.resolved{color:var(--success)}.conversation{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.conversation li{flex-direction:column;gap:4px;max-width:85%;display:flex}.conversation li.mine{align-self:flex-end;align-items:flex-end}.conversation .bubble{background:var(--surface-2);border-radius:12px;padding:8px 12px}.conversation li.mine .bubble{background:var(--accent-soft)}.conversation .bubble p{margin:0}.public-roadmap{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px;display:grid}.public-stage{flex-direction:column;gap:10px;display:flex}.public-stage h2{align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.roadmap-card{border-left:4px solid var(--cat-0);padding:12px 14px}.roadmap-card h3{margin:0 0 4px;font-size:15px}.roadmap-card p{margin:0 0 8px}.roadmap-card .progress{margin:6px 0 4px}.epic-color-1{border-left-color:var(--cat-1)}.epic-color-2{border-left-color:var(--cat-2)}.epic-color-3{border-left-color:var(--cat-3)}.epic-color-4{border-left-color:var(--cat-4)}.epic-color-5{border-left-color:var(--cat-5)}.epic-color-6{border-left-color:var(--cat-6)}.epic-color-7{border-left-color:var(--cat-7)}.changelog-entry{margin-bottom:14px}.changelog-entry h2{align-items:baseline;gap:10px;margin:0 0 6px;display:flex}.changelog-entry h3{margin:12px 0 4px;font-size:14px}.changelog-entry ul{margin:0;padding-left:20px}html.embedded,html.embedded body{background:var(--surface)}.embed-page{flex-direction:column;height:100vh;display:flex}.embed-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.embed-header .icon-button{font-size:20px;line-height:1}.embed-main{flex:1;padding:14px;overflow-y:auto}.embed-main .portal-types,.embed-main .form-grid.two{grid-template-columns:1fr}.public-links{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;display:flex}.snippet{background:var(--surface-2);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 10px;display:flex}.snippet code{white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow-x:auto}.form-builder{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.form-builder li{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px;display:flex}.form-builder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-builder-row input{flex:1;min-width:160px}.form-builder-row select{width:auto}.requester-panel .answers{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0 0 8px;display:grid}.requester-panel .answers div{background:var(--surface-2);border-radius:8px;padding:6px 10px}.requester-panel .answers dt{color:var(--text-muted);font-size:12px}.requester-panel .answers dd{overflow-wrap:anywhere;margin:0}.duplicate-hint{background:color-mix(in srgb, var(--p-high) 10%, transparent);border-radius:8px;margin-top:6px;padding:8px 10px}.duplicate-hint ul{margin:4px 0 0;padding-left:18px}@media (width<=860px){.public-roadmap{grid-template-columns:1fr}.conversation li{max-width:100%}}.code-block{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius);padding:10px 12px;font-size:12.5px;overflow-x:auto}.link-card{flex-direction:column;gap:6px;margin:8px 0;display:flex}.link-card-body{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);align-items:flex-start;gap:12px;max-width:640px;padding:10px 12px;text-decoration:none;display:flex}.link-card-body:hover{border-color:var(--accent)}.link-card-body img{object-fit:cover;border-radius:6px;flex-shrink:0;width:96px;height:64px}.link-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.link-card-text strong{text-overflow:ellipsis;overflow:hidden}.link-card-icon{color:var(--text-muted);flex-shrink:0}.link-card .btn{align-self:flex-start}.link-embed{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);width:100%;max-width:800px}.link-embed.embed-google-document{aspect-ratio:4/5}.build-badge{background:var(--surface-2);color:var(--text-muted);border-radius:999px;align-items:center;gap:3px;padding:1px 6px;font-size:11.5px;font-weight:650;display:inline-flex}.build-badge.build-success,.build-state.build-success{background:color-mix(in srgb, var(--success) 15%, transparent);color:color-mix(in srgb, var(--success) 60%, #000)}.build-badge.build-failure,.build-state.build-failure{background:var(--danger-soft);color:var(--danger-text)}.build-badge.build-running,.build-state.build-running{background:var(--accent-soft);color:var(--accent-text)}:root[data-theme=dark] .build-badge.build-success,:root[data-theme=dark] .build-state.build-success{color:var(--success)}.build-state{background:var(--surface-2);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:650}.build-icon.build-success{color:var(--success)}.build-icon.build-failure{color:var(--danger)}.build-icon.build-running{color:var(--accent)}.dev-actions{margin-bottom:8px}.developer-links li{display:block}.developer-links .code-block{margin-top:6px}.ai-trigger{align-self:flex-start}.ai-box{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 5%, var(--surface));flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ai-box .field span{align-items:center;gap:6px;display:inline-flex}.ai-box .row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-thinking{align-items:center;gap:6px;display:flex}.ai-notes{max-height:60vh;overflow:auto}.ai-notes-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.ai-proposals{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.ai-proposals li{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.ai-proposals .check{align-items:flex-start;gap:8px;display:flex}.ai-proposals details{margin:4px 0 0 26px}.ai-actions{flex-wrap:wrap;gap:6px;display:flex}.ai-since{align-items:center;gap:2px;display:inline-flex}.ai-since select{padding:2px 4px;font-size:12px}.ai-result{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));margin-top:10px;padding:10px;font-size:13.5px}.ai-result p{margin:0 0 8px}.ai-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:8px 0 4px;font-size:12px}.ai-list{margin:0 0 6px;padding-left:18px}.ai-confidence{background:var(--surface-hover);color:var(--text-muted);border-radius:999px;padding:1px 6px;font-size:12px}.ai-confidence.high{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--text)}.ai-triage{grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;display:grid}.ai-triage dt{color:var(--text-muted)}.ai-triage dd{margin:0}.ai-note{margin:8px 0 0!important}.ai-ask{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.ai-ask input{flex:240px;min-width:0}.ai-ask-icon{color:var(--accent-text)}.ai-ask-note{flex-basis:100%;margin:0}.ai-result a{text-decoration:underline}.copy-field{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;display:flex}.copy-field code{background:var(--surface-hover);overflow-wrap:anywhere;border-radius:6px;padding:2px 6px}.retention-rule{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.retention-rule span{flex:260px}.health-checks li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.health-dot{border-radius:50%;flex:none;width:10px;height:10px}.health-dot.ok{background:var(--success)}.health-dot.bad{background:var(--danger)}.health-bad{color:var(--danger-text);font-weight:600}.permission-grid{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;padding:8px 12px;display:grid}.permission-grid legend{color:var(--text-muted);padding:0 4px;font-size:12px}.role-form{margin-top:10px}.comment-submit{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.internal-toggle{align-items:center;gap:4px;display:inline-flex}.internal-badge{background:color-mix(in srgb, var(--p-high) 18%, transparent);color:var(--warn-text);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600}:root[data-contrast=high]{--text:#000;--text-muted:#1f2433;--border:#5b6272;--border-strong:#1f2433;--bg:#fff;--surface:#fff;--surface-2:#f2f3f7;--surface-hover:#e6e8ef;--accent:#1f17b8;--accent-hover:#140f8f;--accent-text:#1f17b8;--accent-soft:#e2e0fb;--danger-text:#9b0000;--warn-text:#6b2d00}:root[data-contrast=high][data-theme=dark]{--text:#fff;--text-muted:#e3e6ee;--border:#a3a9b8;--border-strong:#eceff5;--bg:#000;--surface:#07080c;--surface-2:#11131a;--surface-hover:#1c1f29;--accent:#a9a4ff;--accent-hover:#c4c0ff;--accent-text:#c4c0ff;--accent-soft:#231f55;--danger-text:#ff9c9c;--warn-text:#ffc58f}:root[data-contrast=high][data-theme=dark] :is(.btn-primary,.poker-card.picked,.cal-day.today .cal-date,.skip-link,.project-icon,.count){color:#000}:root[data-contrast=high] a:not(.btn){text-decoration:underline}:root[data-contrast=high] :focus-visible{outline-offset:2px;outline:3px solid var(--accent)!important}:root[data-contrast=high] .card,:root[data-contrast=high] .panel{border-width:2px}:root[data-density=compact] .page{gap:12px;padding:18px 20px 40px}:root[data-density=compact] .panel{padding:12px 14px}:root[data-density=compact] .card{gap:4px;padding:7px 9px}:root[data-density=compact] .task-row{min-height:34px;padding-top:3px;padding-bottom:3px}:root[data-density=compact] .btn{min-height:30px}:root[data-density=compact] .page-header h1{font-size:22px}:root[data-font=system]{--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-font=serif]{--font:Charter, "Iowan Old Style", Georgia, Cambria, "Times New Roman", serif}:root[data-font=mono]{--font:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}:root[data-font=readable]{--font:"Atkinson Hyperlegible", Verdana, Tahoma, "Segoe UI", sans-serif}:root[data-font=readable] body{letter-spacing:.02em;word-spacing:.06em;line-height:1.6}:root[data-text-size=small] body{zoom:.92}:root[data-text-size=large] body{zoom:1.12}:root[data-text-size=larger] body{zoom:1.25}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] :before,:root[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.appearance-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 20px;margin-bottom:10px;display:grid}.appearance-choice{border:0;min-width:0;margin:0;padding:0}.appearance-choice legend{margin-bottom:6px;font-size:13px;font-weight:600}.appearance-choice .segmented{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.appearance-choice .segmented label{cursor:pointer}.appearance-choice .segmented input{opacity:0;pointer-events:none;position:absolute}.project-icon.has-emoji{background:0 0;font-size:18px}.project-icon.sm.has-emoji{font-size:15px}.epic-emoji{font-size:13px;line-height:1}.emoji-picker{display:inline-block;position:relative}.emoji-trigger{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;min-width:36px;height:36px;color:var(--text);border-radius:8px;padding:0 6px;font-size:18px}.emoji-grid{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:292px;box-shadow:var(--shadow-lg);grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.emoji-grid button{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 0;font-size:18px}.emoji-grid button:hover,.emoji-grid button.active{background:var(--surface-hover)}.emoji-grid .emoji-clear{color:var(--text-muted);grid-column:1/-1;font-size:13px}.popover-anchor{display:inline-block;position:relative}.popover{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.context-menu{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:210px;max-height:calc(100vh - 16px);box-shadow:var(--shadow-lg);outline:none;padding:4px;position:fixed;overflow:auto}.context-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:13.5px;display:flex}.context-item.active{background:var(--accent-soft);color:var(--accent-text)}.context-item.danger{color:var(--danger-text)}.context-item:disabled{color:var(--text-muted);cursor:default}.context-check{flex:none;width:14px}.context-separator{background:var(--border);height:1px;margin:4px 6px}.saved-views{min-width:260px}.saved-view{justify-content:space-between;align-items:center;gap:8px;display:flex}.saved-view .link{text-align:left}.table-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-toolbar input[type=search]{max-width:280px}.column-chooser{position:relative}.column-chooser summary{list-style:none}.column-chooser summary::-webkit-details-marker{display:none}.column-chooser .popover{left:0;right:auto}.sheet-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:auto}.sheet{border-collapse:collapse;table-layout:fixed;width:max-content;min-width:100%;font-size:13.5px}.sheet th{background:var(--surface-2);z-index:1;text-align:left;border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border);padding:0;position:sticky;top:0}.sheet-sort{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:7px 8px;font-weight:600;display:flex}.sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;cursor:cell;height:32px;padding:5px 8px;overflow:hidden}.sheet td.readonly{color:var(--text-muted)}.sheet td.active{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.sheet td:focus{outline:2px solid var(--accent);outline-offset:-2px}.sheet tbody tr:hover td{background:var(--surface-hover)}.cell-editor{width:100%;min-width:0;height:26px;padding:2px 6px;font-size:13.5px}.sheet-new{border-top:1px solid var(--border);padding:6px}.sheet-new input{border:1px dashed var(--border-strong);background:0 0;width:100%}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.gallery-item{flex-direction:column;gap:4px;min-width:0;margin:0;display:flex}.gallery-thumb{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:zoom-in;padding:0;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-placeholder{width:100%;height:100%;display:block}.gallery-item figcaption{justify-content:space-between;gap:6px;min-width:0;font-size:13px;display:flex}.gallery-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lightbox{z-index:150;background:#000000c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox-inner{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;max-width:min(1200px,100%);max-height:100%;display:flex;overflow:hidden}.lightbox-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.lightbox-image{object-fit:contain;max-width:100%;max-height:calc(100vh - 110px);margin:0 auto;display:block}.page-drop{z-index:120;background:color-mix(in srgb, var(--accent) 14%, transparent);pointer-events:none;border:3px dashed var(--accent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-drop-inner{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--accent-text);align-items:center;gap:10px;padding:14px 20px;font-size:16px;font-weight:600;display:flex}.card.file-over{outline:2px dashed var(--accent);outline-offset:2px}.segmented-2{grid-template-columns:repeat(2,auto)}.gantt-person.first{border-top:1px solid var(--border-strong);font-weight:600}.gantt-person{gap:6px}.bottom-nav{display:none}.pull-refresh{z-index:19;background:var(--surface-2);color:var(--text-muted);justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;top:56px;left:0;right:0;overflow:hidden}.spin{animation:1s linear infinite spin}@media (width<=760px){.bottom-nav{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{font:inherit;color:var(--text-muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 6px;font-size:11px;text-decoration:none;display:flex;position:relative}.bottom-nav a.active{color:var(--accent-text)}.bottom-count{background:var(--danger);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:3px;left:calc(50% + 6px)}.main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.card{touch-action:pan-y}}
