*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0f1115;color:#e8eaed}header{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #23262d}header h1{font-size:18px;margin:0}header input{flex:1}input,select,textarea{width:100%;padding:9px 10px;border-radius:8px;border:1px solid #2c3039;background:#181b21;color:inherit;font:inherit}.btn{padding:9px 14px;border-radius:8px;border:1px solid #2c3039;background:#1e222a;color:inherit;cursor:pointer;font:inherit}.btn.primary{background:#c8a24a;border-color:#c8a24a;color:#111;font-weight:600}.btn.danger{background:#3a1d1d;border-color:#5a2a2a;color:#ff9a9a}#board{display:flex;gap:12px;padding:16px;overflow-x:auto;align-items:flex-start;height:calc(100vh - 62px)}.col{min-width:250px;width:250px;background:#14171c;border-radius:10px;padding:10px;max-height:100%;display:flex;flex-direction:column}.col.over{outline:2px dashed #c8a24a}.col h2{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#9aa0ab;margin:0 0 10px;display:flex;justify-content:space-between}.cards{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:40px}.card{background:#1e222a;border:1px solid #2c3039;border-radius:8px;padding:10px;cursor:grab;display:flex;flex-direction:column;gap:4px;font-size:14px}.card a{color:#7fb4ff;text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card a:hover{text-decoration:underline}dialog{background:#181b21;color:inherit;border:1px solid #2c3039;border-radius:12px;width:min(440px,92vw);padding:20px}dialog::backdrop{background:#0009}dialog h3{margin-top:0}label{display:block;font-size:13px;color:#9aa0ab;margin-bottom:12px}label input,label select,label textarea{margin-top:4px;color:#e8eaed}.actions{display:flex;gap:8px}.actions span{flex:1}.login{min-height:100vh;display:grid;place-items:center}.login form{display:flex;flex-direction:column;gap:12px;width:min(340px,90vw)}.err{color:#ff9a9a;min-height:1em;margin:0;font-size:13px}header{flex-wrap:wrap}header input#search{min-width:180px}header select{width:auto}.me{color:#9aa0ab;font-size:13px}.card .owner{color:#9aa0ab}.empty{padding:24px;color:#9aa0ab}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-top:12px}.hint{font-size:13px;color:#9aa0ab;margin:4px 0 8px}.stage-row{display:flex;gap:6px;margin-bottom:6px}.btn.sm{padding:6px 10px}.btn:disabled{opacity:.35;cursor:default}dialog.wide{width:min(900px,95vw)}.table-wrap{max-height:55vh;overflow:auto;margin:12px 0}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid #23262d;vertical-align:top}th{color:#9aa0ab;position:sticky;top:0;background:#181b21}td select{width:auto;padding:4px 6px}td input[type=checkbox]{width:auto}.card a.ig{background:#2a2130;border:1px solid #4a3559;color:#e3b8ff;padding:5px 8px;border-radius:6px;font-weight:600;text-align:center}.card a.ig:hover{background:#3a2c44;text-decoration:none}.card .meta{display:flex;justify-content:space-between;margin-top:2px}.since{color:#9aa0ab}.since.warn{color:#e8b84a}.since.late{color:#ff8a8a;font-weight:600}.badge{background:#e5484d;color:#fff;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.rbadge{color:#9aa0ab}.rbadge.due{color:#ff8a8a;font-weight:700}.rem{border-top:1px solid #23262d;padding-top:8px;margin-bottom:12px}.rem-new{display:flex;flex-direction:column;gap:6px;margin-top:8px}.rem-row{display:flex;gap:6px;align-items:center;padding:7px 8px;border:1px solid #2c3039;border-radius:8px;margin-bottom:6px}.rem-row>div{flex:1;display:flex;flex-direction:column;font-size:13px}.rem-row small{color:#9aa0ab}.rem-row.due{border-color:#7a2f2f;background:#2a1a1a}.rem-row.done{opacity:.5}.rem-row.done span{text-decoration:line-through}.tpl-row,.tpl-new{display:grid;grid-template-columns:1fr 2fr auto;gap:6px;margin-bottom:6px;align-items:start}.tpl-new{grid-template-columns:1fr 2fr auto;margin-top:12px}.ext{color:#9aa0ab;font-size:13px;text-decoration:none}.row3b{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}tr.dim td{opacity:.5}code{background:#23262d;padding:1px 5px;border-radius:4px}
