:root{--bg:#f6f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--primary:#2563eb;--border:#e2e8f0;--radius:10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#0b1220;color:#fff;padding:16px}.brand{font-weight:700;font-size:18px;margin-bottom:16px}.nav a{display:block;color:#cbd5e1;text-decoration:none;padding:8px;border-radius:8px;margin-bottom:4px}.nav a.active,.nav a:hover{background:#111827;color:#fff}.header{background:#fff;border-bottom:1px solid var(--border);padding:14px 18px}.content{padding:20px}.section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:0 1px 2px #0000000a}.grid{display:grid;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.input,.select,.btn{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:#fff;font-size:14px}.btn{background:#fff;cursor:pointer}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.badge{font-size:12px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:#334155;background:#f8fafc}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:4px 8px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;font-size:12px}.list{display:grid;gap:8px}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:grid;place-items:center}.modal{background:#fff;border-radius:12px;border:1px solid var(--border);width:min(560px,94vw);padding:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.helper{font-size:12px;color:var(--muted)}.pagination{display:flex;gap:8px;align-items:center}.link{color:var(--primary);text-decoration:none}
