:root{--primary:#4f46e5;--primary-700:#4338ca;--secondary:#64748b;--success:#10b981;--danger:#ef4444;--bg:#0f172a;--panel:#ffffff;--muted:#94a3b8;--line:#e2e8f0;--ring:rgba(79,70,229,.35);--shadow:0 10px 30px -10px rgba(2,6,23,.35)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:radial-gradient(1200px 800px at 10% -10%,#6d28d9 0%,transparent 60%),radial-gradient(1000px 700px at 110% 10%,#4f46e5 0%,transparent 55%),var(--bg);min-height:100vh}
.container{max-width:1200px;margin:0 auto;padding:28px}
.header{background:var(--panel);border-radius:18px;padding:20px 24px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:var(--shadow)}
.header h1{color:var(--primary);font-size:1.6rem}
.card{background:var(--panel);border-radius:18px;box-shadow:var(--shadow);padding:22px}
.search{background:var(--panel);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:18px}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table thead th{font-size:.9rem;color:#334155;text-transform:uppercase;letter-spacing:.03em;padding:0 12px 6px}
.table tbody tr{background:#fff;box-shadow:0 1px 0 0 var(--line) inset}
.table tbody td{padding:12px;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}
.table tbody tr:hover{box-shadow:0 0 0 2px rgba(15,23,42,.06) inset;background:#f8fafc}
.btn{border:0;border-radius:9999px;padding:10px 16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s transform,.2s box-shadow}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-700)}
.btn-secondary{background:#475569;color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:7px 12px;font-size:.9rem}
label{display:block;margin:6px 0 6px 2px;color:#0b1220;font-weight:700}
input,textarea,select{width:100%;background:#f8fafc;border:2px solid #edf2f7;border-radius:12px;padding:12px 14px;font-size:0.98rem;outline:0;transition:border .2s, box-shadow .2s, background .2s}
input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);background:#fff}
.modal{display:none;position:fixed;inset:0;background:rgba(2,6,23,.65);backdrop-filter:blur(4px);z-index:60;justify-content:center;align-items:flex-start;padding:24px;overflow:auto}
.modal.active{display:flex}
.modal .content{background:linear-gradient(180deg,#f4f6fb 0%,#eef2f7 100%);border-radius:18px;width:100%;max-width:900px;padding:24px 26px;margin-top:4vh;box-shadow:0 40px 90px -20px rgba(2,6,23,.55);border:1px solid #e5e9f2}
.footer{background:var(--panel);border-radius:14px;padding:12px;margin:18px auto 0;text-align:center;color:var(--muted);box-shadow:var(--shadow)}
.pw{letter-spacing:2px;color:var(--muted);background:#f1f5f9;border-radius:10px;padding:6px 10px;display:inline-block}
.actions{display:flex;gap:8px;flex-wrap:wrap}
