.public-dashboard{max-width:1440px;margin:auto;padding:28px 36px;min-height:100vh;color:#18243c;background:#f6f8fc;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.public-topbar,.public-brand,.public-top-actions{display:flex;align-items:center;gap:14px}.public-topbar{justify-content:space-between;margin-bottom:28px}.public-brand-icon{width:48px;height:48px;border-radius:15px;background:#2563eb;color:white;display:grid;place-items:center;font-size:23px;box-shadow:0 6px 16px #2563eb26}.public-brand strong{display:block;font-size:18px;line-height:1.3}.public-brand span:not(.public-brand-icon){display:block;font-size:10px;letter-spacing:1.6px;color:#64748b;margin-top:5px}.public-date{font-size:12px;color:#64748b;white-space:nowrap}
.public-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:24px;padding:32px 40px;background:radial-gradient(ellipse at 95% 0%,#6366f1,transparent 60%),linear-gradient(115deg,#172554,#1d4ed8);color:white;position:relative;overflow:hidden;margin-bottom:24px}.public-eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#64748b}.public-hero .public-eyebrow{color:#bfdbfe}.public-hero h1{font-size:36px;line-height:1.2;font-weight:750;letter-spacing:-1px;margin:12px 0}.public-hero p{font-size:14px;line-height:1.8;color:#dbeafe}.public-hero-symbol{border:1px solid #ffffff38;border-radius:24px;background:#ffffff0d;padding:26px 38px;text-align:center;transform:rotate(5deg);margin-right:24px}.public-hero-symbol i{font-size:78px}.public-hero-symbol span{display:block;margin-top:14px;font-size:9px;letter-spacing:2px}
.public-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.public-card{background:#fff;border:1px solid #e6ebf3;border-radius:20px;box-shadow:0 4px 24px #1e293b04;padding:24px;min-width:0}.public-stat{display:flex;align-items:center;gap:20px;position:relative}.public-stat-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:25px;flex-shrink:0}.public-green{background:#ecfdf5;color:#059669}.public-blue{background:#eff6ff;color:#2563eb}.public-stat h2{font-size:13px;color:#64748b;font-weight:500}.public-total{font-size:42px;font-weight:750;line-height:1.3;letter-spacing:-1px;font-variant-numeric:tabular-nums}.public-stat div>span{font-size:11px;color:#94a3b8}.public-stat-tag{margin-left:auto;align-self:flex-start;color:#94a3b8;font-size:9px;letter-spacing:1px;background:#f8fafc;border:1px solid #e6ebf3;border-radius:6px;padding:5px 8px}
.public-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.public-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-section-heading h2{font-size:21px;font-weight:700;margin-top:5px;letter-spacing:-.4px}.public-round-icon{color:#64748b;background:#f8fafc;border:1px solid #e6ebf3;border-radius:12px;padding:10px}.public-help{font-size:12px;color:#64748b;margin:12px 0 18px;line-height:1.6}.public-camera-frame{position:relative;background:radial-gradient(circle,#1e3a5f,#0f172a);border-radius:16px;overflow:hidden;aspect-ratio:16/10}.public-camera video{display:block;width:100%;height:100%;object-fit:cover}.public-camera-guide{position:absolute;inset:18% 27%;border:2px solid #ffffff80;border-radius:16px;pointer-events:none;box-shadow:0 0 0 999px #0f172a22}.public-camera-controls{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.public-button{display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:white;border:1px solid transparent;padding:10px 16px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;min-height:40px}.public-button:hover{background:#1d4ed8}.public-button-light{background:#fff;color:#475569;border-color:#e2e8f0}.public-button-light:hover{background:#f1f5f9}.public-button:disabled{opacity:.45;cursor:not-allowed}.public-button:focus-visible,.public-dashboard a:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.public-scan-status{font-size:12px;line-height:1.7;background:#eff6ff;color:#1e40af;border:1px solid #dbeafe;border-radius:10px;padding:12px 14px;margin-top:14px;overflow-wrap:anywhere}.public-login-notice{display:flex;gap:10px;font-size:12px;color:#92400e;background:#fffbeb;padding:12px;border-radius:10px;margin-top:12px;line-height:1.6}.public-login-notice a{text-decoration:underline;font-weight:600}.public-usb{margin-top:18px;padding-top:16px;border-top:1px solid #f1f5f9}.public-usb label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.public-usb>div{display:flex;gap:8px}.public-usb input{min-width:0;width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:12px;background:#f8fafc}.public-usb input:focus{outline:2px solid #93c5fd}.public-footnote{font-size:11px;color:#94a3b8;line-height:1.6;margin-top:12px}
.public-table-scroll{overflow:auto;max-height:580px}.public-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.public-table th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;background:#f8fafc;color:#94a3b8;padding:13px 12px;font-weight:600;position:sticky;top:0}.public-table td{padding:17px 12px;border-bottom:1px solid #f1f5f9}.public-table td:first-child{font-weight:600}.public-table td:nth-child(2){font-variant-numeric:tabular-nums;color:#64748b;white-space:nowrap}.public-table td[colspan]{text-align:center;padding:70px 15px;color:#94a3b8;font-weight:400}.public-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:7px;padding:5px 10px}.public-in{color:#047857;background:#ecfdf5}.public-out{color:#1d4ed8;background:#eff6ff}.public-update{font-size:11px;color:#64748b;margin-top:18px;line-height:1.6}.public-error{color:#b91c1c}.public-footer{display:flex;justify-content:space-between;gap:12px;padding:24px 2px 0;color:#94a3b8;font-size:11px}
@media(min-width:1600px){.public-hero h1{font-size:42px}.public-table{font-size:15px}}
@media(max-width:900px){.public-dashboard{padding:20px}.public-topbar{align-items:flex-start}.public-top-actions{flex-direction:column;align-items:flex-end;gap:8px}.public-workspace{grid-template-columns:1fr}.public-hero{padding:28px}.public-hero-symbol{margin-right:0;padding:24px}.public-hero h1{font-size:30px}}
@media(max-width:540px){.public-dashboard{padding:16px}.public-brand strong{font-size:14px}.public-brand-icon{width:38px;height:38px;font-size:18px;flex-shrink:0}.public-brand span:not(.public-brand-icon){font-size:8px;letter-spacing:1px}.public-topbar{flex-wrap:wrap;gap:16px}.public-top-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.public-hero{padding:24px;border-radius:18px}.public-hero h1{font-size:28px}.public-hero-symbol{display:none}.public-cards{gap:12px}.public-stat{padding:16px;display:block}.public-stat-icon{width:36px;height:36px;font-size:17px;border-radius:10px;margin-bottom:12px}.public-stat-tag{display:none}.public-stat h2{font-size:11px}.public-total{font-size:34px}.public-card{padding:18px}.public-footer{flex-direction:column}.public-table td,.public-table th{padding:12px 8px}.public-table{font-size:12px}}

/* Keep scanning within easy reach on laptop screens. */
.public-dashboard{padding-top:16px;padding-bottom:16px}
.public-topbar{margin-bottom:16px}
.public-cards{gap:16px;margin-bottom:16px}
.public-stat{padding:12px 18px;gap:14px}
.public-stat-icon{width:44px;height:44px;border-radius:12px;font-size:20px}
.public-stat h2{margin:0 0 2px}
.public-total{font-size:30px;line-height:1.1;margin:0;display:inline-block;vertical-align:baseline}
.public-stat div>span{margin-left:8px}
.public-workspace{gap:20px}
.public-camera,.public-activity{padding:18px}
.public-section-heading h2{margin-bottom:0}
.public-help{margin:8px 0 12px}
.public-camera-frame{height:clamp(180px,32vh,280px);aspect-ratio:auto}
.public-camera-guide{inset:auto;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%)}
.public-camera-controls{margin-top:10px}
.public-scan-status{margin:10px 0 0;padding:8px 12px}
.public-usb{margin-top:12px;padding-top:10px}
.public-footnote{margin:8px 0 0}
.public-table-scroll{max-height:clamp(220px,52vh,580px)}
.public-footer{padding-top:14px}
@media(max-width:540px){
    .public-stat{padding:12px;display:flex;gap:8px}
    .public-stat-icon{display:none}
    .public-stat div>span{display:block;margin:4px 0 0}
    .public-stat h2{font-size:11px}
    .public-camera-frame{height:200px}
}
