@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg: #05050a;--panel-bg: rgba(10, 10, 20, .85);--glass: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--primary: #6366f1;--primary-glow: rgba(99, 102, 241, .4);--green: #10b981;--amber: #f59e0b;--red: #ef4444;--text: #f9fafb;--text-dim: #9ca3af;--text-faint: #4b5563;--sidebar-w: 360px;--panel-w: 420px}*{margin:0;padding:0;box-sizing:border-box;font-family:Plus Jakarta Sans,sans-serif;-webkit-user-select:none;user-select:none}body{background:var(--bg);color:var(--text);overflow:hidden;height:100vh}.app-layout{display:flex;flex-direction:column;height:100vh}.topbar{height:72px;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100}.topbar-logo{cursor:pointer;display:flex;align-items:center;gap:4px;font-size:20px;font-weight:800}.mobile-toggle{display:none;background:var(--glass);border:1px solid var(--glass-border);color:#fff;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.mobile-toggle:hover{background:var(--glass-border);transform:scale(1.05)}@media (max-width: 1024px){.mobile-toggle{display:flex}}.logo-icon{color:var(--primary)}.main-content{flex:1;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;transition:all .3s ease;z-index:50}.sidebar-search{padding:20px}.sidebar-search input{width:100%;background:var(--glass);border:1px solid var(--glass-border);padding:12px 16px;border-radius:12px;color:#fff;transition:all .2s}.sidebar-search input:focus{outline:none;border-color:var(--primary);background:#ffffff14}.sidebar-list{flex:1;overflow-y:auto;padding:0 12px 20px}.est-item{display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;cursor:pointer;transition:all .2s;border:1px solid transparent}.est-item:hover{background:var(--glass)}.est-item.active{background:#6366f11a;border-color:#6366f14d}.item-emoji{font-size:24px}.item-info{flex:1;min-width:0}.item-name{font-weight:600;margin-bottom:4px}.item-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dim)}.item-occupancy{display:flex;align-items:center;gap:8px;font-weight:700;width:40%}.occ-bar{flex:1;height:4px;background:var(--glass);border-radius:2px;overflow:hidden}.occ-fill{height:100%;border-radius:2px;transition:width .5s ease}.map-wrapper{flex:1;height:100%;position:relative}.google-map{width:100%;height:100%}.map-controls-group{position:absolute;right:24px;bottom:32px;z-index:1000;display:flex;flex-direction:column;gap:12px}.btn-map-action{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 32px #0006;color:#fff}.btn-map-action:hover{transform:scale(1.1) translateY(-4px);box-shadow:0 12px 40px #0009}.btn-discovery{background:var(--green)}.btn-location{background:var(--primary)}.custom-marker{position:absolute;transform:translate(-50%,-50%);cursor:pointer}.marker-main{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.marker-pulse{position:absolute;width:60px;height:60px;border-radius:20px;animation:marker-pulse 2s infinite}@keyframes marker-pulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.4);opacity:0}}.marker-badge{position:absolute;top:-8px;right:-8px;background:var(--bg);border:2px solid;font-size:10px;font-weight:800;width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center}.panel{position:absolute;top:20px;right:20px;bottom:20px;width:var(--panel-w);background:var(--panel-bg);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;animation:panel-in .4s cubic-bezier(.16,1,.3,1);z-index:200}.admin-panel{position:fixed!important;z-index:2000!important}@keyframes panel-in{0%{transform:translate(50px);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{padding:32px 32px 24px;position:relative}.panel-close{position:absolute;top:20px;right:20px;background:var(--glass);border:1px solid var(--glass-border);width:36px;height:36px;border-radius:18px;color:#fff;cursor:pointer}.panel-emoji{font-size:48px;margin-bottom:16px}.panel-title{font-size:28px;font-weight:800;margin-bottom:4px}.panel-address{color:var(--text-dim);font-size:13px}.panel-body{flex:1;overflow-y:auto;padding:0 32px 32px}.stat-box{background:var(--glass);border:1px solid var(--glass-border);padding:16px;border-radius:16px;flex:1}.stat-box label{font-size:11px;color:var(--text-dim);font-weight:600;text-transform:uppercase;margin-bottom:4px;display:block}.stat-box p{font-size:20px;font-weight:700}.stats-group{display:flex;gap:12px;margin-top:24px}.crowd-meter{margin-top:32px}.crowd-meter-label{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:12px}.crowd-track{height:12px;background:var(--glass);border-radius:6px;overflow:hidden}.crowd-progress{height:100%;border-radius:6px;transition:width 1s cubic-bezier(.34,1.56,.64,1)}.divider{height:1px;background:var(--glass-border);margin:32px 0}.btn{padding:12px 20px;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;border:none;font-size:14px}.btn:active{transform:scale(.95)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.btn-primary:hover{background:#5558e6;box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-1px)}.btn-danger{background:#ef44441a;color:var(--red);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:#ef444433}.btn-success{background:var(--green);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-success:hover{background:#0ea171;box-shadow:0 6px 20px #10b98166}.btn-admin{background:var(--glass);color:var(--text);border:1px solid var(--glass-border)}.btn-admin:hover{background:var(--glass-border)}.btn-admin.active{background:var(--primary);border-color:var(--primary)}.btn-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-dim);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--glass-border);color:var(--text);transform:translateY(-2px)}.btn-icon.text-red:hover{color:var(--red);background:#ef44441a;border-color:var(--red)}.btn-icon.text-green:hover{color:var(--green);background:#10b9811a;border-color:var(--green)}.logout-btn:hover{color:var(--red)!important;opacity:.8}.logout-btn:active{transform:scale(.9)}.my-queue-badge{background:#6366f126;border:1px solid rgba(99,102,241,.3);padding:20px;border-radius:20px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.my-queue-badge .position{font-size:32px;font-weight:800;color:var(--primary)}.my-queue-badge .label{font-size:11px;text-transform:uppercase;color:var(--primary);font-weight:800}.my-queue-badge .name{font-weight:700;font-size:16px}.queue-list{display:flex;flex-direction:column;gap:8px}.queue-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--glass);border-radius:10px;font-size:13px}.queue-position{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;background:var(--glass-border);border-radius:6px}.queue-position.mine{background:var(--primary);color:#fff}.queue-name{flex:1}.queue-wait{color:var(--text-faint);font-size:11px}.admin-est-card{background:var(--glass);border:1px solid var(--glass-border);padding:24px;border-radius:20px;margin-bottom:20px}.admin-est-header{display:flex;gap:16px;margin-bottom:20px}.admin-est-header h3{font-size:18px;font-weight:700}.admin-controls{margin-top:20px}.admin-controls label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}.range-wrapper input{width:100%;accent-color:var(--primary)}.admin-next-user{background:var(--panel-bg);border:1px solid var(--glass-border);padding:16px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;margin-top:12px}.user-info{display:flex;align-items:center;gap:12px}.user-info img{width:40px;height:40px;border-radius:20px;border:2px solid var(--primary)}.user-info div{display:flex;flex-direction:column}.user-info strong{font-size:14px}.user-info small{font-size:11px;color:var(--text-dim)}.admin-analytics{margin-top:24px}.analytics-chart{height:60px;display:flex;align-items:flex-end;gap:4px;margin-top:12px}.chart-bar-wrapper{flex:1;height:100%;position:relative}.chart-bar{background:var(--primary);opacity:.4;border-radius:2px 2px 0 0;transition:all .3s}.chart-bar:hover{opacity:1}.avatar{background:var(--glass);border:1px solid var(--glass-border);width:44px;height:44px;border-radius:22px;overflow:hidden;cursor:pointer;transition:transform .2s}.avatar:hover{transform:scale(1.05)}.avatar img{width:100%;height:100%;object-fit:cover}.user-profile{display:flex;align-items:center;gap:12px}@media (max-width: 1024px){.sidebar{position:fixed;top:72px;left:0;bottom:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.panel{top:auto;right:0;left:0;bottom:0;width:100%;border-radius:24px 24px 0 0}}.toast-msg{background:var(--green);color:#fff;padding:16px 24px;border-radius:12px;left:50%;transform:translate(-50%);font-weight:700;box-shadow:0 10px 30px #00000080;animation:toast-in .4s ease}@keyframes toast-in{0%{transform:translate(-50%,20px);opacity:0}}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loader{width:48px;height:48px;border:3px solid var(--glass-border);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.pricing-modal{background:var(--panel-bg);border:1px solid var(--glass-border);border-radius:32px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:48px;box-shadow:0 30px 60px #000c}.modal-close{position:absolute;top:24px;right:24px;background:var(--glass);border:none;color:#fff;width:40px;height:40px;border-radius:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pricing-header{text-align:center;margin-bottom:48px}.pricing-header h2{font-size:32px;font-weight:800;margin-bottom:12px}.pricing-header p{color:var(--text-dim)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.plan-card{background:var(--glass);border:1px solid var(--glass-border);padding:32px;border-radius:24px;display:flex;flex-direction:column;transition:all .3s;position:relative}.plan-card.popular{border-color:var(--primary);background:#6366f10d;transform:scale(1.02)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:800}.plan-name{font-size:20px;font-weight:800;margin-top:16px}.plan-price{margin:16px 0}.plan-price .amount{font-size:36px;font-weight:800}.plan-price .period{font-size:14px;color:var(--text-dim)}.plan-features{list-style:none;margin:24px 0 32px;display:flex;flex-direction:column;gap:12px}.plan-features li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.pricing-footer{margin-top:48px;text-align:center;font-size:12px;color:var(--text-faint)}@media (max-width: 768px){.pricing-modal{padding:32px 20px}.plan-card.popular{transform:none}}
