:root{--bg:#f4f6f8;--surface:#fff;--border:#d8dde3;--text:#1f2937;--muted:#6b7280;--accent:#2f5ec4;--accent-muted:#e8eefc;--danger:#b91c1c;--success:#15803d;--radius:4px;--gap:8px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.app-body{min-height:100vh}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-shell.collapsed{grid-template-columns:72px 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px 16px}.sidebar.collapsed{padding:24px 8px}.sidebar.collapsed .nav-item{text-align:center;padding:8px}.sidebar.collapsed .sidebar-title,.sidebar.collapsed .nav-label{display:none}.sidebar-title{margin-bottom:24px;font-weight:600}.nav-list{gap:8px;display:grid}.nav-item{border-radius:var(--radius);color:var(--text);border:1px solid #0000;padding:8px 16px}.nav-item.active,.nav-item:hover{border-color:var(--border);background:var(--accent-muted)}.header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.main{padding:24px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-title{margin-bottom:8px;font-weight:600}.text-muted{color:var(--muted)}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:8px 16px;font-weight:500}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.secondary{background:var(--accent-muted);border-color:var(--accent-muted);color:var(--accent)}.button.danger{color:var(--danger);background:#fee2e2;border-color:#fecaca}.button:disabled{opacity:.6;cursor:not-allowed}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:#fff;padding:8px 16px}.label{margin-bottom:8px;font-weight:500;display:block}.form-row{gap:16px;display:grid}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 16px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#f8fafc;font-size:12px;font-weight:600}.table tr:last-child td{border-bottom:none}.badge{border:1px solid var(--border);border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge.success{color:var(--success);background:#dcfce7;border-color:#bbf7d0}.badge.warning{color:#92400e;background:#fef9c3;border-color:#fde68a}.badge.danger{color:var(--danger);background:#fee2e2;border-color:#fecaca}.section-title{margin-bottom:16px;font-size:18px;font-weight:600}.section-subtitle{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.inline{align-items:center;gap:8px;display:flex}.stack{gap:16px;display:grid}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);background:#f8fafc;padding:16px}.board{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:16px;padding-bottom:8px;display:grid;overflow-x:auto}.board-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-rows:auto 1fr;min-height:320px;display:grid}.board-column.drop-allowed{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)inset}.board-column-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex}.board-column-body{gap:12px;padding:12px;display:grid}.board-card{border:1px solid var(--border);border-radius:var(--radius);cursor:grab;background:#fff;gap:8px;padding:12px;display:grid}.board-card.disabled{opacity:.6;cursor:not-allowed}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:10;border-right:none;border-bottom:1px solid var(--border);position:sticky;top:0}.grid-2,.grid-3{grid-template-columns:1fr}}
