@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.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:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.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:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.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:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#e3edf3;--shell:#d4e2ea;--surface:#fff;--surface-muted:#f3f7fa;--well:#d6e3eb;--border:#c6d6e0;--line:#e5eef3;--text:#1f2a31;--text-muted:#52616b;--accent:#cc4519;--accent-ink:#a93a15;--accent-text:#fff;--accent-soft:#fbe8e0;--danger:#a61e1e;--danger-soft:#fbf0ea;--focus:#1d5fa6;--shadow:0 8px 24px #19374b2e;--shadow-card:0 1px 2px #19374b0f, 0 2px 8px #19374b0d;--section-neutral:#8fa3b0;--font:"Nunito Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-sm:.875rem;--text-md:.9375rem;--text-lg:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius:10px;--radius-card:20px;--header-height:56px;--sidebar-width:240px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#11202a;--shell:#0c1921;--surface:#1a2b36;--surface-muted:#213440;--well:#0c1921;--border:#30444f;--line:#293c47;--text:#e6eff4;--text-muted:#a3b6c1;--accent:#f0743e;--accent-ink:#f79468;--accent-text:#1c0e07;--accent-soft:#4a2a1c;--danger:#ff9a92;--danger-soft:#3a2628;--focus:#7fb6ee;--shadow:0 8px 24px #00000080;--shadow-card:0 1px 2px #0000004d;--section-neutral:#6b7f8b}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--border) transparent}::selection{background:var(--accent-soft);color:var(--text)}body{background:var(--shell);color:var(--text);caret-color:var(--accent);font-family:var(--font);font-size:var(--text-md);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}h1{font-size:var(--text-lg);letter-spacing:-.02em;text-wrap:balance;margin:0 0 var(--space-4);font-weight:800;line-height:1.2}h2{margin:0 0 var(--space-3);font-size:1.125rem;font-weight:800}p{margin:0 0 var(--space-3)}a{color:var(--accent-ink);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,input,select{font:inherit;color:inherit}button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1) var(--space-3);cursor:pointer;min-height:34px;font-weight:600;transition:background-color .12s ease-out,border-color .12s ease-out,transform .12s ease-out}button:hover:not(:disabled){background:var(--surface-muted)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.6;cursor:default}button[type=submit],.menu-item.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}button[type=submit]:hover:not(:disabled),.menu-item.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.icon{vertical-align:-.125em;flex:none;width:1em;height:1em}.pill.pill{background:var(--pill-bg,var(--surface-muted));color:var(--pill-ink,inherit);border-color:#0000}@media (prefers-color-scheme:dark){.pill.pill{background:var(--pill-bg-dark,var(--surface-muted));color:var(--pill-ink-dark,inherit)}}input,select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-1) var(--space-3);max-width:100%;min-height:34px;accent-color:var(--accent)}::placeholder{color:var(--text-muted);opacity:1}.muted{color:var(--text-muted);font-size:var(--text-sm)}.error{color:var(--danger);font-size:var(--text-sm)}.link-button{color:var(--accent-ink);text-underline-offset:2px;padding:0 var(--space-2);background:0 0;border:0;min-height:0;text-decoration:underline}.skip-link{left:var(--space-2);z-index:40;background:var(--surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius);position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--header-height) minmax(0, 1fr);grid-template-areas:"header header""sidebar page";min-height:100vh;display:grid}.app-header{align-items:center;gap:var(--space-3);padding:0 var(--space-4) 0 var(--space-5);background:var(--shell);z-index:10;grid-area:header;min-width:0;display:flex;position:sticky;top:0}.product-name{letter-spacing:-.01em;white-space:nowrap;font-size:1.25rem;font-weight:800}.header-spacer{flex:1}.user-name{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.user-name:hover{text-decoration:underline}.menu-button{display:none}.dev-user,.workspace-switcher{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);min-width:0;display:flex}.dev-user select,.workspace-switcher select{min-width:0}.page{padding:var(--space-5);background:var(--bg);border-top-left-radius:var(--radius-card);grid-area:page;min-width:0}.page:focus{outline:none}.gate{max-width:480px;padding:var(--space-5) var(--space-4);margin:0 auto}.sidebar{background:var(--shell);padding:var(--space-2) var(--space-3) var(--space-3);grid-area:sidebar;min-width:0;overflow-y:auto}.sidebar-nav{gap:var(--space-3);flex-direction:column;display:flex}.nav-link{align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-1) var(--space-3);border-radius:var(--radius);color:var(--text);overflow-wrap:anywhere;font-weight:600;text-decoration:none;display:flex}.nav-link:before{content:"";background:var(--border);border-radius:50%;flex:none;width:8px;height:8px}.nav-link:hover{background:color-mix(in srgb, var(--surface) 55%, transparent)}.nav-link[aria-current=page]{background:var(--surface);box-shadow:var(--shadow-card);font-weight:800}.nav-link[aria-current=page]:before{background:var(--accent)}.search input{width:100%}.search-results,.boards{margin:0;padding:0;list-style:none}.folder{border-radius:var(--radius);padding:var(--space-1)}.folder.drop-target{background:var(--accent-soft)}.folder-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:var(--space-2) var(--space-2) var(--space-1);overflow-wrap:anywhere;font-size:.75rem;font-weight:800}.folder-head{flex-wrap:wrap;align-items:center;display:flex}.folder-head .folder-name{flex:1;min-width:0}.folder-rename{min-width:0;margin:var(--space-1) var(--space-2);flex:1}.folder-menu{position:relative}.folder-menu-button{padding:0 var(--space-2);min-height:32px;color:var(--text-muted);background:0 0;border:0}.folder-menu-items{z-index:15;gap:var(--space-1);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:100%;right:0}.folder-confirm,.folder-head>.error{margin:var(--space-1) var(--space-2);flex:100%}.folder-confirm p{margin:0 0 var(--space-1);overflow-wrap:anywhere}.boards{min-height:12px}.board-item{align-items:center;gap:var(--space-1);display:flex}.board-item .nav-link{flex:1;min-width:0}.board-item.dragging{z-index:5;background:var(--surface);box-shadow:var(--shadow);border-radius:var(--radius);position:relative}.drag-handle{width:20px;min-height:28px;color:var(--text-muted);cursor:grab;touch-action:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.new-items{border-top:1px solid var(--border);padding-top:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.new-buttons,.mini-form-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.mini-form{gap:var(--space-2);flex-direction:column;display:flex}.mini-form label{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.scrim{display:none}@media (width<=767px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""page"}.menu-button{display:inline-block}.app-header{gap:var(--space-2);padding:0 var(--space-3)}.user-name{display:none}.app-header .dev-user span,.app-header .workspace-switcher span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar{display:none}.sidebar.open{top:var(--header-height);z-index:20;width:min(86vw,320px);box-shadow:var(--shadow);display:block;position:fixed;bottom:0;left:0}.scrim{inset:var(--header-height) 0 0 0;z-index:15;background:#0006;border:0;border-radius:0;display:block;position:fixed}.scrim:hover:not(:disabled){background:#0006}.page{padding:var(--space-3);border-top-left-radius:0}.app-header{padding:0 var(--space-3);background:var(--shell)}input,select,textarea{font-size:1rem}}.board-page{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.board-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.board-head h1{overflow-wrap:anywhere;margin:0}.view-toggle{background:var(--well);border-radius:12px;padding:3px;display:flex}.view-link{padding:var(--space-1) var(--space-4);border-radius:var(--space-2);color:var(--text-muted);font-weight:700;text-decoration:none}.view-link.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #19374b24}.filter-bar,.table-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.menu{display:inline-block;position:relative}.menu-button-trigger.active{background:var(--accent-soft);border-color:var(--accent)}.badge{margin-left:var(--space-2);min-width:1.4em;padding:0 var(--space-1);background:var(--accent);color:var(--accent-text);font-size:var(--text-sm);text-align:center;border-radius:999px;display:inline-block}.popover{z-index:30;min-width:200px;max-width:min(320px,86vw);max-height:320px;margin-top:var(--space-1);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;border-radius:14px;position:absolute;top:100%;left:0;overflow-y:auto}.check-row{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);min-height:32px;font-size:var(--text-sm);font-weight:400;display:flex}.check-row input{min-height:0}.table-scroll{padding:1px 1px var(--space-2);overflow-x:auto}.t{width:max-content;min-width:100%;font-size:var(--text-sm)}.t-row{grid-template-columns:var(--columns);align-items:stretch;display:grid}.t-group{--section-colour:var(--section-neutral);margin-bottom:var(--space-3);background:var(--surface);border-radius:var(--radius-card);box-shadow:0 0 0 1px var(--border), var(--shadow-card)}.t-group>:first-child,.t-group>:first-child .cell{border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card)}.t-group>:last-child,.t-group>:last-child .cell:first-child{border-bottom-left-radius:var(--radius-card)}.t-group>:last-child,.t-group>:last-child .cell:last-child{border-bottom-right-radius:var(--radius-card)}.t-group>:last-child .cell{border-bottom:0}.cell{min-width:0;padding:2px var(--space-2);border-bottom:1px solid var(--line);align-items:center;gap:var(--space-1);display:flex;position:relative}.t-task[data-overdue] .cell{background:var(--danger-soft)}.t-task[data-overdue] .status-fill{box-shadow:inset 0 0 0 1px}.t-task[data-overdue] .date.overdue{font-weight:800}.repeat-text{padding-inline:var(--space-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.t-head .cell{color:var(--text-muted);padding-left:var(--space-4);padding-right:var(--space-3);font-size:.75rem;font-weight:700}.head-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.head-cell.dragging{z-index:5;box-shadow:var(--shadow)}.head-cell.draggable,.t-task.draggable,.kanban-card{cursor:grab}.t-task.dragging{opacity:.4}.t-task[data-drop=before] .cell{box-shadow:inset 0 2px 0 var(--accent)}.t-task[data-drop=after] .cell{box-shadow:inset 0 -2px 0 var(--accent)}.t-group[data-drop=into]{outline:2px dashed var(--accent);outline-offset:-2px}.t-row-overlay{align-items:center;gap:var(--space-1);width:max-content;max-width:360px;min-height:100%;padding:0 var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:grabbing;white-space:nowrap;font-weight:600;display:inline-flex;overflow:hidden}.resize-handle{cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:0}.resize-handle:hover,.resize-handle:focus-visible{background:var(--accent)}.t-group-head{background:var(--surface);display:block;position:sticky;left:0}.t-group-head .group-name{color:var(--section-ink,var(--text));font-size:1rem;font-weight:800}@media (prefers-color-scheme:dark){.t-group-head .group-name{color:var(--section-ink-dark,var(--text))}}.t-group-head .cell{gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-1) var(--space-3);border-bottom:0}.group-summary{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:600}.group-summary .overdue{color:var(--danger);font-weight:800}.label-chip{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:100%;font-weight:600;display:inline-flex;overflow:hidden}.chip-dot{flex:none}.group-toggle{align-items:center;gap:var(--space-2);padding:0 var(--space-1);background:0 0;border:0;min-height:28px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.count{color:var(--text-muted);font-weight:400}.chevron-button{width:22px;min-height:28px;color:var(--text-muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chevron-space{flex:none;width:22px}.subtask .cell-name{padding-left:var(--space-5)}.subtask{background:var(--bg)}.cell-view,.cell-edit{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex}.cell-edit{flex-direction:column;align-items:stretch;gap:2px}.cell-button{text-align:left;min-height:30px;padding:0 var(--space-2);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;flex:1;min-width:0;font-weight:400;overflow:hidden}.cell-button:hover:not(:disabled){border-color:var(--border);background:var(--surface)}.cell-view>.cell-link+.cell-button,.cell-view>.task-link+.cell-button{text-align:center;width:28px;color:var(--text-muted);opacity:0;flex:none;padding:0}.cell:hover .cell-view>.cell-button,.cell-view>.cell-button:focus-visible{opacity:1}.task-link,.cell-link{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none;overflow:hidden}.task-link:hover,.cell-link:hover{text-decoration:underline}.cell-link{color:var(--accent-ink)}.placeholder{color:var(--text-muted)}.flagged .cell-button{color:var(--danger)}.cell-input{width:100%;min-height:32px;padding:var(--space-1) var(--space-2)}.t .cell-input.date,.t select.cell-input{background:0 0;border-color:#0000}.t .cell-input.date:hover,.t select.cell-input:hover{border-color:var(--border)}.cell-input.date.overdue{color:var(--danger)}.cell-check{width:18px;height:18px;min-height:0}.cell-select{justify-content:center;padding-left:0;padding-right:0}.t-task.ticked .cell{background:var(--accent-soft)}.cell-filled .status-fill{min-height:24px;padding:0 var(--space-3);border:0;border-radius:999px;flex:0 auto;font-size:.8125rem;font-weight:700}select.status-fill{min-width:96px}.cell-filled .status-fill:hover:not(:disabled){background:var(--pill-bg,var(--surface-muted));filter:saturate(1.4)}.cell-button.pill,.cell-input.pill{border-radius:999px;flex:0 auto;font-weight:700}.cell-button.pill:hover:not(:disabled){background:var(--pill-bg,var(--surface-muted));border-color:#0000}@media (prefers-color-scheme:dark){.cell-filled .status-fill:hover:not(:disabled),.cell-button.pill:hover:not(:disabled){background:var(--pill-bg-dark,var(--surface-muted))}}.cell-button.date.overdue{color:var(--danger)}.t-bar .cell{border-bottom:0;min-height:14px;padding-block:0}.status-bar{background:var(--surface-muted);border-radius:999px;width:100%;height:6px;display:flex;overflow:hidden}.status-bar-part{height:100%;display:block}.cell-error{color:var(--danger);font-size:var(--text-sm);display:block}.cell-people{flex:1;min-width:0;display:flex;position:relative}.cell-people .popover{top:calc(100% + 2px)}.add-task{background:0 0;border-color:#0000;width:100%}.t-add .cell{border-bottom:0;flex-direction:column;align-items:stretch}.add-task:hover,.add-task:focus{background:var(--surface-muted)}.add-task::placeholder{color:var(--accent-ink);font-weight:700}.t-foot .cell{background:var(--surface-muted);border-bottom:0;font-weight:800}.bulk-bar{bottom:var(--space-2);z-index:20;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;display:flex;position:sticky}.bulk-count{font-weight:600}.bulk-clear{margin-left:auto}.bulk-bar .popover{margin-top:0;margin-bottom:var(--space-1);top:auto;bottom:100%}.bulk-note{margin:0 0 var(--space-2);font-size:var(--text-sm)}.menu-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;min-height:32px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:0;display:flex}.menu-item.primary{margin-top:var(--space-2);border:1px solid var(--accent);justify-content:center}.board-foot .cell{border-top:0}.foot-name{color:var(--text-muted);font-weight:400}@media (width<=767px){.t{width:auto;min-width:0}.t-row{align-items:stretch;gap:0 var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.t-group>:last-child{border-bottom:0}.t-task[data-overdue]{background:var(--danger-soft)}.t-row .cell{border-bottom:0;padding:1px 0}.t-row.t-head,.t-task .cell:not(.phone-cell),.t-foot .foot-empty{display:none}.t-task .cell-name{flex:calc(100% - 44px)}.t-add .cell-select,.t-bar{display:none}.t-task .cell:not(.cell-name){flex:0 auto;min-width:0}.t-task .cell-select+.cell-name{flex-basis:calc(100% - 44px)}.t-task .cell.cell-filled{margin-left:44px}.t-task .cell.col-due{margin-left:auto}.t-group-head .cell{gap:0 var(--space-3);flex-wrap:wrap}.group-summary{white-space:normal}.t-task .cell-view>.cell-button{opacity:1}.t-task .cell.cell-select{flex:none;width:36px}.t-foot .foot-money{flex:auto}.t-foot .foot-money:before{content:attr(data-label) ": ";color:var(--text-muted);margin-right:var(--space-1);font-weight:400}.t-group-head{position:static}.popover{max-width:min(320px,80vw)}}.kanban-view{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.kanban{align-items:flex-start;gap:var(--space-3);max-width:100%;padding-bottom:var(--space-2);display:flex;overflow-x:auto}.kanban-column{background:var(--shell);border-radius:var(--radius-card);min-width:0;padding:var(--space-3);flex:0 0 min(300px,82vw)}.column-head{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);padding:0 var(--space-1);font-size:1rem;font-weight:800;display:flex}.kanban-drop{border-radius:14px;min-height:64px}.kanban-drop.over{outline:2px dashed var(--accent);outline-offset:-2px}.kanban-cards{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.drop-hint{padding:var(--space-4) var(--space-2);text-align:center;border:1px dashed var(--border);border-radius:var(--radius);margin:0}.kanban-card{background:var(--surface);box-shadow:0 0 0 1px var(--border), var(--shadow-card);padding:var(--space-2) var(--space-3);gap:var(--space-2);border-radius:14px;flex-direction:column;min-width:0;display:flex}.kanban-card.dragging{z-index:5;box-shadow:var(--shadow);position:relative}.card-title{align-items:flex-start;gap:var(--space-1);min-width:0;display:flex}.card-name{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0;padding-top:4px;font-weight:700}.card-chips,.card-meta,.card-people{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--border);font-size:var(--text-sm);border-radius:999px;display:inline-flex}.chip-dot{border-radius:50%;width:8px;height:8px}.card-meta{color:var(--text-muted);font-size:var(--text-sm)}.card-due[data-overdue=true]{color:var(--danger);font-weight:600}.card-people{gap:2px;margin-left:auto}.avatar{background:var(--well);min-width:24px;height:24px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.75rem;font-weight:800;display:inline-flex}.kanban-card[data-new]{animation:2s ease-out card-new}@keyframes card-new{0%{background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent)}to{background:var(--surface);box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.kanban-card[data-new]{box-shadow:0 0 0 3px var(--accent);animation:none}}.kanban-card.dragging{opacity:.4;box-shadow:none}.kanban-card.overlay{box-shadow:var(--shadow);cursor:grabbing}.task-panel{top:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:50;width:min(520px, calc(100vw - var(--space-4)));padding:var(--space-5);background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);position:fixed;overflow-y:auto}.task-panel:focus{outline:none}.task-panel h3{margin:0 0 var(--space-2);font-size:1rem;font-weight:800}.panel-close{top:var(--space-3);right:var(--space-3);justify-content:center;align-items:center;width:36px;padding:0;font-size:1.125rem;line-height:1;display:inline-flex;position:absolute}.panel-head{margin-bottom:var(--space-3);padding-right:44px}.panel-title{font-size:var(--text-lg);letter-spacing:-.02em;overflow-wrap:anywhere;white-space:normal;font-weight:800;line-height:1.2}.panel-head .cell-button{text-align:center;width:32px;color:var(--text-muted);flex:none;padding:0}.panel-completion p{margin:0 0 var(--space-1)}.panel-fields{margin:var(--space-3) 0}.panel-field{align-items:start;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);display:grid}.panel-field dt{color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere;padding-top:6px}.panel-field dd{flex-direction:column;min-width:0;margin:0;display:flex}.panel-field .cell-button{white-space:normal;overflow-wrap:anywhere}.panel-section{margin-top:var(--space-5)}.repeat-controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.repeat-controls .cell-input{flex:110px;width:auto}.repeat-controls .repeat-every{flex:0 0 76px}.repeat-summary{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.repeat-editor .muted{margin:var(--space-1) 0 0}.tabs{gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.tab{min-height:32px;padding:0 var(--space-3)}.tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.description-box{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;min-height:120px;display:block}.markdown{overflow-wrap:anywhere;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);min-height:120px}.markdown>:last-child{margin-bottom:0}.markdown .md-heading{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-md)}.markdown pre{padding:var(--space-2);background:var(--surface-muted);border-radius:var(--radius);overflow-x:auto}.markdown img{max-width:100%}.subtask-list{margin:0 0 var(--space-3);padding:0;list-style:none}.subtask-list li{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.subtask-name{min-width:0;color:var(--text);overflow-wrap:anywhere;flex:140px}.subtask-list .cell-check{flex:none}.subtask-list li[data-done=true] .subtask-name{color:var(--text-muted);text-decoration:line-through}.subtask-due{white-space:nowrap}.subtask-add{gap:var(--space-2);display:flex}.subtask-add input{flex:1;min-width:0}.attachment-list{margin:0 0 var(--space-3);padding:0;list-style:none}.attachment{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.attachment-thumb{flex:none;line-height:0}.attachment-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:56px;height:56px}.attachment-info{flex-direction:column;flex:160px;min-width:0;display:flex}.attachment-name{overflow-wrap:anywhere}.attachment-actions{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.attachment-actions .link-button{padding:0}.attachment-confirm{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:100%;display:flex}.attachment-error{flex:100%;margin:0}.attachment-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.drop-overlay{top:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:51;width:min(520px, calc(100vw - var(--space-4)));background:var(--accent-soft);border:2px dashed var(--accent);border-radius:var(--radius-card);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed}.drop-overlay p{font-size:var(--text-lg);color:var(--accent-ink);margin:0;font-weight:800}.timeline{margin:0 0 var(--space-3);padding:0;list-style:none}.timeline>li{padding:var(--space-2) 0;border-bottom:1px solid var(--line);flex-direction:column;display:flex}.history-text{overflow-wrap:anywhere}.history-when{font-size:.8rem}.timeline-comment{gap:var(--space-1)}.comment-head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.timeline-comment .comment-body{border:0;min-height:0;padding:0}.comment-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.comment-composer{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.comment-box{min-height:72px}.comment-actions .link-button{font-size:var(--text-sm)}.mention{background:var(--accent-soft);border-radius:4px;padding:0 2px;font-weight:600}.mention-list{padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:220px;box-shadow:var(--shadow);margin:0;list-style:none;overflow-y:auto}.mention-option{padding:var(--space-1) var(--space-2);cursor:pointer;border-radius:4px}.mention-option.active,.mention-option:hover{background:var(--accent-soft)}.card-comments,.card-attachments,.comment-count,.attachment-count{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.comment-count,.attachment-count{margin-left:var(--space-1);flex:none;text-decoration:none}.comment-count:hover,.attachment-count:hover{text-decoration:underline}@media (width<=767px){.task-panel{width:100%;padding:var(--space-5) var(--space-4);border-radius:0;inset:0}.drop-overlay{border-radius:0;width:100%;inset:0}.panel-field{grid-template-columns:minmax(0,1fr);gap:0}.panel-field dt{padding-top:0}}.my-work{gap:var(--space-3);flex-direction:column;max-width:880px;display:flex}.view-toggle button.view-link{background:0 0;border:0;min-height:28px;padding-block:0}.view-toggle button.view-link:hover:not(:disabled){color:var(--text)}.view-toggle button.view-link.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #19374b24}.my-work-section h2{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.my-work-section .count{font-size:var(--text-md)}.my-work-list{border-radius:var(--radius-card);box-shadow:0 0 0 1px var(--border), var(--shadow-card);background:var(--surface);margin:0;padding:0;list-style:none}.my-work-row{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.my-work-row:first-child{border-top:0}.my-work-row input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0}.my-work-name{overflow-wrap:anywhere}.my-work-due{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.my-work-due[data-overdue=true]{color:var(--danger);font-weight:600}@media (width<=767px){.my-work-row{grid-template-columns:auto minmax(0,1fr) auto}.my-work-board{grid-area:2/2/auto/-1}}.settings-link{align-items:center;gap:var(--space-1);color:var(--text-muted);white-space:nowrap;margin-left:auto;font-weight:600;text-decoration:none;display:inline-flex}.settings-link:hover{color:var(--text);text-decoration:underline}.settings-page{gap:var(--space-4);flex-direction:column;max-width:880px;display:flex}.settings-page>p{margin:0}.settings-section{background:var(--surface);border-radius:var(--radius-card);box-shadow:0 0 0 1px var(--border), var(--shadow-card);padding:var(--space-5)}.settings-section h2{margin-bottom:var(--space-2)}.settings-section.danger-zone{box-shadow:0 0 0 1px var(--danger), var(--shadow-card)}.settings-list,.settings-options{margin:var(--space-3) 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.settings-row{border-bottom:1px solid var(--line);padding:var(--space-2) 0;background:var(--surface)}.settings-row.dragging{box-shadow:var(--shadow);z-index:1;position:relative}.settings-row-main,.settings-option,.settings-add,.settings-config,.settings-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-config{margin:var(--space-2) 0 0 32px}.settings-config .settings-options,.settings-config>p{flex:100%;margin:0}.settings-row .cell-input,.settings-add .cell-input{width:auto}.settings-row .settings-name,.settings-add input[type=text]:first-of-type{flex:10rem;min-width:0}.settings-count{white-space:nowrap}.settings-empty{padding:var(--space-2) 0}.settings-add{margin-top:var(--space-3)}.settings-confirm{margin-top:var(--space-2);padding:var(--space-3);background:var(--surface-muted);border-radius:var(--radius)}.settings-option>.settings-confirm{flex:100%;margin-top:0}.settings-confirm p{margin:0 0 var(--space-2)}.mfa-form{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.mfa-form p{margin:0}.mfa-qr{border-radius:var(--radius);width:200px;max-width:100%;height:auto}.mfa-secret{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.mfa-code{font-variant-numeric:tabular-nums;letter-spacing:.1em;max-width:12em}.colour-field{align-items:center;gap:var(--space-1);display:inline-flex}.colour-picker{cursor:pointer;width:36px;padding:2px}.settings-row .colour-hex,.settings-add .colour-hex{width:6.5em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.settings-row .currency-input{width:5em}.type-badge{font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius);padding:2px var(--space-2);white-space:nowrap}.danger-button{color:var(--text-muted)}.danger-button:hover:not(:disabled),.danger-button:focus-visible{color:var(--danger);border-color:currentColor}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){.settings-section{padding:var(--space-3)}.settings-config{margin-left:0}.settings-add input[type=text]:first-of-type{flex:100%}}.bin-section h2{margin-bottom:var(--space-2)}.bin-list{margin:0 0 var(--space-4);border-radius:var(--radius-card);box-shadow:0 0 0 1px var(--border), var(--shadow-card);background:var(--surface);padding:0;list-style:none}.bin-row{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.bin-row:first-child{border-top:0}.bin-main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.bin-name{overflow-wrap:anywhere;font-weight:600}.bin-meta{gap:0 var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.bin-restore{grid-area:1/2/span 2}.bin-notice{grid-column:1/-1;margin:0}.bulk-confirm{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.panel-delete{margin-top:var(--space-4)}.workspace-fields{gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.workspace-field{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;min-width:0;display:flex}.workspace-facts{gap:var(--space-1) var(--space-4);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.workspace-facts dt{color:var(--text-muted)}.workspace-facts dd{overflow-wrap:anywhere;margin:0}.workspace-list{margin:0 0 var(--space-3);padding:0;list-style:none}.workspace-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.workspace-row:first-child{border-top:0}.workspace-main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.workspace-name{overflow-wrap:anywhere;font-weight:600}.workspace-confirm{flex:100%;margin-top:0}.template-form{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.template-form label{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.template-form label.template-check{align-items:center;gap:var(--space-2);flex-direction:row}.settings-nav-link{border-top:1px solid var(--border);margin-top:var(--space-1);border-top-left-radius:0;border-top-right-radius:0}@media (prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}.board-page{flex-flow:wrap;align-items:center}.board-head{flex:100%}.table-view{display:contents}.table-view>*,.kanban-view,.board-page>.error,.board-page>.muted{flex:100%;min-width:0}.table-view>.table-toolbar{flex:0 auto}.filters-toggle{display:none}.add-task-form{gap:var(--space-2);flex-wrap:wrap;min-width:260px;display:flex}.add-task-form input{flex:140px;min-width:0}.add-task-form .error{flex:100%;margin:0}.menu-end .popover{left:auto;right:0}.menu-button-trigger.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.menu-button-trigger.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}@media (width<=767px){.filters-toggle{display:inline-block}.board-page[data-filters=closed] .filter-bar,.board-page[data-filters=closed] .table-toolbar{display:none}.t-task .cell[data-label]:before{content:attr(data-label);margin-right:var(--space-1);color:var(--text-muted);font-size:.75rem}.t-task .cell.cell-custom[data-label]{flex-direction:column;flex:calc(50% - 30px);align-items:flex-start;gap:0;margin-left:44px;padding-top:0}.t-task .cell[data-label]~.cell[data-label]{margin-left:0}.t-task .cell[data-label] .cell-button{flex:0 auto;min-height:22px;padding:0;font-weight:700}.t-task .chevron-space{display:none}}@media (hover:hover){.head-cell .drag-handle,.t-task .cell-name>.drag-handle{width:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.t-head .cell-name{padding-left:34px}.board-item{position:relative}.board-item .drag-handle{width:14px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}}.kanban-card{position:relative}.kanban-card .drag-handle{top:var(--space-1);right:var(--space-1);position:absolute}.card-title .drag-handle:not(button){display:none}@media (hover:hover){.drag-handle:not(:focus-visible){opacity:0;transition:opacity .12s ease-out}.board-item:hover .drag-handle,.t-task:hover .drag-handle,.head-cell:hover .drag-handle,.kanban-card:hover .drag-handle,.settings-row:hover .drag-handle{opacity:1}}.session-ended{z-index:20;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);background:var(--danger-soft);color:var(--danger);border-bottom:1px solid var(--border);font-size:var(--text-sm);flex-wrap:wrap;display:flex;position:sticky;top:0}.session-ended span{flex:20ch}
