:root { --scan-font-size: 1.35rem; }
body { background:#f4f6f9; }
.app-container { max-width: 1500px; }
.card { border:0; box-shadow:0 .15rem .55rem rgba(0,0,0,.07); }
.scan-input { font-size:var(--scan-font-size); min-height:58px; font-weight:600; letter-spacing:.03em; }
.scan-label { font-size:.85rem; text-transform:uppercase; color:#6c757d; font-weight:700; letter-spacing:.05em; }
.department-btn { min-height:72px; font-size:1.15rem; font-weight:700; }
.current-dept-banner { border-radius:1rem; padding:1rem 1.25rem; }
.status-number { font-size:2rem; font-weight:800; line-height:1; }
.loading-overlay { position:fixed; inset:0; background:rgba(255,255,255,.72); z-index:20000; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(1px); }
.loading-box { background:#fff; padding:1.25rem 1.75rem; border-radius:1rem; box-shadow:0 .5rem 2rem rgba(0,0,0,.18); }
.table td,.table th { vertical-align:middle; }
.result-panel { min-height:74px; }
.qr-label { width:2.05cm; min-height:2.2cm; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; break-inside:avoid; page-break-inside:avoid; padding:.08cm; }
.qr-code { width:1.5cm; height:1.5cm; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.qr-code img,.qr-code canvas { width:1.5cm !important; height:1.5cm !important; image-rendering:pixelated; }
.qr-text { font-size:8pt; line-height:1.1; margin-top:.05cm; font-weight:700; }
.qr-sheet { display:grid; grid-template-columns:repeat(8,2.05cm); gap:.18cm .33cm; justify-content:center; }
@media (max-width:767.98px){ .app-container{padding-left:.75rem;padding-right:.75rem}.department-btn{min-height:62px}.navbar-brand{font-size:1rem}.scan-input{font-size:1.15rem} }
@media print {
  @page { size:A4 portrait; margin:0.7cm; }
  body { background:white !important; }
  .no-print,.navbar { display:none !important; }
  .app-container { max-width:none !important; padding:0 !important; margin:0 !important; }
  .card { box-shadow:none !important; }
  .qr-sheet { grid-template-columns:repeat(8,2.05cm); gap:.18cm .33cm; }
}
