:root{--bg:#14171f;--bg-2:#191d27;--panel:#1e2330;--panel-2:#242a39;--card:#2a3143;--card-hover:#313a4f;--line:#333b4e;--text:#e6e9f0;--muted:#97a0b5;--faint:#6c768d;--accent:#7c8cf8;--accent-ink:#0e1118;--danger:#e0698a;--s-unassigned:#8b93a7;--s-started:#5ec8c8;--s-blocked:#e0698a;--s-review:#d8b34a;--s-done:#61c07a;--radius:10px;--radius-sm:6px;--shadow:0 2px 6px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:13px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-columns:264px 1fr;height:100%;display:grid;overflow:hidden}.main{grid-template-rows:auto 1fr auto;min-width:0;height:100%;display:grid}.content{min-height:0;padding:16px;overflow:auto}.content:has(.board){overflow:hidden}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:14px 12px;display:flex;overflow-y:auto}.brand{letter-spacing:.2px;align-items:center;gap:8px;font-size:15px;font-weight:650;display:flex}.brand-mark{color:var(--accent);font-size:17px}.side-section h5{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.project-list,.filter-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.filter-list li{align-items:center;gap:2px;display:flex}.project-item,.filter-item{border-radius:var(--radius-sm);width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.project-item:hover,.filter-item:hover{background:var(--panel);color:var(--text)}.project-item.on{background:var(--panel-2);color:var(--text);font-weight:600}.filter-item.on{background:var(--panel-2);color:var(--text)}.project-item i,.filter-item i,.project-name i{border-radius:3px;flex:none;width:9px;height:9px}.project-item span,.filter-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter-item em{color:var(--faint);font-size:11px;font-style:normal}.company-filter{margin-bottom:10px;padding:5px 8px;font-size:12px}.company-group+.company-group{margin-top:6px}.company-head{border-radius:var(--radius-sm);width:100%;color:var(--faint);letter-spacing:.05em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:4px 6px;font-size:11px;font-weight:600;display:flex}.company-head:hover:not(:disabled){color:var(--muted);background:var(--panel)}.company-head:disabled{cursor:default;opacity:1}.company-head:disabled .caret{visibility:hidden}.company-head .caret{width:9px;color:var(--faint);flex:none;font-size:9px}.company-head i{border-radius:2px;flex:none;width:7px;height:7px}.company-head span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.company-head em{letter-spacing:0;font-style:normal;font-weight:500}.company-group .project-list{padding-left:14px}.company-group .empty{margin:2px 2px 2px 8px;font-size:11.5px}.tag-cloud{flex-wrap:wrap;gap:5px;display:flex}.check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.check input{accent-color:var(--accent)}.topbar{background:var(--bg-2);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.project-name{white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:650;display:flex}.views{background:var(--panel);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.search{flex:1;min-width:120px;max-width:340px;margin-left:auto}.compose-deck{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;display:flex}.compose-deck select{max-width:150px}.board{align-items:stretch;gap:12px;height:100%;display:flex}.column{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:1 1 0;min-width:210px;min-height:0;display:flex}.column .droplist{flex:1}.column-head{align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.column-head h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.count{background:var(--panel-2);color:var(--faint);font-variant-numeric:tabular-nums;border-radius:20px;margin-left:auto;padding:1px 6px;font-size:11px}.count.effort{color:var(--accent);margin-left:0}.status-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot.status-unassigned{background:var(--s-unassigned)}.status-dot.status-started{background:var(--s-started)}.status-dot.status-blocked{background:var(--s-blocked)}.status-dot.status-review{background:var(--s-review)}.status-dot.status-done{background:var(--s-done)}.droplist{border-radius:var(--radius);flex-direction:column;gap:8px;min-height:60px;padding:4px 10px 10px;display:flex;overflow-y:auto}.droplist.axis-x{flex-direction:row;overflow:auto hidden}.droplist.dragover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.droplist .drop-before{box-shadow:0 -2px 0 0 var(--accent)}.droplist.axis-x .drop-before{box-shadow:-2px 0 0 0 var(--accent)}.droplist.drop-at-end.dragover:after{content:"";background:var(--accent);border-radius:2px;height:2px;display:block}.droplist.axis-x.drop-at-end.dragover:after{align-self:stretch;width:2px;height:auto}.empty{color:var(--faint);margin:6px 2px;font-size:12px;font-style:italic}.card{background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow);cursor:pointer;gap:0;transition:background 90ms,transform 90ms;display:flex;position:relative;overflow:hidden}.card:hover{background:var(--card-hover)}.card:active{cursor:grabbing}.card.in-hand{outline:1px solid color-mix(in srgb, var(--accent) 60%, transparent)}.card-spine{background:var(--deck-color,var(--s-unassigned));flex:none;width:3px}.card-main{flex:1;min-width:0;padding:8px 9px 8px 10px}.card-top{align-items:flex-start;gap:6px;display:flex}.card-title{overflow-wrap:anywhere;flex:1;margin:0;font-size:13px;font-weight:500;line-height:1.35}.card.status-done .card-title{color:var(--muted);text-decoration:line-through}.prio{border-radius:2px;flex:none;width:7px;height:7px;margin-top:5px;transform:rotate(45deg)}.prio-could{background:var(--faint)}.prio-should{background:var(--s-review)}.prio-must{background:var(--danger)}.hand-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0;line-height:1}.hand-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.hand-btn.on{color:var(--accent)}.hand-btn:disabled{opacity:.3;cursor:not-allowed}.card-meta{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:inherit;background:0 0;border-radius:20px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.chip i{border-radius:2px;flex:none;width:7px;height:7px}.chip em{opacity:.7;font-style:normal}.tag-chip{cursor:pointer;background:0 0}.effort-chip{font-variant-numeric:tabular-nums;color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.milestone-chip{color:var(--faint)}.assignee-chip{color:var(--text);font-weight:600}.input.invalid{border-color:#e0698a}.field-error{color:#e0698a;margin-top:4px;font-size:11px;display:block}.quick-add-trigger{border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--faint);text-align:left;cursor:pointer;background:0 0;margin:0 10px 10px;padding:6px 8px}.quick-add-trigger:hover{color:var(--text);border-color:var(--accent)}.quick-add{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--card);resize:vertical;margin:0 10px 10px;padding:7px 8px}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.deck-panel{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--deck-color,var(--accent));border-radius:var(--radius);flex-direction:column;padding-top:4px;display:flex}.deck-head{align-items:center;gap:8px;padding:8px 12px 4px;display:flex}.deck-title{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:0;font-size:13px;font-weight:650;display:flex}.deck-title:hover{color:var(--accent)}.deck-dot{border-radius:3px;flex:none;width:9px;height:9px}.deck-desc{color:var(--faint);margin:0 12px 6px;font-size:12px}.progress{background:var(--panel-2);border-radius:3px;height:3px;margin:4px 12px 8px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .16s}.deck-body{max-height:46vh}.new-deck{border:1px dashed var(--line);border-top:1px dashed var(--line);min-height:120px;color:var(--faint);cursor:pointer;justify-content:center;align-items:center;gap:6px}.new-deck:hover{color:var(--accent);border-color:var(--accent)}.new-deck span{font-size:20px}.milestones-bar{margin-bottom:12px}.milestone-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:12px;display:grid}.milestone{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 0 4px}.milestone.closed{opacity:.6}.milestone-head{align-items:center;gap:8px;padding:0 12px;display:flex}.milestone-name{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-size:13px;font-weight:650}.milestone-name:hover{color:var(--accent)}.due{color:var(--faint);font-size:11px}.due.overdue{color:var(--danger)}.milestone-breakdown{flex-wrap:wrap;gap:5px;padding:0 12px 8px;display:flex}.milestone-body{max-height:40vh}.hand{border-top:1px solid var(--line);background:var(--bg-2)}.hand-bar{align-items:center;gap:12px;padding:6px 16px;display:flex}.hand-toggle{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600}.hand-toggle:hover{color:var(--text)}.hand-count{background:var(--panel-2);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:20px;padding:1px 8px;font-size:11px}.hand-count.full{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--text)}.hand-hint,.hand-limit{color:var(--faint);font-size:11px}.hand-limit label{align-items:center;gap:5px;display:flex}.hand-limit input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);width:48px;padding:2px 4px}.hand-body{gap:8px;min-height:92px;padding:2px 16px 12px}.hand-card{background:var(--card);border-radius:var(--radius-sm);width:210px;box-shadow:var(--shadow);cursor:pointer;flex:none;display:flex;overflow:hidden}.hand-card:hover{background:var(--card-hover)}.hand-card-top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.hand-project{min-width:0;color:var(--faint);flex:1;align-items:center;gap:5px;font-size:11px;display:flex}.hand-project i{border-radius:2px;flex:none;width:7px;height:7px}.hand-project{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hand-card .card-title{margin-bottom:6px;font-size:12px}.hand.collapsed .hand-body{display:none}.input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);outline:none;width:100%;padding:6px 9px}.input:focus{border-color:var(--accent)}textarea.input{resize:vertical;font:inherit}.btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);cursor:pointer;white-space:nowrap;padding:6px 12px}.btn:hover:not(:disabled){background:var(--card-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--accent-ink)}.btn.subtle{background:0 0}.btn.danger.subtle{color:var(--danger);border-color:#0000}.btn.danger.subtle:hover{background:color-mix(in srgb, var(--danger) 18%, transparent)}.icon-btn{border-radius:var(--radius-sm);color:var(--faint);cursor:pointer;background:0 0;border:0;padding:2px 6px;line-height:1.2}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.icon-btn.tiny{padding:2px 4px;font-size:11px}.segmented{flex-wrap:wrap;gap:3px;display:flex}.segmented.row{flex-wrap:nowrap}.seg{border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.seg:hover{background:var(--panel-2);color:var(--text)}.seg.on{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.views .seg{background:0 0;padding:4px 12px}.views .seg.on{background:var(--panel-2)}.swatches{flex-wrap:wrap;gap:5px;display:flex}.swatch{border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;width:20px;height:20px;padding:0}.swatch.on{border-color:var(--text)}.field{margin-bottom:14px;display:block}.field-label{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.scrim{z-index:50;background:#080a0e9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:min(520px,100%);max-height:88vh;display:flex;box-shadow:0 16px 48px #0000008c}.modal-wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 14px;display:flex}.modal-title{flex:1;min-width:0;font-size:15px;font-weight:650}.modal-body{padding:14px;overflow:auto}.modal-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 14px;display:flex}.spacer{flex:1}.title-input{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;width:100%;padding:4px 6px;font-size:16px;font-weight:650}.title-input:hover{border-color:var(--line)}.title-input:focus{border-color:var(--accent);background:var(--bg-2);outline:none}.card-editor{grid-template-columns:1fr 280px;gap:18px;display:grid}.card-editor-main{min-width:0}.body-input{min-height:220px}.body-preview{border-radius:var(--radius-sm);cursor:text;border:1px solid #0000;min-height:220px;padding:8px}.body-preview:hover{border-color:var(--line)}.markdown p{margin:0 0 8px}.markdown ul{margin:0 0 8px;padding-left:18px}.markdown h4,.markdown h5,.markdown h6{margin:12px 0 6px;font-size:13px}.markdown code{background:var(--bg);border-radius:4px;padding:1px 4px;font-family:ui-monospace,monospace;font-size:12px}.markdown a{color:var(--accent)}.tag-editor{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.tag-editor li{align-items:center;gap:8px;display:flex}.tag-editor .input{flex:1}.tag-editor .count{text-align:right;min-width:20px;color:var(--faint);font-size:12px;font-style:normal}.hint{color:var(--faint);margin:12px 0 0;font-size:12px}.tag-new{align-items:center;gap:8px;display:flex}.tag-new .input{flex:1}.placeholder{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.tiny{font-size:11px}.toast{border:1px solid var(--danger);border-radius:var(--radius);background:var(--panel);cursor:pointer;z-index:60;padding:10px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{display:none}.card-editor{grid-template-columns:1fr}}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(360px,100%);box-shadow:var(--shadow);padding:24px}.login-card h1{margin:0 0 18px;font-size:20px}.login-card .btn{width:100%}.login-error{color:var(--danger);margin:0 0 14px}
