@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;800;900&display=swap');
:root{--navy:#081f3d;--navy2:#0d2f5c;--blue:#1663c7;--blue2:#2e86e0;--steel:#5a7186;--bg:#eef2f7;--ok:#0a8a4a;--red:#c0392b;--gold:#c8d3de;--accent:#1663c7}
*{box-sizing:border-box;margin:0}
body{font-family:'Inter','Segoe UI',Arial,sans-serif;background:var(--bg);color:#17293d}
a{color:var(--blue)}
.topbar{background:#fff;padding:10px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 14px rgba(8,31,61,.10);position:sticky;top:0;z-index:100}
.brandwrap{display:flex;align-items:center;gap:14px}
.brandwrap img{height:54px}
.brandtxt{font-size:15px;font-weight:800;color:var(--navy);letter-spacing:.4px;border-left:2px solid #dbe4ee;padding-left:14px;line-height:1.25}
.brandtxt small{display:block;font-weight:500;font-size:10.5px;color:var(--steel);letter-spacing:1.6px;text-transform:uppercase}
.topbar .nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.topbar .nav a{color:var(--navy);margin-left:14px;text-decoration:none;font-size:13.5px;font-weight:600}
.topbar .nav a:hover{color:var(--blue)}
.topbar .nav .hello{font-size:12.5px;color:var(--steel);margin-left:14px}
.wrap{max-width:1150px;margin:0 auto;padding:26px 16px}
.card{background:#fff;border-radius:14px;box-shadow:0 4px 22px rgba(8,31,61,.07);padding:26px;border:1px solid #e8eef5}
.authbox{max-width:430px;margin:48px auto}
.authlogo{text-align:center;margin-bottom:18px}
.authlogo img{height:64px}
h1{font-size:22px;color:var(--navy);margin-bottom:6px;font-weight:800;letter-spacing:-.3px}
h2{font-size:17px;color:var(--navy);font-weight:800}
.sub{color:var(--steel);font-size:13.5px;margin-bottom:18px}
label{display:block;font-size:12.5px;font-weight:600;color:#33475b;margin:12px 0 5px;letter-spacing:.2px}
input,select,textarea{width:100%;padding:11px 13px;border:1.5px solid #d5dfea;border-radius:9px;font-size:14px;background:#fff;font-family:inherit;transition:border .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}
.btn{display:inline-block;background:linear-gradient(120deg,var(--blue),var(--blue2));color:#fff;border:none;border-radius:9px;padding:12px 24px;font-size:14.5px;font-weight:800;cursor:pointer;margin-top:16px;width:100%;letter-spacing:.3px;box-shadow:0 4px 14px rgba(22,99,199,.35);transition:transform .12s,box-shadow .12s;font-family:inherit}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(22,99,199,.45)}
.btn2{background:var(--navy);width:auto;padding:9px 16px;font-size:13px;margin:0;box-shadow:none}
.btnr{background:var(--red)}
.msg{padding:11px 15px;border-radius:9px;font-size:14px;margin-bottom:12px}
.msg.err{background:#fdecea;color:var(--red);border:1px solid #f5c6c0}
.msg.ok{background:#e8f7ef;color:var(--ok);border:1px solid #bfe8d2}
.foot{text-align:center;color:#7b93a8;font-size:12px;padding:28px;line-height:1.7}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:10px 11px;border-bottom:1px solid #e8eef5;text-align:left;vertical-align:top}
th{background:#f4f8fc;color:#33475b;font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.badge{display:inline-block;padding:2.5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.3px}
.badge.exp{background:#fdecea;color:var(--red)}
.badge.ok{background:#e8f7ef;color:var(--ok)}
.badge.pend{background:#fff4e0;color:#a96a00}
.tagline{font-size:10.5px;color:var(--steel);letter-spacing:2.4px;text-transform:uppercase;text-align:center;margin-top:6px}