:root{--bg-main: #120E0C;--bg-card: rgba(30, 24, 18, .9);--bg-card-solid: #1E1812;--bg-card-border: rgba(245, 233, 220, .2);--accent-cream: #F5E9DC;--accent-gold: #D4AF37;--accent-gold-hover: #E5B869;--accent-gold-glow: rgba(212, 175, 55, .3);--text-primary: #F5E9DC;--text-muted: #B8A89A;--input-bg: #16110D;--input-border: rgba(245, 233, 220, .25);--input-focus: #D4AF37;--error: #EF4444;--success: #10B981}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-main);background-image:radial-gradient(circle at 50% 0%,rgba(212,175,55,.15) 0%,transparent 65%),radial-gradient(circle at 100% 100%,rgba(168,120,50,.08) 0%,transparent 50%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;margin:0;padding:0;overflow-x:hidden}#root{width:100%;min-height:100vh}.portal-wrapper{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;padding:16px}.portal-container{width:100%;max-width:440px;margin:0 auto}.glass-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--bg-card-border);border-radius:24px;padding:28px 24px;box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.brand-title{font-family:Playfair Display,serif;font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,#FFF 30%,var(--accent-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;letter-spacing:1.5px}.brand-subtitle{font-size:.85rem;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:2px;margin-top:4px;margin-bottom:24px}.form-group{margin-bottom:18px}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-muted);margin-bottom:6px}.input-wrapper{position:relative}.form-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;padding:14px 16px 14px 44px;color:var(--text-primary);font-size:.95rem;transition:all .25s ease}.form-input:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--accent-gold-glow)}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--accent-gold);opacity:.8}.checkbox-group{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;cursor:pointer}.checkbox-custom{width:18px;height:18px;border-radius:5px;border:1px solid var(--accent-gold);background:var(--input-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .2s ease}.checkbox-group input[type=checkbox]{display:none}.checkbox-group input[type=checkbox]:checked+.checkbox-custom{background:var(--accent-gold);color:#120e0c}.checkbox-label{font-size:.82rem;color:var(--text-muted);line-height:1.4}.checkbox-link{color:var(--accent-gold);text-decoration:underline;cursor:pointer}.btn-primary{width:100%;background:linear-gradient(135deg,var(--accent-gold) 0%,#B88E28 100%);color:#120e0c;font-weight:600;font-size:1rem;padding:15px;border:none;border-radius:14px;cursor:pointer;box-shadow:0 8px 20px var(--accent-gold-glow);transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 25px #d4af3766}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{width:100%;background:#d4af371a;border:1px solid rgba(212,175,55,.3);color:var(--accent-gold);font-weight:500;font-size:.95rem;padding:14px;border-radius:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.btn-secondary:hover{background:#d4af3733}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;animation:fadeIn .3s ease}.otp-box{display:flex;justify-content:center;gap:8px;margin:20px 0}.otp-input{width:48px;height:54px;text-align:center;font-size:1.5rem;font-weight:700;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--accent-gold)}.otp-input:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-glow)}.shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wifi-badge{display:inline-flex;align-items:center;gap:6px;background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:20px;margin-bottom:16px}.admin-layout{display:flex;min-height:100vh;width:100%;background:#120d0a;color:#f5efeb;box-sizing:border-box;margin:0;padding:0;position:relative;overflow-x:hidden}.admin-mobile-header{display:none}.admin-sidebar{width:260px;background:#1a130f;border-right:1px solid rgba(184,142,40,.2);display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0;transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:100}.admin-main{flex:1;padding:32px 36px;overflow-y:auto;min-width:0;max-width:100%}.admin-sidebar-overlay{display:none}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}@media (max-width: 768px){.admin-mobile-header{display:flex;position:fixed;top:0;left:0;right:0;height:60px;background:#1a130f;border-bottom:1px solid rgba(184,142,40,.25);padding:0 16px;align-items:center;justify-content:space-between;z-index:99;box-shadow:0 4px 20px #0006}.admin-sidebar{position:fixed;top:0;bottom:0;left:0;width:280px;max-width:82vw;height:100vh;transform:translate(-100%);box-shadow:12px 0 35px #0009;z-index:102}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:101}.admin-main{padding:76px 14px 28px;width:100%}.admin-kpi-grid{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.admin-title-row{flex-direction:column;align-items:flex-start!important;gap:14px!important}.admin-header-title{font-size:1.4rem!important}}
