.smoke{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.smoke span{position:absolute;bottom:-20%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,116,.18),transparent 65%);filter:blur(40px);animation:smokeFloat 14s linear infinite;opacity:0}.smoke span:nth-child(1){left:5%;animation-delay:0s}.smoke span:nth-child(2){left:30%;animation-delay:3s;background:radial-gradient(circle,rgba(139,38,53,.18),transparent 65%)}.smoke span:nth-child(3){left:55%;animation-delay:6s}.smoke span:nth-child(4){left:75%;animation-delay:9s;background:radial-gradient(circle,rgba(139,38,53,.16),transparent 65%)}.smoke span:nth-child(5){left:90%;animation-delay:12s}.smoke-strong span{width:360px;height:360px;background:radial-gradient(circle,rgba(212,165,116,.28),transparent 65%)}@keyframes smokeFloat{0%{transform:translateY(0) scale(.6);opacity:0}20%{opacity:.8}60%{opacity:.5}to{transform:translateY(-130vh) scale(1.6);opacity:0}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(139,38,53,.15),transparent 60%),var(--bg);overflow:hidden}.intro-logo{position:relative;z-index:2;animation:introFade 2.4s ease-out both}@keyframes introFade{0%{opacity:0;transform:scale(.85);filter:blur(8px)}20%{opacity:1;transform:scale(1);filter:blur(0)}80%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.05);filter:blur(4px)}}.client-shell{min-height:100vh;position:relative}.client-content{padding-bottom:88px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;max-width:480px;margin:0 auto;background:#0a0708d1;border-top:1px solid var(--border-soft);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;color:var(--text-mute);font-size:12px;font-weight:600;text-decoration:none;border-radius:14px;transition:color .15s,background .15s}.tab.active{color:var(--amber-bright);background:linear-gradient(135deg,#d4a57429,#d4a5740a)}.tab svg{display:block}.lounge{position:relative;min-height:100vh;padding:20px 18px 32px;max-width:480px;margin:0 auto;z-index:0}.lounge-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:8px 0 24px}.lounge-brand{font-size:15px;letter-spacing:.14em;font-weight:800;color:var(--text)}.table-badge{font-size:13px;font-weight:600;color:var(--amber-bright);background:#d4a57424;border:1px solid var(--border-soft);border-radius:999px;padding:6px 14px}.profile-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;color:var(--amber);background:var(--glass);transition:background .15s}.profile-btn:active{background:var(--glass-strong)}.lounge-greet{position:relative;z-index:2;margin-bottom:18px}.table-prompt{position:relative;z-index:2;display:flex;gap:8px;margin-bottom:18px}.table-prompt input{flex:1;font-size:16px}.loyalty-banner{position:relative;width:100%;background:linear-gradient(135deg,#d4a5742e,#d4a5740d);border:1px solid var(--border);border-radius:22px;padding:18px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;text-align:left;overflow:hidden;z-index:2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.loyalty-glow{position:absolute;top:-50%;left:-20%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(212,165,116,.25),transparent 60%);filter:blur(30px);pointer-events:none}.loyalty-content{position:relative;z-index:2}.loyalty-card-num{font-size:13px;color:var(--amber);letter-spacing:.02em}.loyalty-balance{display:flex;align-items:baseline;gap:8px;margin-top:4px}.loyalty-amount{font-size:36px;font-weight:700;color:var(--amber-bright);letter-spacing:-.02em;line-height:1}.loyalty-unit{font-size:14px;color:var(--text-dim)}.loyalty-qr{position:relative;z-index:2;width:56px;height:56px;border-radius:14px;border:1px solid var(--border);display:grid;place-items:center;color:var(--amber);background:#0003}.primary-action{position:relative;z-index:2;width:100%;display:flex;align-items:center;gap:16px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#d4a57438,#d4a57414);border:1px solid var(--amber);text-align:left;margin-bottom:16px;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .15s}.primary-action:active{transform:scale(.99)}.primary-action-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 50%,rgba(232,184,127,.25),transparent 60%);pointer-events:none}.primary-action-icon{width:56px;height:56px;border-radius:16px;background:#d4a5742e;display:grid;place-items:center;color:var(--amber-bright);flex-shrink:0;position:relative;z-index:2}.primary-action-text{position:relative;z-index:2;flex:1}.primary-action-title{font-size:19px;font-weight:600;color:var(--text)}.primary-action-sub{font-size:13px;color:var(--text-dim);margin-top:2px}.actions-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.action-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 14px;border-radius:20px;background:var(--glass-strong);border:1px solid var(--border-soft);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);min-height:140px;justify-content:center;transition:transform .15s,border-color .15s}.action-card:active{transform:scale(.97);border-color:var(--amber)}.action-amber{color:var(--amber)}.action-burgundy{color:#c97a85}.action-burgundy{background:linear-gradient(135deg,#8b26352e,#8b26350a);border-color:#c97a854d}.action-icon{width:52px;height:52px;display:grid;place-items:center}.action-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}.action-sub{font-size:12px;color:var(--text-dim)}.back-link{display:block;margin:8px auto 0;color:var(--text-dim);font-size:14px;padding:12px}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#d4a574f2;color:#1a1410;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;z-index:100;box-shadow:0 8px 32px #00000080}.loyalty{min-height:100vh;padding:16px 16px 32px;max-width:480px;margin:0 auto}.lo-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 18px}.loyalty-card{position:relative;border-radius:24px;padding:28px 24px;background:linear-gradient(135deg,#d4a57440,#8b263526),#1a1410;border:1px solid var(--border);overflow:hidden;margin-bottom:24px}.lc-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% -20%,rgba(232,184,127,.4),transparent 50%);pointer-events:none}.lc-brand{position:relative;font-size:13px;letter-spacing:.3em;color:var(--amber);text-transform:uppercase}.lc-name{position:relative;font-size:18px;color:var(--text);margin-top:28px}.lc-balance{position:relative;display:flex;align-items:baseline;gap:10px;margin-top:8px}.lc-amount{font-size:56px;font-weight:700;color:var(--amber-bright);letter-spacing:-.03em;line-height:1}.lc-unit{font-size:16px;color:var(--text-dim)}.lc-card-num{position:relative;margin-top:24px;font-size:18px;letter-spacing:.2em;color:var(--text);font-family:Courier New,monospace}.qr-block{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.qr-frame{padding:20px;background:#1a1410;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-amber)}.qr-hint{font-size:13px;color:var(--text-dim);text-align:center;max-width:280px;line-height:1.4}.history{margin-top:8px}.history-list{display:flex;flex-direction:column;gap:10px}.history-row{display:flex;justify-content:space-between;align-items:center;background:var(--glass);border:1px solid var(--border-soft);border-radius:14px;padding:14px 16px}.hr-reason{font-size:14px;color:var(--text)}.hr-date{font-size:12px;margin-top:2px}.hr-amount{font-size:16px;font-weight:700;color:var(--amber)}:root{--bg: #0a0708;--bg-2: #15100e;--amber: #d4a574;--amber-bright: #e8b87f;--burgundy: #8b2635;--burgundy-soft: #6e1f2c;--text: #f5ede2;--text-dim: rgba(245, 237, 226, .6);--text-mute: rgba(245, 237, 226, .4);--glass: rgba(255, 255, 255, .04);--glass-strong: rgba(255, 255, 255, .08);--border: rgba(212, 165, 116, .3);--border-soft: rgba(212, 165, 116, .15);--shadow-amber: 0 0 40px rgba(212, 165, 116, .15)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Manrope,Segoe UI,Roboto,sans-serif;font-feature-settings:"liga","kern";-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{background:radial-gradient(ellipse at 20% 0%,rgba(212,165,116,.08),transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(139,38,53,.08),transparent 50%),var(--bg);min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit;background:var(--glass);border:1px solid var(--border-soft);border-radius:12px;padding:12px 14px;outline:none;font-size:15px}input:focus,textarea:focus,select:focus{border-color:var(--amber)}a{color:var(--amber);text-decoration:none}::selection{background:#d4a57466}::-webkit-scrollbar{width:0;height:0}.glass{background:var(--glass-strong);border:1px solid var(--border);border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass-soft{background:var(--glass);border:1px solid var(--border-soft);border-radius:16px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.btn-primary{background:linear-gradient(135deg,var(--amber),var(--amber-bright));color:#1a1410;font-weight:600;padding:16px 24px;border-radius:16px;font-size:16px;width:100%;transition:transform .15s,box-shadow .15s}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:var(--glass-strong);border:1px solid var(--border);color:var(--text);padding:14px 20px;border-radius:14px;font-size:15px;width:100%;transition:background .15s}.btn-ghost:active{background:var(--glass)}.title-xl{font-size:32px;font-weight:700;letter-spacing:-.02em}.title-lg{font-size:24px;font-weight:700;letter-spacing:-.01em}.title-md{font-size:18px;font-weight:600}.text-dim{color:var(--text-dim)}.text-mute{color:var(--text-mute)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease-out both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-out both}
