:root{--accent: #0f766e;--accent-2: #115e59;--ink: #0f172a;--muted: #64748b;--bg: #f8fafc;--border: #e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.app{max-width:1280px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;gap:16px;margin-bottom:20px}.topbar h1{font-size:1.5rem;margin:0}.muted{color:var(--muted)}.btn{display:inline-block;border:1px solid var(--border);background:#fff;color:var(--ink);padding:8px 14px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:#f1f5f9}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-2)}.btn.ghost{background:transparent}.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 14px;border-radius:8px;margin-bottom:16px}.filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filters input,.filters select,.field input,.field select,.field textarea{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem}.filters input{min-width:240px}.bulkbar{display:flex;align-items:center;gap:8px;background:#ecfdf5;border:1px solid #a7f3d0;padding:10px 14px;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.table-wrap{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;background:#f8fafc}tbody tr:hover{background:#f8fafc}.row-off{opacity:.5}.name{font-weight:600;cursor:pointer;color:var(--accent)}.sub{color:var(--muted);font-size:.78rem;font-weight:400}.actions{white-space:nowrap}.actions button{margin-right:4px}a{color:var(--accent)}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:14px;padding:24px;width:min(560px,92vw);max-height:90vh;overflow:auto}.modal.wide{width:min(760px,95vw)}.modal h2{margin-top:0}.field{margin-bottom:14px}.field label{display:block;font-weight:600;margin-bottom:6px;font-size:.85rem}.field input,.field select,.field textarea{width:100%}.field textarea{font-family:inherit;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks{display:flex;flex-direction:column;gap:6px}.checks label{display:flex;gap:8px;font-weight:400}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.drawer-backdrop{justify-content:flex-end}.drawer{background:#fff;width:min(620px,94vw);height:100%;padding:28px;overflow:auto;position:relative}.drawer .close{position:absolute;top:16px;right:16px;border:none;background:#f1f5f9;width:32px;height:32px;border-radius:8px;cursor:pointer}.drawer h2{margin-top:0}.kv{display:flex;flex-direction:column;gap:8px;margin:16px 0}.kv div{display:flex;gap:12px}.kv b{min-width:130px}.kv input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:8px}section{margin-top:20px}section h3{font-size:1rem;border-bottom:1px solid var(--border);padding-bottom:8px}.scores-grid{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.scores-grid span{background:#f1f5f9;padding:4px 10px;border-radius:999px;font-size:.8rem}.email-row{display:flex;align-items:center;gap:12px;padding:6px 0}.email-row span:first-child{flex:1}
