:root{--bg:#f7f8fa;--card:#fff;--text:#1f2937;--muted:#6b7280;--brand:#0a66c2;--ok:#16a34a;--warn:#f59e0b;--bad:#dc2626}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Arial}
a{color:var(--brand);text-decoration:none}
.topbar{display:flex;gap:1rem;align-items:center;padding:.8rem 1rem;background:#fff;border-bottom:1px solid #e5e7eb}
.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:#111827;color:#e5e7eb;padding:1rem}
.sidebar a{display:block;color:#e5e7eb;padding:.5rem .7rem;border-radius:8px;margin:.2rem 0}
.sidebar a.active,.sidebar a:hover{background:#1f2937}
.content{padding:1.2rem}
.grid{display:grid;gap:1rem}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:12px;padding:1rem}
.kb{display:grid;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr))}
.kcol{background:#f3f4f6;border:1px dashed #e5e7eb;border-radius:12px;padding:.8rem;min-height:60vh}
.khead{font-size:.8rem;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.kcard{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.6rem;margin-bottom:.6rem;cursor:grab}
.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem}
.s-new{background:#e0f2fe;color:#0369a1}.s-qualified{background:#e0f7f1;color:#0f766e}
.s-booked{background:#fef3c7;color:#92400e}.s-completed{background:#dcfce7;color:#166534}
.s-retained{background:#ede9fe;color:#5b21b6}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:.6rem .5rem;text-align:left}
.btn{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:.5rem .8rem;cursor:pointer}
.input{border:1px solid #e5e7eb;border-radius:8px;padding:.45rem .6rem;width:100%}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
