:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-tertiary:#16213e;--surface:#ffffff0f;--surface-hover:#ffffff1a;--surface-active:#ffffff24;--glass:#ffffff14;--glass-border:#ffffff1f;--text-primary:#f1f1f6;--text-secondary:#f1f1f68c;--text-muted:#f1f1f659;--accent:#6c63ff;--accent-light:#8b83ff;--accent-glow:#6c63ff40;--accent-gradient:linear-gradient(135deg, #6c63ff 0%, #a78bfa 100%);--success:#34d399;--success-glow:#34d39933;--warning:#fbbf24;--warning-glow:#fbbf2433;--error:#f87171;--error-glow:#f8717133;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 64px #00000080;--shadow-glow:0 0 40px var(--accent-glow);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:50%;font-family:Pretendard Variable,Pretendard,system-ui,-apple-system,sans-serif;font-size:18px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);background-image:radial-gradient(80% 60% at 50% 0,#6c63ff1a 0%,#0000 60%),radial-gradient(60% 40% at 80% 100%,#a78bfa0f 0%,#0000 50%);height:100dvh;margin:0;position:relative;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(50% 50% at 20% 20%,#6c63ff0f 0%,#0000 70%),radial-gradient(40% 40% at 80% 80%,#a78bfa0d 0%,#0000 70%),radial-gradient(60% 30% at 60% 0,#34d39908 0%,#0000 60%);animation:15s ease-in-out infinite alternate auroraShift;position:fixed;inset:0}#root{z-index:1;justify-content:center;align-items:center;height:100dvh;display:flex;position:relative}@keyframes auroraShift{0%{opacity:.6;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(10px,-10px)scale(1.05)}to{opacity:.8;transform:translate(-10px,10px)scale(.98)}}@keyframes digitBounce{0%{opacity:.3;transform:scale(.5)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes checkPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ripple{to{opacity:0;transform:scale(4)}}.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px)}.setup-page{width:100%;max-width:460px;padding:48px 40px;animation:.6s ease-out fadeInUp}.setup-logo{text-align:center;margin-bottom:40px}.setup-logo .logo-icon{background:var(--accent-gradient);width:64px;height:64px;box-shadow:var(--shadow-glow);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.setup-page h1{text-align:center;color:var(--text-primary);margin-bottom:6px;font-size:26px;font-weight:700}.setup-page .setup-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:36px;font-size:15px}.form-group{margin-bottom:18px}.form-group label{color:var(--text-secondary);letter-spacing:.3px;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.form-group input{width:100%;color:var(--text-primary);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);outline:none;padding:15px 18px;font-family:inherit;font-size:16px;transition:all .2s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface-hover)}.setup-page .submit-btn{color:#fff;background:var(--accent-gradient);border-radius:var(--radius-md);cursor:pointer;width:100%;box-shadow:var(--shadow-glow);letter-spacing:.3px;border:none;margin-top:8px;padding:16px;font-family:inherit;font-size:17px;font-weight:700;transition:all .2s}.mode-selector{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.mode-selector button{min-height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700}.mode-selector button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#10b981 100%);box-shadow:0 10px 28px #10b98138}.promo-page{width:100vw;height:100dvh;color:var(--text-primary);padding:28px;overflow-y:auto}.promo-header{justify-content:space-between;align-items:flex-start;gap:20px;width:min(100%,980px);margin:0 auto 22px;display:flex}.promo-kicker{color:var(--success);margin-bottom:6px;font-size:15px;font-weight:700}.promo-header h1{font-size:30px;font-weight:800;line-height:1.2}.promo-back-button{border:1px solid var(--glass-border);background:var(--surface-hover);min-width:72px;height:44px;color:var(--text-primary);border-radius:12px;flex:none;font-family:inherit;font-size:15px;font-weight:800}.promo-error{color:#fee2e2;background:#f8717129;border:1px solid #f8717157;border-radius:12px;width:min(100%,980px);margin:0 auto 16px;padding:12px 14px;font-size:14px;font-weight:700}.promo-list{grid-template-columns:1fr;gap:14px;width:min(100%,980px);margin:0 auto;padding-bottom:28px;display:grid}.promo-profile-card{border:1px solid var(--glass-border);min-height:140px;color:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffff13;border-radius:16px;grid-template-columns:116px 1fr;align-items:center;gap:18px;padding:14px;font-family:inherit;display:grid}.promo-profile-card:active,.promo-back-button:active,.promo-submit:active,.promo-category-grid button:active{transform:scale(.985)}.promo-profile-copy{min-width:0}.promo-profile-copy h2,.promo-detail-profile h2{margin-bottom:6px;font-size:24px;font-weight:800;line-height:1.2}.promo-profile-copy p,.promo-headline{color:#f1f1f6b8;margin-bottom:10px;font-size:15px;line-height:1.45}.promo-trainer-image{aspect-ratio:4/5;color:#fff;background:linear-gradient(135deg,#3b82f661,#10b98142);border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:116px;font-size:34px;font-weight:900;display:flex;overflow:hidden}.promo-trainer-image img{object-fit:cover;width:100%;height:100%}.promo-tags{flex-wrap:wrap;gap:6px;display:flex}.promo-tags span{color:#d1fae5;background:#10b98121;border:1px solid #10b98142;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.promo-empty{min-height:240px;color:var(--text-secondary);border:1px dashed var(--glass-border);background:#ffffff0b;border-radius:16px;justify-content:center;align-items:center;display:flex}.promo-detail{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;width:min(100%,980px);margin:0 auto;padding-bottom:28px;display:grid}.promo-detail-profile,.promo-form{border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);background:#ffffff13;border-radius:16px}.promo-detail-profile{grid-template-columns:168px 1fr;gap:22px;padding:18px;display:grid}.promo-detail-profile .promo-trainer-image{width:168px}.promo-intro{color:#f1f1f6c7;white-space:pre-wrap;margin-top:16px;font-size:15px;line-height:1.65}.promo-form{padding:16px}.promo-form-heading{margin-bottom:12px}.promo-form-heading strong{color:var(--text-primary);font-size:16px;font-weight:900;line-height:1.25;display:block}.promo-form-heading span{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:700;line-height:1.45;display:block}.promo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.promo-category-grid button{border:1px solid var(--glass-border);background:var(--surface);min-height:46px;color:var(--text-secondary);border-radius:12px;font-family:inherit;font-size:14px;font-weight:800}.promo-category-grid button.active{color:#06140f;background:linear-gradient(135deg,#6ee7b7 0%,#93c5fd 100%);border-color:#ffffff38}.promo-form label,.promo-field{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:800;display:block}.promo-field-label{margin-bottom:7px}.optional-label{min-height:20px;color:var(--text-muted);vertical-align:middle;background:#ffffff14;border-radius:999px;align-items:center;margin-left:4px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-flex}.promo-form input,.promo-form textarea{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#ffffff1a;border-radius:12px;outline:none;margin-top:7px;font-family:inherit;font-size:16px}.promo-form input{height:48px;padding:0 14px}.promo-time-trigger{border:1px solid var(--glass-border);width:100%;min-height:50px;color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff1a;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px 0 14px;font-family:inherit;display:grid}.promo-time-trigger-value,.promo-time-trigger-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:900;line-height:1.25;overflow:hidden}.promo-time-trigger-placeholder{color:var(--text-muted)}.promo-time-trigger-action{color:#d1fae5;background:#6ee7b724;border-radius:9px;justify-content:center;align-items:center;min-width:48px;min-height:30px;font-size:12px;font-weight:900;display:inline-flex}.promo-time-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.promo-time-presets button{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff14;border-radius:12px;min-height:38px;font-family:inherit;font-size:12px;font-weight:900}.promo-time-trigger:active,.promo-time-presets button:active{color:var(--text-primary);background:#6ee7b724;transform:scale(.985)}.promo-form textarea{resize:none;height:78px;padding:12px 14px;line-height:1.35}.promo-form input::placeholder,.promo-form textarea::placeholder{color:var(--text-muted)}.promo-form label small,.promo-field small{color:var(--text-muted);margin-top:6px;font-size:11px;font-weight:700;line-height:1.4;display:block}.promo-form-error{color:#fee2e2;text-align:center;background:#f8717129;border:1px solid #f871715c;border-radius:12px;margin:4px 0 12px;padding:12px 14px;font-size:13px;font-weight:900;line-height:1.45}.promo-picker-backdrop{z-index:3300;-webkit-backdrop-filter:blur(10px);background:#020617b8;justify-content:center;align-items:center;padding:18px;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.promo-time-picker{border:1px solid var(--glass-border);width:min(100%,540px);max-height:calc(100dvh - 36px);color:var(--text-primary);box-shadow:var(--shadow-lg);background:#111827fa;border-radius:18px;padding:20px;animation:.18s ease-out scaleIn;overflow-y:auto}.promo-time-picker-header{margin-bottom:16px}.promo-time-picker-header strong{font-size:22px;font-weight:900;line-height:1.25;display:block}.promo-time-picker-header span{color:var(--text-muted);margin-top:5px;font-size:13px;font-weight:700;display:block}.promo-picker-section{margin-top:14px}.promo-picker-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:900}.promo-date-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.promo-date-options button,.promo-hour-options button,.promo-minute-options button{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff14;border-radius:12px;font-family:inherit;font-weight:900}.promo-date-options button{min-height:58px;padding:8px 6px}.promo-date-options strong,.promo-date-options span{line-height:1.25;display:block}.promo-date-options strong{color:inherit;font-size:14px}.promo-date-options span{color:var(--text-muted);margin-top:3px;font-size:11px}.promo-hour-options,.promo-minute-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.promo-hour-options button,.promo-minute-options button{min-height:42px;font-size:13px}.promo-date-options button.active,.promo-hour-options button.active,.promo-minute-options button.active{color:#06140f;background:linear-gradient(135deg,#6ee7b7 0%,#93c5fd 100%);border-color:#ffffff38}.promo-hour-options button:disabled,.promo-minute-options button:disabled{opacity:.32;cursor:not-allowed}.promo-picker-actions{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px;display:grid}.promo-picker-actions button{cursor:pointer;border:0;border-radius:12px;min-height:48px;font-family:inherit;font-size:15px;font-weight:900}.promo-picker-cancel{background:var(--surface-hover);color:var(--text-secondary)}.promo-picker-apply{color:#06140f;background:linear-gradient(135deg,#6ee7b7 0%,#93c5fd 100%)}.promo-picker-apply:disabled{opacity:.45;cursor:not-allowed}.promo-submit{color:#07130f;cursor:pointer;background:linear-gradient(135deg,#6ee7b7 0%,#93c5fd 100%);border:0;border-radius:14px;width:100%;height:54px;font-family:inherit;font-size:17px;font-weight:900;box-shadow:0 16px 34px #10b98133}.promo-submit:disabled{opacity:.55;cursor:default}.promo-consent{color:var(--text-muted);text-align:center;margin-top:10px;font-size:12px}.promo-success-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.promo-success-screen .success-mark{background:var(--success);color:#07130f;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:24px;font-size:52px;font-weight:900;animation:.4s ease-out checkPop;display:flex}.promo-success-screen h1{margin-bottom:10px;font-size:30px;line-height:1.2}.promo-success-screen p{color:var(--text-secondary);font-size:16px}@media (width<=760px){.promo-page{padding:20px 14px}.promo-header h1{font-size:24px}.promo-profile-card{grid-template-columns:96px 1fr;gap:14px;min-height:122px}.promo-trainer-image{width:96px}.promo-detail{grid-template-columns:1fr}.promo-detail-profile{grid-template-columns:116px 1fr;gap:16px}.promo-detail-profile .promo-trainer-image{width:116px}}.setup-page .submit-btn:hover{box-shadow:0 0 50px var(--accent-glow);transform:translateY(-1px)}.setup-page .submit-btn:active{transform:translateY(0)}.setup-page .submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.checkin-page{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:520px;max-height:100dvh;padding:20px 24px;animation:.5s ease-out fadeIn;display:flex;overflow-y:auto}.checkin-header{margin-bottom:24px}.checkin-header .clock-display{color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:default;-webkit-tap-highlight-color:transparent;margin-bottom:12px;font-size:13px}.checkin-header h1{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.4}.subtitle{color:var(--text-secondary);margin-bottom:12px;font-size:15px}.phone-display{letter-spacing:3px;background:var(--surface);border:2px solid var(--glass-border);border-radius:var(--radius-xl);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;width:100%;max-width:420px;min-height:68px;margin-bottom:20px;padding:16px 28px;font-size:36px;font-weight:700;transition:border-color .3s;display:flex}.phone-display.has-input{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.phone-prefix{color:var(--text-primary)}.phone-separator{color:var(--text-muted);margin:0 4px}.phone-placeholder{color:var(--text-muted)}.phone-digit{color:var(--text-primary)}.numpad{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:360px;margin:0 auto;display:grid}.numpad-key{aspect-ratio:1.4;width:100%;color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-family:inherit;font-size:28px;font-weight:600;transition:all .15s;display:flex;position:relative;overflow:hidden}.numpad-key:hover{background:var(--surface-hover)}.numpad-key:active{background:var(--surface-active);transform:scale(.95)}.numpad-key.action{color:var(--text-secondary);font-size:15px;font-weight:500}.numpad-key.action:active{color:var(--text-primary)}.numpad-key.enter{aspect-ratio:auto;background:var(--accent-gradient);color:#fff;letter-spacing:1px;box-shadow:var(--shadow-glow);border:none;grid-column:1/-1;margin-top:4px;padding:16px;font-size:20px;font-weight:700}.numpad-key.enter:hover{box-shadow:0 0 50px var(--accent-glow)}.numpad-key.enter:active{transform:scale(.98)}.numpad-key:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.numpad-key .ripple{pointer-events:none;background:#ffffff26;border-radius:50%;animation:.6s linear ripple;position:absolute;transform:scale(0)}.checkin-result{text-align:center;width:100%;max-width:560px;padding:40px 32px;animation:.5s ease-out fadeInUp}.result-header{margin-bottom:36px}.result-check{background:linear-gradient(135deg, var(--success) 0%, #6ee7b7 100%);color:#fff;border-radius:var(--radius-full);width:80px;height:80px;box-shadow:0 0 40px var(--success-glow);justify-content:center;align-items:center;margin:0 auto 20px;font-size:40px;font-weight:700;animation:.5s cubic-bezier(.175,.885,.32,1.275) checkPop;display:flex}.result-check.checkout{background:linear-gradient(135deg, var(--accent) 0%, #a78bfa 100%);font-size:36px;box-shadow:0 0 40px #6c63ff4d}.checkout-summary{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:16px;font-weight:500;display:flex}.checkout-arrow{color:var(--accent)}.checkout-duration{color:var(--accent);font-weight:700}.locker-section{text-align:center!important}.locker-badges{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.locker-badge{background:linear-gradient(135deg, var(--accent) 0%, #a78bfa 100%);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;min-width:64px;height:48px;padding:0 20px;font-size:22px;font-weight:800;display:inline-flex;box-shadow:0 4px 16px #6c63ff4d}.result-header h1{color:var(--text-primary);margin-bottom:6px;font-size:36px;font-weight:800}.result-greeting{color:var(--success);font-size:18px;font-weight:600}.checkout-mode .result-greeting{color:var(--accent)}.result-body{text-align:left}.result-section{margin-bottom:24px;animation:.5s ease-out backwards fadeInUp}.result-section:nth-child(2){animation-delay:.1s}.result-section h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;padding-left:4px;font-size:12px;font-weight:700}.coach-label{color:var(--accent-light);letter-spacing:0;text-transform:none;font-weight:500}.result-section ul{list-style:none}.result-card{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:10px;padding:18px 20px;transition:all .2s;display:flex}.card-main{align-items:center;gap:10px;display:flex}.product-name{color:var(--text-primary);font-size:16px;font-weight:700}.product-category{color:var(--accent-light);background:var(--accent-glow);letter-spacing:.3px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.card-sub{color:var(--text-secondary);align-items:center;gap:14px;font-size:14px;display:flex}.days-left{color:var(--accent-light);font-size:15px;font-weight:700}.days-left.warning{color:var(--warning);text-shadow:0 0 10px var(--warning-glow)}.days-left.expired{color:var(--error)}.end-date{color:var(--text-muted);font-size:13px}.session-count{color:var(--text-secondary);font-size:14px}.session-count strong{color:var(--accent-light);font-size:20px;font-weight:800}.result-notice{text-align:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:28px}.notice-sub{color:var(--text-muted);margin-top:6px;font-size:14px}.auto-close-bar{margin-top:20px}.back-now-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md,12px);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;margin-top:12px;padding:10px 32px;font-size:14px;font-weight:500;transition:all .2s}.back-now-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-muted)}.auto-close-bar p{color:var(--text-muted);margin-bottom:10px;font-size:13px}.progress-track{background:var(--surface);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:var(--accent-gradient);transform-origin:0;height:100%;animation:progressShrink var(--duration) linear forwards;border-radius:2px}.error-screen{text-align:center;width:100%;max-width:480px;padding:48px 32px;animation:.4s ease-out scaleIn}.error-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;font-size:40px;display:flex}.error-icon.not-found{background:linear-gradient(135deg, var(--error) 0%, #fca5a5 100%);box-shadow:0 0 40px var(--error-glow);color:#fff}.error-icon.forbidden{background:linear-gradient(135deg, var(--warning) 0%, #fde68a 100%);box-shadow:0 0 40px var(--warning-glow);color:#fff}.error-icon.generic{background:var(--surface);border:2px solid var(--glass-border);color:var(--text-secondary)}.error-screen h1{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:800}.error-screen .error-message{color:var(--text-secondary);margin-bottom:6px;font-size:16px;line-height:1.6}.error-screen .error-sub{color:var(--text-muted);margin-bottom:8px;font-size:14px}.error-actions{gap:12px;width:100%;margin-top:24px;display:flex}.error-action-btn{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;flex:1;align-items:center;gap:12px;padding:18px 20px;font-family:inherit;transition:all .2s;display:flex}.error-action-btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.error-action-btn:active{transform:scale(.98)}.error-action-btn .action-icon{flex-shrink:0;font-size:28px}.error-action-btn .action-text{flex-direction:column;gap:2px;display:flex}.error-action-btn .action-text strong{color:var(--text-primary);font-size:15px;font-weight:700}.error-action-btn .action-text small{color:var(--text-secondary);font-size:12px}.error-action-btn.memo:hover{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.visitor-memo-screen{text-align:center;width:100%;max-width:480px;padding:40px 32px;animation:.5s ease-out fadeInUp}.memo-header{margin-bottom:28px}.memo-icon{margin-bottom:12px;font-size:48px}.visitor-memo-screen h1{color:var(--text-primary);margin-bottom:6px;font-size:28px;font-weight:800}.memo-subtitle{color:var(--text-secondary);font-size:15px}.memo-form{text-align:left}.memo-form-group{margin-bottom:16px}.memo-form-group label{color:var(--text-secondary);letter-spacing:.3px;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.memo-form-group input,.memo-form-group textarea{width:100%;color:var(--text-primary);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);resize:none;outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .2s}.memo-form-group input::placeholder,.memo-form-group textarea::placeholder{color:var(--text-muted)}.memo-form-group input:focus,.memo-form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface-hover)}.memo-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.memo-submit-btn{color:#fff;background:var(--accent-gradient);border-radius:var(--radius-md);cursor:pointer;width:100%;box-shadow:var(--shadow-glow);border:none;padding:16px;font-family:inherit;font-size:17px;font-weight:700;transition:all .2s}.memo-submit-btn:hover{box-shadow:0 0 50px var(--accent-glow);transform:translateY(-1px)}.memo-submit-btn:active{transform:translateY(0)}.memo-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.memo-back-btn{width:100%;color:var(--text-secondary);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s}.memo-back-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.memo-back-btn:disabled{opacity:.5;cursor:not-allowed}.memo-success-icon{background:linear-gradient(135deg, var(--success) 0%, #6ee7b7 100%);color:#fff;border-radius:var(--radius-full);width:80px;height:80px;box-shadow:0 0 40px var(--success-glow);justify-content:center;align-items:center;margin:0 auto 20px;font-size:40px;font-weight:700;animation:.5s cubic-bezier(.175,.885,.32,1.275) checkPop;display:flex}.memo-success-sub{color:var(--text-secondary);margin-bottom:24px;font-size:16px}.auto-close-text{color:var(--text-muted);margin-top:16px;font-size:13px}.error-text{color:var(--error);margin:8px 0;font-size:14px;animation:.3s ease-out fadeIn}.loading-text{color:var(--text-secondary);margin-top:16px;animation:1.5s ease-in-out infinite pulse}.settings-shortcut{width:36px;height:36px;color:var(--text-muted);border-radius:var(--radius-full);cursor:pointer;opacity:.3;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;transition:opacity .2s;display:flex;position:fixed;bottom:16px;right:16px}.settings-shortcut:hover{opacity:.6}::-webkit-scrollbar{display:none}@keyframes float{0%,to{opacity:.15;transform:translateY(0)scale(1)}50%{opacity:.25;transform:translateY(-30px)scale(1.1)}}@keyframes idlePromptPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.idle-screen{background:var(--bg-primary);z-index:1000;cursor:pointer;-webkit-tap-highlight-color:transparent;background-image:radial-gradient(80% 60% at 50% 0,#6c63ff1f 0%,#0000 60%),radial-gradient(60% 40% at 80% 100%,#a78bfa14 0%,#0000 50%);flex-direction:column;justify-content:center;align-items:center;animation:.8s ease-out fadeIn;display:flex;position:fixed;inset:0}.idle-content{text-align:center;margin-bottom:60px}.idle-time{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-4px;text-shadow:0 0 80px var(--accent-glow);font-size:120px;font-weight:800;line-height:1}.idle-date{color:var(--text-secondary);margin-top:12px;font-size:22px;font-weight:500}.idle-center{color:var(--accent-light);letter-spacing:2px;text-transform:uppercase;margin-top:20px;font-size:16px;font-weight:600}.idle-prompt{color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;font-size:18px;font-weight:500;animation:2.5s ease-in-out infinite idlePromptPulse;display:flex}.idle-prompt-icon{font-size:32px}.idle-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.idle-particle{background:var(--accent);opacity:.15;border-radius:50%;width:6px;height:6px;animation:6s ease-in-out infinite float;position:absolute}.idle-particle:first-child{animation-duration:5s;animation-delay:0s;top:20%;left:10%}.idle-particle:nth-child(2){animation-duration:7s;animation-delay:1s;top:60%;left:30%}.idle-particle:nth-child(3){animation-duration:6s;animation-delay:2s;top:30%;left:50%}.idle-particle:nth-child(4){animation-duration:8s;animation-delay:.5s;top:70%;left:70%}.idle-particle:nth-child(5){animation-duration:5.5s;animation-delay:1.5s;top:40%;left:85%}.idle-particle:nth-child(6){animation-duration:7.5s;animation-delay:3s;top:80%;left:20%}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.phone-block{gap:1px;display:inline-flex}.phone-char{text-align:center;min-width:.6em;display:inline-block}.phone-char.entered{color:var(--text-primary)}.phone-char.cursor{color:var(--text-muted);position:relative}.phone-char.cursor:after{content:"";background:var(--accent-light);border-radius:2px;width:80%;height:3px;animation:1s step-end infinite blink;position:absolute;bottom:-2px;left:10%}.phone-char.placeholder{color:var(--text-muted)}.admin-mode-entry{z-index:1800;height:42px;color:var(--text-primary);-webkit-backdrop-filter:blur(16px);cursor:pointer;touch-action:manipulation;background:#0f172ab8;border:1px solid #ffffff38;border-radius:12px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:800;position:fixed;top:18px;right:18px;box-shadow:0 8px 24px #00000047}.admin-mode-entry:active{background:#2563ebd1;transform:scale(.98)}.admin-modal-backdrop{z-index:3200;-webkit-backdrop-filter:blur(10px);background:#020617b8;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.admin-modal{border:1px solid var(--glass-border);width:min(100%,420px);box-shadow:var(--shadow-lg);color:var(--text-primary);background:#111827f5;border-radius:20px;padding:28px;animation:.18s ease-out scaleIn}.admin-modal h2{margin-bottom:8px;font-size:24px;line-height:1.25}.admin-modal p{color:var(--text-secondary);margin-bottom:22px;font-size:14px;line-height:1.55}.admin-modal label{color:var(--text-secondary);margin-bottom:14px;font-size:13px;font-weight:700;display:block}.admin-modal-field{margin-bottom:12px}.admin-modal input{border:1px solid var(--glass-border);background:var(--surface);width:100%;height:48px;color:var(--text-primary);border-radius:12px;outline:none;margin-top:8px;padding:0 14px;font-family:inherit;font-size:16px}.admin-modal-field input{margin-top:0}.admin-modal input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.admin-modal-account{border:1px solid var(--glass-border);background:#ffffff0d;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:44px;margin-bottom:12px;padding:0 12px;display:grid}.admin-modal-account span{color:var(--text-muted);font-size:12px;font-weight:800}.admin-modal-account strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.admin-modal-account button{height:30px;color:var(--text-secondary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:9px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:800}.admin-modal-error{color:#fca5a5;margin:4px 0 14px;font-size:13px;font-weight:700;line-height:1.45;display:block}.admin-modal-actions{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px;display:grid}.admin-modal-actions button{cursor:pointer;border:0;border-radius:12px;height:48px;font-family:inherit;font-size:15px;font-weight:800}.admin-modal-cancel{background:var(--surface-hover);color:var(--text-secondary)}.admin-modal-submit{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow)}.admin-modal-submit:disabled{opacity:.65;cursor:not-allowed}@media (width<=760px){.admin-mode-entry{height:38px;padding:0 12px;font-size:12px;top:12px;right:12px}}.network-bar{background:linear-gradient(90deg, var(--error) 0%, #dc2626 100%);color:#fff;text-align:center;z-index:2000;letter-spacing:.3px;padding:8px 16px;font-size:13px;font-weight:600;animation:.3s ease-out fadeIn;position:fixed;top:0;left:0;right:0}.screen-transition{animation:.4s ease-out fadeInUp}.phone-char.entered{color:var(--text-primary);animation:.2s ease-out digitBounce}.days-badge{letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.days-badge.safe{color:var(--success);background:#34d39926}.days-badge.warning{color:var(--warning);background:#fbbf2426;animation:2s ease-in-out infinite pulse}.days-badge.expired{color:var(--error);background:#f8717126}.pt-card{align-items:center;gap:16px;flex-direction:row!important;display:flex!important}.pt-ring-wrap{flex-shrink:0;width:56px;height:56px;position:relative}.pt-ring-wrap svg{display:block}.pt-ring-text{color:var(--accent-light);justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex;position:absolute;inset:0}.pt-info{flex-direction:column;gap:4px;display:flex}.pt-info .product-name{color:var(--text-primary);font-size:15px;font-weight:600}.session-detail{color:var(--text-secondary);font-size:14px}.session-detail strong{color:var(--accent-light);font-size:18px;font-weight:800}.session-total{color:var(--text-muted)}.session-remain{color:var(--text-muted);font-size:12px}.session-remain strong{color:var(--success);font-weight:700}
