:root{--navy:#082b52;--teal:#0bc5b7;--ink:#10273b;--muted:#607184;--line:#dce7ec;--paper:#f4f8fa;--danger:#a32e35;--shadow:0 20px 60px rgba(8,43,82,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 100% 0,#d9fbf6 0,transparent 34rem),var(--paper)}button,input,select{font:inherit}.portal-loading,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-loading img{width:210px}.portal-loading p{color:var(--muted)}.auth-card{width:min(100%,460px);padding:36px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.auth-card img{width:190px;height:66px;object-fit:contain;object-position:left}.auth-card h1{margin:28px 0 8px;font-size:30px;letter-spacing:-.04em}.auth-card>p{color:var(--muted);line-height:1.6}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select{width:100%;padding:13px 14px;border:1px solid #bccdd5;border-radius:12px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(11,197,183,.22);border-color:var(--teal)}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:750;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#0d3c6b}button.secondary{background:#eaf1f4;color:var(--navy)}button:disabled{opacity:.55;cursor:wait}.link{border:0;background:none;color:var(--navy);padding:0;min-height:0;text-decoration:underline;font-weight:650}.error,.notice{margin:16px 0 0;padding:13px 15px;border-radius:12px;background:#fff1f1;color:var(--danger);font-size:14px}.notice{background:#e8f8f5;color:#17665f}.qr{display:block;width:210px;height:210px;margin:18px auto;border:1px solid var(--line);border-radius:14px}.portal-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}.topbar img{width:170px;height:50px;object-fit:contain}.top-actions{display:flex;align-items:center;gap:12px}.top-actions span{font-size:13px;color:var(--muted)}.portal-main{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:42px 0 70px}.welcome{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px}.eyebrow{color:#0b897f;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.welcome h1{margin:7px 0;font-size:clamp(32px,5vw,54px);letter-spacing:-.055em}.welcome p{margin:0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.metric,.panel{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(8,43,82,.05)}.metric{padding:20px}.metric small{display:block;color:var(--muted)}.metric strong{display:block;margin-top:9px;color:var(--navy);font-size:32px}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.panel{overflow:hidden}.panel header{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.panel h2{margin:0;font-size:17px}.rows{display:grid}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-bottom:1px solid #edf2f4}.row:last-child{border:0}.row strong{display:block}.row small{display:block;margin-top:5px;color:var(--muted)}.badge{padding:6px 9px;border-radius:999px;background:#e7f8f5;color:#17665f;font-size:11px;font-weight:800}.empty{padding:30px 22px;color:var(--muted)}@media(max-width:800px){.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.top-actions span{display:none}}@media(max-width:480px){.auth-card{padding:25px;border-radius:20px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:25px}.portal-main{width:min(100% - 22px,1240px);padding-top:25px}}
