:root{--blue:#1397F3;--cyan:#18C5EA;--ink:#0f2033;--ink2:#33475c;--muted:#7188a0;--ground:#eef3f8;--card:#ffffff;--line:#e0e8f1;--line2:#cddbe9;--good:#12a67a;--warn:#e6900c;--bad:#e5484d;--crit:#d61f42;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:radial-gradient(100% 55% at 100% 0,rgba(24,197,234,.1),transparent 60%),var(--ground);min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.lg-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.lg-card{width:min(380px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 28px;box-shadow:0 20px 60px #0f203314}.lg-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.lg-shield{width:38px;height:38px;border-radius:10px;display:block;object-fit:cover;box-shadow:0 4px 12px #1397f34d}.lg-brand b{font-weight:800;font-size:17px;display:block;line-height:1}.lg-brand span{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-weight:600}.lg-card label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin:12px 0 5px}.lg-card input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px}.lg-card input:focus{outline:none;border-color:var(--blue)}.lg-btn{width:100%;margin-top:20px;padding:12px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:700;font-size:14px}.lg-err{color:var(--bad);font-size:13px;font-weight:600;margin-top:12px}.hd{background:var(--card);border-bottom:1px solid var(--line);padding:14px 26px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:5}.hd .lg-shield{width:32px;height:32px;font-size:15px}.hd b{font-weight:800;font-size:16px}.hd .sub{font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.grow{flex:1}.logout{background:var(--card);border:1px solid var(--line);color:var(--ink2);border-radius:8px;padding:8px 14px;font-weight:600;font-size:13px}.wrap{max-width:1200px;margin:0 auto;padding:24px 26px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:22px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.kpi .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.kpi .v{font-size:28px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums}.kpi .v small{font-size:14px;color:var(--muted);font-weight:600}.kpi.accent .v{color:var(--blue)}.kpi.good .v{color:var(--good)}.kpi.warn .v{color:var(--warn)}.tb{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.tb input,.tb select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:var(--card)}.tb input{flex:1;min-width:180px}.tb input:focus,.tb select:focus{outline:none;border-color:var(--blue)}.btn{background:var(--card);border:1px solid var(--line2);color:var(--blue);border-radius:9px;padding:9px 14px;font-weight:600;font-size:13px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;border-color:transparent}.btn:hover{border-color:var(--blue)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;padding:11px 16px;border-bottom:1px solid var(--line)}.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--ground)}.key{font-weight:700;letter-spacing:.3px}.copy{background:none;border:0;color:var(--muted);font-size:12px;margin-left:6px}.copy:hover{color:var(--blue)}.sub2{font-size:11px;color:var(--muted);margin-top:2px}.pill{font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.pill.active{background:#12a67a1f;color:var(--good)}.pill.expired{background:#e6900c24;color:var(--warn)}.pill.revoked,.pill.suspended{background:#d51f421a;color:var(--crit)}.plan{font-size:11px;font-weight:700;color:var(--ink2);text-transform:capitalize}.acts{display:flex;gap:6px;flex-wrap:wrap}.act{background:var(--card);border:1px solid var(--line);color:var(--ink2);border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600}.act:hover{border-color:var(--blue);color:var(--blue)}.act.danger:hover{border-color:var(--bad);color:var(--bad)}.empty{padding:30px;text-align:center;color:var(--muted);font-weight:600}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f203366;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(440px,100%);background:var(--card);border-radius:16px;overflow:hidden}.modal h3{margin:0;padding:18px 22px;border-bottom:1px solid var(--line);font-size:15px;font-weight:800}.modal .bd{padding:20px 22px}.modal label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin:12px 0 5px}.modal input,.modal select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px}.modal .ft{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}.newkey{background:#1397f314;border:1px solid var(--line2);border-radius:10px;padding:14px;text-align:center;margin-top:6px}.newkey .k{font-size:18px;font-weight:800;letter-spacing:.5px;color:var(--blue)}.fleetbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line,#e6ecf3);border-radius:12px;padding:12px 16px;margin-bottom:16px}.fleetbar b{margin-right:4px}.fbtns{display:flex;gap:6px}.pill.ok{background:#ecfdf3;color:#12b76a}.pill.warn{background:#fffaeb;color:#b25b00}.pill.danger{background:#fef3f2;color:#d64545}
