:root{--navy:#102a41;--navy2:#214b6c;--blue:#2575af;--ink:#233649;--muted:#708296;--line:#dfE7ef;--bg:#f3f6fa;--white:#fff;--green:#168457;--greenbg:#d9f8e5;--red:#bc303e;--redbg:#ffe0e5;--orange:#ed9f52;--shadow:0 10px 30px rgba(17,49,74,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{transition:.15s}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h2{font-size:18px}h3{font-size:15px}input:focus,select:focus{outline:2px solid #92c2e1;outline-offset:1px}.muted{color:var(--muted)}.tiny{font-size:12px}.center{text-align:center}.accent{color:#efa764}.btn{border:1px solid transparent;border-radius:11px;padding:11px 16px;font-weight:750;background:#edf3fa;color:#294660;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:6px}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy2)}.btn.outline{border-color:#d2dfe9;background:#fff}.btn.outline:hover{background:#eff6fb}.btn.white{background:#fff;color:#194062}.btn.ghost{background:transparent;color:inherit}.btn.small{font-size:12px;padding:7px 10px}.btn.danger{color:var(--red);background:#fff1f3;border-color:#f7c7cf}.input,form input,form select{border:1px solid #cfdce7;background:#fff;color:var(--ink);border-radius:10px;padding:11px 12px;width:100%;min-width:0}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:white;padding:29px 15px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:2px 12px 24px}.brand-symbol{width:42px;height:42px;border:1px solid #6a90aa61;display:grid;place-items:center;border-radius:12px;font-size:25px;background:#ffffff13}.brand strong{font-size:21px;letter-spacing:-.5px}.brand small{display:block;color:#9fb7cb;font-size:9px;letter-spacing:1px;line-height:1}.nav-label{font-size:10px;font-weight:750;color:#7ea6c6;letter-spacing:1px;margin:7px 14px 8px}.side-nav{display:grid;gap:4px;margin-bottom:24px}.side-nav a{display:flex;align-items:center;gap:13px;border-radius:10px;padding:11px 14px;color:#c3d4e1}.side-nav a span{width:23px;text-align:center;font-size:21px;line-height:1}.side-nav a:hover,.side-nav a.active{background:#ffffff19;color:#fff}.nav-bottom{margin-top:auto;border-top:1px solid #ffffff24;padding:21px 9px 0;display:flex;align-items:center;gap:8px;font-size:12px;color:#aec5d5;flex-wrap:wrap}.dot-online{width:8px;height:8px;background:#59d49a;border-radius:50%}.logout-btn{border:0;background:transparent;color:#f6c9c9;margin-right:auto}.content{min-width:0;padding:30px min(3.1vw,48px) 64px;max-width:1650px;width:100%;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:12px}.header h1{font-size:26px;margin:1px 0 0;letter-spacing:-.7px}.eyebrow{font-size:10px;color:#8da1b4;font-weight:800;letter-spacing:1.3px}.header-right{display:flex;align-items:center;gap:10px}.event-pill{border:1px solid #e0e7ed;background:white;color:#506982;border-radius:50px;padding:9px 17px;font-size:12px}.hero{background:linear-gradient(120deg,#122e49,#2b5b7c);border-radius:17px;padding:25px 29px;color:white;display:flex;align-items:center;justify-content:space-between;gap:14px}.hero .eyebrow{color:#9fc8e1}.hero h2{font-size:23px;margin:7px 0 3px}.hero p{margin:0;color:#c0d7e8}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:19px 0 29px}.kpi,.panel,.hall-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.kpi{padding:20px}.kpi .num{font-size:30px;line-height:1.35;font-weight:850;letter-spacing:-1px;margin:5px 0}.kpi .meta{font-size:11px;color:#8aa0b1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 13px}.section-title h2{margin:0}.hall-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:21px}.hall-card{padding:17px}.hall-card .hall-top{display:flex;align-items:center;justify-content:space-between;font-weight:780}.hall-card .count{font-size:29px;font-weight:850;margin:15px 0 0}.hall-card .track{height:8px;border-radius:15px;background:#edf1f4;overflow:hidden;margin:14px 0 9px}.hall-card .track>div{height:100%;background:#6aafcf;border-radius:15px}.hall-card .hall-link{font-size:11px;color:#236ba0;font-weight:800}.hall-card small{color:var(--muted)}.two-cols{display:grid;grid-template-columns:1.3fr .8fr;gap:17px}.panel{padding:22px;min-width:0}.panel h2{margin-bottom:12px}.panel p{line-height:1.8}.recent{display:grid}.recent-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.recent-item:last-child{border:0}.recent-item strong{display:block}.recent-item small{color:var(--muted);font-size:11px}.result-pill{display:inline-block;padding:4px 9px;border-radius:30px;font-weight:750;font-size:11px}.result-pill.ok{background:#e5f8ec;color:#157b46}.result-pill.no{background:#ffecee;color:#b53542}.result-pill.dupe{background:#fff4e0;color:#95611d}.button-stack{display:grid;gap:9px;margin-top:17px}.toolbar-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.toolbar-panel h2{margin:0 0 4px}.toolbar-panel p{margin:0}.toolbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.table-tools{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.table-tools input{width:min(400px,100%)}.scroll-table{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:right}th{background:#f6f9fb;color:#688095;font-size:11px;white-space:nowrap}td,th{padding:12px 13px;border-bottom:1px solid #e8edf2}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfd}td small{display:block;font-size:11px;color:var(--muted)}.yes{color:var(--green);font-weight:850}.no{color:#b1bcc6}.action-row{display:flex;gap:5px;flex-wrap:wrap}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.formgrid.single{grid-template-columns:1fr}.formgrid label{display:grid;gap:5px;color:#536982;font-size:12px;font-weight:750}.formgrid .separator{grid-column:1/-1;border-top:1px solid var(--line);margin:3px 0}.span-all{grid-column:1/-1}.note{background:#f4f8fc;border:1px solid #dce8f3;color:#4c6579;font-size:12px;padding:13px 16px;border-radius:10px;line-height:1.8;margin-top:14px}.note.warning{background:#fff6e8;border-color:#ecd5ae;color:#7a5b28}.auth-wrap{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:25px;background:radial-gradient(circle at 15% 5%,#e2f2fd,#f3f6fa 45%)}.auth-card{width:min(420px,100%);padding:38px;background:white;border:1px solid #e1eaf2;border-radius:21px;box-shadow:0 20px 65px #122c4a15}.auth-card.wide{width:min(655px,100%)}.login-mark{margin:auto;background:var(--navy);color:white;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:30px}.brand-name{text-align:center;color:var(--navy);font-size:28px;font-weight:900;margin-top:12px}.brand-name span{color:#e99a4c}.auth-card .formgrid{margin-top:27px}.auth-card .note{margin-top:18px}.error-text{color:var(--red);font-size:12px;grid-column:1/-1;min-height:12px}.station-shell{max-width:760px;margin:auto;display:grid;gap:16px}.station-intro{background:linear-gradient(110deg,#113047,#20587d);color:#fff;border-radius:16px;padding:23px;display:flex;justify-content:space-between;gap:10px}.station-intro h2{font-size:26px;margin:6px 0}.station-intro p{color:#bad3e5;margin:0}.live-pill{background:#ffffff20;border-radius:25px;height:fit-content;padding:6px 11px;font-size:11px;white-space:nowrap}.scan-area{background:#fff;border:1px solid var(--line);padding:16px;border-radius:15px}.reader{background:#ecf3f8;border:2px dashed #9bbdd5;min-height:218px;border-radius:13px;overflow:hidden}.reader-placeholder{height:215px;display:grid;align-content:center;justify-content:center;gap:10px;color:#61839c;font-size:75px;text-align:center}.reader-placeholder span{font-size:12px}.scan-controls{display:flex;gap:10px;margin:13px 0 6px}.scan-controls .btn{flex:1}.scan-result{text-align:center;border:2px solid #cfdce6;border-radius:18px;padding:23px 16px;min-height:183px;display:grid;align-content:center;gap:5px;transition:.15s}.scan-result h2{font-size:25px;margin:0}.scan-result p{margin:0}.scan-result .result-ico{font-size:53px;font-weight:900;line-height:1.2}.scan-result.waiting{background:#eff5fa;color:#476b85}.scan-result.ok{background:var(--greenbg);border-color:#56b781;color:#0d7547}.scan-result.no{background:var(--redbg);border-color:#d97c87;color:#9b2235}.scan-result .details{font-size:14px}.manual-row{display:flex;gap:9px;margin-bottom:10px}.manual-row input{flex:1}.lookup-results{margin-top:7px;display:grid;gap:5px}.lookup-btn{width:100%;text-align:right;border:1px solid var(--line);background:#fafcff;padding:10px 12px;border-radius:10px}.lookup-btn:hover{background:#ecf5fb}.station-swap{display:flex;gap:13px;align-items:center;justify-content:space-between}.station-swap select{max-width:230px}.mobile-only{display:none}.mobile-drawer{display:none}.modal-backdrop{position:fixed;inset:0;background:#08213bbb;z-index:200;display:flex;align-items:center;justify-content:center;padding:15px}.modal-backdrop[hidden]{display:none}.modal{width:min(550px,100%);background:#fff;border-radius:18px;padding:25px;max-height:95vh;overflow:auto;box-shadow:0 25px 65px #071c2e50}.modal h2{margin-bottom:5px}.checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.checkboxes label{display:flex;align-items:center;gap:8px;background:#f3f7fb;border:1px solid var(--line);padding:12px;border-radius:9px;font-size:12px}.checkboxes input{width:auto;accent-color:#276994}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.toast{position:fixed;z-index:500;bottom:20px;left:22px;padding:13px 18px;border-radius:12px;background:#14354e;color:#fff;box-shadow:0 14px 30px #0002;max-width:370px}.toast[hidden]{display:none}.badge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.badge-choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;border-radius:11px;cursor:pointer}.badge-choice input{width:18px;height:18px}.badge-choice small{color:var(--muted);display:block}.print-sheets{display:none}.badge{height:115mm;width:90mm;background:white;border:1px dashed #93a9ba;color:#18314b;overflow:hidden;position:relative;break-inside:avoid;page-break-inside:avoid;direction:rtl;display:flex;flex-direction:column}.badge-header{height:29mm;background:var(--navy);color:#fff;border-bottom:4mm solid var(--orange);text-align:center;display:grid;align-content:center;gap:0;padding:3mm}.badge-header h3{font-size:14pt;margin:0;line-height:1.3}.badge-header small{font-size:8pt;color:#c6deed}.badge-content{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:3mm;flex:1;padding:4mm}.badge-content h2{font-size:18pt;line-height:1.3;margin:0;overflow-wrap:anywhere}.badge-content .co{font-size:10pt;color:#526d83}.badge-content .cat{display:inline-block;background:#e7f1f7;padding:1mm 6mm;border-radius:50px;font-size:9pt;font-weight:800}.badge-content svg{width:22mm;height:22mm}.badge-content .ref{font-size:8pt;color:#8192a2}.badge-content .rooms{font-size:7pt;color:#587188;line-height:1.3}.badge-sheet{display:grid;grid-template-columns:90mm 90mm;grid-template-rows:115mm 115mm;column-gap:8mm;row-gap:8mm;direction:rtl;justify-content:start;align-content:start;break-after:page;page-break-after:always}.badge-sheet:last-child{break-after:auto;page-break-after:auto}
@media(max-width:1120px){.hall-cards,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:25px 20px 60px}.two-cols{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.content{padding:18px 12px 45px}.header h1{font-size:22px}.header{align-items:flex-start}.header-right{flex-direction:column;align-items:flex-end}.event-pill{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-only{display:inline-flex}.mobile-drawer{display:none;position:fixed;inset:0;background:#102a41;color:#fff;z-index:300;padding:25px;overflow:auto}.mobile-drawer.open{display:grid;align-content:start;gap:12px}.mobile-drawer a{padding:14px;border:1px solid #ffffff33;border-radius:11px}.drawer-title{font-size:21px;font-weight:800}.hall-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{gap:9px}.kpi{padding:14px}.kpi .num{font-size:25px}.hero{padding:19px;flex-direction:column;align-items:flex-start}.toolbar-panel{align-items:stretch;flex-direction:column}.toolbar-actions{justify-content:flex-start}.badge-list{grid-template-columns:1fr}.station-intro h2{font-size:23px}.station-shell{gap:12px}.station-intro{padding:18px}.panel{padding:16px}.manual-row .btn{padding:11px}.station-swap{align-items:stretch;flex-direction:column}.station-swap select{max-width:none}.scan-result h2{font-size:22px}.formgrid{grid-template-columns:1fr}}
@page{size:A4 portrait;margin:8mm}
@media print{body{margin:0;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shell,.auth-wrap,.sidebar,.content,.modal-backdrop,.toast,.mobile-drawer{display:none!important}.print-sheets{display:block!important}.badge-sheet{page-break-after:always}.badge-sheet:last-child{page-break-after:auto}.badge-header{background:#102a41!important;color:#fff!important;border-bottom:4mm solid #ed9f52!important}}

.station-counter{background:#e6f3ff;border:1px solid #bfdcf2;border-radius:11px;padding:10px 15px;display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap}.station-counter strong{color:#174a73;font-size:19px}
