:root{--violet:#6d4aff;--ink:#201f2b;--muted:#6d6a7c;--bg:#f7f6fb;--card:#fff;--ok:#16794b;--bad:#b3261e;--line:#e7e4ef}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Manrope,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:34px 22px 60px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand h1{margin:0;font-size:30px}.brand p{margin:5px 0 0;color:var(--muted)}
.badge{background:#ece8ff;color:var(--violet);padding:7px 11px;border-radius:999px;font-weight:700;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 28px rgba(35,25,70,.05);margin-bottom:20px}
.drop{border:2px dashed #cfc8ee;border-radius:16px;padding:34px;text-align:center;background:#fbfaff}.drop input{max-width:100%}.btn{appearance:none;border:0;border-radius:11px;background:var(--violet);color:#fff;font-weight:800;padding:12px 18px;cursor:pointer}.btn.secondary{background:#eeeafd;color:var(--violet)}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.metric{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.metric b{display:block;font-size:25px}.metric span{font-size:13px;color:var(--muted)}
.alert{border-radius:12px;padding:13px 15px;margin:14px 0}.alert.ok{background:#eaf7f0;color:var(--ok)}.alert.bad{background:#fdecea;color:var(--bad)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}.oktxt{color:var(--ok);font-weight:700}.badtxt{color:var(--bad);font-weight:700}.small{font-size:12px;color:var(--muted)}
.login{max-width:430px;margin:90px auto}.login input[type=password]{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;margin:12px 0 16px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.footer{color:var(--muted);font-size:12px;margin-top:25px}.progress{height:9px;background:#ece9f4;border-radius:20px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:var(--violet);width:100%}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.top{align-items:flex-start;gap:15px}.card{padding:17px}}
