:root{--bg:#f3efe6;--bg-accent:#e4ddd0;--bg-glow:#dce8d8;--surface:#fffcf7;--surface-2:#f7f2e8;--surface-soft:#f4f1e8;--surface-hover:#f7fbf4;--ink:#1c241c;--muted:#5f6b5f;--line:#d5cec0;--line-strong:#d8d0c0;--brand:#2f5d3a;--brand-strong:#23472c;--danger:#8b3a2f;--focus:#3d7a4a;--shadow:0 10px 30px #1c241c14;--topbar-bg:#f3efe6eb;--panel-grad-top:#fffcf7;--panel-grad-bottom:#f8f4ec;--chip-bg:#ebe6db;--overdue-bg:#faf3ef;--overdue-border:#e0c4b8;--overdue-accent:#c4785c;--overdue-text:#9a4f38;--kanban-col:#fffcf7b8;--radius:14px;--font:Arial, Helvetica, sans-serif;--font-brand:"Lilita One", "Segoe UI", cursive;--mono:ui-monospace, Consolas, monospace}html[data-theme=dark]{--bg:#151a16;--bg-accent:#1c241e;--bg-glow:#243328;--surface:#222a24;--surface-2:#1c231e;--surface-soft:#262f28;--surface-hover:#2a342d;--ink:#e8eee8;--muted:#9aab9c;--line:#354038;--line-strong:#3d4a40;--brand:#7eb889;--brand-strong:#9ed0a8;--danger:#e08a7a;--focus:#7eb889;--shadow:0 10px 30px #00000059;--topbar-bg:#151a16eb;--panel-grad-top:#242c26;--panel-grad-bottom:#1c231e;--chip-bg:#2f3a32;--overdue-bg:#2c221f;--overdue-border:#6b453c;--overdue-accent:#c4785c;--overdue-text:#e0a090;--kanban-col:#222a24d9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top right, var(--bg-glow) 0%, transparent 40%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);background-attachment:fixed;margin:0;transition:background .25s,color .2s}a{color:var(--brand);text-decoration:none}button,input,textarea,select{font:inherit}.app-frame{min-height:100vh}.shell{width:100%;max-width:720px;margin:0 auto;padding-bottom:3rem;overflow-x:clip}@media (width>=900px){.shell{max-width:min(100%,1120px);padding-inline:.75rem}.shell.shell-wide{max-width:min(100%,1400px)}.shell .content,.shell .page-trail{padding-inline:.75rem}}.topbar{z-index:10;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);width:100%;position:relative}.topbar-inner{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%;max-width:none;margin:0;padding:.75rem 1rem;display:flex}@media (width>=900px){.topbar-inner{flex-wrap:nowrap;padding-inline:1.25rem}}.topbar-left{flex:auto;align-items:center;gap:.45rem;min-width:0;display:flex}.topbar-tools{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:.35rem;margin-left:auto;display:flex}.topbar-account{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;display:flex}.topbar-logout{flex-shrink:0;transition:background .15s,color .15s}.topbar-logout:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink)}html[data-theme=dark] .topbar-logout:hover:not(:disabled){color:var(--ink);background:#ffffff1f}@media (width<=720px){.topbar-inner{gap:.45rem .5rem;padding:.55rem .75rem}.topbar-left{flex:auto;min-width:0}.topbar-tools{flex:none;margin-left:0}.topbar-account{border-top:1px solid var(--line);flex:100%;justify-content:space-between;padding-top:.35rem}.brand{font-size:1.35rem}.admin-gear{width:2rem;height:2rem}.admin-gear-icon{width:.95rem;height:.95rem}.help-link{width:2rem;height:2rem;font-size:.95rem}.theme-toggle-track{width:2.85rem;height:1.65rem}.theme-toggle-knob{width:1.15rem;height:1.15rem}.theme-toggle.is-dark .theme-toggle-knob{transform:translate(1.15rem)}.theme-toggle-icon{font-size:.95rem}.global-search-trigger{width:2rem;height:2rem}.lang-switch .select-sm .select-trigger{min-height:2rem;padding:.2rem .45rem;font-size:.8rem}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:min(10rem,55vw);overflow:hidden}}.admin-gear{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.admin-gear:hover{color:var(--ink);border-color:var(--line-strong)}.admin-gear:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-gear-icon{width:1.05rem;height:1.05rem}.help-link{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.help-link:hover{color:var(--ink);border-color:var(--line-strong)}.help-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.help-page .help-hero{margin-bottom:.15rem}.help-title{margin:0 0 .4rem;font-size:1.45rem}.help-section-title{margin:0;font-size:1.05rem}.help-para{color:var(--ink);margin:0;line-height:1.55}.help-para+.help-para{margin-top:.35rem}.admin-page .admin-hero{margin-bottom:.25rem}.admin-title{margin:0 0 .35rem;font-size:1.45rem}.admin-section-title{margin:0;font-size:1.05rem}.admin-table-scroll{border:1px solid var(--line);border-radius:10px;width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.65rem .75rem}.admin-table th{background:var(--surface-soft);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.75rem}.admin-table tr:last-child td{border-bottom:0}.admin-badge{background:color-mix(in srgb, var(--brand) 18%, var(--surface));color:var(--brand-strong);vertical-align:middle;border-radius:999px;margin-left:.45rem;padding:.1rem .45rem;font-size:.7rem;font-weight:650;display:inline-block}.admin-actions{white-space:nowrap;text-align:right}.admin-edit-form{padding:.35rem 0}.admin-check-label{align-items:flex-start;gap:.55rem;margin:.25rem 0 0;display:flex}.admin-check-label input{margin-top:.2rem}html[data-theme=dark] .admin-badge{color:var(--brand-strong)}.admin-badge-disabled{background:color-mix(in srgb, #8b3a2f 18%, var(--surface));color:var(--danger)}.admin-table tr.is-disabled-row td{opacity:.72}.admin-toggle-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem 1.25rem;padding:.85rem 0 1rem;display:flex}.admin-toggle-copy{flex:14rem;gap:.45rem;min-width:0;display:grid}.admin-toggle-hint{max-width:36rem;margin:0;line-height:1.45;display:block}.admin-switch{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;color:var(--muted);font:inherit;border-radius:999px;align-items:center;gap:.55rem;padding:.3rem .7rem .3rem .35rem;font-size:.85rem;display:inline-flex}.admin-switch.on{background:color-mix(in srgb, var(--brand) 18%, var(--surface));border-color:color-mix(in srgb, var(--brand) 45%, var(--line));color:var(--ink)}.admin-switch-knob{background:var(--muted);border-radius:999px;width:1.15rem;height:1.15rem}.admin-switch.on .admin-switch-knob{background:var(--brand)}.admin-audit-list{gap:.15rem;margin:0;padding:.25rem 0 0;list-style:none;display:grid}.admin-audit-list li{border-bottom:1px solid var(--line);padding:1rem .15rem 1.1rem}.admin-audit-list li:last-child{border-bottom:0}.admin-audit-main{flex-wrap:wrap;justify-content:space-between;gap:.45rem 1rem;margin-bottom:.35rem;display:flex}.admin-audit-summary{font-weight:550}.admin-audit-meta{margin-top:.15rem}.admin-audit-changes{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:.35rem;margin:.55rem 0 0;padding:.55rem .7rem;font-size:.86rem;list-style:none;display:grid}.admin-audit-change-field{margin-right:.35rem;font-weight:650}.admin-audit-change-values{color:var(--muted)}.admin-storage-bar{background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;height:.7rem;overflow:hidden}.admin-storage-bar-fill{border-radius:inherit;background:var(--brand);height:100%;transition:width .25s}.admin-storage-bar-fill.is-warn{background:#c2783a}.admin-storage-bar-fill.is-critical{background:#a33b2f}.admin-storage-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;display:grid}.admin-storage-stats>div{gap:.15rem;display:grid}.admin-plan-quota label{gap:.35rem;display:grid}.admin-plan-quota .inline-form{max-width:16rem}.admin-plan-quota input[type=number]{max-width:8rem}.admin-defaults-grid{gap:.85rem;display:grid}@media (width>=560px){.admin-defaults-grid{grid-template-columns:1fr 1fr}}.global-search{position:relative}.global-search-trigger{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.global-search-trigger:hover{color:var(--ink);border-color:var(--line-strong)}.global-search-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.global-search-icon{flex-shrink:0;width:1.1rem;height:1.1rem}.global-search-panel{z-index:40;background:var(--surface);border:1px solid var(--line);width:min(26rem,100vw - 1.5rem);box-shadow:var(--shadow);border-radius:12px;position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden}.global-search-field{border-bottom:1px solid var(--line);align-items:center;gap:.45rem;padding:.65rem .85rem;display:flex}.global-search-field .global-search-icon{color:var(--muted)}.global-search-field input{min-width:0;color:var(--ink);background:0 0;border:0;border-radius:8px;flex:1;padding:.45rem .65rem}.global-search-field input:focus{outline:2px solid var(--focus);outline-offset:3px}.global-search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.global-search-close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.global-search-close:hover{color:var(--ink);background:var(--surface-soft)}.global-search-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.global-search-close svg{width:.95rem;height:.95rem}.global-search-results{max-height:min(22rem,55vh);overflow-y:auto}.global-search-hint{margin:0;padding:.85rem .9rem}.global-search-list{gap:.2rem;margin:0;padding:.35rem;list-style:none;display:grid}.global-search-item{color:inherit;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.55rem .65rem;text-decoration:none;display:flex}.global-search-item:hover,.global-search-item:focus-visible{background:var(--surface-hover);outline:none}.global-search-item-main{gap:.15rem;min-width:0;display:grid}.global-search-item-main strong{overflow-wrap:anywhere;word-break:break-word}.global-search-type{letter-spacing:.02em;text-transform:uppercase;background:var(--chip-bg);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.2rem .45rem;font-size:.72rem;font-weight:600}.global-search-type.type-project{color:#21553a;background:#d8ebe0}.global-search-type.type-phase{color:#2c4a6e;background:#dce8f5}.global-search-type.type-task_list{color:#7a5d12;background:#f7ecc2}.global-search-type.type-task{color:#4d5553;background:#e8eae9}.global-search-type.type-subtask{color:#7a4520;background:#f3dfc8}html[data-theme=dark] .global-search-type.type-project{color:#9ed0a8;background:color-mix(in srgb, #2f5d3a 35%, var(--chip-bg))}html[data-theme=dark] .global-search-type.type-phase{color:#a8c4e4;background:color-mix(in srgb, #3a6ea5 35%, var(--chip-bg))}html[data-theme=dark] .global-search-type.type-task_list{color:#e8d48a;background:color-mix(in srgb, #c9a227 30%, var(--chip-bg))}html[data-theme=dark] .global-search-type.type-task{color:#c8c8c8;background:var(--chip-bg)}html[data-theme=dark] .global-search-type.type-subtask{color:#e0a090;background:color-mix(in srgb, #8b3a2f 30%, var(--chip-bg))}@media (width<=720px){.global-search.is-open{position:static}.global-search-panel{border-top:0;border-left:0;border-right:0;border-radius:0;width:100%;max-height:100vh;position:fixed;top:0;left:0;right:0}.global-search-results{max-height:calc(100vh - 4rem)}}.brand{font-family:var(--font-brand);letter-spacing:.02em;color:var(--ink);margin:0;font-size:1.65rem;font-weight:400;line-height:1.1}.page-trail{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.2rem .35rem;padding:.85rem 1rem .15rem;font-size:.92rem;line-height:1.35;display:flex}.page-trail-item{align-items:baseline;gap:.35rem;min-width:0;display:inline-flex}.page-trail-sep{color:#a3aba3;font-weight:400}.page-trail-link{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:12rem;overflow:hidden}.page-trail-link:hover{color:var(--brand);text-decoration:underline}.page-trail-text{white-space:nowrap;text-overflow:ellipsis;max-width:12rem;overflow:hidden}.page-trail-current{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:min(22rem,85vw);font-size:1.05rem;font-weight:600;overflow:hidden}.content{min-width:0;max-width:100%;padding:1rem;overflow-x:clip}.user-chip{color:var(--muted);font-size:.85rem}.user-chip-link:hover{color:var(--brand);text-decoration:underline}.Account .muted.small,.panel .muted.small{margin:-.35rem 0 0}.lang-switch{align-items:center;gap:0;display:inline-flex}.select{width:100%;position:relative}.select-sm{width:auto;min-width:5.5rem}.select-trigger{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;text-align:left;box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:.55rem;padding:.7rem .8rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.select-trigger .select-swatch{flex-shrink:0;width:.75rem;height:.75rem}.select-sm .select-trigger{width:auto;min-width:5.5rem;box-shadow:none;border-radius:999px;padding:.3rem .65rem;font-size:.85rem}.select-open .select-trigger,.select-trigger:hover:not(:disabled){border-color:var(--brand);box-shadow:0 0 0 3px #3d7a4a1f}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-caret{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex-shrink:0;width:.45rem;height:.45rem;transition:transform .15s;transform:rotate(45deg)translateY(-1px)}.select-open .select-caret{transform:rotate(225deg)translateY(-1px)}.select-menu{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #1c241c24}.select-sm .select-menu{border-radius:12px;min-width:100%;right:auto}.select-option{cursor:pointer;color:var(--ink);border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.select-option.is-active{background:#eef4ea}.select-option.is-selected{font-weight:600}.select-swatch{border-radius:999px;flex-shrink:0;width:.65rem;height:.65rem}.select-tone-backlog .select-trigger,.select-option.tone-backlog.is-selected,.select-option.tone-backlog.is-active{color:#555;background:#e4e4e4;border-color:#c8c8c8}.select-tone-todo .select-trigger,.select-option.tone-todo.is-selected,.select-option.tone-todo.is-active{color:#7a5d12;background:#f7ecc2;border-color:#e2d08a}.select-tone-doing .select-trigger,.select-option.tone-doing.is-selected,.select-option.tone-doing.is-active{color:#21553a;background:#d8ebe0;border-color:#a9cbb8}.select-tone-done .select-trigger,.select-option.tone-done.is-selected,.select-option.tone-done.is-active{color:#2c4a6e;background:#dce8f5;border-color:#b0c5dd}.select-tone-canceled .select-trigger,.select-option.tone-canceled.is-selected,.select-option.tone-canceled.is-active{color:#8b3a2f;background:#f0ddd8;border-color:#dcb0a6}.select-swatch.tone-backlog{background:#555}.select-swatch.tone-todo{background:#c9a227}.select-swatch.tone-doing{background:#2f5d3a}.select-swatch.tone-done{background:#3a6ea5}.select-swatch.tone-canceled{background:#8b3a2f}.select-swatch.tone-priority-1{background:#8a9290}.select-swatch.tone-priority-2{background:#6b8f71}.select-swatch.tone-priority-3{background:#c9a227}.select-swatch.tone-priority-4{background:#c2783a}.select-swatch.tone-priority-5{background:#a33b2f}.select-tone-priority-1 .select-trigger,.select-option.tone-priority-1.is-selected,.select-option.tone-priority-1.is-active{color:#4d5553;background:#e8eae9;border-color:#c9cecc}.select-tone-priority-2 .select-trigger,.select-option.tone-priority-2.is-selected,.select-option.tone-priority-2.is-active{color:#35593c;background:#dde8df;border-color:#b5cbb9}.select-tone-priority-3 .select-trigger,.select-option.tone-priority-3.is-selected,.select-option.tone-priority-3.is-active{color:#7a5d12;background:#f7ecc2;border-color:#e2d08a}.select-tone-priority-4 .select-trigger,.select-option.tone-priority-4.is-selected,.select-option.tone-priority-4.is-active{color:#7a4520;background:#f3dfc8;border-color:#e0bf98}.select-tone-priority-5 .select-trigger,.select-option.tone-priority-5.is-selected,.select-option.tone-priority-5.is-active{color:#8b3a2f;background:#f0ddd8;border-color:#dcb0a6}.select-tone-backlog .select-caret,.select-tone-todo .select-caret,.select-tone-doing .select-caret,.select-tone-done .select-caret,.select-tone-canceled .select-caret,.select-tone-priority-1 .select-caret,.select-tone-priority-2 .select-caret,.select-tone-priority-3 .select-caret,.select-tone-priority-4 .select-caret,.select-tone-priority-5 .select-caret{border-color:currentColor}.select-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.1rem;font-weight:600}.btn-primary{background:var(--brand);color:#f7fff8}.btn-primary:hover{background:var(--brand-strong)}.btn-secondary{color:var(--ink);background:#dfe8db}.btn-ghost{color:var(--muted);background:0 0;padding-inline:.6rem}.btn-delete{color:var(--danger);text-transform:uppercase;letter-spacing:.04em;background:0 0;padding-inline:.6rem}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn:disabled{opacity:.6;cursor:not-allowed}.stack,.stack-lg{gap:.85rem;display:grid}.stack-lg{gap:2rem}.row-between,.row-gap,.meta-row,.inline-form,.member-row{align-items:center;gap:.6rem;display:flex}.row-between,.member-row{flex-wrap:wrap;justify-content:space-between}.projects-toolbar{margin-bottom:1.1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filter-bar{background:0 0;border:0;border-radius:0;gap:0;margin:0 0 .85rem;padding:0;display:grid}.filter-bar.is-open{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;gap:.65rem;padding:.55rem .75rem .75rem}.filter-bar.is-collapsed{margin-bottom:.55rem}.filter-bar-toggle-row{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;display:flex}.filter-bar-toggle{color:var(--muted);font:inherit;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;margin:0;padding:.25rem .15rem;font-size:.82rem;font-weight:600;display:inline-flex}.filter-bar-toggle:hover{color:var(--ink)}.filter-bar-toggle-label{line-height:1}.filter-bar-count{background:var(--brand);color:#f7fff8;letter-spacing:0;text-transform:none;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-flex}.filter-bar-chevron{opacity:.8;font-size:.7rem}.filter-bar-body{gap:.65rem;display:grid}html[data-theme=dark] .filter-bar-count{color:#122016}.filter-group{gap:.35rem;display:grid}.filter-group-inline{flex-wrap:wrap;align-items:flex-end;gap:.55rem .85rem;display:flex}.filter-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.filter-chips{flex-wrap:wrap;gap:.35rem;display:flex}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.28rem .65rem;font-size:.82rem;font-weight:500;line-height:1.2}.filter-chip:hover{color:var(--ink);border-color:var(--line-strong)}.filter-chip.on{background:var(--brand);border-color:var(--brand);color:#f7fff8;font-weight:600}.filter-chip.chip-overdue.on{background:var(--overdue-accent);border-color:var(--overdue-accent);color:#fff8f5}.filter-chip.on.chip-status-backlog{color:#fff;background:#8a8a8a;border-color:#8a8a8a}.filter-chip.on.chip-status-todo{color:#fffef5;background:#c9a227;border-color:#c9a227}.filter-chip.on.chip-status-doing{color:#f7fff8;background:#2f5d3a;border-color:#2f5d3a}.filter-chip.on.chip-status-done{color:#f5f9ff;background:#3a6ea5;border-color:#3a6ea5}.filter-chip.on.chip-status-canceled{color:#fff8f5;background:#8b3a2f;border-color:#8b3a2f}.filter-chip.on.chip-priority-1{color:#f7f8f7;background:#6b7370;border-color:#6b7370}.filter-chip.on.chip-priority-2{color:#f4faf5;background:#35593c;border-color:#35593c}.filter-chip.on.chip-priority-3{color:#fffef5;background:#c9a227;border-color:#c9a227}.filter-chip.on.chip-priority-4{color:#fff8f2;background:#b86a2e;border-color:#b86a2e}.filter-chip.on.chip-priority-5{color:#fff8f5;background:#8b3a2f;border-color:#8b3a2f}.filter-select{gap:.3rem;min-width:9rem;margin:0;display:grid}.filter-select select{margin:0}html[data-theme=dark] .filter-chip.on:not([class*=chip-status-]):not([class*=chip-priority-]):not(.chip-overdue):not(.chip-archived){color:#122016}html[data-theme=dark] .filter-chip.on.chip-status-backlog{color:#1a1a1a;background:#b0b0b0;border-color:#b0b0b0}html[data-theme=dark] .filter-chip.on.chip-status-todo{color:#2a2208;background:#e0c35a;border-color:#e0c35a}html[data-theme=dark] .filter-chip.on.chip-status-doing{color:#122016;background:#7eb889;border-color:#7eb889}html[data-theme=dark] .filter-chip.on.chip-status-done{color:#101820;background:#7aa3d4;border-color:#7aa3d4}html[data-theme=dark] .filter-chip.on.chip-status-canceled{color:#2a1210;background:#e08a7a;border-color:#e08a7a}html[data-theme=dark] .filter-chip.on.chip-priority-1{color:#1a1c1b;background:#9aa09d;border-color:#9aa09d}html[data-theme=dark] .filter-chip.on.chip-priority-2{color:#122016;background:#7eb889;border-color:#7eb889}html[data-theme=dark] .filter-chip.on.chip-priority-3{color:#2a2208;background:#e0c35a;border-color:#e0c35a}html[data-theme=dark] .filter-chip.on.chip-priority-4{color:#241408;background:#d4894a;border-color:#d4894a}html[data-theme=dark] .filter-chip.on.chip-priority-5{color:#2a1210;background:#e08a7a;border-color:#e08a7a}.inline-form{width:100%}.inline-form input{flex:1}.grid-2{gap:.75rem;display:grid}@media (width>=560px){.grid-2{grid-template-columns:1fr 1fr}}.date-input{grid-template-columns:1fr auto;align-items:stretch;width:100%;display:grid;position:relative}.date-input-text{border-radius:10px 0 0 10px;width:100%;padding-right:.5rem}.date-input-picker{border:1px solid var(--line);background:var(--surface-soft);width:2.6rem;color:var(--muted);cursor:pointer;border-left:0;border-radius:0 10px 10px 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-input-picker:hover:not(:disabled){color:var(--ink);background:var(--surface)}.date-input-picker:disabled{opacity:.55;cursor:default}.date-input-picker svg{width:1rem;height:1rem}.date-input-native{opacity:0;pointer-events:none;border:0;width:0;height:0;padding:0;position:absolute}.date-input.is-invalid .date-input-text,.date-input.is-invalid .date-input-picker{border-color:#8b3a2f}label{gap:.35rem;font-size:.92rem;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:.7rem .8rem}input:focus,textarea:focus,select:focus,.btn:focus-visible,.chip:focus-visible,.tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.panel,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.phase{background:linear-gradient(180deg, var(--panel-grad-top) 0%, var(--panel-grad-bottom) 100%);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);gap:1.35rem;padding:1.4rem 1.25rem 1.55rem;scroll-margin-top:5rem;display:grid}.parent-nav{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.nav-target-flash{animation:1.4s navFlash}@keyframes navFlash{0%,to{box-shadow:0 12px 28px #1c241c12}35%{box-shadow:0 0 0 3px #3d7a4a59}}.phase>.row-between{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:.1rem;padding-bottom:.85rem}.task-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;gap:1rem;padding:1.15rem 1.05rem 1.2rem;scroll-margin-top:5rem;display:grid}.task-list>.row-between{border-bottom:1px dashed var(--line);padding-bottom:.55rem}.phase h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.task-list h3{color:var(--ink);margin:0;font-size:1.02rem;font-weight:600}.panel h3{margin:0}.lead{color:var(--muted);margin:0 0 1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;display:-webkit-box;overflow:hidden}.card-excerpt{overflow-wrap:anywhere;word-break:break-word;margin:.25rem 0 0}.card-link-main{flex:auto;min-width:0}.card-link-meta{text-align:right;flex:none;max-width:7rem}.ok-note{color:var(--ok,#2f6b3a);margin:0;font-size:.92rem}.error{color:var(--danger);margin:0}.card-list,.task-rows,.activity-list,.comment-list,.suggest-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.suggest-list{gap:.4rem;max-height:16rem;padding-right:.15rem;overflow-y:auto}.project-card{grid-template-columns:auto 1fr auto;align-items:stretch;gap:.5rem;display:grid}.project-card .card-link{min-width:0}.project-card:not(:has(.drag-grip)){grid-template-columns:1fr auto}.drag-grip{width:2.35rem;height:2.35rem;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.drag-grip:hover:not(:disabled){color:var(--ink);background:var(--surface-soft)}.drag-grip:disabled{opacity:.4;cursor:default}.drag-grip:active:not(:disabled){cursor:grabbing}.drag-grip-icon{pointer-events:none;width:1rem;height:1rem}.title-with-grip{align-items:center;min-width:0}.title-with-grip h2,.title-with-grip h3{min-width:0}.is-dragging{opacity:.5;pointer-events:none}.is-drop-target{outline:2px solid var(--brand);outline-offset:2px}.drop-line-before,.drop-line-after,.drop-line-end{position:relative}.drop-line-before:before,.drop-line-after:after,.drop-line-end:after{content:"";background:var(--brand);height:3px;box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 40%, transparent), 0 0 10px color-mix(in srgb, var(--brand) 35%, transparent);pointer-events:none;z-index:6;border-radius:2px;position:absolute;left:.15rem;right:.15rem}.drop-line-before:before{top:-2px}.drop-line-after:after,.drop-line-end:after{bottom:-2px}.phase.drop-line-before:before,.phase.drop-line-after:after,.phase.drop-line-end:after,.task-list.drop-line-before:before,.task-list.drop-line-after:after,.task-list.drop-line-end:after,.task-block.drop-line-before:before,.task-block.drop-line-after:after,.task-block.drop-line-end:after{left:0;right:0}.task-row-wrap{border-radius:10px;grid-template-columns:auto 1fr;align-items:stretch;gap:.4rem;display:grid}.task-row-wrap>.task-row{min-width:0}.task-rows{gap:.9rem;padding:.15rem 0 .25rem}.card-link,.task-row{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.95rem 1rem;display:flex}.task-row{background:var(--surface);border-color:var(--line-strong);transition:border-color .15s,background .15s}.task-row:hover{border-color:var(--brand);background:var(--surface-hover)}.task-row.is-overdue{background:var(--overdue-bg);border-color:var(--overdue-border);box-shadow:inset 3px 0 0 var(--overdue-accent)}.task-row.is-overdue:hover{background:var(--overdue-bg);border-color:var(--overdue-accent)}.subtask-row.is-overdue{background:var(--overdue-bg)}.panel.is-overdue{border-color:var(--overdue-border);box-shadow:inset 3px 0 0 var(--overdue-accent)}.overdue-label{letter-spacing:.02em;text-transform:uppercase;color:var(--overdue-text);font-size:.72rem;font-weight:600}.overdue-banner{color:var(--overdue-text);margin:0;font-size:.85rem;font-weight:600}.task-block{gap:.55rem;display:grid}.subtask-rows{gap:.45rem;margin:0 0 0 .15rem;padding:.15rem 0 .35rem;list-style:none;display:grid}.subtask-rows>.task-row-wrap{align-items:stretch}.subtask-rail{border-left:2px solid #cfd8cb;min-width:0;padding-left:.75rem}.subtask-row{background:var(--surface-soft);border-style:solid;border-color:var(--line-strong);padding:.7rem .9rem}.subtask-row:hover{background:var(--surface-hover)}.subtask-title{font-size:.95rem}.phase>.inline-form,.task-list>.inline-form{border-top:1px dashed #ddd5c6;margin-top:.15rem;padding-top:.85rem}.chevron{color:var(--muted);font-size:1.4rem}.board-tree{gap:1.1rem;min-width:0;display:grid}@media (width<=720px){.board-tree{gap:.85rem;margin-inline:-.4rem}.board-tree .phase{border-radius:12px;gap:.85rem;padding:.85rem .55rem 1rem}.board-tree .phase>.row-between{gap:.4rem;padding-bottom:.55rem}.board-tree .phase h2{font-size:1.08rem}.board-tree .task-list{border-radius:10px;gap:.65rem;padding:.7rem .45rem .8rem}.board-tree .task-list>.row-between{gap:.35rem;padding-bottom:.4rem}.board-tree .task-list h3{font-size:.95rem}.board-tree .task-rows{gap:.65rem;padding:.05rem 0 .1rem}.board-tree .task-row-wrap{gap:.15rem}.board-tree .task-row{border-radius:10px;gap:.35rem;padding:.7rem .55rem}.board-tree .subtask-rows{gap:.35rem;margin-left:0;padding-left:0}.board-tree .subtask-rail{padding-left:.4rem}.board-tree .subtask-row{padding:.55rem .5rem}.board-tree .subtask-title{font-size:.9rem}.board-tree .drag-grip{width:1.55rem;height:1.55rem}.board-tree .drag-grip-icon{width:.82rem;height:.82rem}.board-tree .meta-row{flex-wrap:wrap;gap:.3rem}.board-tree .badge{padding:.1rem .4rem;font-size:.68rem}.board-tree .chevron{display:none}.board-tree .title-with-grip{gap:.25rem}.board-tree .phase>.inline-form,.board-tree .task-list>.inline-form{padding-top:.55rem}.board-tree .inline-form{gap:.4rem}}.tabs{box-shadow:inset 0 -1px 0 var(--line);flex-wrap:wrap;gap:.15rem;margin:0 0 1.1rem;display:flex;overflow:visible}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin:0;padding:.7rem .95rem .65rem;font-size:.95rem;font-weight:500;position:relative}.tab:hover{color:var(--ink)}.tab.on{color:var(--ink);border-bottom-color:var(--brand);background:0 0;font-weight:650}.badge{border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-backlog{color:#555;background:#e4e4e4}.badge-todo{color:#7a5d12;background:#f7ecc2}.badge-doing{color:#21553a;background:#d8ebe0}.badge-done{color:#2c4a6e;background:#dce8f5}.badge-canceled{color:#8b3a2f;background:#f0ddd8}.badge-priority-1{color:#4d5553;background:#e8eae9}.badge-priority-2{color:#35593c;background:#dde8df}.badge-priority-3{color:#7a5d12;background:#f7ecc2}.badge-priority-4{color:#7a4520;background:#f3dfc8}.badge-priority-5{color:#8b3a2f;background:#f0ddd8}.badge-archived{background:color-mix(in srgb, var(--muted) 22%, var(--surface));color:var(--muted);margin-left:.35rem;font-weight:600}.archived-banner{background:color-mix(in srgb, var(--muted) 16%, var(--surface));color:var(--muted);border-radius:8px;margin:0;padding:.45rem .65rem;font-size:.9rem;font-weight:600}.item-save-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.item-danger-zone{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--line));background:color-mix(in srgb, var(--danger) 5%, var(--surface))}.item-danger-title{color:var(--danger);margin:0;font-size:.95rem;font-weight:650}.unsaved-bar{z-index:40;border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 12%, var(--surface));border-radius:999px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.55rem;width:max-content;max-width:calc(100% - 1rem);margin:1rem auto .25rem;padding:.4rem .55rem .4rem .75rem;display:flex;position:sticky;bottom:.75rem;box-shadow:0 6px 18px #1c241c1f}.unsaved-bar-label{color:var(--ink);white-space:nowrap;font-size:.85rem;font-weight:650}@media (width<=720px){.unsaved-bar{bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}}.filter-chip.on.chip-archived{color:#f7f8f7;background:#6b7370;border-color:#6b7370}.chip-grid{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line);background:var(--chip-bg);color:var(--ink);cursor:pointer;border-radius:999px;padding:.4rem .75rem}.chip:hover{border-color:var(--line-strong)}.chip-on{background:var(--brand);border-color:var(--brand);color:#f7fff8}html[data-theme=dark] .chip-on{color:#142018}.field-label{margin-bottom:.4rem;font-size:.92rem;display:block}.activity-list li,.comment-item{border-bottom:1px solid var(--line);padding:.75rem 0}.activity-list li:last-child,.comment-list>.comment-item:last-child{border-bottom:0}.comment-empty{padding:.85rem 0;list-style:none}.view-switch{flex-wrap:wrap;align-items:center;gap:.65rem .9rem;margin-bottom:.15rem;display:flex}.view-switch-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.view-seg{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:.2rem;display:inline-flex;box-shadow:inset 0 1px #ffffff59}.view-seg-btn{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.view-seg-btn:hover{color:var(--ink)}.view-seg-btn.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #1c241c1f}.view-seg-icon{opacity:.85;flex-shrink:0;width:.95rem;height:.95rem}.view-seg-btn.on .view-seg-icon{opacity:1;color:var(--brand)}html[data-theme=dark] .view-seg{background:var(--surface-soft);box-shadow:inset 0 1px #ffffff0a}html[data-theme=dark] .view-seg-btn.on{background:var(--surface);box-shadow:0 1px 3px #00000059}.structure-table-wrap{gap:.65rem;min-width:0;display:grid}.structure-table-add{max-width:28rem}.structure-table-scroll{border:1px solid var(--line);background:var(--surface);width:100%;overflow-x:auto}.structure-table{border-collapse:collapse;table-layout:auto;width:100%;color:var(--ink);font-size:.78rem;line-height:1.35}.structure-table th,.structure-table td{border-bottom:1px solid var(--line);border-right:1px solid color-mix(in srgb, var(--line) 70%, transparent);vertical-align:middle;text-align:left;white-space:nowrap;padding:.22rem .4rem}.structure-table th:last-child,.structure-table td:last-child{border-right:0}.structure-table thead th{background:color-mix(in srgb, var(--surface-soft) 80%, var(--line));letter-spacing:.02em;text-transform:uppercase;color:var(--muted);z-index:1;font-size:.7rem;font-weight:650;position:sticky;top:0}.structure-table .st-col-grip{text-align:center;width:1.6rem;padding-inline:.15rem}.structure-table .st-col-type{width:5.5rem;color:var(--muted);font-size:.72rem}.structure-table .st-col-name{white-space:normal;overflow-wrap:anywhere;min-width:12rem;max-width:28rem}.structure-table .st-col-status{width:7.5rem;min-width:7rem}.structure-table .st-col-priority{width:7rem;min-width:6.5rem}.structure-table .st-native-select{width:100%;max-width:9rem;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:3px;padding:.12rem .2rem;font-size:.72rem;line-height:1.2}.structure-table .st-native-select:disabled{opacity:.65;cursor:wait}.structure-table .st-native-select:focus{outline:2px solid color-mix(in srgb, var(--brand) 45%, transparent);outline-offset:1px}.structure-table .st-status-backlog{border-left:3px solid #555}.structure-table .st-status-todo{border-left:3px solid #c9a227}.structure-table .st-status-doing{border-left:3px solid #2f5d3a}.structure-table .st-status-done{border-left:3px solid #3a6ea5}.structure-table .st-status-canceled{border-left:3px solid #8b3a2f}.structure-table .st-priority-1{border-left:3px solid #8a9290}.structure-table .st-priority-2{border-left:3px solid #6b8f71}.structure-table .st-priority-3{border-left:3px solid #c9a227}.structure-table .st-priority-4{border-left:3px solid #c2783a}.structure-table .st-priority-5{border-left:3px solid #a33b2f}.structure-table .st-col-assignees{white-space:normal;min-width:7rem;max-width:12rem}.structure-table .st-col-due{width:6.5rem}.structure-table .st-col-actions{white-space:nowrap;text-align:right;border-right:0;width:1%}.structure-table .st-col-actions .btn{padding:.15rem .4rem;font-size:.72rem}.structure-table .st-indent-0{padding-left:.4rem}.structure-table .st-indent-1{padding-left:1.1rem}.structure-table .st-indent-2{padding-left:1.85rem}.structure-table .st-indent-3{padding-left:2.6rem}.structure-table .st-row-phase{background:color-mix(in srgb, var(--brand) 6%, var(--surface))}.structure-table .st-row-list{background:color-mix(in srgb, var(--surface-soft) 55%, var(--surface))}.structure-table .st-row-add td{background:0 0;border-bottom-style:dashed}.structure-table .st-link{color:inherit;font-weight:550;text-decoration:none}.structure-table .st-link:hover{color:var(--brand);text-decoration:underline}.structure-table .st-sub-count{font-size:.7rem}.structure-table .st-inline-edit,.structure-table .st-inline-add{flex-wrap:wrap;gap:.35rem;margin:0}.structure-table .st-inline-edit input,.structure-table .st-inline-add input{flex:8rem;min-width:10rem;padding:.25rem .4rem;font-size:.78rem}.structure-table .st-row.is-overdue .st-col-due,.structure-table .st-col-due.is-overdue{color:#8b3a2f;font-weight:650}.structure-table .st-row.is-dragging{opacity:.45;background:color-mix(in srgb, var(--brand) 10%, var(--surface))}.structure-table .st-row.drop-line-before,.structure-table .st-row.drop-line-after,.structure-table .st-row.drop-line-end{position:relative}.structure-table .st-row.drop-line-before:before,.structure-table .st-row.drop-line-after:after,.structure-table .st-row.drop-line-end:after{height:2px;box-shadow:none;border-radius:0;left:0;right:0}.structure-table .st-row.drop-line-before:before{top:0}.structure-table .st-row.drop-line-after:after,.structure-table .st-row.drop-line-end:after{bottom:0}.structure-table .drag-grip{width:1.35rem;height:1.35rem;padding:0}.structure-table .drag-grip-icon{width:.8rem;height:.8rem}html[data-theme=dark] .structure-table .st-row-phase{background:color-mix(in srgb, var(--brand) 12%, var(--surface))}html[data-theme=dark] .structure-table .st-row.is-overdue .st-col-due,html[data-theme=dark] .structure-table .st-col-due.is-overdue{color:#e0a090}.kanban-wrap{gap:.75rem}.kanban-mode{flex-wrap:wrap;align-items:center;gap:.55rem .85rem;display:flex}.kanban{grid-template-columns:repeat(5,minmax(11.5rem,1fr));align-items:start;gap:.75rem;padding-bottom:.35rem;display:grid;overflow-x:auto}@media (width>=900px){.shell-wide .kanban{grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;overflow-x:visible}.shell-wide .kanban-column{min-width:0;min-height:18rem}.shell-wide .kanban-card-link{padding:.8rem .85rem}}.kanban-column{background:var(--kanban-col);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:12px;min-width:11.5rem;min-height:12rem;padding:.55rem}.kanban-column.is-drop-target{outline:2px solid var(--brand);outline-offset:1px}.kanban-column-backlog{background:color-mix(in srgb, #9a9a9a 12%, var(--kanban-col));border-top-color:#8a8a8a}.kanban-column-todo{background:color-mix(in srgb, #c9a227 14%, var(--kanban-col));border-top-color:#c9a227}.kanban-column-doing{background:color-mix(in srgb, #2f5d3a 14%, var(--kanban-col));border-top-color:#2f5d3a}.kanban-column-done{background:color-mix(in srgb, #3a6ea5 14%, var(--kanban-col));border-top-color:#3a6ea5}.kanban-column-canceled{background:color-mix(in srgb, #8b3a2f 14%, var(--kanban-col));border-top-color:#8b3a2f}html[data-theme=dark] .kanban-column-backlog{background:color-mix(in srgb, #9a9a9a 18%, var(--kanban-col));border-top-color:#b0b0b0}html[data-theme=dark] .kanban-column-todo{background:color-mix(in srgb, #c9a227 20%, var(--kanban-col));border-top-color:#e0c35a}html[data-theme=dark] .kanban-column-doing{background:color-mix(in srgb, #7eb889 18%, var(--kanban-col));border-top-color:#7eb889}html[data-theme=dark] .kanban-column-done{background:color-mix(in srgb, #3a6ea5 22%, var(--kanban-col));border-top-color:#7aa3d4}html[data-theme=dark] .kanban-column-canceled{background:color-mix(in srgb, #8b3a2f 22%, var(--kanban-col));border-top-color:#e08a7a}.kanban-column-head{border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.55rem;padding:.25rem .3rem .5rem;display:flex}.kanban-column-head h3{margin:0;font-size:.92rem}.kanban-column-backlog .kanban-column-head h3{color:#555}.kanban-column-todo .kanban-column-head h3{color:#7a5d12}.kanban-column-doing .kanban-column-head h3{color:#21553a}.kanban-column-done .kanban-column-head h3{color:#2c4a6e}.kanban-column-canceled .kanban-column-head h3{color:#8b3a2f}html[data-theme=dark] .kanban-column-backlog .kanban-column-head h3{color:#c8c8c8}html[data-theme=dark] .kanban-column-todo .kanban-column-head h3{color:#e8d48a}html[data-theme=dark] .kanban-column-doing .kanban-column-head h3{color:#9ed0a8}html[data-theme=dark] .kanban-column-done .kanban-column-head h3{color:#a8c4e4}html[data-theme=dark] .kanban-column-canceled .kanban-column-head h3{color:#e0a090}.kanban-count{color:var(--muted);background:var(--chip-bg);border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.kanban-cards{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.kanban-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:.1rem;transition:border-color .15s,background .15s,opacity .15s;display:grid}.kanban-card>.drag-grip{margin-top:.35rem;margin-left:.15rem}.kanban-card:not(:has(.drag-grip)){grid-template-columns:1fr}.kanban-card.is-expanded{grid-template-rows:auto auto}.kanban-card.is-expanded>.drag-grip,.kanban-card.is-expanded>.kanban-card-main{grid-row:1}.kanban-card.is-dragging{opacity:.55;pointer-events:none}.kanban-card.is-busy{opacity:.65}.kanban-card.is-busy .drag-grip{pointer-events:none}.kanban-card.is-overdue{background:var(--overdue-bg);border-color:var(--overdue-border);box-shadow:inset 3px 0 0 var(--overdue-accent)}.kanban-card-main{gap:.25rem;min-width:0;padding:.55rem .65rem;display:grid}.kanban-card-link{color:inherit;gap:.2rem;padding:0;display:grid}.kanban-card-meta{line-height:1.3}.kanban-card-actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.05rem}.kanban-priority{min-width:0;max-width:none;display:inline-flex}.kanban-priority-select,.kanban-priority-select.select-sm{width:auto;min-width:0;display:inline-flex}.kanban-priority-select .select-trigger,.kanban-priority-select.select-sm .select-trigger{width:auto;min-width:0;min-height:0;box-shadow:none;color:#fffef8;border:0;border-radius:999px;justify-content:flex-start;gap:.28rem;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.kanban-priority-select.select-tone-priority-1 .select-trigger{color:#f7f8f7;background:#8a9290;border-color:#8a9290}.kanban-priority-select.select-tone-priority-2 .select-trigger{color:#f4faf5;background:#6b8f71;border-color:#6b8f71}.kanban-priority-select.select-tone-priority-3 .select-trigger{color:#fffef5;background:#c9a227;border-color:#c9a227}.kanban-priority-select.select-tone-priority-4 .select-trigger{color:#fff8f2;background:#c2783a;border-color:#c2783a}.kanban-priority-select.select-tone-priority-5 .select-trigger{color:#fff8f5;background:#a33b2f;border-color:#a33b2f}.kanban-card .badge-priority-1{color:#f7f8f7;background:#8a9290}.kanban-card .badge-priority-2{color:#f4faf5;background:#6b8f71}.kanban-card .badge-priority-3{color:#fffef5;background:#c9a227}.kanban-card .badge-priority-4{color:#fff8f2;background:#c2783a}.kanban-card .badge-priority-5{color:#fff8f5;background:#a33b2f}.kanban-priority-select .select-trigger:hover:not(:disabled),.kanban-priority-select.select-open .select-trigger{box-shadow:none;filter:brightness(1.06);border:0}.kanban-priority-select .select-value{flex:0 auto}.kanban-priority-select .select-caret{opacity:.7;width:.28rem;height:.28rem;margin-left:0}.kanban-priority-select .select-menu{min-width:8.5rem;left:0;right:auto}.kanban-subcount{border:1px solid var(--line);background:var(--chip-bg);color:var(--muted);cursor:pointer;border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:600}.kanban-subcount:hover,.kanban-subcount.on{color:var(--ink);border-color:var(--line-strong);background:var(--surface-soft)}.kanban-subpreview{border-top:1px dashed var(--line);grid-column:1/-1;gap:.3rem;margin:0;padding:.45rem .55rem .55rem;list-style:none;display:grid}.kanban-subpreview-link{background:var(--surface-soft);color:inherit;border-radius:7px;justify-content:space-between;align-items:center;gap:.4rem;padding:.35rem .4rem;font-size:.8rem;text-decoration:none;display:flex}.kanban-subpreview-link:hover{background:var(--surface-hover)}.kanban-subpreview-link.is-overdue{box-shadow:inset 2px 0 0 var(--overdue-accent)}.kanban-subpreview-title{overflow-wrap:anywhere;min-width:0}.kanban-subpreview-link .badge{flex-shrink:0;padding:.1rem .4rem;font-size:.65rem}.kanban-subpreview-hide{justify-content:center;width:100%}@media (width<=720px){.kanban{grid-template-columns:repeat(5,minmax(12.5rem,1fr))}}.project-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;min-width:0;max-width:100%;margin:0 0 1rem;display:flex}.project-intro .lead{margin:0}.project-intro .expandable-text{flex:12rem;min-width:0;max-width:100%}.expandable-text{justify-items:start;gap:.35rem;min-width:0;max-width:100%;display:grid}.expandable-text p{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.expandable-toggle{padding-inline:0}.project-edit{margin-bottom:.75rem}.rename-form{margin-bottom:.35rem}.attachment-indicator{color:var(--muted);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.attachment-indicator svg{width:.95rem;height:.95rem}.task-title-row,.st-name-row{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.task-title-row strong,.task-title-row .subtask-title{min-width:0}.attachments-section,.comments-section{margin-top:1.75rem}.attachments-actions{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.75rem;display:flex}.attachment-empty{margin:0}.attachment-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.85rem .65rem;margin:0;padding:0;list-style:none;display:grid}.attachment-grid>li{align-content:start;gap:.45rem;min-width:0;display:grid}.attachment-thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:10px;width:100%;padding:0;line-height:0;display:block;overflow:hidden}.attachment-thumb img{object-fit:cover;object-position:center 28%;width:100%;height:100%;display:block}.attachment-thumb.is-file{background:var(--surface-soft);color:var(--muted)}.attachment-file-card{box-sizing:border-box;text-align:center;place-content:center;gap:.35rem;width:100%;height:100%;padding:.55rem;display:grid}.attachment-file-glyph{opacity:.85;width:1.65rem;height:1.65rem;margin:0 auto}.attachment-file-name{color:var(--ink);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.25;display:-webkit-box;overflow:hidden}.attachment-meta{gap:.15rem;margin:0;padding:0;line-height:1.3;display:grid}.attachment-lightbox{z-index:80;background:#0c100eb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.attachment-lightbox-inner{background:var(--surface);border-radius:14px;grid-template-rows:1fr auto;width:min(100%,42rem);max-height:min(92vh,52rem);display:grid;overflow:hidden;box-shadow:0 18px 48px #00000047}.attachment-lightbox-stage{background:#111;min-height:0;position:relative}.attachment-lightbox-stage img{object-fit:contain;object-position:center center;background:#111;width:100%;height:auto;min-height:0;max-height:min(66vh,36rem);margin:0;display:block}.attachment-lightbox-nav{z-index:2;color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;place-items:center;width:2.4rem;height:2.4rem;padding:0 0 .1rem;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.attachment-lightbox-nav:hover{background:#ffffff47}.attachment-lightbox-nav.is-prev{left:.45rem}.attachment-lightbox-nav.is-next{right:.45rem}.attachment-lightbox-count{z-index:2;color:#fff;background:#00000073;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.55rem;right:.65rem}.attachment-file-dialog{width:min(100%,26rem);max-height:none}.attachment-file-dialog-body{text-align:center;justify-items:center;gap:.55rem;padding:1.4rem 1.1rem 1.1rem;display:grid}.attachment-file-dialog-body .attachment-file-glyph{width:2.4rem;height:2.4rem;color:var(--muted)}.attachment-file-dialog-body strong{overflow-wrap:anywhere;line-height:1.3}.attachment-file-dialog .attachment-lightbox-bar{justify-content:center}.attachment-lightbox-bar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .9rem .95rem;display:flex}.attachment-lightbox-bar>div:first-child{gap:.35rem;min-width:0;display:grid}.attachment-lightbox-bar strong{line-height:1.25}.attachment-lightbox-bar .muted.small{line-height:1.35}.phone-link{color:var(--brand);white-space:nowrap;font-size:.9em}.phone-link:hover{text-decoration:underline}.member-info{gap:.25rem;min-width:0;display:grid}.member-notify{margin-top:.35rem}.member-notify-label{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.member-phone{margin-top:.2rem}.comment-author{flex-wrap:wrap;align-items:baseline;gap:.45rem;min-width:0;display:inline-flex}.assignee-phones{gap:.25rem;margin:.15rem 0 0;padding:0;list-style:none;display:grid}.assignee-phones li{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.92rem;display:flex}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.comment-meta{justify-content:space-between;gap:.5rem;margin-bottom:.25rem;display:flex}.comment-meta-right{color:var(--muted,#6b7265);align-items:center;gap:.45rem;font-size:.85em;display:inline-flex}.comment-edited{font-style:italic}.comment-actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.comment-like-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.82rem;font-weight:600;display:inline-flex}.comment-like-btn:hover:not(:disabled){color:var(--ink);background:var(--chip-bg)}.comment-like-btn.on{color:#a33b2f;background:#a33b2f1a}.comment-like-btn:disabled{opacity:.6;cursor:wait}.comment-like-heart{font-size:.95rem;line-height:1}.comment-edit-form{margin-top:.35rem}.comment-replies{border-left:2px solid #cfd8cb;gap:.35rem;margin:.65rem 0 0;padding:0 0 0 .85rem;list-style:none;display:grid}.comment-reply{background:#f7f3ea;border-bottom:0;border-radius:10px;padding:.55rem .75rem}.comment-reply-form{margin-top:.55rem}.auth-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{width:min(100%,420px)}.auth-top{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.auth-footer{color:var(--muted);margin:1rem 0 0}.password-field{width:100%;display:block;position:relative}.password-field input{width:100%;padding-right:2.75rem}.password-toggle{width:2.35rem;height:2.35rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.password-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.password-toggle svg{width:1.15rem;height:1.15rem;display:block}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.location-picker{gap:.55rem;display:grid}.location-input-wrap{position:relative}.location-suggest{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #1c241c24}.location-suggest-static{box-shadow:none;position:static}.location-suggest button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:.55rem .7rem}.location-suggest button:hover{background:#eef4ea}.location-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.location-open-link{font-size:.88rem}.location-map{border:1px solid var(--line);background:#e8e4da;border-radius:12px;min-height:180px;overflow:hidden}.location-map iframe,.location-picker-map{border:0;width:100%;height:200px;display:block}.location-picker-map{border:1px solid var(--line);border-radius:12px;height:260px}.location-modal-backdrop{z-index:80;background:#1c241c73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.location-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,520px);max-height:min(90vh,640px);box-shadow:var(--shadow);gap:.75rem;padding:1rem;display:grid;overflow:auto}.location-modal h3{margin:0}.location-pick-label{color:var(--muted);margin:0;font-size:.9rem}.pac-container{z-index:90;border:1px solid var(--line);font-family:var(--font);border-radius:12px;box-shadow:0 14px 32px #1c241c24}.auth-top-actions{align-items:center;gap:.45rem;display:flex}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;line-height:0}.theme-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.theme-toggle:hover .theme-toggle-track{box-shadow:inset 0 1px 0 #ffffff8c, 0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);background:#bfccb3;border-color:#97a58c}.theme-toggle.is-dark:hover .theme-toggle-track{background:#24302c;border-color:#6a7d70;box-shadow:inset 0 1px #ffffff1a,0 0 0 3px #9ec4a847}.theme-toggle:hover .theme-toggle-knob{box-shadow:0 3px 8px #1c241c5c}.theme-toggle-track{background:#cfd9c4;border:1px solid #aeb9a4;border-radius:999px;width:3.35rem;height:1.85rem;transition:background .25s,border-color .25s,box-shadow .2s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff8c}.theme-toggle.is-dark .theme-toggle-track{background:#1a2220;border-color:#4a5a50;box-shadow:inset 0 1px #ffffff14}.theme-toggle-knob{z-index:2;background:#fffef8;border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .28s cubic-bezier(.34,1.3,.64,1),background .2s,box-shadow .2s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 2px 6px #1c241c47}.theme-toggle.is-dark .theme-toggle-knob{background:#f0f4f0;transform:translate(1.45rem)}.theme-toggle-icon{z-index:1;pointer-events:none;font-size:1.12rem;font-weight:700;line-height:1;transition:opacity .2s,color .2s,filter .2s;position:absolute;top:50%;transform:translateY(-50%)}.theme-toggle-sun{color:#b57a00;opacity:1;filter:drop-shadow(0 0 1.5px #fffffff2);left:.42rem}.theme-toggle-moon{color:#2a3832;opacity:.72;right:.44rem}.theme-toggle.is-dark .theme-toggle-sun{opacity:.65;color:#e8c84a;filter:none}.theme-toggle.is-dark .theme-toggle-moon{opacity:1;color:#fff;filter:drop-shadow(0 0 2.5px #000000a6)}html[data-theme=dark] .btn-ghost{color:var(--ink)}html[data-theme=dark] .btn-secondary{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .tab{color:var(--muted);background:0 0}html[data-theme=dark] .tab:hover{color:var(--ink)}html[data-theme=dark] .tab.on{color:var(--ink);border-bottom-color:var(--brand);background:0 0}html[data-theme=dark] .select:not([class*=select-tone-]) .select-trigger{background:var(--surface-soft);border-color:var(--line);color:var(--ink);box-shadow:none}html[data-theme=dark] .select-tone-backlog .select-trigger,html[data-theme=dark] .select-option.tone-backlog.is-selected,html[data-theme=dark] .select-option.tone-backlog.is-active{color:#d0d0d0;background:#3a3a3a;border-color:#555}html[data-theme=dark] .select-tone-todo .select-trigger,html[data-theme=dark] .select-option.tone-todo.is-selected,html[data-theme=dark] .select-option.tone-todo.is-active{color:#f0e0a0;background:#4a3f1a;border-color:#7a6a30}html[data-theme=dark] .select-tone-doing .select-trigger,html[data-theme=dark] .select-option.tone-doing.is-selected,html[data-theme=dark] .select-option.tone-doing.is-active{color:#b8e0c8;background:#1e3a2a;border-color:#3a6a50}html[data-theme=dark] .select-tone-done .select-trigger,html[data-theme=dark] .select-option.tone-done.is-selected,html[data-theme=dark] .select-option.tone-done.is-active{color:#b8cce0;background:#1e2e42;border-color:#3a5570}html[data-theme=dark] .select-tone-canceled .select-trigger,html[data-theme=dark] .select-option.tone-canceled.is-selected,html[data-theme=dark] .select-option.tone-canceled.is-active{color:#e0b8b0;background:#3a2420;border-color:#6a4038}html[data-theme=dark] .select-tone-priority-1 .select-trigger,html[data-theme=dark] .select-option.tone-priority-1.is-selected,html[data-theme=dark] .select-option.tone-priority-1.is-active{color:#c8cecc;background:#3a3e3c;border-color:#5a605e}html[data-theme=dark] .select-tone-priority-2 .select-trigger,html[data-theme=dark] .select-option.tone-priority-2.is-selected,html[data-theme=dark] .select-option.tone-priority-2.is-active{color:#b8d8c0;background:#243a28;border-color:#3a6040}html[data-theme=dark] .select-tone-priority-3 .select-trigger,html[data-theme=dark] .select-option.tone-priority-3.is-selected,html[data-theme=dark] .select-option.tone-priority-3.is-active{color:#f0e0a0;background:#4a3f1a;border-color:#7a6a30}html[data-theme=dark] .select-tone-priority-4 .select-trigger,html[data-theme=dark] .select-option.tone-priority-4.is-selected,html[data-theme=dark] .select-option.tone-priority-4.is-active{color:#e8c8a0;background:#3a2a18;border-color:#6a4a28}html[data-theme=dark] .select-tone-priority-5 .select-trigger,html[data-theme=dark] .select-option.tone-priority-5.is-selected,html[data-theme=dark] .select-option.tone-priority-5.is-active{color:#e0b8b0;background:#3a2420;border-color:#6a4038}html[data-theme=dark] .select-value{color:var(--ink)}html[data-theme=dark] .select-caret{border-right-color:var(--ink);border-bottom-color:var(--ink);opacity:.75}html[data-theme=dark] .select-menu{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}html[data-theme=dark] .select-option{color:var(--ink)}html[data-theme=dark] .select-option.is-active,html[data-theme=dark] .select-option.is-selected{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .select-open .select-trigger,html[data-theme=dark] .select-trigger:hover:not(:disabled){border-color:var(--brand);box-shadow:0 0 0 3px #7eb88933}html[data-theme=dark] .task-list{background:var(--surface-soft);border-color:var(--line);box-shadow:none}html[data-theme=dark] .task-list>.row-between,html[data-theme=dark] .task-list>.inline-form{border-color:var(--line)}html[data-theme=dark] .comment-reply{background:var(--surface-soft)}html[data-theme=dark] .card-link,html[data-theme=dark] .task-row{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .subtask-rail{border-left-color:var(--line)}html[data-theme=dark] .phase>.inline-form,html[data-theme=dark] .task-list>.inline-form{border-top-color:var(--line)}
