@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&display=swap');
body { font-family: 'Inter', sans-serif; background-color: #0f172a; color: white; margin: 0; padding: 0; overflow: hidden; }
.force-hidden { display: none !important; }
.obs-overlay { background: transparent !important; }
.glass-panel { background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(8px); }
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #1e293b; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #475569; border-radius: 4px; }

/* GRID BANNER */
#grid-view { width: 100vw; height: 100vh; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 4px; padding: 4px; box-sizing: border-box; }
.grid-cell { background: linear-gradient(180deg, #020617 0%, #0f172a 100%); border: 2px solid rgba(255,255,255,0.15); border-radius: 6px; display: flex; flex-direction: column; justify-content: flex-start; padding: 8px 12px; position: relative; overflow: hidden; }
.afc-border { border-top: 10px solid #ef4444; }
.nfc-border { border-top: 10px solid #3b82f6; }
.div-label { font-size: 22px; font-weight: 900; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; margin-top: 4px; line-height: 1; }
.user-label { font-size: 75px; font-weight: 800; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 4px 4px 0px rgba(0,0,0,1); line-height: 1.1; width: 100%; }
.hit-badge { position: absolute; top: 0; right: 0; background: #22c55e; color: black; font-size: 16px; font-weight: 900; padding: 2px 12px; border-bottom-left-radius: 8px; box-shadow: -2px 2px 4px rgba(0,0,0,0.5); z-index: 10; }

/* ADMIN VIEW */
#admin-view { padding: 20px; max-width: 1800px; margin: 0 auto; height: 100vh; overflow-y: auto; }
#scanner-modal { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.9); backdrop-filter: blur(4px); }
.hidden-modal { display: none !important; }
