:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--sidebar:#fbfbfc;--column:#eceef2;--border:#e2e5ea;--border-strong:#d0d5dd;--text:#1b2130;--muted:#667085;--faint:#98a2b3;--accent:#4f6ef7;--accent-hover:#3f5ce6;--accent-soft:#eaeefe;--danger:#d9363e;--danger-soft:#fdeced;--warn:#b76e00;--warn-soft:#fff3d6;--ok:#1f8a5b;--ok-soft:#e3f4ea;--shadow-card:0 1px 1px #1018280a, 0 1px 3px #10182814;--shadow-hover:0 4px 12px #1018281a, 0 1px 3px #10182814;--shadow-modal:0 24px 48px -12px #10182840;--radius:10px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--bg:#13151a;--surface:#1c1f26;--surface-2:#22262e;--sidebar:#171a20;--column:#1a1d23;--border:#2b3039;--border-strong:#3a404b;--text:#e6e8ec;--muted:#a0a7b4;--faint:#6e7684;--accent:#6b85ff;--accent-hover:#8198ff;--accent-soft:#252c47;--danger:#ff6b70;--danger-soft:#3a1f23;--warn:#f0b429;--warn-soft:#3a3020;--ok:#4cc38a;--ok-soft:#1c3329;--shadow-card:0 1px 2px #0000004d;--shadow-hover:0 6px 16px #0006;--shadow-modal:0 24px 48px -12px #0009}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}.ico{flex:none;width:16px;height:16px;display:inline-flex}.ico svg{width:100%;height:100%}.app{grid-template-columns:252px 1fr;height:100vh;display:grid}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:14px 10px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.brand-logo{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.brand-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{width:100%;color:var(--muted);text-align:left;border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--column);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item .count{color:var(--faint);margin-left:auto;font-size:12px;font-weight:500}.nav-section{margin-top:14px}.nav-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;padding:0 6px 6px 10px;font-size:11px;font-weight:600;display:flex}.board-dot{background:var(--c);border-radius:3px;flex:none;width:10px;height:10px}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:auto;padding-top:10px;display:flex}.me{align-items:center;gap:10px;padding:6px 8px;display:flex}.me-name{font-size:13px;font-weight:600}.me-mail{color:var(--faint);font-size:12px}.btn{white-space:nowrap;border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--column);color:var(--text)}.icon-btn{width:32px;height:32px;color:var(--muted);border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--column);color:var(--text)}.icon-btn.sm{border-radius:6px;width:24px;height:24px}.icon-btn.sm .ico{width:14px;height:14px}.input,.textarea,.select{border:1px solid var(--border);background:var(--surface);border-radius:8px;outline:none;width:100%;padding:8px 10px;transition:border-color .12s,box-shadow .12s}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.textarea{resize:vertical;min-height:72px}.search{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--faint);border-radius:8px;align-items:center;gap:8px;width:220px;padding:0 10px;display:flex}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.avatar{--c:#888;letter-spacing:.02em;color:#fff;background:var(--c);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:10.5px;font-weight:600;display:inline-grid}.avatar.lg{width:32px;height:32px;font-size:12px}.avatar.xs{width:22px;height:22px;font-size:9.5px}.avatar.empty{border:1.5px dashed var(--border-strong);color:var(--faint);background:0 0}.avatar-stack{display:flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--bg);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 24px;display:flex}.topbar h1{letter-spacing:-.01em;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650;display:flex}.topbar .spacer{flex:1}.menu-btn{display:none}.topbar .board-dot{border-radius:4px;width:14px;height:14px}.subtitle{color:var(--faint);font-size:13px;font-weight:400}.home{padding:28px 24px 40px;overflow-y:auto}.home h2{color:var(--muted);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.board-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-width:1200px;display:grid}.board-tile{text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.board-tile:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.board-tile .cover{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--c) 55%, #fff) 0%, transparent 60%), var(--c);height:72px;position:relative}.board-tile .cover .mini{align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:-1px;left:14px}.board-tile .cover .mini i{background:#ffffff8c;border-radius:4px 4px 0 0;width:26px;display:block}.board-tile .body{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.board-tile .name{font-size:15px;font-weight:600}.board-tile .meta{color:var(--faint);justify-content:space-between;align-items:center;font-size:12px;display:flex}.progress{background:var(--column);border-radius:99px;height:5px;overflow:hidden}.progress>span{background:var(--c);border-radius:99px;height:100%;display:block}.board-tile.new{border:1.5px dashed var(--border-strong);box-shadow:none;min-height:164px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:8px;font-weight:500}.board-tile.new:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;max-width:1200px;margin-bottom:30px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.stat .label{color:var(--muted);font-size:12.5px}.stat .value{letter-spacing:-.02em;margin-top:2px;font-size:24px;font-weight:650}.stat.danger .value{color:var(--danger)}.board-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.board-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 24px;display:flex}.chip{border:1px solid var(--border);height:30px;color:var(--muted);background:var(--surface);border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.board{background:linear-gradient(180deg, color-mix(in srgb, var(--board) 9%, transparent) 0%, transparent 240px), var(--bg);flex:1;align-items:flex-start;gap:14px;min-height:0;padding:18px 24px 24px;display:flex;overflow:auto hidden}.column{background:var(--column);border-radius:12px;flex-direction:column;flex:none;width:292px;max-height:100%;display:flex}.column-head{align-items:center;gap:8px;padding:12px 10px 8px 14px;display:flex}.status-dot{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.column-title{font-size:13.5px;font-weight:600}.column-count{color:var(--muted);background:var(--surface);border-radius:99px;padding:0 7px;font-size:12px;font-weight:600;line-height:20px}.column-count.over{background:var(--danger-soft);color:var(--danger)}.cards{flex-direction:column;gap:8px;min-height:12px;padding:4px 8px;display:flex;overflow-y:auto}.column.drop-target{box-shadow:inset 0 0 0 2px var(--accent)}.add-card{color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin:4px 8px 8px;padding:8px;font-weight:500;display:flex}.add-card:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.add-form{flex-direction:column;gap:8px;padding:4px 8px 10px;display:flex}.add-form .row{gap:6px;display:flex}.add-column{border:1.5px dashed var(--border-strong);width:292px;height:46px;color:var(--muted);border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;font-weight:500;display:flex}.add-column:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;border:1px solid #0000;flex-direction:column;gap:8px;padding:10px 12px;transition:box-shadow .12s,border-color .12s;display:flex}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--border)}.card.dragging{opacity:.45;transform:rotate(1.5deg)}.card.done .card-title{color:var(--muted)}.card-labels{flex-wrap:wrap;gap:4px;display:flex}.label{color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border-radius:5px;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.card-title{word-wrap:break-word;font-weight:500;line-height:1.4}.card-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card-foot .avatar{margin-left:auto}.meta-item{color:var(--faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.meta-item .ico{width:13px;height:13px}.badge{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.badge .ico{width:13px;height:13px}.badge.overdue{color:var(--danger);background:var(--danger-soft);border-color:#0000}.badge.soon{color:var(--warn);background:var(--warn-soft);border-color:#0000}.badge.done{color:var(--ok);background:var(--ok-soft);border-color:#0000}.priority{border-radius:2px;align-self:stretch;width:3px}.modal-backdrop{z-index:50;background:#0f141e73;justify-content:center;align-items:flex-start;padding:6vh 16px 16px;animation:.15s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);width:100%;max-width:820px;box-shadow:var(--shadow-modal);border-radius:14px;animation:.18s pop}.modal.narrow{max-width:460px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.99)}}.modal-head{align-items:flex-start;gap:12px;padding:18px 18px 6px 24px;display:flex}.modal-head .crumbs{color:var(--faint);white-space:nowrap;align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;display:flex;overflow:hidden}.modal-head .grow{flex:1;min-width:0}.title-input{resize:none;field-sizing:content;letter-spacing:-.01em;background:0 0;border:0;border-radius:6px;outline:0;width:100%;padding:2px 0;font-size:20px;font-weight:650;display:block;overflow:hidden}.title-input:focus{box-shadow:0 0 0 2px var(--accent-soft)}.modal-body{grid-template-columns:1fr 240px;gap:28px;padding:10px 24px 24px;display:grid}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);align-items:center;gap:6px;margin:18px 0 8px;font-size:12px;font-weight:600;display:flex}.section-title:first-child{margin-top:6px}.props{flex-direction:column;gap:4px;display:flex}.prop{flex-direction:column;gap:4px;padding:6px 0;display:flex}.prop label{color:var(--muted);font-size:12px;font-weight:500}.prop .select,.prop .input{height:36px;padding:0 10px}.prop-hint{color:var(--faint);font-size:11.5px}.comments{flex-direction:column;gap:16px;display:flex}.comment{gap:10px;display:flex}.comment .bubble{flex:1;min-width:0}.comment .who{font-size:13px;font-weight:600}.comment .when{color:var(--faint);margin-left:6px;font-size:12px;font-weight:400}.comment .text{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;word-wrap:break-word;border-radius:0 10px 10px;margin-top:3px;padding:8px 12px}.comment-form{gap:10px;display:flex}.comment-form .grow{flex-direction:column;flex:1;gap:8px;display:flex}.comment-form .textarea{min-height:44px}.comment-form .actions{justify-content:flex-end;display:flex}.empty-note{color:var(--faint);font-size:13px}.color-row{flex-wrap:wrap;gap:8px;display:flex}.swatch{background:var(--c);border-radius:8px;width:30px;height:30px;box-shadow:inset 0 0 0 2px #0000}.swatch.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c)}.form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-field label{font-size:13px;font-weight:500}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.template-row{flex-wrap:wrap;gap:6px;display:flex}.list{padding:20px 24px 40px;overflow-y:auto}.list-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:1100px;overflow:hidden}.list-row{border-top:1px solid var(--border);cursor:pointer;grid-template-columns:1fr 160px 140px 130px;align-items:center;gap:12px;padding:10px 16px;display:grid}.list-row:first-child{border-top:0}.list-row:hover{background:var(--surface-2)}.list-row.head{cursor:default;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);font-size:12px;font-weight:600}.list-row .t{align-items:center;gap:10px;min-width:0;display:flex}.list-row .t span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-pill{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.scrim{display:none}.btn:disabled,.icon-btn:disabled,.dropdown-item:disabled{opacity:.45;cursor:default;pointer-events:none}.btn.sm{height:28px;padding:0 10px;font-size:13px}.chip.xs{gap:4px;height:22px;padding:0 7px;font-size:12px}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-hint{color:var(--faint);padding:4px 10px;font-size:12.5px}button.me{text-align:left;border-radius:8px;width:100%}button.me:hover{background:var(--column)}.muted-tag{color:var(--faint);white-space:nowrap;font-size:12px}.danger-text{color:var(--danger)!important}.board-title{cursor:text}.title-edit{width:min(360px,60vw);height:34px;font-size:16px;font-weight:600}.column-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.column-title{text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden}.column-title-input{min-width:0;height:28px;padding:0 8px;font-weight:600}.done-flag{color:var(--ok);display:inline-flex}.done-flag .ico{width:14px;height:14px}.column-empty{text-align:center;color:var(--faint);padding:10px 6px;font-size:12.5px}.drop-indicator{background:var(--accent);border-radius:3px;flex:none;height:3px;margin:-2px 2px}.add-column-form{gap:8px;padding:10px}.add-column-form .row,.add-form .row{align-items:center;gap:6px;display:flex}.card:focus-visible,.list-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dropdown-wrap{display:inline-flex;position:relative}.dropdown{z-index:60;background:var(--surface);border:1px solid var(--border);min-width:180px;max-height:calc(100vh - 16px);box-shadow:var(--shadow-hover);letter-spacing:0;text-transform:none;color:var(--text);border-radius:10px;flex-direction:column;gap:1px;padding:6px;font-size:13.5px;font-weight:400;display:flex;position:fixed;overflow-y:auto}.dropdown-item{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;display:flex}.dropdown-item:hover{background:var(--column)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.check input{accent-color:var(--accent);margin:0}.dropdown-section{flex-direction:column;gap:8px;padding:6px 8px;display:flex}.dropdown-label{color:var(--muted);font-size:12px;font-weight:500}.dropdown-section .input{height:32px;padding:0 8px}.dropdown-sep{background:var(--border);height:1px;margin:4px 0}.dropdown-empty{color:var(--faint);padding:8px;font-size:13px}.dropdown .swatch{border-radius:6px;width:24px;height:24px}.modal-title{padding:4px 0;font-size:18px;font-weight:650}.modal-content{padding:8px 24px 20px}.modal-loading{text-align:center;color:var(--muted);padding:48px 24px}.modal-main{min-width:0}.with-avatar{align-items:center;gap:8px;display:flex}.prop-meta{color:var(--faint);margin-top:12px;font-size:12px}.comment .who{align-items:baseline;gap:0;display:flex}.comment-delete{color:var(--faint);opacity:0;margin-left:auto;font-size:12px}.comment:hover .comment-delete,.comment-delete:focus{opacity:1}.comment-delete:hover{color:var(--danger)}.comment-form{margin-top:16px}.member-list{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.member-row{align-items:center;gap:10px;padding:4px 0;display:flex}.input.bare{background:0 0;border-color:#0000;height:34px}.input.bare:hover{border-color:var(--border)}.inline-form{gap:8px;display:flex}.inline-form .input{height:34px}.loading{color:var(--faint);padding:40px 24px}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.empty-title{color:var(--text);font-size:15px;font-weight:600}.list-row .t.is-done span:last-child{color:var(--muted);text-decoration:line-through}.done-check{color:var(--ok);display:inline-flex}.toasts{z-index:100;flex-direction:column;gap:8px;width:min(420px,100% - 32px);display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-modal);background:#1b2130;border-radius:10px;padding:10px 14px;font-size:13.5px;animation:.18s pop}[data-theme=dark] .toast{color:#1b2130;background:#e6e8ec}.auth-screen{background:radial-gradient(60% 50% at 50% 0%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-hover);border-radius:16px;flex-direction:column;padding:28px 28px 22px;display:flex}.auth-card form{flex-direction:column;display:flex}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-title{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:650}.auth-subtitle{color:var(--muted);margin:6px 0 20px;font-size:13.5px}.auth-card .form-field{margin-bottom:14px}.auth-card .input{height:40px}.auth-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:-2px 0 14px;padding:9px 12px;font-size:13px}.auth-hint{text-align:center;color:var(--faint);margin:16px 0 0;font-size:12.5px}.auth-card .btn.ghost{margin-top:8px}.btn.block{justify-content:center;width:100%;height:40px}.password-input{position:relative}.password-input .input{padding-right:40px}.password-input .icon-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.success-note{background:var(--ok-soft);color:var(--ok);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.sidebar-footer .dropdown-wrap{display:flex}.me-info{flex:1;min-width:0}.me-name,.me-mail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.me{color:var(--text)}button.me>.ico{color:var(--faint)}.page-note{max-width:1100px;color:var(--muted);margin:0 0 16px;font-size:13.5px}.modal-content .page-note{margin-bottom:14px}.list-row.static{cursor:default}.users-row{grid-template-columns:minmax(200px,1fr) 160px 150px 150px 40px}@media (width<=1180px){.users-row{grid-template-columns:minmax(180px,1fr) 150px 150px 40px}.users-row>:nth-child(4){display:none}}.user-cell{flex-direction:column;min-width:0;display:flex}.user-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-name{font-weight:500}.user-login{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.muted-cell{color:var(--muted);font-size:13px}.row-actions{justify-content:flex-end;display:flex}.is-blocked .t{opacity:.55}.role-badge{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.role-badge.admin{color:var(--accent);font-weight:500}.role-badge .ico{width:14px;height:14px}.input.mono,.credentials code{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.credentials{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.credentials-grid{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;width:100%;padding:14px 16px;display:grid}.credentials-grid span{color:var(--muted);font-size:13px}.credentials-grid code{-webkit-user-select:all;user-select:all;word-break:break-all;font-size:15px}.checklist{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;max-height:280px;padding:4px;display:flex;overflow-y:auto}.check-row{cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:7px 8px;display:flex}.check-row:hover{background:var(--column)}.check-row.static{cursor:default;color:var(--muted)}.check-row.static:hover{background:0 0}.check-row.static>.ico{width:13px;height:13px;color:var(--accent)}.check-row input{accent-color:var(--accent);flex:none;width:15px;height:15px;margin:0}.check-main{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.check-main .user-login{font-size:11.5px}.checklist-actions{border-bottom:1px solid var(--border);gap:4px;margin-bottom:2px;padding:2px 4px 4px;display:flex}.warning-note{background:var(--warn-soft);color:var(--warn);border-radius:8px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.warning-note .ico{margin-top:2px}.role-badge.link{cursor:pointer;border-radius:6px;margin-left:-6px;padding:2px 6px}.role-badge.link:hover{background:var(--column);color:var(--text)}.avatar.more{background:var(--column);color:var(--muted)}.label-option{border-radius:6px;align-items:center;display:flex}.label-option:hover{background:var(--column)}.label-option .dropdown-item{flex:1;min-width:0}.label-option .dropdown-item:hover{background:0 0}.label-delete{opacity:0;flex:none;margin-right:4px}.label-option:hover .label-delete,.label-delete:focus-visible{opacity:1}.label-delete:hover{color:var(--danger)}@media (hover:none){.label-delete{opacity:1}}.readonly-field{border:1px dashed var(--border);background:var(--surface-2);height:36px;color:var(--faint);cursor:default;-webkit-user-select:text;user-select:text;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.readonly-field.is-done{color:var(--ok);background:var(--ok-soft);border-color:#0000;font-weight:500}.readonly-field .ico{width:14px;height:14px}.readonly-field.is-started{color:var(--accent);background:var(--accent-soft);border-color:#0000;font-weight:500}.start-flag{color:var(--accent);display:inline-flex}.start-flag .ico{width:12px;height:12px}.warn-text{color:var(--warn)!important}.filter-hint{padding:4px 8px 6px}.filter-option{gap:8px}.filter-option-label{flex:1;align-items:center;min-width:0;display:flex}.filter-option.is-empty .filter-option-label{opacity:.55}.filter-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.filter-person{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.filter-person.muted{color:var(--muted)}.filter-summary{color:var(--faint);white-space:nowrap;margin-left:4px;font-size:12.5px}.icon-btn.bell{position:relative}.icon-btn.bell.active{background:var(--column);color:var(--text)}.bell-badge{background:var(--danger);color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);text-align:center;border-radius:99px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;position:absolute;top:1px;right:0}.notifications{flex-direction:column;max-height:min(560px,100vh - 80px);margin:-6px;display:flex}.notifications-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 14px;font-weight:600;display:flex}.notifications-list{padding:4px;overflow-y:auto}.notifications-empty{text-align:center;color:var(--faint);flex-direction:column;align-items:center;gap:8px;padding:28px 24px;font-size:13px;display:flex}.notification{text-align:left;width:100%;color:var(--text);border-radius:8px;gap:10px;padding:10px;display:flex;position:relative}.notification:hover{background:var(--column)}.notification.unread{background:color-mix(in srgb, var(--accent) 6%, transparent)}.notification.unread:hover{background:color-mix(in srgb, var(--accent) 11%, transparent)}.notification-icon{background:var(--column);width:30px;height:30px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.notification-icon .ico{width:15px;height:15px}.notification-icon.type-assigned{background:var(--accent-soft);color:var(--accent)}.notification-icon.type-comment{background:var(--ok-soft);color:var(--ok)}.notification-icon.type-due_changed{background:var(--warn-soft);color:var(--warn)}.notification-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notification-title{color:var(--muted);font-size:12.5px}.notification.unread .notification-title{color:var(--text);font-weight:600}.notification-task{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.notification-detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.notification-meta{color:var(--faint);white-space:nowrap;align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.notification-meta .board-dot{border-radius:2px;width:8px;height:8px}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.mention-input{position:relative}.mention-suggestions{z-index:20;background:var(--surface);border:1px solid var(--border);width:min(320px,100%);box-shadow:var(--shadow-hover);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.mention-option{text-align:left;color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:7px 8px;display:flex}.mention-option.active{background:var(--accent-soft)}.mention-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mention-login{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.mention{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 3px;font-weight:500}.mention.self{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--text)}.notification-icon.type-mention{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.section-title.with-action .btn{text-transform:none;letter-spacing:0;height:26px;margin-left:auto;font-weight:500}.task-checklist{margin-bottom:18px}.checklist-head{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;display:flex}.checklist-title{min-width:0;color:var(--text);cursor:text;overflow-wrap:anywhere;flex:1;padding:3px 0;font-weight:600}.inline-edit{resize:none;field-sizing:content;flex:1;min-width:0;min-height:32px;padding:5px 8px}.checklist-title-edit{font-weight:600}.checklist-progress{align-items:center;gap:10px;margin:2px 0 6px;display:flex}.checklist-progress .progress{flex:1;height:6px}.checklist-progress .progress>span{background:var(--accent);transition:width .2s}.checklist-progress .progress.complete>span{background:var(--ok)}.checklist-percent,.checklist-count{color:var(--faint);font-variant-numeric:tabular-nums;min-width:30px;font-size:12px}.checklist-count{text-align:right}.checklist-items{flex-direction:column;display:flex}.checklist-item{border-radius:6px;align-items:flex-start;gap:10px;margin:0 -6px;padding:4px 6px;display:flex}.checklist-item:hover{background:var(--surface-2)}.checklist-item input[type=checkbox]{appearance:none;cursor:pointer;border:2px solid var(--border-strong);background:var(--surface);border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin:2px 0 0;transition:background-color .12s,border-color .12s;display:grid}.checklist-item input[type=checkbox]:hover{border-color:var(--ok)}.checklist-item input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checklist-item input[type=checkbox]:checked{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat;border-color:var(--ok)}.checklist-title-spacer{flex:1;min-width:0}.checklist-delete{color:var(--faint);height:26px;padding:0 8px}.checklist-delete:hover{color:var(--danger);background:var(--danger-soft)}.checklist-title-spacer .checklist-progress{margin:0}.checklist-text{cursor:text;overflow-wrap:anywhere;flex:1;min-width:0;padding:1px 0}.checklist-item.done .checklist-text{color:var(--faint);text-decoration:line-through}.checklist-item-delete{opacity:0;flex:none}.checklist-item:hover .checklist-item-delete,.checklist-item-delete:focus-visible{opacity:1}@media (hover:none){.checklist-item-delete{opacity:1}}.checklist-hidden-note{color:var(--faint);align-self:flex-start;padding:4px 0;font-size:12.5px}.checklist-hidden-note:hover{color:var(--accent)}.checklist-add{align-items:center;gap:6px;margin-top:6px;display:flex}.checklist-add .input{height:32px;padding:0 10px}.checklist-new{margin-bottom:14px}.checklist-add-btn{margin-top:4px}.meta-item.checklist-complete{color:var(--ok);background:var(--ok-soft);border-radius:5px;padding:0 5px}.confirm-backdrop{z-index:70;align-items:center;padding-top:16px}.modal.confirm{max-width:420px}.confirm-body{gap:14px;padding:22px 24px 18px;display:flex}.confirm-icon{background:var(--danger-soft);width:36px;height:36px;color:var(--danger);border-radius:10px;flex:none;place-items:center;display:grid}.confirm-title{margin-top:7px;font-size:16px;font-weight:600;line-height:1.35}.confirm-message{color:var(--muted);margin:6px 0 0;font-size:13.5px}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.danger:hover{background:color-mix(in srgb, var(--danger) 88%, #000)}@media (width<=860px){.hide-mobile{display:none!important}.app{grid-template-columns:1fr}.sidebar{z-index:40;width:272px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.nav-open .sidebar{transform:none}.app.nav-open .scrim{z-index:39;background:#0f141e66;display:block;position:fixed;inset:0}.menu-btn{display:inline-grid}.topbar,.board-toolbar{padding-left:16px;padding-right:16px}.board{padding:14px 16px 16px}.home,.list{padding-left:16px;padding-right:16px}.search{order:10;width:100%}.modal-body{grid-template-columns:1fr;gap:0;padding:6px 18px 20px}.modal-head{padding-left:18px}.list-row{grid-template-columns:1fr 110px}.list-row>:nth-child(3),.list-row>:nth-child(4){display:none}.users-row{grid-template-columns:minmax(0,1fr) 40px}.users-row>:nth-child(2){display:none}.column,.add-column{width:272px}}
