:root{--navy:#101f3e;--blue:#2357e8;--ink:#16233d;--muted:#718096;--line:#e5eaf2;--bg:#f4f6fb;--white:#fff;--green:#168360}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:650;cursor:pointer;line-height:1.5;text-decoration:none}button:hover,.button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #8faaff;outline-offset:3px}.secondary{background:#edf2ff;color:#244caa}.white{background:white;color:#183b8a}.danger{background:#ba3348}.small{padding:5px 12px;font-size:12px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dce2ee;border-radius:9px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #c8d6ff;border-color:var(--blue)}textarea{resize:vertical;min-height:95px}label{display:block;font-size:13px;font-weight:600;margin:13px 0}label input,label select,label textarea{display:block;margin-top:6px;font-weight:400}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0;accent-color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin-bottom:0}h2{font-size:19px;letter-spacing:-.4px;line-height:1.4;margin-bottom:8px}h3{font-size:16px;margin:20px 0 10px}p{color:var(--muted)}small,.small-text{font-size:12px;color:var(--muted)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:#8896b0;margin-bottom:10px}.brand-mark{width:48px;height:48px;background:#2f61ef;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:850;font-size:23px;letter-spacing:-1.5px;flex-shrink:0}.brand-mark span{color:#96c3ff}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);padding:30px 20px;color:#fff;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;color:white;padding:0 10px}.brand strong{letter-spacing:1.4px;font-size:13px}.brand small{display:block;color:#8e9fbe;font-size:11px}.nav-label{font-size:9px;letter-spacing:2px;color:#6d80a6;margin:40px 14px 12px}nav a{display:flex;align-items:center;gap:13px;padding:11px 15px;margin-bottom:3px;color:#a9b8d4;border-radius:9px;font-size:13px;font-weight:500}nav a span{font-size:17px;width:18px;text-align:center}nav a.active{background:#2d5be7;color:white;box-shadow:0 7px 16px #07173735}nav a:hover{background:#263b63;color:white}.sidebar-foot{margin-top:auto;padding:25px 12px 0;color:#8d9db9;font-size:11px}.online-dot{display:inline-block;width:6px;height:6px;background:#5fcea2;border-radius:100%;margin-right:7px}.logout{color:#a9b8d4;background:transparent;padding:14px 0;font-size:12px}.workspace{margin-left:250px}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#7e8aa0;font-size:12px}.topbar>div{display:flex;align-items:center;gap:15px}.avatar{width:34px;height:34px;background:#dfe7fc;border-radius:100%;display:grid;place-items:center;color:#2f56bb;font-size:11px;font-weight:800}main{max-width:1550px;margin:auto;padding:30px 38px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.date-chip{background:white;border:1px solid var(--line);border-radius:10px;padding:9px 15px;font-weight:600;font-size:12px}.date-chip span{color:#a2adc0;margin-left:8px;font-size:10px}.hero{background:linear-gradient(115deg,#193771,#214cc1 70%,#2b60ea);border-radius:18px;min-height:240px;padding:31px 38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;color:white;margin-bottom:24px;position:relative}.hero h2{font-size:31px;line-height:1.16;letter-spacing:-.8px;margin:13px 0 10px}.hero p{color:#b5c9f6;font-size:12px;margin-bottom:20px}.hero .button{padding:9px 15px;font-size:11px}.pill{font-size:8px;letter-spacing:1.3px;background:#ffffff15;color:#d6e1ff;border:1px solid #ffffff25;border-radius:20px;padding:5px 10px}.hero-graphic{position:relative;width:270px;height:205px;margin-right:35px}.hero-ring{position:absolute;inset:-50px -30px;border:1px solid #ffffff1f;border-radius:100%;box-shadow:0 0 0 35px #ffffff05,0 0 0 70px #ffffff04}.mini-card{position:absolute;top:5px;left:50px;transform:rotate(12deg);width:150px;height:195px;background:linear-gradient(130deg,#fdfefe,#c1d6ff);border:2px solid #ffffff66;border-radius:15px;box-shadow:0 20px 30px #091e6940;color:#234795;padding:18px;display:flex;flex-direction:column}.mini-card span{font-size:29px;font-weight:900;letter-spacing:-2px}.mini-card b{font-size:24px;margin-top:20px;letter-spacing:-1px}.mini-card small{font-size:7px;color:#5f7fac;letter-spacing:.8px}.mini-card i{margin-top:auto;font-style:normal;font-size:28px}.tap-tag{position:absolute;bottom:3px;left:13px;background:#fff;box-shadow:0 8px 25px #10296033;padding:10px 17px;border-radius:10px;color:#2554be;font-size:11px;font-weight:650}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);padding:20px 23px;border-radius:13px}.stat>span{display:block;color:#78859b;font-size:12px}.stat strong{display:block;font-size:34px;font-weight:700;letter-spacing:-1.5px;line-height:1.5}.stat:nth-child(3) strong{color:var(--green)}.stat:nth-child(4) strong{color:#d38c1d}.stat small{font-size:10px}.panel{background:white;border:1px solid var(--line);padding:26px;border-radius:14px;margin-bottom:23px;min-width:0}.panel p{font-size:12px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.panel-heading h2{font-size:16px;margin-bottom:4px}.panel-heading p{margin:0;font-size:11px}.panel-heading a{font-size:11px;font-weight:650}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.guide{position:relative}.guide .step{float:right;color:#c3cce0;font-size:36px;line-height:1.2;font-weight:250}.guide h3{margin:0 0 8px;font-size:15px}.guide p{margin-bottom:12px}.guide a{font-size:11px;font-weight:650}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:9px;color:#8490a6;letter-spacing:.7px;text-transform:uppercase;padding:11px 12px;background:#f8faff;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:650}td{padding:13px 12px;border-bottom:1px solid #f0f2f7;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td small{display:block;font-size:10px;color:#9ba6b9}td strong{font-weight:600}td form{margin:0}.badge{display:inline-block;white-space:nowrap;padding:4px 8px;border-radius:6px;font-size:10px;line-height:1.6;font-weight:600}.good{background:#e5f5ee;color:#217b5c}.bad{background:#fbe7eb;color:#ab3652}.warn{background:#fff2d9;color:#a47720}.muted{background:#eef2f8;color:#71809c}.topbar .badge{font-size:8px;letter-spacing:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.inline{display:flex;align-items:center;gap:8px}.inline input,.inline select{min-width:70px}.inline button{flex-shrink:0}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px}.notice{font-size:12px;background:#eef3ff;color:#4162a3;border:1px solid #dee8ff;padding:13px 16px;border-radius:9px;margin:15px 0}.error{background:#fff0f0;border-color:#f7d4d4;color:#ac3541}.success{background:#ebf8f0;border-color:#c9e8d6;color:#207447}.empty{text-align:center;padding:30px;color:#8d9cb1;font-size:12px}.empty[hidden]{display:none}.narrow{max-width:730px}dl{font-size:12px}dt{font-weight:700;color:#65758d;margin-top:18px}dd{margin:3px 0 15px;overflow-wrap:anywhere}code{font-size:11px;color:#566b93}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:480px;background:#f5f7fc;padding:12px;font-size:11px}details summary{cursor:pointer;color:var(--blue)}footer{display:flex;justify-content:space-between;margin-top:10px;padding-bottom:8px;font-size:9px;color:#a4aec1;letter-spacing:.8px}.pagination{display:flex;justify-content:center;gap:24px;margin-top:20px;font-size:12px}.print-title,.print-foot{display:none}.menu-toggle{display:none}.login{min-height:100vh;background:white;display:grid;grid-template-columns:1.1fr 1fr}.login-story{position:relative;padding:65px 12%;overflow:hidden;background:linear-gradient(145deg,#0c1f42,#244db1);color:white;display:flex;flex-direction:column;min-height:100vh}.login-story .brand-mark{background:#ffffff18;border:1px solid #ffffff30;margin-bottom:60px}.login-story h1{font-size:55px;letter-spacing:-2px;line-height:1.1}.login-story .eyebrow{color:#99b6eb;font-size:9px}.login-story p:not(.eyebrow){color:#aac1e9;margin-top:25px;font-size:13px}.login-story>small{margin-top:auto;font-size:9px;color:#8ca9d9;letter-spacing:1.1px}.login-panel{padding:65px;width:100%;max-width:490px;align-self:center;margin:auto}.login-panel h2{font-size:26px}.login-panel>p{font-size:12px}.login-panel form{margin:32px 0}.login-panel button{width:100%;margin-top:15px}.login-panel>small{font-size:10px}.rfid-art{position:relative;height:250px;margin:20px 0}.ring{position:absolute;border:1px solid #ffffff18;width:200px;height:200px;border-radius:100%;left:50%;transform:translateX(-50%)}.r2{width:300px;height:300px;top:-50px}.rfid-card{position:absolute;left:50%;top:25px;transform:translateX(-50%) rotate(-15deg);background:linear-gradient(130deg,#eaf3ff,#aac5fa);border:1px solid white;border-radius:14px;padding:22px;width:220px;height:145px;display:flex;flex-direction:column;box-shadow:0 30px 50px #0d245e99;color:#204786}.rfid-card b{font-size:38px;letter-spacing:-3px;line-height:1.7}.rfid-card small,.rfid-card span{font-size:7px;letter-spacing:1px;color:#466aab}.setup{background:linear-gradient(140deg,#101f3e,#2452c4);min-height:100vh;padding:40px 15px}.setup-card{max-width:760px;background:#fff;border-radius:20px;padding:45px;margin:auto}.setup-card .brand-mark{margin-bottom:25px}.setup-card h1{font-size:35px;margin-bottom:15px}.setup-card h3{border-bottom:1px solid var(--line);padding-bottom:10px}.setup-card button{width:100%;margin:18px 0}.setup-card>small{display:block;text-align:center}.report-note{margin-top:8px}
@media(min-width:1600px){.hero{min-height:280px}.hero h2{font-size:39px}}@media(max-width:1150px){.sidebar{width:215px;padding:25px 12px}.workspace{margin-left:215px}.topbar{padding:0 25px}main{padding:25px}.hero-graphic{margin-right:0}.panel{padding:20px}.stats-grid{gap:12px}.stat{padding:17px}.panel-heading{align-items:flex-start}.panel-heading .inline{max-width:230px}.filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:250px}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.menu-toggle{display:inline-flex;padding:6px 10px}.topbar{gap:15px;height:65px}.topbar>span{margin-right:auto;font-size:10px}.topbar .badge{display:none}.hero{padding:27px}.hero-graphic{width:220px}.grid-two{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-story{display:none}.login-panel{padding:35px}.stats-grid{gap:10px}}@media(max-width:540px){main{padding:23px 15px}.topbar{padding:0 15px}.topbar>span{max-width:230px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:27px}.eyebrow{font-size:8px;letter-spacing:1.2px}.date-chip{font-size:10px;padding:7px 10px}.date-chip span{display:none}.hero{padding:24px;min-height:235px}.hero h2{font-size:29px}.hero-graphic{width:110px;opacity:.55;position:absolute;right:-10px;top:55px}.mini-card{width:115px;height:156px;left:20px}.mini-card b{font-size:19px}.mini-card span{font-size:22px}.mini-card small{font-size:5px}.hero>div:first-child{position:relative;z-index:2}.hero p{max-width:210px;font-size:11px}.tap-tag{display:none}.pill{font-size:6px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:29px}.stat>span{font-size:11px}.panel{padding:18px;border-radius:12px}.panel-heading{flex-wrap:wrap;gap:12px}.panel-heading .inline{max-width:none;width:100%}.form-grid,.filter-grid{grid-template-columns:1fr}.form-grid label{margin:8px 0}.filter-grid{gap:0}td{padding:10px;font-size:11px}th{padding:10px}.inline{flex-wrap:wrap}.inline input{flex:1;min-width:130px}.inline select{flex:1}label{font-size:12px}.setup{padding:12px}.setup-card{padding:25px 20px}.setup-card h1{font-size:30px}.login-panel{padding:30px}.login-panel h2{font-size:23px}.actions button{font-size:12px}.date-chip{white-space:nowrap}footer{font-size:8px}.pagination{gap:14px}}
@page{size:A4 landscape;margin:12mm}@media print{body{background:#fff;color:#000;font-size:10px}.sidebar,.topbar,.page-heading,.no-print,footer,.notice,.menu-toggle{display:none!important}.workspace{margin:0}main{padding:0;max-width:none}.panel.report{border:0;padding:0;margin:0}.print-title,.print-foot{display:block;text-align:center}.print-title>p:first-child{display:none}.print-title h2{font-size:18px}.print-title h3{font-size:14px;margin:10px 0 5px}.print-title p{font-size:11px}.report .panel-heading{display:none}.report-note{font-size:9px!important}.table-wrap{overflow:visible}table{width:100%;font-size:9px;table-layout:auto}thead{display:table-header-group}tr{break-inside:avoid}th,td{border:1px solid #cbd1da;padding:5px;font-size:9px}.badge{background:transparent!important;color:black!important;padding:0;font-size:9px}td small{font-size:8px;color:#333}.print-foot{font-size:8px;margin-top:15px}}
