:root{--bg:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--accent:#1e3a8a;--accent-contrast:#fff;--accent-soft:#e0e7ff;--danger:#dc2626;--ok:#16a34a;--radius:10px;--radius-sm:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--shadow:0 1px 2px #0f172a0f,0 4px 16px #0f172a14;--rail-w:72px;--list-w:340px;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--surface:#111a2e;--surface-2:#18233b;--border:#22304d;--text:#e6ecf7;--text-muted:#8a9ab8;--accent:#6d8cff;--accent-contrast:#0b1220;--accent-soft:#1c2a52}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font-sans);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}.btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;min-height:40px;padding:8px 14px;transition:transform 50ms,background .1s}.btn:active{background:var(--surface-2);transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.btn.primary:active{filter:brightness(.9)}.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:100%;min-height:40px;padding:9px 12px}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--border),var(--surface-2));border-radius:var(--radius-sm);background-size:200% 100%;animation:1.1s linear infinite sk}@keyframes sk{to{background-position:-200% 0}}.muted{color:var(--text-muted)}.row{align-items:center;gap:var(--space-2);display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast-host{right:16px;bottom:calc(16px + var(--safe-bottom));z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);max-width:340px;padding:10px 14px}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:600;display:grid}.appnav{background:var(--surface);border-bottom:1px solid var(--border);gap:4px;padding:8px;display:flex}.appnav a{border-radius:var(--radius-sm);color:var(--text-muted);padding:6px 12px;text-decoration:none}.appnav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.login{max-width:380px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:var(--space-3);flex-direction:column;margin:12vh auto;display:flex}.app{flex-direction:column;height:100%;min-height:0;display:flex}.tbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tbar select{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);max-width:260px;min-height:40px;padding:6px 10px}.tbar .search{flex:200px;min-width:160px;max-width:420px;position:relative}.tbar .btn.primary{margin-left:auto}.seg{background:var(--surface-2);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.seg button{border-radius:var(--radius-sm);cursor:pointer;min-height:36px;color:var(--text-muted);background:0 0;border:0;padding:6px 12px}.seg button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.body{flex:1;min-height:0;display:flex}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.board{flex-direction:column;flex:1;min-height:0;display:flex}.col-switch{margin:var(--space-2) var(--space-4) 0;align-self:stretch;display:flex;overflow-x:auto}.col-switch button{white-space:nowrap;flex:1}.board-cols{gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-4) + var(--safe-bottom));flex:1;align-items:stretch;min-height:0;display:grid;overflow:hidden}.board-bar{margin:var(--space-2) var(--space-4) 0;align-items:center;gap:6px;display:flex}.board-bar .btn{flex:none;width:40px;padding:0;font-size:18px;line-height:1}.column-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:40px;color:var(--text-muted);cursor:pointer;white-space:nowrap;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:flex}.column-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:600}.column-chip:focus-visible,.board-bar .btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.column{background:var(--surface-2);border-radius:var(--radius);border:1px solid #0000;flex-direction:column;min-width:0;min-height:0;display:flex}.column.drop-target{border-color:var(--accent)}.column-head{padding:var(--space-3);justify-content:space-between;align-items:center;display:flex}.column-head h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:14px;font-weight:600}.column-body{align-content:start;gap:var(--space-2);min-height:0;padding:0 var(--space-2) var(--space-2);flex:1;display:grid;overflow-y:auto}.count{color:var(--text-muted);background:var(--surface);border-radius:999px;padding:1px 8px;font-size:12px}.drop-line{background:var(--accent);border-radius:2px;height:3px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);cursor:grab;box-shadow:var(--shadow);touch-action:manipulation;gap:6px;display:grid}.card.selected{outline:2px solid var(--accent);outline-offset:-1px}.card.dragging{opacity:.45}.card-top{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:12px;display:flex}.card-type{color:var(--text-muted);text-transform:capitalize}.card-title{all:unset;cursor:pointer;font-weight:600;line-height:1.3}.card-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.card-foot{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.move-select{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);max-width:130px;min-height:32px;padding:4px 6px;font-size:13px}.issue-key{color:var(--text-muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.link-btn{all:unset;cursor:pointer;text-decoration:underline}.empty{padding:var(--space-4);text-align:center}.small{font-size:13px}.block{display:block}.prio{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.prio .dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.prio-urgent .dot{background:var(--danger)}.prio-high .dot{background:var(--accent)}.prio-medium .dot{background:var(--text-muted)}.prio-low .dot{background:var(--ok)}.list-view{gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-4) + var(--safe-bottom));flex-direction:column;min-height:0;display:flex}.filters{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.field{color:var(--text-muted);gap:4px;font-size:13px;display:grid}.field select,.field input,.field textarea{color:var(--text)}.field select{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);min-height:40px;padding:6px 8px}.grow-field{flex:180px}.grow-field input{width:100%}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:10px var(--space-3);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;font-size:14px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}td.title-cell{white-space:normal;min-width:180px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}tbody tr.selected{background:var(--accent-soft)}.sort-btn{all:unset;cursor:pointer}.sort-btn:focus-visible{outline:2px solid var(--accent)}.panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:auto}.panel-expanded,.panel-large{flex:0 0 420px;width:420px}.panel-medium{flex:0 0 360px;width:360px}.panel-compact{width:100%;padding-bottom:var(--safe-bottom);border-left:0;flex:auto}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);z-index:1;display:flex;position:sticky;top:0}.panel-body{gap:var(--space-4);padding:var(--space-4);align-content:start;display:grid}.title-input{background:0 0;border-color:#0000;padding:4px 6px;font-size:18px;font-weight:600}.title-input:hover,.title-input:focus{border-color:var(--border);background:var(--surface)}.field-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.field-grid .field select{width:100%}.panel textarea.input{resize:vertical;min-height:96px}.meta{gap:6px var(--space-3);grid-template-columns:auto 1fr;margin:0;font-size:14px;display:grid}.meta dt{color:var(--text-muted)}.meta dd{margin:0}.comments h3{margin:0 0 var(--space-2);font-size:14px}.comment-list{margin:0 0 var(--space-3);gap:var(--space-3);padding:0;list-style:none;display:grid}.comment{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface-2)}.comment-body{white-space:pre-wrap;margin-top:4px}.comment-form{gap:var(--space-2);justify-items:start;display:grid}.comment-form textarea{width:100%}.danger-zone{border-top:1px solid var(--border);padding-top:var(--space-3)}.danger-zone .btn{color:var(--danger)}.overlay{z-index:60;padding:var(--space-4);background:color-mix(in srgb, var(--text) 35%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;max-height:100%;box-shadow:var(--shadow);padding:var(--space-5);display:grid;overflow:auto}.dialog h2{margin:0;font-size:18px}.dialog .error{color:var(--danger);font-size:13px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.search-pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;box-shadow:var(--shadow);margin-top:4px;padding:4px;display:grid;position:absolute;top:100%;left:0;right:0;overflow:auto}.search-hit{all:unset;box-sizing:border-box;align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;padding:8px 10px;display:flex}.search-hit:hover,.search-hit:focus-visible{background:var(--surface-2);outline:none}.search-status{padding:8px 10px;font-size:13px}.snippet{font-size:13px;display:block}.snippet b{color:var(--text);font-weight:700}.size-compact .tbar select,.size-compact .btn,.size-compact .seg button,.size-compact .move-select,.size-compact .column-chip,.size-compact .board-bar .btn{min-height:44px}.size-compact .board-cols{padding-left:var(--space-3);padding-right:var(--space-3)}.size-compact .tbar .btn.primary{margin-left:0}.size-compact .tbar,.size-compact .panel-body,.size-compact .list-view,.size-compact .panel-head{padding-left:16px;padding-right:16px}.size-compact .search-hit{min-height:44px}.size-compact .search{max-width:none}.size-compact .table-wrap{border-left:0;border-right:0;border-radius:0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
