:root{--bg: #f4f5f7;--col-bg: #ebecf0;--card-bg: #ffffff;--text: #172b4d;--muted: #6b778c;--border: #dfe1e6;--high: #de350b;--medium: #ff991f;--low: #36b37e}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Malgun Gothic,sans-serif;background:var(--bg);color:var(--text)}.app{padding:24px;max-width:1440px;margin:0 auto}.app-header h1{margin:0 0 4px;font-size:22px}.hint{color:var(--muted);font-size:13px;margin:4px 0 16px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.state-message{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:14px;margin:0;padding:16px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.state-message p{margin:0 0 12px}.state-message button{background:var(--text);border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-size:13px;padding:8px 12px}.mutation-alert{align-items:center;background:#fff7e6;border:1px solid #ffab00;border-radius:8px;color:var(--text);display:flex;font-size:13px;gap:12px;justify-content:space-between;margin:0 0 16px;padding:12px 16px}.mutation-alert button{background:transparent;border:1px solid rgba(128,128,128,.155);color:var(--text);cursor:pointer;font:inherit;font-weight:600;padding:5px 8px;border-radius:6px;background:#fff9f9f0}.board-toolbar{display:flex;justify-content:flex-end;margin:0 0 16px}.board-toolbar button{background:var(--text);border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 12px}.dialog-backdrop{align-items:center;background:#091e426b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:10}.task-dialog{background:var(--card-bg);border-radius:8px;box-shadow:0 12px 32px #091e4238;max-width:520px;padding:16px;width:min(100%,520px)}.dialog-header{align-items:center;display:flex;justify-content:space-between;margin:0 0 12px}.dialog-header h2{font-size:16px;margin:0}.dialog-close{align-items:center;background:#f4f5f7;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font:inherit;font-size:18px;height:30px;justify-content:center;line-height:1;width:30px}.task-form{display:flex;flex-direction:column;gap:10px;margin:0}.task-form-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 160px}.task-form label{display:flex;flex-direction:column;gap:4px}.task-form span{color:var(--muted);font-size:12px;font-weight:600}.task-form input,.task-form select,.task-form textarea{border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;font-size:14px;padding:8px 10px;width:100%}.task-form textarea{resize:vertical}.task-form-actions{display:flex;gap:8px}.task-form-actions button{background:var(--text);border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 12px}.task-form-actions button[type=button]{background:#fff;border:1px solid var(--border);color:var(--text)}.task-form-actions button:disabled{cursor:not-allowed;opacity:.55}.column{background:var(--col-bg);border-radius:8px;padding:12px;min-height:200px}.column-title{font-size:14px;font-weight:600;margin:4px 4px 12px;display:flex;align-items:center;gap:8px}.column-title .count{color:var(--muted);font-weight:400;font-size:12px}.column-body{max-height:75vh;overflow-y:auto}.virtual-list{position:relative;width:100%}.virtual-row{left:0;padding-bottom:8px;position:absolute;top:0;width:100%}.card{background:var(--card-bg);border-radius:6px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--border);cursor:grab;box-shadow:0 1px #091e4214}.card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.card-actions{display:flex;flex-shrink:0;gap:4px}.card-actions button{background:#f4f5f7;border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:3px 6px}.card.priority-high{border-left-color:var(--high)}.card.priority-medium{border-left-color:var(--medium)}.card.priority-low{border-left-color:var(--low)}.card-title{font-size:14px;margin-bottom:8px;line-height:1.35}.card-description{color:var(--muted);font-size:12px;line-height:1.4;margin:0 0 8px}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.badge-high{background:var(--high)}.badge-medium{background:var(--medium)}.badge-low{background:var(--low)}
