.toast{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:min(300px,calc(100vw - 2rem));max-width:min(400px,calc(100vw - 2rem));animation:slideIn .3s var(--transition-base);position:relative;z-index:9999}.toast-content{display:flex;align-items:center;gap:.75rem;flex:1}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{font-size:.875rem;color:var(--text-primary);line-height:1.5}.toast-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{background:var(--background);color:var(--text-primary)}.toast-success{border-left:4px solid var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-error .toast-icon{color:var(--error)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-left:4px solid var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast-container>*{pointer-events:auto}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 640px){.toast{min-width:auto;max-width:calc(100vw - 2rem)}.toast-container{left:1rem;right:1rem}}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;position:relative;outline:none;-webkit-tap-highlight-color:transparent}.theme-toggle-track{width:56px;height:32px;background:var(--border);border-radius:16px;position:relative;transition:background-color var(--transition-base);box-shadow:inset 0 2px 4px #0000001a}[data-theme=dark] .theme-toggle-track{background:var(--surface-elevated);box-shadow:inset 0 2px 4px #0006}.theme-toggle-thumb{width:28px;height:28px;background:var(--surface);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}.theme-toggle-thumb.dark{transform:translate(24px);background:var(--primary-color);box-shadow:0 2px 8px #7c3aed66}.theme-toggle-thumb.light{transform:translate(0)}.theme-toggle-icon{font-size:16px;line-height:1;transition:transform var(--transition-base)}.theme-toggle:active .theme-toggle-thumb{transform:translate(var(--toggle-position, 0)) scale(.95)}.theme-toggle:active .theme-toggle-thumb.dark{transform:translate(24px) scale(.95)}.theme-toggle:hover .theme-toggle-track,[data-theme=dark] .theme-toggle:hover .theme-toggle-track{background:var(--border)}.main-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:100vh;padding-bottom:0;--bottom-nav-h: 65px;position:relative;overflow:hidden}@media (max-width: 480px){.main-layout{--bottom-nav-h: 70px}}@media (max-width: 360px){.main-layout{--bottom-nav-h: 65px}}@media (min-width: 768px){.main-layout{--bottom-nav-h: 70px}}.app-header{position:sticky;top:0;z-index:1300;background:var(--surface);padding:0;border-bottom:1px solid var(--border-light);box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;padding-top:calc(env(safe-area-inset-top) + .75rem);width:100%;max-width:100%;overflow-x:clip;overflow-y:visible;box-sizing:border-box}.header-top-news{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem var(--space-md);text-decoration:none;color:#4ea3ff;background:rgba(78,163,255,.1);border-bottom:1px solid var(--border-light);font-size:.95rem;font-weight:700;letter-spacing:.2px;line-height:1}.header-top-news:active{opacity:.9}.header-top-news svg{flex-shrink:0}.header-main{padding:.5rem var(--space-md);padding-bottom:.75rem;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.header-left{width:44px;height:44px}.header-center{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;z-index:2;justify-self:center}.header-right{display:inline-flex;align-items:center;justify-content:flex-end;z-index:2;width:44px;height:44px;justify-self:end}[data-theme=dark] .app-header{box-shadow:0 2px 8px #0000004d;border-bottom-color:var(--border)}.app-logo{height:2.25rem;width:auto;object-fit:contain;max-width:170px;min-width:80px;position:static;transform:none;transition:opacity var(--transition-base);-webkit-user-select:none;user-select:none;display:block;z-index:1;cursor:pointer}[data-theme=light] .app-logo,[data-theme=dark] .app-logo{height:2.25rem;max-width:170px;min-width:80px}@media (max-width: 480px){.header-center{gap:.5rem}.app-logo{max-width:150px}}.main-content{flex:1;padding:var(--space-md);padding-bottom:calc(var(--space-lg) + var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 20px);max-width:100%;width:100%;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;box-sizing:border-box;min-height:0}@media (max-width: 480px){.main-content{padding-top:.5rem;padding-bottom:calc(var(--space-md) + var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 12px)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100%;box-sizing:border-box;display:flex;background:var(--surface);box-shadow:0 -2px 10px #0000001a;z-index:1000;min-height:62px;height:auto;padding-top:.45rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);transform:translateZ(0);-webkit-transform:translateZ(0)}[data-theme=dark] .bottom-nav{box-shadow:0 -2px 12px #0006;border-top:1px solid var(--border)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.45rem .25rem;background:transparent;color:var(--text-secondary);transition:all var(--transition-base);border:none;position:relative;min-width:0;max-width:100%;box-sizing:border-box}.nav-item.active{color:var(--primary-color);transform:none}.nav-item:active{transform:scale(.95)}.nav-icon{font-size:1.375rem;line-height:1;transition:transform var(--transition-base);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}.nav-icon .nav-icon-svg,.nav-icon svg{color:inherit;display:block;width:1.375rem;height:1.375rem}@media (max-width: 480px){.nav-icon .nav-icon-svg,.nav-icon svg{width:1.5rem;height:1.5rem}}@media (max-width: 360px){.nav-icon .nav-icon-svg,.nav-icon svg{width:1.375rem;height:1.375rem}}.nav-label{font-size:.75rem;font-weight:500;transition:transform var(--transition-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;line-height:1.1}.nav-item.active .nav-icon{transform:scale(1.15)}.nav-item.active .nav-label{transform:none;font-weight:600}@media (max-width: 480px){.bottom-nav{padding-top:.4rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px));min-height:60px}.nav-item{padding:.4rem .2rem;gap:.15rem}.nav-icon{font-size:1.5rem}.nav-label{font-size:.75rem}}@media (max-width: 360px){.bottom-nav{padding-top:.35rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px));min-height:58px}.nav-item{padding:.35rem .15rem;gap:.125rem;min-width:0}.nav-icon{font-size:1.375rem}.nav-label{font-size:.7rem}}@media (max-width: 320px){.bottom-nav{min-height:56px}.nav-item{padding:.3rem .1rem;gap:.1rem}.nav-label{font-size:.65rem}}@media (min-width: 768px){.app-header{max-width:100%;margin:0;width:100%}.main-content{max-width:100%;margin:0}.bottom-nav{max-width:100%;left:0;right:0;transform:none;-webkit-transform:none;padding:.75rem 0;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px));min-height:70px}.nav-item{padding:.75rem .5rem .6rem;gap:.25rem}.nav-icon{font-size:1.5rem}.nav-label{font-size:.875rem}}.auth-container{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:var(--background);width:100%;max-width:100vw;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.auth-page{padding:0;align-items:stretch;justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-container.auth-page{background:#ffffff}[data-theme=dark] .auth-container.auth-page{background:#0a0a0a}.auth-page-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 1rem;width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.auth-content{background:transparent;border-radius:0;padding:2rem;width:100%;max-width:350px;box-shadow:none;box-sizing:border-box;overflow-x:hidden}.pin-entry-page,.pin-creation-page,.passkey-setup-page{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--surface, #ffffff);overflow:hidden}[data-theme=dark] .pin-entry-page,[data-theme=dark] .pin-creation-page,[data-theme=dark] .passkey-setup-page{background:var(--background, #0a0a0a)}.pin-entry-header{position:sticky;top:0;z-index:1100;background:var(--surface);padding:.5rem var(--space-md, 1rem);border-bottom:1px solid var(--border-light, #e5e7eb);box-shadow:0 2px 4px #0000000d;display:flex;align-items:center;justify-content:space-between;padding-top:calc(env(safe-area-inset-top) + .5rem);width:100%;box-sizing:border-box;flex-shrink:0}[data-theme=dark] .pin-entry-header{box-shadow:0 2px 8px #0000004d;border-bottom-color:var(--border, #27272a)}.pin-entry-logo{height:2.25rem;width:auto;object-fit:contain;max-width:min(220px,calc(100vw - 120px));min-width:80px;position:absolute;left:50%;transform:translate(-50%)}.pin-entry-content,.pin-creation-content,.passkey-setup-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;width:100%;max-width:400px;margin:0 auto;box-sizing:border-box;overflow:hidden}.pin-user-section{display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(.5rem,2vh,1rem)}.pin-user-avatar{width:clamp(40px,10vw,56px);height:clamp(40px,10vw,56px);border-radius:50%;background:linear-gradient(135deg,var(--primary, #6366f1) 0%,#8b5cf6 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:.5rem;box-shadow:0 3px 12px #6366f140}.pin-user-avatar svg{width:50%;height:50%}.pin-lock-icon{width:clamp(40px,10vw,56px);height:clamp(40px,10vw,56px);border-radius:50%;background:var(--background, #f4f4f5);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #71717a);margin-bottom:.5rem}.pin-lock-icon svg{width:50%;height:50%}[data-theme=dark] .pin-lock-icon{background:rgba(255,255,255,.05);color:#a1a1aa}.pin-entry-title{font-size:clamp(1rem,4vw,1.25rem);font-weight:600;color:var(--text-primary, #111111);margin:0;text-align:center}[data-theme=dark] .pin-entry-title{color:#fff}.pin-user-name{font-size:clamp(.75rem,3vw,.9rem);color:var(--text-secondary, #71717a);margin:.25rem 0 0}.pin-passkey-btn{width:100%;max-width:320px;padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1rem);background:linear-gradient(135deg,var(--primary, #6366f1) 0%,#8b5cf6 100%);border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:.75rem;color:#fff;margin-bottom:clamp(.5rem,2vh,1rem);transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 3px 10px #6366f140}.pin-passkey-btn:hover:not(:disabled){box-shadow:0 4px 15px #6366f159}.pin-passkey-btn:active:not(:disabled){transform:scale(.98)}.pin-passkey-btn:disabled{cursor:default;opacity:.9}.pin-passkey-btn.authenticating{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)}.pin-passkey-icon{width:clamp(32px,8vw,40px);height:clamp(32px,8vw,40px);background:rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pin-passkey-icon svg{width:55%;height:55%}.pin-passkey-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.pin-passkey-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.pin-passkey-title{font-size:clamp(.85rem,3.5vw,1rem);font-weight:600;line-height:1.2}.pin-passkey-subtitle{font-size:clamp(.65rem,2.5vw,.8rem);opacity:.8}.pin-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:clamp(.5rem,2vh,1rem);width:100%;max-width:320px}.pin-divider:before,.pin-divider:after{content:"";flex:1;height:1px;background:var(--border, #e5e7eb)}[data-theme=dark] .pin-divider:before,[data-theme=dark] .pin-divider:after{background:rgba(255,255,255,.1)}.pin-divider span{color:var(--text-secondary, #71717a);font-size:clamp(.7rem,2.5vw,.85rem);white-space:nowrap}.pin-error-message{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:clamp(.75rem,3vw,.875rem);margin-bottom:clamp(.5rem,2vh,1rem);width:100%;max-width:320px;box-sizing:border-box;animation:slideDown .2s ease}.pin-error-message svg{width:16px;height:16px;flex-shrink:0}[data-theme=dark] .pin-error-message{background:rgba(220,38,38,.15);color:#f87171}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pin-dots-container{display:flex;justify-content:center;gap:clamp(.75rem,3vw,1.25rem);margin-bottom:clamp(1rem,3vh,1.5rem)}.pin-dots-container.shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.pin-dot-new{width:clamp(12px,3.5vw,16px);height:clamp(12px,3.5vw,16px);border-radius:50%;background:transparent;border:2px solid rgba(0,0,0,.2);transition:all .15s ease}[data-theme=dark] .pin-dot-new{border-color:#ffffff4d}.pin-dot-new.filled{background:var(--text-primary, #111111);border-color:var(--text-primary, #111111);transform:scale(1.15)}[data-theme=dark] .pin-dot-new.filled{background:#ffffff;border-color:#fff}.pin-dot-new.active{border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f126}.pin-keypad-new{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.25rem,1.5vw,.5rem);width:100%;max-width:min(280px,70vw);margin:0 auto}.pin-key{aspect-ratio:1;border:none;background:transparent;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pin-key:hover:not(:disabled){background:rgba(0,0,0,.05)}[data-theme=dark] .pin-key:hover:not(:disabled){background:rgba(255,255,255,.08)}.pin-key:active:not(:disabled){background:rgba(0,0,0,.1);transform:scale(.92)}[data-theme=dark] .pin-key:active:not(:disabled){background:rgba(255,255,255,.12)}.pin-key:disabled{opacity:.4;cursor:not-allowed}.pin-key-number{font-size:clamp(1.25rem,5vw,1.75rem);font-weight:500;color:var(--text-primary, #111111);line-height:1}[data-theme=dark] .pin-key-number{color:#fff}.pin-key-letters{display:none}.pin-key-action{color:var(--text-secondary, #71717a)}.pin-key-action-text{font-size:clamp(.65rem,2.5vw,.8rem);font-weight:500}.pin-key-backspace{color:var(--text-primary, #111111)}[data-theme=dark] .pin-key-backspace{color:#fff}.pin-key-backspace svg{width:clamp(18px,5vw,24px);height:clamp(18px,5vw,24px)}.pin-footer-actions{margin-top:clamp(.5rem,2vh,1rem);text-align:center}.pin-text-btn{background:none;border:none;color:var(--primary, #6366f1);font-size:clamp(.7rem,2.5vw,.85rem);cursor:pointer;padding:.5rem;transition:opacity .2s}.pin-text-btn:hover{opacity:.8}.pin-progress{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:clamp(.5rem,2vh,1rem)}.pin-progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.pin-progress-dot{width:clamp(24px,6vw,32px);height:clamp(24px,6vw,32px);border-radius:50%;background:var(--background, #f4f4f5);border:2px solid var(--border, #e5e7eb);display:flex;align-items:center;justify-content:center;font-size:clamp(.65rem,2.5vw,.8rem);font-weight:600;color:var(--text-secondary, #71717a);transition:all .2s ease}[data-theme=dark] .pin-progress-dot{background:rgba(255,255,255,.05);border-color:#ffffff1a}.pin-progress-step.active .pin-progress-dot{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.pin-progress-step.completed .pin-progress-dot{background:#10b981;border-color:#10b981;color:#fff}.pin-progress-label{font-size:clamp(.6rem,2vw,.75rem);color:var(--text-secondary, #71717a);font-weight:500}.pin-progress-step.active .pin-progress-label{color:var(--primary, #6366f1)}.pin-progress-step.completed .pin-progress-label{color:#10b981}.pin-progress-line{width:clamp(40px,10vw,60px);height:2px;background:var(--border, #e5e7eb);margin-bottom:clamp(.5rem,2vh,1rem)}[data-theme=dark] .pin-progress-line{background:rgba(255,255,255,.1)}.pin-creation-header{display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(.5rem,2vh,1rem);text-align:center}.pin-creation-icon{width:clamp(44px,12vw,64px);height:clamp(44px,12vw,64px);border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.1) 0%,rgba(139,92,246,.1) 100%);display:flex;align-items:center;justify-content:center;color:var(--primary, #6366f1);margin-bottom:.5rem}.pin-creation-icon svg{width:50%;height:50%}[data-theme=dark] .pin-creation-icon{background:linear-gradient(135deg,rgba(99,102,241,.2) 0%,rgba(139,92,246,.2) 100%)}.pin-success-icon{width:clamp(56px,15vw,80px);height:clamp(56px,15vw,80px);border-radius:50%;background:linear-gradient(135deg,rgba(16,185,129,.15) 0%,rgba(16,185,129,.05) 100%);display:flex;align-items:center;justify-content:center;color:#10b981;margin-bottom:.75rem;animation:successPop .4s ease}.pin-success-icon svg{width:50%;height:50%}@keyframes successPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.pin-creation-title{font-size:clamp(1rem,4vw,1.35rem);font-weight:600;color:var(--text-primary, #111111);margin:0}[data-theme=dark] .pin-creation-title{color:#fff}.pin-creation-subtitle{font-size:clamp(.75rem,3vw,.9rem);color:var(--text-secondary, #71717a);margin:.25rem 0 0;max-width:280px}.pin-creation-user{font-size:clamp(.7rem,2.5vw,.85rem);color:var(--text-secondary, #71717a);margin:.5rem 0 0}.pin-creation-user strong{color:var(--text-primary, #111111)}[data-theme=dark] .pin-creation-user strong{color:#fff}.pin-security-tips{margin-top:clamp(.75rem,3vh,1.5rem);padding-top:.75rem;border-top:1px solid var(--border, #e5e7eb);width:100%;max-width:280px}[data-theme=dark] .pin-security-tips{border-color:#ffffff1a}.pin-tip{display:flex;align-items:center;gap:.5rem;font-size:clamp(.7rem,2.5vw,.8rem);color:var(--text-secondary, #71717a)}.pin-tip svg{flex-shrink:0;color:var(--primary, #6366f1);width:14px;height:14px}.pin-success-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem}.pin-success-spinner{width:24px;height:24px;border:2px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:spin 1s linear infinite}.pin-success-text{font-size:clamp(.8rem,3vw,.95rem);color:var(--text-secondary, #71717a)}@keyframes spin{to{transform:rotate(360deg)}}.passkey-context-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:var(--background, #f4f4f5);border-radius:100px;font-size:clamp(.65rem,2.5vw,.75rem);font-weight:500;color:var(--text-secondary, #71717a);margin-bottom:clamp(.5rem,2vh,1rem)}[data-theme=dark] .passkey-context-badge{background:rgba(255,255,255,.05)}.passkey-main-icon{position:relative;width:clamp(56px,15vw,80px);height:clamp(56px,15vw,80px);display:flex;align-items:center;justify-content:center;margin-bottom:clamp(.5rem,2vh,1rem)}.passkey-icon-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(99,102,241,.2) 0%,transparent 70%);border-radius:50%;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:.7}}.passkey-main-icon>svg{position:relative;color:var(--primary, #6366f1);width:60%;height:60%}.passkey-title{font-size:clamp(1.1rem,4.5vw,1.5rem);font-weight:700;color:var(--text-primary, #111111);margin:0;text-align:center}[data-theme=dark] .passkey-title{color:#fff}.passkey-subtitle{font-size:clamp(.75rem,3vw,.9rem);color:var(--text-secondary, #71717a);margin:.25rem 0 clamp(.75rem,3vh,1.5rem) 0;text-align:center;line-height:1.4;max-width:320px}.passkey-warning{display:flex;gap:.75rem;padding:.75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:10px;margin-bottom:clamp(.5rem,2vh,1rem);width:100%;max-width:360px;box-sizing:border-box}[data-theme=dark] .passkey-warning{background:rgba(245,158,11,.15)}.passkey-warning svg{flex-shrink:0;color:#f59e0b;width:18px;height:18px}.passkey-warning strong{display:block;font-size:clamp(.75rem,3vw,.85rem);color:#92400e}[data-theme=dark] .passkey-warning strong{color:#fcd34d}.passkey-warning p{font-size:clamp(.7rem,2.5vw,.8rem);color:#a16207;margin:.15rem 0 0}[data-theme=dark] .passkey-warning p{color:#fde68a}.passkey-error{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:clamp(.75rem,3vw,.875rem);margin-bottom:clamp(.5rem,2vh,1rem);width:100%;max-width:360px;box-sizing:border-box}[data-theme=dark] .passkey-error{background:rgba(220,38,38,.15);color:#f87171}.passkey-device-content{width:100%;max-width:360px;margin-bottom:clamp(.5rem,2vh,1rem)}.passkey-benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.4rem,1.5vw,.75rem);margin-bottom:clamp(.5rem,2vh,1rem)}.passkey-benefit-card{display:flex;align-items:center;gap:.5rem;padding:clamp(.4rem,1.5vw,.75rem);background:var(--background, #f4f4f5);border-radius:10px}[data-theme=dark] .passkey-benefit-card{background:rgba(255,255,255,.05)}.passkey-benefit-icon{width:clamp(28px,7vw,36px);height:clamp(28px,7vw,36px);border-radius:8px;background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;color:var(--primary, #6366f1);flex-shrink:0}.passkey-benefit-icon svg{width:50%;height:50%}.passkey-benefit-text{display:flex;flex-direction:column;min-width:0}.passkey-benefit-text strong{font-size:clamp(.7rem,2.5vw,.85rem);font-weight:600;color:var(--text-primary, #111111);line-height:1.2}[data-theme=dark] .passkey-benefit-text strong{color:#fff}.passkey-benefit-text span{font-size:clamp(.6rem,2vw,.7rem);color:var(--text-secondary, #71717a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.passkey-how-it-works{background:var(--background, #f4f4f5);border-radius:12px;padding:clamp(.75rem,3vw,1rem);width:100%}[data-theme=dark] .passkey-how-it-works{background:rgba(255,255,255,.05)}.passkey-how-it-works h3{font-size:clamp(.8rem,3vw,.9rem);font-weight:600;color:var(--text-primary, #111111);margin:0 0 .75rem}[data-theme=dark] .passkey-how-it-works h3{color:#fff}.passkey-steps{display:flex;flex-direction:column;gap:.5rem}.passkey-step{display:flex;align-items:center;gap:.6rem}.passkey-step-number{width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px);border-radius:50%;background:var(--primary, #6366f1);color:#fff;font-size:clamp(.65rem,2.5vw,.75rem);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.passkey-step span{font-size:clamp(.75rem,3vw,.85rem);color:var(--text-secondary, #71717a)}.passkey-install-prompt{display:flex;align-items:center;gap:.75rem;padding:clamp(.75rem,3vw,1rem);background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,rgba(139,92,246,.08) 100%);border:1px dashed var(--primary, #6366f1);border-radius:12px;margin-bottom:clamp(.5rem,2vh,1rem);width:100%}.passkey-install-icon{width:clamp(36px,9vw,44px);height:clamp(36px,9vw,44px);border-radius:10px;background:var(--primary, #6366f1);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.passkey-install-icon svg{width:50%;height:50%}.passkey-install-text{flex:1;min-width:0}.passkey-install-text strong{display:block;font-size:clamp(.8rem,3vw,.9rem);color:var(--text-primary, #111111)}[data-theme=dark] .passkey-install-text strong{color:#fff}.passkey-install-text span{font-size:clamp(.7rem,2.5vw,.8rem);color:var(--text-secondary, #71717a);display:block;margin-top:.15rem}.passkey-install-btn{padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,3vw,1rem);background:var(--primary, #6366f1);color:#fff;border:none;border-radius:8px;font-size:clamp(.7rem,2.5vw,.8rem);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.passkey-mobile-benefits{display:flex;flex-direction:column;gap:clamp(.35rem,1.5vw,.5rem)}.passkey-mobile-benefit{display:flex;align-items:center;gap:.5rem;padding:clamp(.4rem,1.5vw,.6rem) clamp(.6rem,2.5vw,.75rem);background:var(--background, #f4f4f5);border-radius:8px;font-size:clamp(.75rem,3vw,.85rem);color:var(--text-primary, #111111)}[data-theme=dark] .passkey-mobile-benefit{background:rgba(255,255,255,.05);color:#fff}.passkey-mobile-benefit svg{color:#10b981;flex-shrink:0;width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px)}.passkey-install-guide{width:100%}.passkey-install-back{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--primary, #6366f1);font-size:clamp(.75rem,3vw,.85rem);cursor:pointer;padding:0;margin-bottom:.75rem}.passkey-install-back svg{width:16px;height:16px}.passkey-install-guide-title{font-size:clamp(.9rem,3.5vw,1.1rem);font-weight:600;color:var(--text-primary, #111111);margin:0 0 1rem;text-align:center}[data-theme=dark] .passkey-install-guide-title{color:#fff}.passkey-install-steps{display:flex;flex-direction:column;gap:.75rem}.passkey-install-step{display:flex;gap:.75rem;align-items:flex-start}.passkey-install-step-num{width:clamp(22px,5.5vw,28px);height:clamp(22px,5.5vw,28px);border-radius:50%;background:var(--primary, #6366f1);color:#fff;font-size:clamp(.7rem,2.5vw,.8rem);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.passkey-install-step-content{flex:1}.passkey-install-step-content span{font-size:clamp(.8rem,3vw,.9rem);color:var(--text-primary, #111111)}[data-theme=dark] .passkey-install-step-content span{color:#fff}.passkey-install-step-icon{display:inline-flex;align-items:center;justify-content:center;width:clamp(36px,9vw,44px);height:clamp(36px,9vw,44px);background:var(--background, #f4f4f5);border-radius:10px;color:var(--text-secondary, #71717a);margin-top:.5rem}.passkey-install-step-icon svg{width:50%;height:50%}[data-theme=dark] .passkey-install-step-icon{background:rgba(255,255,255,.05)}.passkey-install-step-preview{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--background, #f4f4f5);border-radius:8px;margin-top:.5rem;font-size:clamp(.8rem,3vw,.9rem);color:var(--text-primary, #111111)}.passkey-install-step-preview svg{width:18px;height:18px}[data-theme=dark] .passkey-install-step-preview{background:rgba(255,255,255,.05);color:#fff}.passkey-install-note{margin-top:1rem;padding:.75rem;background:rgba(16,185,129,.1);border-radius:10px;font-size:clamp(.75rem,3vw,.85rem);color:#059669;text-align:center}[data-theme=dark] .passkey-install-note{background:rgba(16,185,129,.15);color:#34d399}.passkey-app-installed-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1rem);background:rgba(16,185,129,.1);color:#059669;border-radius:10px;font-size:clamp(.75rem,3vw,.875rem);font-weight:500;margin-bottom:clamp(.75rem,3vh,1.25rem)}.passkey-app-installed-badge svg{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px)}[data-theme=dark] .passkey-app-installed-badge{background:rgba(16,185,129,.15);color:#34d399}.passkey-demo{display:flex;justify-content:center;margin-bottom:clamp(1rem,4vh,1.5rem)}.passkey-demo-phone{width:clamp(100px,25vw,140px);height:clamp(160px,40vw,220px);background:#1a1a1a;border-radius:clamp(16px,4vw,24px);padding:clamp(6px,1.5vw,10px);position:relative;box-shadow:0 10px 30px #0003}.passkey-demo-notch{width:45%;height:clamp(12px,3vw,18px);background:#000;border-radius:0 0 10px 10px;position:absolute;top:clamp(6px,1.5vw,10px);left:50%;transform:translate(-50%)}.passkey-demo-content{width:100%;height:100%;background:#ffffff;border-radius:clamp(12px,3vw,18px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.passkey-demo-biometric{color:var(--primary, #6366f1);animation:biometricPulse 2s ease-in-out infinite}.passkey-demo-biometric svg{width:clamp(32px,8vw,48px);height:clamp(32px,8vw,48px)}@keyframes biometricPulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1)}}.passkey-demo-text{font-size:clamp(.6rem,2.5vw,.75rem);color:#71717a;font-weight:500}.passkey-app-benefits{display:flex;flex-direction:column;gap:clamp(.4rem,1.5vw,.75rem)}.passkey-app-benefit{display:flex;gap:.75rem;padding:clamp(.6rem,2.5vw,.875rem);background:var(--background, #f4f4f5);border-radius:12px;align-items:center}[data-theme=dark] .passkey-app-benefit{background:rgba(255,255,255,.05)}.passkey-app-benefit-icon{width:clamp(36px,9vw,44px);height:clamp(36px,9vw,44px);border-radius:10px;background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;color:var(--primary, #6366f1);flex-shrink:0}.passkey-app-benefit-icon svg{width:50%;height:50%}.passkey-app-benefit>div{display:flex;flex-direction:column;gap:.15rem}.passkey-app-benefit strong{font-size:clamp(.8rem,3vw,.9rem);color:var(--text-primary, #111111);line-height:1.2}[data-theme=dark] .passkey-app-benefit strong{color:#fff}.passkey-app-benefit span{font-size:clamp(.7rem,2.5vw,.8rem);color:var(--text-secondary, #71717a)}.passkey-username-input{width:100%;max-width:360px;margin-bottom:clamp(.5rem,2vh,1rem)}.passkey-username-input label{display:block;font-size:clamp(.7rem,2.5vw,.8rem);font-weight:500;color:var(--text-secondary, #71717a);margin-bottom:.35rem}.passkey-username-input input{width:100%;padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1rem);background:var(--background, #f4f4f5);border:1px solid var(--border, #e5e7eb);border-radius:10px;font-size:clamp(.85rem,3.5vw,1rem);color:var(--text-primary, #111111);box-sizing:border-box}[data-theme=dark] .passkey-username-input input{background:rgba(255,255,255,.05);border-color:#ffffff1a;color:#fff}.passkey-username-input input:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.passkey-actions-new{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:360px}.passkey-setup-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:clamp(.65rem,2.5vw,.875rem) clamp(1rem,4vw,1.5rem);background:linear-gradient(135deg,var(--primary, #6366f1) 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:12px;font-size:clamp(.85rem,3.5vw,1rem);font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 12px #6366f14d}.passkey-setup-btn svg{width:clamp(16px,4vw,20px);height:clamp(16px,4vw,20px)}.passkey-setup-btn:hover:not(:disabled){box-shadow:0 4px 16px #6366f166}.passkey-setup-btn:active:not(:disabled){transform:scale(.98)}.passkey-setup-btn:disabled{opacity:.6;cursor:not-allowed}.passkey-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.passkey-skip-btn{width:100%;padding:clamp(.5rem,2vw,.75rem) 1rem;background:transparent;color:var(--text-secondary, #71717a);border:none;border-radius:12px;font-size:clamp(.8rem,3vw,.9rem);font-weight:500;cursor:pointer;transition:background .2s}.passkey-skip-btn:hover:not(:disabled){background:var(--background, #f4f4f5)}[data-theme=dark] .passkey-skip-btn:hover:not(:disabled){background:rgba(255,255,255,.05)}.passkey-skip-btn:disabled{opacity:.5;cursor:not-allowed}.passkey-security-note{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:clamp(.5rem,2vh,1rem);font-size:clamp(.7rem,2.5vw,.8rem);color:var(--text-secondary, #71717a)}.passkey-security-note svg{color:#10b981;width:14px;height:14px}.auth-page .auth-title{color:#111}[data-theme=dark] .auth-page .auth-title{color:#fff}.auth-page .pin-dot{border-color:#0000004d}[data-theme=dark] .auth-page .pin-dot{border-color:#fff6}.auth-page .pin-dot.filled{background:#111111;border-color:#111}[data-theme=dark] .auth-page .pin-dot.filled{background:#ffffff;border-color:#fff}.app-title{font-size:2.5rem;font-weight:700;text-align:center;color:var(--primary-color);margin-bottom:.5rem}.auth-content .app-logo{height:60px;width:auto;max-width:250px;object-fit:contain;margin-bottom:1rem}.app-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.auth-buttons{display:flex;flex-direction:column;gap:1rem}.auth-description{margin-bottom:var(--space-lg);color:var(--text-secondary)}.auth-back-link{display:inline-block;text-decoration:none}.auth-https-warning{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-md);color:var(--warning-dark)}.auth-https-warning p{margin:var(--space-sm) 0 0;font-size:.85rem}.auth-form{max-width:450px}.auth-title{font-size:1.15rem;font-weight:600;text-align:center;margin-bottom:1.5rem;color:var(--text-primary)}.auth-links{display:flex;justify-content:flex-end;margin-bottom:1rem}.auth-link{color:var(--primary-color);font-size:.875rem;text-decoration:none}.auth-link:hover{text-decoration:underline}.google-btn{display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.875rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.pin-container{max-width:400px!important;width:100%;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:transparent!important;box-shadow:none!important;padding:1rem!important}.pin-display{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);transition:all .2s}.pin-dot.filled{background:var(--primary-color);border-color:var(--primary-color)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;background:#ffffff;padding:1rem;border-radius:12px;max-width:300px;margin:0 auto}[data-theme=dark] .keypad{background:#000000}.keypad-button{aspect-ratio:1;border-radius:8px;background:transparent;border:none;font-size:2rem;font-weight:500;color:#111;transition:all .15s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:60px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-theme=dark] .keypad-button{color:#fff}.keypad-button:hover:not(:disabled){background:rgba(0,0,0,.05)}[data-theme=dark] .keypad-button:hover:not(:disabled){background:rgba(255,255,255,.08)}.keypad-button:active:not(:disabled){background:rgba(0,0,0,.1);transform:scale(.95)}[data-theme=dark] .keypad-button:active:not(:disabled){background:rgba(255,255,255,.12)}.keypad-button:disabled{opacity:.4;cursor:not-allowed}.keypad-button-logout{font-size:1.075rem;font-weight:500;color:#555;aspect-ratio:auto;justify-content:flex-start;padding-left:.5rem}[data-theme=dark] .keypad-button-logout{color:#aaa}.keypad-button-backspace{aspect-ratio:1;color:#111;background:rgba(0,0,0,.05);border-radius:8px}[data-theme=dark] .keypad-button-backspace{color:#fff;background:rgba(255,255,255,.1)}.keypad-button-backspace svg{width:20px;height:20px}.keypad-button-backspace:disabled{opacity:.3}.keypad-button-back{aspect-ratio:1;color:#111;background:rgba(0,0,0,.05);border-radius:8px}[data-theme=dark] .keypad-button-back{color:#fff;background:rgba(255,255,255,.1)}.keypad-button-back svg{width:22px;height:22px}.passkey-setup{max-width:400px!important;text-align:center}.auth-content.auth-form{max-width:400px!important;margin:0 auto}.passkey-icon{font-size:4rem;margin-bottom:1.5rem}.passkey-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.pwa-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--primary-color);font-weight:500}.pwa-hint.installed{color:var(--success)}.passkey-benefits{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;text-align:left}.benefit-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--background);border-radius:8px}.benefit-icon{font-size:2rem;flex-shrink:0}.benefit-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.benefit-text{font-size:.875rem;color:var(--text-secondary)}.pwa-instructions{background:var(--background);border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:left}.pwa-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.pwa-steps{display:flex;flex-direction:column;gap:.75rem}.pwa-steps p{font-size:.875rem;color:var(--text-secondary);margin:0}.pwa-steps .icon{font-size:1rem}.passkey-actions{display:flex;flex-direction:column;gap:1rem}.biometric-login-section{margin-bottom:1.5rem}.biometric-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;font-size:1rem}.biometric-icon{font-size:1.5rem}.error-message{color:var(--error);font-size:.875rem;margin-top:.5rem;text-align:center}.pin-login-section{margin-bottom:1.5rem}.pin-login-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;text-align:center}.pin-input-container{margin-bottom:1rem}.pin-input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;letter-spacing:.5rem;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-weight:600}.pin-input:focus{border-color:var(--primary-color);outline:none}@media (max-width: 480px){.auth-content{padding:1rem;margin:0}.auth-page-body{padding:.5rem}.passkey-benefits-grid{grid-template-columns:1fr 1fr}.passkey-benefit-text span{display:none}}.auth-page .app-header{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.auth-page .app-header .app-logo{max-width:min(220px,calc(100vw - 120px))}.auth-back-btn{position:absolute;left:clamp(.75rem,3vw,1rem);background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-secondary, #71717a);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.auth-back-btn:hover{color:var(--text-primary, #111111);background:rgba(0,0,0,.05)}[data-theme=dark] .auth-back-btn:hover{color:#fff;background:rgba(255,255,255,.1)}.auth-back-btn svg{width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px)}.auth-page-new{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#ffffff;width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}[data-theme=dark] .auth-page-new{background:#0a0a0a}.auth-content-new{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2rem);padding-top:clamp(1rem,3vh,2rem);width:100%;max-width:400px;margin:0 auto;box-sizing:border-box}.auth-content-signup{justify-content:flex-start;padding-top:clamp(.25rem,1vh,.5rem);padding-bottom:clamp(1rem,2vh,1.5rem)}.auth-content-signup .auth-icon{width:clamp(48px,10vw,56px);height:clamp(48px,10vw,56px);margin-bottom:clamp(.5rem,1vh,.75rem)}.auth-content-signup .auth-icon svg{width:clamp(24px,5vw,28px);height:clamp(24px,5vw,28px)}.auth-content-signup .auth-title-new{font-size:clamp(1.25rem,4vw,1.5rem);margin-bottom:.15rem}.auth-content-signup .auth-subtitle-new{font-size:clamp(.8rem,2.5vw,.9rem);margin-bottom:clamp(.5rem,1.5vh,.75rem)}.auth-content-signup .auth-form-new{gap:clamp(.5rem,1.5vh,.75rem)}.auth-content-signup .auth-input-group{gap:.2rem}.auth-content-signup .auth-input-label{font-size:clamp(.7rem,2vw,.75rem)}.auth-content-signup .auth-input{padding:clamp(.5rem,2vw,.65rem) clamp(.75rem,2.5vw,.85rem);font-size:clamp(.85rem,3vw,.9rem);border-radius:10px}.auth-content-signup .auth-submit-btn{padding:clamp(.7rem,2.5vw,.85rem);font-size:clamp(.9rem,3vw,1rem);margin-top:clamp(.25rem,1vh,.5rem)}.auth-content-signup .auth-footer-new{margin-top:clamp(.5rem,1.5vh,.75rem);font-size:clamp(.8rem,2.5vw,.85rem)}.auth-icon{width:clamp(64px,15vw,80px);height:clamp(64px,15vw,80px);border-radius:50%;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);display:flex;align-items:center;justify-content:center;margin-bottom:clamp(.75rem,2vh,1.25rem);box-shadow:0 8px 32px #6366f14d}.auth-icon svg{width:clamp(28px,7vw,40px);height:clamp(28px,7vw,40px);color:#fff}.auth-title-new{font-size:clamp(1.5rem,5vw,2rem);font-weight:700;color:var(--text-primary, #111111);margin:0 0 .25rem;text-align:center}[data-theme=dark] .auth-title-new{color:#fff}.auth-subtitle-new{font-size:clamp(.85rem,3vw,1rem);color:var(--text-secondary, #71717a);margin:0 0 clamp(1rem,3vh,1.5rem) 0;text-align:center}.auth-form-new{width:100%;display:flex;flex-direction:column;gap:clamp(.75rem,2vh,1rem)}.auth-input-row{display:flex;gap:clamp(.5rem,2vw,.75rem)}.auth-input-row .auth-input-group{flex:1}.auth-input-group{display:flex;flex-direction:column;gap:.35rem}.auth-input-label{font-size:clamp(.75rem,2.5vw,.85rem);font-weight:500;color:var(--text-secondary, #71717a)}.auth-input{width:100%;padding:clamp(.65rem,2.5vw,.85rem) clamp(.85rem,3vw,1rem);background:var(--background, #f4f4f5);border:1px solid var(--border, #e5e7eb);border-radius:12px;font-size:clamp(.9rem,3.5vw,1rem);color:var(--text-primary, #111111);transition:all .2s ease;box-sizing:border-box}[data-theme=dark] .auth-input{background:rgba(255,255,255,.05);border-color:#ffffff1a;color:#fff}.auth-input:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f126}.auth-input::placeholder{color:var(--text-tertiary, #a1a1aa)}[data-theme=dark] .auth-input::placeholder{color:#fff6}.auth-input-wrapper{position:relative;width:100%}.auth-input-password{padding-right:clamp(2.5rem,10vw,3rem)}.auth-password-toggle{position:absolute;right:clamp(.65rem,2.5vw,.85rem);top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary, #71717a);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.auth-password-toggle:hover{color:var(--primary, #6366f1)}.auth-password-toggle svg{width:clamp(18px,4.5vw,22px);height:clamp(18px,4.5vw,22px)}.auth-forgot-link{font-size:clamp(.8rem,2.5vw,.9rem);color:var(--primary, #6366f1);text-decoration:none;text-align:right;margin-top:-.25rem;transition:opacity .2s ease}.auth-forgot-link:hover{opacity:.8}.auth-submit-btn{width:100%;padding:clamp(.85rem,3vw,1rem);background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:12px;font-size:clamp(.95rem,3.5vw,1.1rem);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;margin-top:clamp(.5rem,1.5vh,.75rem)}.auth-submit-btn:hover:not(:disabled){box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:clamp(.75rem,2.5vw,.9rem);background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;font-size:clamp(.9rem,3vw,1rem);font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition-base);box-sizing:border-box}.auth-google-btn:hover{background:var(--background);border-color:var(--text-tertiary);box-shadow:0 2px 8px #00000014}.auth-google-btn svg{flex-shrink:0}.auth-google-form{margin:0}.auth-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-footer-new{font-size:clamp(.85rem,3vw,.95rem);color:var(--text-secondary, #71717a);margin-top:clamp(1rem,3vh,1.5rem);text-align:center}.auth-footer-link{color:var(--primary, #6366f1);text-decoration:none;font-weight:600;transition:opacity .2s ease}.auth-footer-link:hover{opacity:.8}@media (max-width: 400px){.auth-input-row{flex-direction:column;gap:clamp(.75rem,2vh,1rem)}}.scroll-to-top-btn{position:fixed;bottom:calc(110px + env(safe-area-inset-bottom,0px));right:16px;z-index:1001;width:44px;height:44px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:all .2s ease;animation:fadeInUp .25s ease-out}.scroll-to-top-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000040;background:var(--primary-dark, var(--primary-color))}.scroll-to-top-btn:active{transform:translateY(0);box-shadow:0 2px 8px #0003}[data-theme=dark] .scroll-to-top-btn{box-shadow:0 4px 16px #0006}[data-theme=dark] .scroll-to-top-btn:hover{box-shadow:0 6px 20px #00000080}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.scroll-to-top-btn{width:48px;height:48px;bottom:calc(110px + env(safe-area-inset-bottom,0px));right:16px}}.home-page{padding-top:calc(16px + var(--home-search-h, 56px));margin-top:calc(-1 * var(--space-md));display:flex;flex-direction:column;gap:12px}@media (max-width: 480px){.home-page{padding-top:max(calc(16px + var(--home-search-h, 56px)),72px)}}.home-page>.card{margin-bottom:0}.home-error-text-wrap{padding:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.home-empty-text{padding:1rem;color:var(--text-secondary);text-align:center}.home-empty-text-left{padding:1rem;color:var(--text-secondary)}.home-load-more-wrap{padding:1rem;text-align:center;color:var(--text-secondary)}.home-load-more-sentinel{height:1px}.home-search-container{position:fixed;top:calc(var(--app-header-h, 56px) + 12px);left:var(--space-md);right:var(--space-md);width:calc(100vw - 2 * var(--space-md));max-width:calc(100vw - 2 * var(--space-md));box-sizing:border-box;z-index:1200;padding:.625rem 0;background:var(--background);box-shadow:0 2px 10px #00000014}[data-theme=dark] .home-search-container{box-shadow:0 2px 14px #00000047}@media (min-width: 768px){.home-search-container{left:var(--space-md);right:var(--space-md);width:calc(100vw - 2 * var(--space-md));max-width:calc(100% - 2 * var(--space-md));transform:none;border-radius:0}}.order-search-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--primary-lightest);border:1px solid var(--primary-color);border-radius:var(--radius-md);color:var(--primary-color);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);text-align:left}.order-search-btn:hover{background:var(--primary-color);color:#fff}.order-search-btn span{flex:1}.order-search-btn svg:last-child{opacity:.7}.home-search-container .search-input-container{position:relative;display:flex;align-items:center}.home-search-container .search-icon{position:absolute;left:1rem;color:var(--text-secondary);pointer-events:none}.home-search-container svg.search-icon{width:16px;height:16px}.home-search-container .search-input{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;background:var(--surface);color:var(--text-primary);transition:all var(--transition-base)}.home-search-container .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest)}.home-search-container .search-input::placeholder{color:var(--text-secondary)}.home-search-container .clear-search-btn{position:absolute;right:.75rem;background:transparent;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1}.home-search-container .clear-search-btn:hover{color:var(--text-primary)}.home-search-results{position:fixed;left:var(--space-md);width:calc(100vw - 2 * var(--space-md));max-width:calc(100vw - 2 * var(--space-md));right:auto;box-sizing:border-box;top:calc(var(--app-header-h, 56px) + 12px + var(--home-search-h, 56px));max-height:calc(100dvh - (var(--app-header-h, 56px) + 12px + var(--home-search-h, 56px) + 24px));overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;margin-bottom:0;animation:fadeInUp .2s ease-out;z-index:1250;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:0}.search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:1190;touch-action:none;overscroll-behavior:none}.home-search-results .search-results-header{padding:.5rem 1rem;border-bottom:1px solid var(--border-light);background:var(--background);margin-bottom:0}.home-search-results .search-results-header .card-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.home-search-results .services-list{max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.home-search-results .service-item{display:flex;flex-direction:column;padding:.625rem .75rem;background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all var(--transition-base);gap:.375rem}.home-search-results .service-item:hover{background:var(--primary-lightest);transform:translate(2px)}.home-search-results .service-item-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home-search-results .service-item-id{display:inline-flex;align-items:center;gap:.25rem}.home-search-results .service-item-id-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.home-search-results .service-item-id-value{font-size:.875rem;font-weight:600;color:var(--primary-color)}.home-search-results .service-item-price-section{display:flex;flex-direction:column;align-items:flex-end}.home-search-results .service-item-price{font-size:.875rem;font-weight:700;color:var(--success)}.home-search-results .service-item-price-label{font-size:.75rem;color:var(--text-secondary)}.home-search-results .service-item-name{font-weight:600;color:var(--text-primary)}.home-search-results .service-item-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.home-search-results .service-detail-column{display:flex;flex-direction:column;gap:.125rem}.home-search-results .service-detail-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.home-search-results .service-detail-value{font-size:.8125rem;color:var(--text-primary);font-weight:500}.home-balance-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--surface);border-radius:var(--radius-md);margin-top:0;margin-bottom:0;cursor:pointer;transition:all var(--transition-base);border:1px solid var(--border-light)}.home-balance-row:hover{background:var(--background);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.home-balance-icon{display:flex;align-items:center;justify-content:center;color:#007aff;flex-shrink:0}[data-theme=dark] .home-balance-icon{color:var(--primary-color)}.home-balance-label{font-size:.875rem;font-weight:500;color:var(--text-primary);flex:1}.home-balance-amount{font-size:.9375rem;color:var(--text-secondary);font-weight:400;margin-right:.25rem}.home-balance-arrow{color:var(--text-secondary);flex-shrink:0}.balance-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:var(--space-xl);margin-bottom:var(--space-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;animation:fadeInUp .5s var(--transition-base)}.balance-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-10%,-10%) rotate(180deg)}}.balance-label{font-size:.875rem;opacity:.9;margin-bottom:.5rem}.balance-amount{font-size:2.5rem;font-weight:700}.stats-compact{display:flex;gap:.5rem;margin-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}.stats-compact::-webkit-scrollbar{display:none}.stat-chip{flex:1;min-width:0;background:var(--surface);border-radius:var(--radius-md);padding:.625rem .75rem;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:.125rem}.stat-chip-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.stat-chip-value{font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-chip-value-accent{color:var(--primary-color)}.stat-chip-badge{font-size:.875rem;font-weight:600;margin-top:.125rem;white-space:nowrap}.stat-chip-badge.up{color:#22c55e}.stat-chip-badge.down{color:#ef4444}[data-theme=dark] .stat-chip-badge.up{color:#4ade80}[data-theme=dark] .stat-chip-badge.down{color:#f87171}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.announcements-header .card-title{margin:0}.view-all-link{font-size:.875rem;color:var(--primary-color);background:transparent;border:none;cursor:pointer;padding:.25rem 0;font-weight:500;transition:opacity .15s}.view-all-link:hover{opacity:.8;text-decoration:underline}.announcements-scroll-container{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-secondary) var(--background);margin-right:-.5rem;padding-right:.5rem;margin-left:0;padding-left:0;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji}.announcements-scroll-container::-webkit-scrollbar{width:6px}.announcements-scroll-container::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.announcements-scroll-container::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:3px}.announcements-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.announcement-item-compact{display:flex;flex-direction:column;padding:.5rem .625rem;background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;gap:.25rem;margin-bottom:.375rem}.announcement-item-compact:last-child{margin-bottom:0}.announcement-item-compact:hover{transform:translate(4px);box-shadow:var(--shadow-sm)}.announcement-item-compact.announcement-type-new:hover{background:rgba(34,197,94,.08);border-color:#22c55e}.announcement-item-compact.announcement-type-update:hover{background:rgba(59,130,246,.08);border-color:#3b82f6}.announcement-item-compact.announcement-type-warning:hover{background:rgba(239,68,68,.08);border-color:#ef4444}.announcement-item-compact.announcement-type-promo:hover{background:rgba(245,158,11,.08);border-color:#f59e0b}.announcement-item-compact.announcement-type-info:hover{background:var(--primary-lightest);border-color:var(--primary-color)}.announcement-item-compact.announcement-pinned{border-left:3px solid #f6ad55}.announcement-item-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.announcement-type-indicator{display:none}.announcement-tag{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:.2rem .5rem;border-radius:4px}.announcement-tag-new{color:#fff;background:#34d399}.announcement-tag-update{color:#fff;background:#60a5fa}.announcement-tag-warning{color:#fff;background:#f87171}.announcement-tag-promo{color:#fff;background:#f6ad55}.announcement-tag-info{color:#fff;background:#94a3b8}.announcement-pinned-tag{font-size:.5rem;font-weight:600;color:#fff;background:#f6ad55;padding:.2rem .5rem;border-radius:4px}.announcement-date-compact{font-size:.75rem;color:var(--text-tertiary);margin-left:auto;font-weight:400}.announcement-title-compact{font-weight:500;font-size:1rem;color:var(--text-primary);line-height:1.3;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji}.announcement-content-expanded{margin-top:.375rem;padding-top:.375rem;border-top:1px solid var(--border-light);font-size:.8rem;color:var(--text-secondary);line-height:1.5;animation:expandContent .2s ease-out;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji,var(--font-sans)}@keyframes expandContent{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.announcements-footer{padding:.625rem 1rem;border-top:1px solid var(--border-light);background:var(--background)}.view-all-btn{width:100%;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:all .15s;display:flex;align-items:center;justify-content:center;gap:.375rem}.view-all-btn:hover{background:var(--surface);border-color:var(--primary-color);color:var(--primary-color)}.view-all-btn svg{transition:transform .15s}.view-all-btn:hover svg{transform:translate(2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));animation:overlayFadeIn .15s ease-out;-webkit-tap-highlight-color:transparent;cursor:pointer}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.7)}.announcements-modal{background:var(--surface);border-radius:12px;width:90%;max-width:480px;max-height:min(80vh,80dvh);display:flex;flex-direction:column;animation:modalFadeIn .2s ease-out;box-shadow:0 4px 24px #0000001f;cursor:default;overflow:hidden;box-sizing:border-box}@media (max-width: 640px){.modal-overlay{padding:.75rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.announcements-modal{width:100%;max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:var(--radius-md)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.announcements-modal .modal-header{padding-left:1rem;padding-right:1rem;box-sizing:border-box}.modal-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close-btn{background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;min-width:32px;min-height:32px}.modal-close-btn:hover{background:var(--background);color:var(--text-primary)}.modal-close-btn:active{transform:scale(.95)}.modal-close-btn svg{width:18px;height:18px}.announcements-modal .modal-content.announcements-modal-content{max-width:none}.announcements-modal-content{padding:.75rem 1rem 1.25rem;overflow-y:auto;scroll-behavior:smooth;display:flex;flex-direction:column;gap:0;width:100%;flex:1;box-sizing:border-box;min-width:0;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji;scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.announcements-modal-content::-webkit-scrollbar{width:4px}.announcements-modal-content::-webkit-scrollbar-track{background:transparent}.announcements-modal-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.announcements-modal-content .announcement-item-full{width:100%;min-width:0;box-sizing:border-box}.announcement-item-full{display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border-light);margin-bottom:.5rem;gap:.375rem}.announcement-item-full:last-child{margin-bottom:0}.announcement-item-full.announcement-pinned{border-left:3px solid #f6ad55}.announcement-item-full.announcement-type-new{border-left:3px solid #34d399}.announcement-item-full.announcement-type-update{border-left:3px solid #60a5fa}.announcement-item-full.announcement-type-warning{border-left:3px solid #f87171}.announcement-item-full.announcement-type-promo{border-left:3px solid #f6ad55}.announcement-item-full.announcement-type-info{border-left:3px solid var(--text-tertiary)}.announcement-item-full-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.announcement-badge-full{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:.2rem .5rem;border-radius:4px}.announcement-badge-full.announcement-badge-new{color:#fff;background:#34d399}.announcement-badge-full.announcement-badge-update{color:#fff;background:#60a5fa}.announcement-badge-full.announcement-badge-warning{color:#fff;background:#f87171}.announcement-badge-full.announcement-badge-promo{color:#fff;background:#f6ad55}.announcement-badge-full.announcement-badge-info{color:#fff;background:#94a3b8}.pinned-badge{font-size:.5rem;font-weight:600;color:#fff;background:#f6ad55;padding:.2rem .5rem;border-radius:4px}.announcement-date-full{font-size:.875rem;color:var(--text-tertiary);margin-left:auto;font-weight:400}.announcement-title-full{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0;line-height:1.3;font-family:var(--font-sans),"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji}.announcement-content-full{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Android Emoji",emoji,var(--font-sans)}.announcements-modal-content .btn-secondary{margin-top:.75rem}[data-theme=dark] .announcements-count{background:var(--surface-elevated)}[data-theme=dark] .announcement-item-compact,[data-theme=dark] .announcement-item-full{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .announcement-item-compact.announcement-type-new:hover{background:rgba(52,211,153,.15);border-color:#34d399}[data-theme=dark] .announcement-item-compact.announcement-type-update:hover{background:rgba(96,165,250,.15);border-color:#60a5fa}[data-theme=dark] .announcement-item-compact.announcement-type-warning:hover{background:rgba(248,113,113,.15);border-color:#f87171}[data-theme=dark] .announcement-item-compact.announcement-type-promo:hover{background:rgba(246,173,85,.15);border-color:#f6ad55}[data-theme=dark] .announcement-item-compact.announcement-type-info:hover{background:rgba(99,102,241,.15);border-color:var(--primary-color)}[data-theme=dark] .announcement-tag-info,[data-theme=dark] .announcement-badge-full.announcement-badge-info{background:#64748b}[data-theme=dark] .announcements-footer{background:var(--surface-elevated)}[data-theme=dark] .announcements-modal{background:var(--surface);box-shadow:0 4px 32px #0006}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;background:transparent;border:none;text-align:left;font-size:1rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:color var(--transition-base)}.faq-question:hover{color:var(--primary-color)}.faq-answer{padding:0;color:var(--text-secondary);font-size:.875rem;line-height:1.6;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.faq-answer-expanded{max-height:500px;opacity:1;padding:0 0 1rem}.faq-answer-collapsed{max-height:0;opacity:0;padding:0}.faq-icon{color:var(--text-secondary);font-size:.875rem}.services-preview{display:flex;flex-direction:column;gap:.75rem}.service-preview-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--background);border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer}.service-preview-item:hover{background:var(--primary-lightest);transform:translate(4px)}.service-preview-name{font-weight:500;color:var(--text-primary)}.service-preview-price{font-size:.875rem;color:var(--primary-color);font-weight:600}.card.services-list-card{margin-top:0;overflow-x:clip;overflow-y:visible;padding-top:0}.services-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.services-header .card-title{margin:0}.search-toggle-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base);flex-shrink:0}.search-toggle-btn:hover{background:var(--primary-lightest);color:var(--primary-color)}.search-toggle-btn svg{width:20px;height:20px}.services-search-container{margin-bottom:1rem;animation:slideDown .2s ease-out}.services-search-input-wrapper{position:relative;display:flex;align-items:center}.services-search-icon{position:absolute;left:.75rem;font-size:1rem;color:var(--text-secondary);pointer-events:none;z-index:1}.services-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;background:var(--surface);color:var(--text-primary);transition:all var(--transition-base)}.services-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest)}.services-search-clear{position:absolute;right:.75rem;background:transparent;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1;display:flex;align-items:center;justify-content:center;z-index:1}.services-search-clear:hover{color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:100px;transform:translateY(0)}}.services-list-container{overflow:visible;padding-right:0;padding-top:0}.service-category-group:last-child{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.service-category-group{margin-bottom:1rem}.service-category-group:last-child{margin-bottom:0}.service-category-header{position:-webkit-sticky;position:sticky;top:52px;z-index:10;background:var(--surface);padding:.5rem 0;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px #0000000d;border-bottom:1px solid var(--border-light)}.service-category-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.service-category-count{font-size:.875rem;color:var(--text-secondary);background:var(--background);padding:.25rem .5rem;border-radius:var(--radius-md);font-weight:500}.services-list{display:flex;flex-direction:column;gap:.375rem;padding:0}.service-item{display:flex;flex-direction:column;padding:.4rem .6rem;background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all var(--transition-base);cursor:pointer;gap:.375rem}@media (max-width: 767px){.card.services-list-card{padding:0!important;overflow:visible!important;position:relative}.services-header{background:var(--surface);padding:.75rem var(--space-md);margin:0;border-bottom:1px solid var(--border-light)}.services-search-container{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--surface);padding:.5rem var(--space-md);margin:0;border-bottom:1px solid var(--border-light)}.services-list-container{padding:0 var(--space-md)}.service-category-header{position:-webkit-sticky;position:sticky;top:52px;z-index:10;background:var(--surface);padding:.5rem var(--space-md);margin:0 calc(-1 * var(--space-md));margin-bottom:.5rem;border-bottom:1px solid var(--border-light)}.service-category-title{font-size:1.0625rem}.service-category-count{font-size:.75rem;padding:.125rem .375rem}.service-category-group{margin-bottom:1rem}.services-list{gap:.5rem}.service-item{padding:.625rem .75rem;gap:.375rem;border-radius:var(--radius-md);background:var(--background)}.service-item-header{margin-bottom:.125rem}.service-item-id-label{font-size:.75rem}.service-item-id-value{font-size:.875rem}.service-item-price{font-size:.9375rem}.service-item-price-label{font-size:.6875rem}.service-item-name{font-size:.875rem;line-height:1.3;margin-bottom:.25rem}.service-item-details-grid{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.25rem .5rem!important;align-items:center!important;margin-top:.25rem}.service-detail-column{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.25rem!important;white-space:nowrap}.service-detail-column:not(:last-child):after{content:"·";color:var(--text-secondary);margin-left:.375rem;font-weight:700;font-size:.75rem}.service-detail-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:0;color:var(--text-secondary)}.service-detail-value{font-size:.8125rem;font-weight:600}}.service-item:hover{background:var(--primary-lightest);border-color:var(--primary-color);transform:translate(4px);box-shadow:var(--shadow-sm)}.service-item-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.service-item-id{display:flex;align-items:center;gap:.25rem}.service-item-id-value{margin-right:0}.service-item-id-label{font-size:.8125rem;color:var(--text-secondary);font-weight:400}.service-item-id-value{font-size:.9375rem;color:var(--text-primary);font-weight:500}.service-item-price-section{display:flex;flex-direction:column;align-items:flex-end;gap:.0625rem}.service-item-price{font-size:1rem;color:var(--text-primary);font-weight:600;white-space:nowrap;line-height:1.2}.service-item-price-label{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;line-height:1.2}.service-item-name{font-size:.9375rem;font-weight:500;color:var(--text-primary);line-height:1.3;width:100%;margin:0}.service-item-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.375rem;width:100%;margin-top:0}.service-detail-column{display:flex;flex-direction:column;gap:.25rem}.service-detail-label{font-size:.875rem;color:var(--text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:.3px}.service-detail-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.copy-btn{background:transparent;border:none;cursor:pointer;padding:0;color:var(--text-secondary);transition:all .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;vertical-align:middle;line-height:1;margin-left:.0625rem}.copy-btn:hover{background:var(--primary-lightest);color:var(--primary-color);transform:scale(1.1)}.copy-btn:active{transform:scale(.95)}.copy-btn svg{width:12px;height:12px}.loading-indicator{padding:2rem;text-align:center}.services-list-container::-webkit-scrollbar{width:6px}.services-list-container::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.services-list-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.services-list-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.loading-text{color:var(--text-secondary);font-size:.875rem;font-weight:400}.error-text{color:var(--error-color, #ef4444);font-size:.875rem;font-weight:400}.service-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));animation:fadeIn .2s ease-in}.service-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%;max-height:min(85vh,85dvh);overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.service-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.service-modal-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.service-modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base);line-height:1}.service-modal-close:hover{background:var(--background);color:var(--text-primary)}.service-modal-content{padding:.75rem 1rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.service-modal-info{display:flex;flex-direction:column;gap:0}.service-modal-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.service-modal-row:last-of-type{border-bottom:none}.service-modal-label{font-weight:500;color:var(--text-secondary);font-size:.8125rem;flex-shrink:0}.service-modal-value{color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:right;flex:1;word-break:break-word}.service-modal-description{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--border)}.service-modal-description-text{margin-top:.375rem;color:var(--text-secondary);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;max-height:120px;overflow-y:auto;scroll-behavior:smooth}.service-modal-footer{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);justify-content:flex-end;flex-shrink:0}.service-modal-create-btn{min-width:120px;font-weight:600}@media (max-width: 640px){.service-modal-overlay{padding:.75rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.service-modal{max-width:100%;max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:var(--radius-md)}.service-modal-header{padding:.625rem .875rem}.service-modal-title{font-size:.9375rem}.service-modal-content{padding:.5rem .875rem}.service-modal-row{padding:.375rem 0;gap:.5rem}.service-modal-label{font-size:.75rem}.service-modal-value{font-size:.8125rem}.service-modal-description-text{max-height:80px;font-size:.75rem}.service-modal-footer{padding:.625rem .875rem}.service-modal-footer .btn{padding:.5rem .75rem;font-size:.875rem}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;background-color:var(--background, #f8fafc)}#root{width:100%;max-width:100vw;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--background, #f8fafc);overflow-x:hidden;position:relative}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--primary-lighter: #c7d2fe;--primary-lightest: #eef2ff;--secondary-color: #8b5cf6;--secondary-dark: #7c3aed;--secondary-light: #a78bfa;--background: #f8fafc;--surface: #ffffff;--surface-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--success: #10b981;--success-light: #d1fae5;--success-dark: #059669;--warning: #f59e0b;--warning-light: #fef3c7;--warning-dark: #d97706;--error: #ef4444;--error-light: #fee2e2;--error-dark: #dc2626;--info: #3b82f6;--info-light: #dbeafe;--info-dark: #2563eb;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--primary-color: #0a84ff;--primary-dark: #0051d5;--primary-light: #409cff;--primary-lighter: #64b5f6;--primary-lightest: rgba(10, 132, 255, .15);--secondary-color: #0071e3;--secondary-dark: #005bb5;--secondary-light: #1a73e8;--background: #0d1117;--surface: #161b22;--surface-elevated: #21262d;--text-primary: #f0f6fc;--text-secondary: #c9d1d9;--text-tertiary: #8b949e;--border: #30363d;--border-light: #21262d;--success: #10b981;--success-light: #064e3b;--success-dark: #059669;--warning: #f59e0b;--warning-light: #78350f;--warning-dark: #d97706;--error: #ef4444;--error-light: #7f1d1d;--error-dark: #dc2626;--info: #3b82f6;--info-light: #1e3a8a;--info-dark: #2563eb;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5), 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .7)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:var(--background);color:var(--text-primary);line-height:1.6;font-size:16px;margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary);margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin:0;line-height:1.6}.page-title{margin:0;text-align:center;font-weight:700;letter-spacing:-.02em;line-height:1.15;font-size:1.75rem}.page-header{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:.125rem 0 .75rem}.page-header-actions{display:flex;justify-content:center;align-items:center}@media (max-width: 480px){.page-title{font-size:1.6rem}}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-shell{min-height:100vh;min-height:100dvh;width:100%}.not-found-page{padding:var(--space-xl);text-align:center}.not-found-page h2{margin-bottom:var(--space-md)}.not-found-page p{color:var(--text-secondary);margin-bottom:var(--space-lg)}.not-found-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.route-fallback{padding:var(--space-md);color:var(--text-secondary);text-align:center}.error-boundary{padding:var(--space-xl);text-align:center;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--background)}.error-boundary h1{color:var(--error);margin-bottom:var(--space-md)}.error-boundary p{color:var(--text-secondary);margin-bottom:var(--space-md)}.error-boundary .error-boundary-btn{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem}.error-boundary details{margin-top:var(--space-xl);text-align:left;max-width:600px}.error-boundary summary{cursor:pointer;color:var(--text-secondary)}.error-boundary pre{margin-top:var(--space-md);padding:var(--space-md);background:var(--border-light);border-radius:var(--radius-md);overflow:auto;font-size:.875rem}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit;outline:none}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--background)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);transition:all var(--transition-base);border:1px solid var(--border-light)}[data-theme=dark] .card{border-color:var(--border)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}[data-theme=dark] .card:hover{border-color:var(--border-light)}.card:active{transform:translateY(0)}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.btn{padding:.75rem 1.5rem;min-height:44px;border-radius:var(--radius-md);font-size:1rem;font-weight:500;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;position:relative;overflow:hidden;cursor:pointer;border:none}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:disabled,.btn-primary.btn-loading{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--background);border-color:var(--border-light)}[data-theme=dark] .btn-secondary:hover{background:var(--surface-elevated);border-color:var(--border-light)}.btn-ghost{background:transparent;color:var(--primary-color)}.btn-ghost:hover{background:var(--background)}[data-theme=dark] .btn-ghost:hover{background:var(--surface)}.input-group{margin-bottom:1rem}.input-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;background:var(--surface);color:var(--text-primary);transition:all var(--transition-base)}[data-theme=dark] .input{background:var(--surface-elevated);border-color:var(--border)}.input:hover:not(:disabled){border-color:var(--primary-light)}[data-theme=dark] .input:hover:not(:disabled){border-color:var(--border-light)}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest)}[data-theme=dark] .input:focus{box-shadow:0 0 0 3px #7c3aed33}.input:disabled{opacity:.6;cursor:not-allowed;background:var(--background)}.input:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest)}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.input-error{border-color:var(--error)}.input-error-message{color:var(--error);font-size:.875rem;margin-top:.25rem}.input-with-icon{position:relative}.input-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}[data-theme=dark] .badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:#fef3c7;color:#92400e}[data-theme=dark] .badge-warning{background:var(--warning-light);color:var(--warning)}.badge-error{background:#fee2e2;color:#991b1b}[data-theme=dark] .badge-error{background:var(--error-light);color:var(--error)}.badge-info{background:#dbeafe;color:#1e40af}[data-theme=dark] .badge-info{background:var(--info-light);color:var(--info)}.badge-neutral{background:var(--background);color:var(--text-secondary)}.tag{display:inline-block;padding:.25rem .5rem;background:var(--background);color:var(--text-secondary);border-radius:4px;font-size:.875rem;margin-right:.5rem;margin-bottom:.25rem}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-secondary);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider:before{margin-right:.5rem}.divider:after{margin-left:.5rem}.spinner{border:2px solid var(--border);border-top:2px solid var(--primary-color);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}button,a,.nav-item{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}@supports (padding: max(0px)){.main-layout{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}}@media (display-mode: standalone){body{position:relative}}*{touch-action:auto}button,a,input,textarea,select,.nav-item{touch-action:manipulation}html,body,#root,.main-layout,.main-content,.home-page{touch-action:pan-y pan-x pinch-zoom;-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-slow) var(--transition-base)}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) var(--transition-base)}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) var(--transition-base)}.animate-slide-in-right{animation:slideInRight var(--transition-slow) var(--transition-base)}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) var(--transition-base)}.animate-scale-in{animation:scaleIn var(--transition-slow) var(--transition-base)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md);-webkit-overflow-scrolling:touch}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}.text-responsive{font-size:clamp(.875rem,2.5vw,1rem)}.heading-responsive{font-size:clamp(1.5rem,5vw,2rem)}@media (max-width: 640px){.hide-mobile{display:none!important}}@media (min-width: 641px){.show-mobile{display:none!important}}.grid-responsive{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width: 768px){button,a,.clickable{min-height:44px;min-width:44px}}@supports (padding: max(0px)){.safe-top{padding-top:max(var(--space-md),env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(var(--space-md),env(safe-area-inset-bottom))}.safe-left{padding-left:max(var(--space-md),env(safe-area-inset-left))}.safe-right{padding-right:max(var(--space-md),env(safe-area-inset-right))}}.page-container,.new-order-page,.orders-page,.tickets-page,.account-page,.home-page,.auth-container,.auth-page,.auth-page-body,.auth-content{width:100%;max-width:100%;overflow-x:clip;box-sizing:border-box}.card{width:100%;max-width:100%;box-sizing:border-box;overflow-x:clip}@media (max-width: 768px){.card-title,.section-title,.page-title{word-wrap:break-word;overflow-wrap:break-word}button,input,select,textarea{max-width:100%;box-sizing:border-box}}
