*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #00A99D;--brand-dark: #005F5A;--bg: #0a0a0a;--surface: #141414;--surface2: #1e1e1e;--border: #2a2a2a;--text: #f0f0f0;--text-muted: #888;--radius: 16px;--radius-sm: 8px;font-family:Inter,system-ui,sans-serif}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--text)}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}input{font:inherit;color:inherit}.kiosk-screen{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg)}.loading-screen{align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.idle-screen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.idle-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 60% 40%,#00A99D22 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,#005F5A33 0%,transparent 50%),linear-gradient(135deg,#0a0a0a,#0f1f1e)}.idle-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;padding:48px}.idle-logo{max-width:320px;max-height:120px;-o-object-fit:contain;object-fit:contain}.idle-event-name{font-size:3.5rem;font-weight:700;letter-spacing:-1px;background:linear-gradient(135deg,#fff 0%,var(--brand) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.idle-venue{font-size:1.4rem;color:var(--text-muted);font-weight:400}.idle-dates{font-size:1.1rem;color:var(--brand);font-weight:500}.idle-tap-prompt{display:flex;align-items:center;gap:16px;margin-top:32px}.tap-ring{width:20px;height:20px;border-radius:50%;border:2px solid var(--brand);animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}.tap-text{font-size:1.2rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.idle-footer{position:absolute;bottom:32px;font-size:.85rem;color:#444;letter-spacing:.1em;text-transform:uppercase}.kiosk-header{display:flex;align-items:center;gap:20px;padding:20px 32px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.back-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--surface2);color:var(--text);transition:background .15s}.back-btn:hover{background:var(--border)}.header-event-name{font-size:1.4rem;font-weight:600}.header-event-venue{font-size:.9rem;color:var(--text-muted);margin-top:2px}.menu-screen{background:var(--bg)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:40px 48px;flex:1}.menu-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);font-size:1.3rem;font-weight:600;color:var(--card-color, var(--brand));transition:transform .12s,background .12s;min-height:180px}.menu-card:active{transform:scale(.97);background:var(--surface2)}.search-bar-wrap{display:flex;align-items:center;gap:12px;margin:24px 32px 0;background:var(--surface);border:1px solid var(--border);border-radius:48px;padding:14px 24px;flex-shrink:0}.search-icon{color:var(--text-muted);flex-shrink:0}.search-bar{flex:1;background:none;border:none;outline:none;font-size:1.2rem;color:var(--text)}.search-bar::-moz-placeholder{color:var(--text-muted)}.search-bar::placeholder{color:var(--text-muted)}.search-clear{color:var(--text-muted);display:flex;align-items:center}.exhibitor-count{padding:12px 32px;font-size:.9rem;color:var(--text-muted);flex-shrink:0}.exhibitor-list{flex:1;overflow-y:auto;padding:0 32px 32px;display:flex;flex-direction:column;gap:12px}.exhibitor-card{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;text-align:left;transition:background .12s,border-color .12s}.exhibitor-card:active{background:var(--surface2);border-color:var(--brand)}.ex-hall-badge{background:var(--brand-dark);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}.ex-info{flex:1}.ex-name{font-size:1.1rem;font-weight:600}.ex-tagline{font-size:.9rem;color:var(--text-muted);margin-top:4px}.ex-booth{font-size:.85rem;color:var(--brand);margin-top:4px}.ex-arrow{font-size:1.8rem;color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);font-size:1.1rem;padding:48px}.detail-screen{overflow:hidden}.detail-body{flex:1;overflow-y:auto;padding:32px}.detail-logo{max-width:200px;max-height:80px;-o-object-fit:contain;object-fit:contain;margin-bottom:20px}.detail-name{font-size:2rem;font-weight:700;margin-bottom:8px}.detail-tagline{font-size:1.1rem;color:var(--text-muted);margin-bottom:24px}.detail-meta{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.meta-row{display:flex;align-items:center;gap:12px;font-size:1rem;color:var(--text-muted)}.meta-row svg{color:var(--brand);flex-shrink:0}.detail-description{font-size:1rem;line-height:1.7;color:var(--text-muted);margin-bottom:28px}.detail-products h3{font-size:1rem;font-weight:600;margin-bottom:12px}.product-tags{display:flex;flex-wrap:wrap;gap:8px}.product-tag{background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.85rem;color:var(--text-muted)}.detail-actions{padding:20px 32px;border-top:1px solid var(--border);flex-shrink:0}.btn-wayfind{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:18px;background:var(--brand);color:#fff;border-radius:var(--radius);font-size:1.2rem;font-weight:600;transition:background .15s}.btn-wayfind:active{background:var(--brand-dark)}.admin-login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.admin-login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:48px;width:400px;display:flex;flex-direction:column;gap:16px}.admin-login-card h1{font-size:1.8rem;font-weight:700}.admin-login-card p{color:var(--text-muted);margin-bottom:8px}.admin-login-card input{width:100%;padding:12px 16px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;outline:none;transition:border-color .15s}.admin-login-card input:focus{border-color:var(--brand)}.admin-error{color:#ff6b6b;font-size:.9rem;padding:10px 14px;background:#ff6b6b15;border-radius:var(--radius-sm)}.admin-login-card button[type=submit]{width:100%;padding:14px;background:var(--brand);color:#fff;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;transition:background .15s}.admin-login-card button[type=submit]:hover{background:var(--brand-dark)}.admin-login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.admin-layout{display:flex;height:100vh;overflow:hidden}.admin-sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 0;flex-shrink:0}.admin-brand{font-size:1.2rem;font-weight:700;padding:0 24px 24px;border-bottom:1px solid var(--border);color:var(--brand)}.admin-nav{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 12px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-muted);text-decoration:none;transition:background .12s,color .12s}.admin-nav-item:hover{background:var(--surface2);color:var(--text)}.admin-nav-item.active{background:var(--brand-dark);color:#fff}.admin-logout{display:flex;align-items:center;gap:10px;padding:12px 24px;font-size:.9rem;color:var(--text-muted);border-top:1px solid var(--border);transition:color .12s}.admin-logout:hover{color:var(--text)}.admin-main{flex:1;overflow-y:auto;background:var(--bg)}.admin-page{padding:40px;max-width:1200px}.admin-page h1{font-size:1.8rem;font-weight:700;margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center}.stat-num{font-size:3rem;font-weight:700;color:var(--brand)}.stat-label{font-size:1rem;color:var(--text-muted);margin-top:8px}
