.pin-input-container{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--space-2)}.pin-input{--background: var(--color-input-bg);--color: var(--color-text-primary);--placeholder-color: var(--color-input-placeholder);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;flex:1 1 0;min-width:0;text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-md);height:52px;margin:0;caret-color:var(--color-brand-primary);transition:border-color var(--motion-duration-fast) var(--motion-ease-out),box-shadow var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}.pin-input::part(native){background:var(--color-input-bg);color:var(--color-text-primary);text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);padding:0;caret-color:var(--color-brand-primary)}.pin-input:focus-within{border-color:var(--color-brand-primary);background:var(--color-input-bg-focus);box-shadow:0 0 0 3px rgba(var(--color-brand-primary-rgb),.22)}.pin-input:focus-within::part(native){background:var(--color-input-bg-focus)}ion-item:has(>.pin-input-container){--background: transparent;--padding-start: 0;--padding-end: 0;--inner-padding-end: 0;--inner-padding-start: 0;--min-height: 52px;--border-color: transparent}.resend-button-container{display:flex;justify-content:flex-end;margin-top:16px}.resend-button{font-size:.6rem}.resend-text{font-size:.8rem;margin-left:8px}.tutorial-modal{--width: 100%;--height: 100%;--border-radius: 0}.tutorial-modal::part(backdrop){background:#000c;backdrop-filter:blur(10px)}.tutorial-content{--background: linear-gradient(180deg, var(--color-surface-1) 0%, var(--color-surface-canvas) 100%);--padding-top: 0;--padding-bottom: 0}.tutorial-close-button{position:absolute;top:16px;right:16px;z-index:1000}.tutorial-close-button ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 50%;width:40px;height:40px}.tutorial-header{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-brand-primary-pressed) 100%);padding:40px 24px 32px;text-align:center;border-bottom:3px solid rgba(255,255,255,.1)}.tutorial-logo{margin-bottom:16px}.logo-text{font-size:3rem;font-weight:900;color:var(--color-text-primary);text-shadow:2px 2px 8px rgba(0,0,0,.3);letter-spacing:2px}.tutorial-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.tutorial-subtitle{font-size:.95rem;color:var(--color-text-primary);line-height:1.5;max-width:400px;margin:0 auto}.tutorial-slides{height:calc(100vh - 450px);min-height:300px;padding:0}.tutorial-slides .swiper-wrapper{height:100%}.tutorial-slide{display:flex;align-items:flex-start;justify-content:flex-start;padding:24px;height:auto}.slide-content{width:100%;max-width:600px;margin:0 auto}.slide-step{display:flex;align-items:center;gap:20px;margin-bottom:24px}.step-number{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-brand-primary-pressed) 100%);width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #2dd36f4d}.step-number span{font-size:1.5rem;font-weight:900;color:var(--color-text-primary);text-shadow:0 2px 4px rgba(0,0,0,.2)}.step-icon{width:60px;height:60px;background:#ffffff0d;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.1)}.icon-emoji{font-size:2rem}.slide-text{text-align:left}.slide-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.slide-description{font-size:.95rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 16px}.slide-tips{list-style:none;padding:0;margin:16px 0 0}.slide-tips li{font-size:.9rem;color:var(--color-text-secondary);padding:8px 0 8px 28px;position:relative;line-height:1.5}.slide-tips li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:700;font-size:1.1rem}.slide-image{margin-top:20px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.slide-image img{width:100%;height:auto;display:block}.tutorial-progress{display:flex;justify-content:center;align-items:center;gap:12px;padding:20px 24px;background:#0003}.progress-dot{width:10px;height:10px;border-radius:50%;background:#fff3;transition:all .3s ease;cursor:pointer}.progress-dot.active{width:32px;border-radius:5px;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-brand-primary-pressed) 100%);box-shadow:0 2px 8px #2dd36f66}.progress-dot.completed{background:#2dd36f80}.tutorial-footer{padding:16px 24px 20px;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.dont-show-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:16px;justify-content:center}.dont-show-wrapper ion-checkbox{--size: 20px;--background-checked: var(--color-success);--border-color-checked: var(--color-success)}.dont-show-text{font-size:.9rem;color:var(--color-text-secondary);user-select:none}.tutorial-buttons{display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-prev,.btn-skip{--color: var(--color-text-secondary);font-size:.9rem;font-weight:600}.btn-prev:hover,.btn-skip:hover{--color: var(--color-text-primary)}.btn-next{--background: linear-gradient(135deg, var(--color-success) 0%, var(--color-brand-primary-pressed) 100%);--color: var(--color-text-primary);font-weight:700;font-size:1rem;--border-radius: 12px;--padding-start: 24px;--padding-end: 24px;height:48px;box-shadow:0 4px 16px #2dd36f4d;flex:1;max-width:200px;margin-left:auto}.btn-next:hover{--background: linear-gradient(135deg, var(--color-brand-primary-pressed) 0%, var(--color-success) 100%);box-shadow:0 6px 20px #2dd36f66}.tutorial-branding{padding:20px 24px 24px;text-align:center;background:#0003;border-top:1px solid rgba(255,255,255,.05)}.branding-text{font-size:1rem;color:var(--color-text-primary);margin:0 0 12px;font-weight:500}.branding-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;font-size:.85rem;color:var(--color-text-tertiary)}@media (max-width: 576px){.tutorial-header{padding:32px 20px 24px}.tutorial-title{font-size:1.4rem}.tutorial-subtitle{font-size:.85rem}.tutorial-slides{height:calc(100vh - 420px)}.tutorial-slides .swiper-wrapper{height:100%}.tutorial-slide{padding:16px}.slide-step{gap:16px;margin-bottom:20px}.step-number{width:48px;height:48px}.step-number span{font-size:1.3rem}.step-icon{width:52px;height:52px}.icon-emoji{font-size:1.75rem}.slide-title{font-size:1.25rem}.slide-description{font-size:.9rem}.tutorial-buttons{flex-wrap:wrap}.btn-next{flex:1;max-width:100%;order:-1}.btn-prev,.btn-skip{flex:1}}@media (min-width: 768px){.tutorial-modal{--width: 90%;--height: 90%;--border-radius: 24px}.tutorial-slides{height:calc(90vh - 450px)}.tutorial-slides .swiper-wrapper{height:100%}.slide-content{max-width:700px}}@media (min-width: 1024px){.tutorial-modal{--width: 800px;--height: 85%}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-content{animation:slideInUp .5s ease-out}@media (prefers-reduced-motion: reduce){.tutorial-content,.slide-content,.progress-dot,.btn-next{animation:none!important;transition:none!important}}.tutorial-buttons ion-button:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.logo-image{height:60px;width:auto}.scanner-content{--background: transparent}.scan-frame{position:relative;width:300px;height:300px;margin:50% auto 0;transform:translateY(-50%);border:2px solid #ffffff;border-radius:12px;box-shadow:0 0 0 9999px #00000080}.scan-corners:before,.scan-corners:after{content:"";position:absolute;width:30px;height:30px;border:3px solid #00ff00}.scan-corners:before{top:-2px;left:-2px;border-right:none;border-bottom:none;border-top-left-radius:12px}.scan-corners:after{top:-2px;right:-2px;border-left:none;border-bottom:none;border-top-right-radius:12px}.scan-line{position:absolute;width:100%;height:2px;background:linear-gradient(90deg,transparent,#00ff00,transparent);top:50%;animation:scan 2s ease-in-out infinite}@keyframes scan{0%,to{top:0%}50%{top:100%}}.mobile-scanner-overlay{position:fixed;inset:0;z-index:var(--z-modal);pointer-events:none}.scan-instruction{position:absolute;bottom:100px;left:50%;transform:translate(-50%);color:var(--color-text-primary);font-size:16px;text-align:center;background:#000000b3;padding:12px 24px;border-radius:8px}.qr-scanner-web{width:100%;height:100%}.qr-scanner-web video{width:100%;height:100%;object-fit:cover;border-radius:12px}.more-popover{--min-width: 180px;--height: auto;--max-height: 800px;--offset-y: -10px;--border-radius: var(--radius-md);--background: var(--color-surface-2);--color: var(--color-text-primary);--box-shadow: var(--shadow-3);color:var(--color-text-primary)}.more-popover ion-content{--background: var(--color-surface-2);--color: var(--color-text-primary)}.more-popover ion-list{background:var(--color-surface-2);color:var(--color-text-primary);padding:var(--space-1)}.more-popover ion-item{--background: transparent;--color: var(--color-text-primary);--border-color: var(--color-border-subtle)}.more-popover ion-item:hover{--background: var(--color-row-bg-hover)}.more-popover ion-item ion-icon[slot=start]{color:var(--color-text-secondary)}.more-popover .menu-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.game-container{min-height:100vh;background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-pressed) 100%);display:flex;align-items:center;justify-content:center;font-family:system-ui,-apple-system,sans-serif;padding:20px}.game-card{background:#fffffff2;border-radius:24px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;position:relative}.connection-status{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;color:var(--color-text-primary);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.connection-status.online{background:#10b981}.connection-status.offline{background:#ef4444}.status-dot{width:8px;height:8px;border-radius:50%;background:#fff}.connection-status.offline .status-dot{animation:pulse 2s infinite}.game-title{font-size:42px;margin:0 0 10px;color:#1f2937;font-weight:800}.game-subtitle{color:#6b7280;font-size:16px;margin:0 0 30px}.score-container{display:flex;justify-content:space-around;margin-bottom:40px;gap:20px}.score-box{flex:1;padding:20px;border-radius:16px;color:var(--color-text-primary)}.player-score{background:linear-gradient(135deg,#3b82f6 0%,var(--color-info) 100%)}.computer-score{background:linear-gradient(135deg,#ef4444,#dc2626)}.score-label{font-size:14px;opacity:.9;margin-bottom:5px}.score-value{font-size:48px;font-weight:800}.vs-text{display:flex;align-items:center;font-size:24px;color:#9ca3af;font-weight:700}.game-over{padding:40px;border-radius:16px;color:var(--color-text-primary);margin-bottom:20px}.game-over.won{background:linear-gradient(135deg,#10b981 0%,var(--color-brand-primary-pressed) 100%)}.game-over.lost{background:linear-gradient(135deg,#ef4444,#dc2626)}.game-over-emoji{font-size:72px;margin-bottom:10px}.game-over-title{font-size:36px;margin:0 0 10px}.game-over-score{font-size:18px;opacity:.9;margin:0}.round-result{padding:20px;border-radius:12px;margin-bottom:20px;font-size:24px;font-weight:700;animation:shake .5s}.round-result.win{background:#d1fae5;color:#065f46}.round-result.lose{background:#fee2e2;color:#991b1b}.round-result.draw{background:#e5e7eb;color:#374151}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.choices-display{display:flex;justify-content:space-around;margin-bottom:30px;gap:20px}.choice-box{flex:1;padding:20px;background:#f3f4f6;border-radius:12px}.choice-emoji{font-size:64px;margin-bottom:10px}.choice-label{font-size:14px;color:#6b7280;text-transform:capitalize}.action-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.choice-button{padding:20px 30px;font-size:48px;border:none;border-radius:16px;background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-pressed) 100%);color:var(--color-text-primary);cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(var(--color-brand-primary-rgb),.4);min-width:120px}.choice-button:hover:not(.disabled){transform:scale(1.05);box-shadow:0 6px 20px rgba(var(--color-brand-primary-rgb),.6)}.choice-button.disabled{opacity:.6;cursor:not-allowed;transform:scale(.95)}.choice-button:active:not(.disabled){transform:scale(.98)}.reset-button{padding:15px 40px;font-size:18px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-pressed) 100%);color:var(--color-text-primary);cursor:pointer;font-weight:600;box-shadow:0 4px 15px rgba(var(--color-brand-primary-rgb),.4);transition:all .3s}.reset-button:hover{transform:scale(1.05)}.reset-button:active{transform:scale(.98)}.round-counter{margin-top:30px;color:#9ca3af;font-size:14px}@media (max-width: 640px){.game-card{padding:20px}.game-title{font-size:32px}.score-value{font-size:36px}.choice-button{font-size:36px;padding:15px 20px;min-width:90px}.connection-status{top:10px;right:10px;font-size:12px;padding:6px 12px}}.floating-chat-bubble{position:fixed;bottom:80px;right:16px;z-index:var(--z-toast);background:linear-gradient(135deg,var(--color-surface-1) 0%,var(--color-surface-3) 100%);border:1px solid var(--color-brand-primary);border-radius:16px;padding:12px 16px;box-shadow:0 4px 20px #19ef9a4d,0 2px 8px #00000080;max-width:280px;min-width:200px;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bubble-dismiss{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-danger);border:2px solid var(--color-surface-1);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-size:14px;z-index:1}.bubble-dismiss:active{transform:scale(.9)}.bubble-dismiss ion-icon{font-size:12px}.bubble-content{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.bubble-icon{position:relative;width:44px;height:44px;background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-primary-pressed) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bubble-icon ion-icon{font-size:22px;color:var(--color-text-primary)}.bubble-badge{position:absolute;top:-6px;right:-6px;background:var(--color-brand-primary);color:var(--color-surface-canvas);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--color-surface-1)}.bubble-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bubble-sender{font-size:12px;font-weight:600;color:var(--color-brand-primary)}.bubble-message{font-size:13px;color:var(--color-text-primary);line-height:1.3;word-break:break-word}.bubble-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.bubble-action-btn{padding:6px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.bubble-action-btn.view{background:var(--color-brand-primary);color:var(--color-surface-canvas)}.bubble-action-btn.view:active{transform:scale(.95);background:var(--color-brand-primary-pressed)}.floating-chat-bubble:before{content:"";position:absolute;inset:0;border-radius:16px;border:2px solid var(--color-brand-primary);animation:pulse 2s infinite;pointer-events:none}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.spotlight-backdrop{position:absolute;inset:0;background:#000000d9;z-index:1}.spotlight-backdrop-light{position:absolute;inset:0;background:#000000b3;z-index:1}.spotlight-cutout{position:absolute;z-index:2;background:#ffffff26;border-radius:var(--radius-sm);box-shadow:0 0 0 9999px #000000d9,0 0 30px 10px rgba(var(--color-brand-primary-rgb),.5),inset 0 0 20px #ffffff1a;border:2px solid var(--color-brand-primary)}.spotlight-more-button{bottom:4px;right:4px;width:68px;height:52px;border-radius:8px}.spotlight-cutout:before{content:"More";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-brand-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);opacity:0}.spotlight-cutout:after{content:"";position:absolute;inset:-6px;border:2px solid rgba(var(--color-brand-primary-rgb),.6);border-radius:var(--radius-md);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.08)}}.spotlight-tooltip{position:absolute;z-index:3;background:linear-gradient(145deg,var(--color-surface-2),var(--color-surface-1));color:var(--color-text-primary);border-radius:var(--radius-lg);padding:var(--space-5);max-width:320px;width:calc(100% - 32px);box-shadow:var(--shadow-3);border:1px solid rgba(var(--color-brand-primary-rgb),.4);animation:fadeInUp .3s var(--motion-ease-out)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spotlight-tooltip-more{bottom:80px;left:50%;transform:translate(-50%)}.spotlight-tooltip-more:after{content:"";position:absolute;bottom:-10px;right:30px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--color-surface-1)}.spotlight-tooltip-menu-info{top:50%;left:50%;transform:translate(-50%,-50%);max-width:340px}.spotlight-close{position:absolute;top:var(--space-2);right:var(--space-2);background:transparent;border:none;color:var(--color-text-tertiary);font-size:24px;cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--motion-duration-fast) var(--motion-ease-out)}.spotlight-close:hover,.spotlight-close:active{color:var(--color-text-primary)}.spotlight-content h3{margin:0 0 var(--space-3) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.spotlight-content p{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.spotlight-features-list{margin:var(--space-3) 0 0 0;padding-left:0;list-style:none}.spotlight-features-list li{font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:5px 0 5px 22px;position:relative}.spotlight-features-list li:before{content:"✓";position:absolute;left:0;color:var(--color-brand-primary);font-weight:700}.menu-items-info{display:flex;flex-direction:column;gap:14px;margin-top:12px}.menu-item-info{display:flex;align-items:flex-start;gap:12px}.menu-item-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.menu-item-info strong{display:block;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:2px;font-weight:var(--font-weight-semibold)}.menu-item-info p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.spotlight-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.spotlight-actions ion-button{--border-radius: 8px;font-size:14px;text-transform:none}@media (max-width: 360px){.spotlight-tooltip{padding:16px;max-width:290px}.spotlight-content h3{font-size:16px}.spotlight-content p{font-size:13px}.spotlight-features-list li{font-size:12px;padding:4px 0 4px 20px}.menu-item-info strong{font-size:13px}.menu-item-info p{font-size:11px}.menu-item-icon{font-size:18px}}.cashback-modal{--border-radius: 16px 16px 0 0;--box-shadow: 0 -10px 40px rgba(0, 0, 0, .3);--background: linear-gradient(135deg, var(--color-surface-2) 0%, var(--color-surface-3) 50%, rgba(var(--color-brand-primary-rgb), .15) 100%)}.cashback-modal::part(backdrop){background:#0009}.cashback-modal::part(handle){background:#ffffff4d;width:40px;height:4px}.cashback-content{--background: transparent;padding:20px;position:relative}.cashback-close-button{position:absolute;top:10px;right:10px;z-index:10}.cashback-close-button ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 50%;width:36px;height:36px;font-size:20px}.cashback-header{text-align:center;padding:30px 20px 20px}.cashback-gift-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--color-brand-primary),#2E7D32);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:pulse 2s infinite}.cashback-gift-icon ion-icon{font-size:40px;color:var(--color-text-primary)}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(var(--color-brand-primary-rgb),.4)}50%{transform:scale(1.05);box-shadow:0 0 20px 10px rgba(var(--color-brand-primary-rgb),.2)}}.cashback-title{color:var(--color-text-primary);font-size:24px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.cashback-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.cashback-tiers{display:flex;flex-direction:column;gap:12px;padding:0 10px;margin-bottom:20px}.cashback-tier{background:#ffffff14;border-radius:12px;padding:14px 16px;border-left:4px solid;transition:transform .2s ease}.cashback-tier:active{transform:scale(.98)}.tier-1{border-left-color:#64b5f6}.tier-2{border-left-color:var(--ca-green-300)}.tier-3{border-left-color:#ffb74d}.tier-4{border-left-color:#f06292;background:#f0629226}.tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tier-name{color:var(--color-text-secondary);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.tier-cashback{color:var(--color-brand-primary);font-size:16px;font-weight:700}.tier-4 .tier-cashback{color:#f06292}.tier-range{color:var(--color-text-primary);font-size:15px;font-weight:600;margin-bottom:4px}.tier-description{color:var(--color-text-tertiary);font-size:12px}.cashback-info{background:#ffffff0d;border-radius:12px;padding:16px;margin:0 10px 20px}.cashback-info .info-item{display:flex;align-items:center;gap:10px;color:var(--color-text-primary);font-size:13px;padding:8px 0}.cashback-info .info-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.cashback-info .info-icon{color:var(--color-brand-primary);font-size:18px;flex-shrink:0}.cashback-cta{padding:0 10px;margin-bottom:16px}.topup-cta-button{--background: linear-gradient(135deg, var(--color-brand-primary), #2E7D32);--background-activated: #1B5E20;--border-radius: 12px;--box-shadow: 0 4px 15px rgba(var(--color-brand-primary-rgb), .4);height:52px;font-size:16px;font-weight:600;text-transform:none}.cashback-footer{text-align:center;padding-bottom:20px}.cashback-footer p{color:var(--color-text-tertiary);font-size:11px;margin:0}.charging-session-card-home{margin:0;background:linear-gradient(135deg,rgba(var(--ion-color-dark-rgb),.95),rgba(var(--ion-color-dark-shade-rgb),.98));border-radius:20px;box-shadow:0 4px 20px #0006;border:1px solid var(--color-border-default);cursor:pointer;transition:all .3s ease;position:relative;overflow:visible}.charging-session-card-home:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000080;border-color:rgba(var(--ion-color-primary-rgb),.3)}.card-content-compact{padding:16px!important;display:flex;flex-direction:column;gap:12px}.status-indicator-compact{display:flex;align-items:center;gap:8px;margin-bottom:4px}.status-dot{width:10px;height:10px;border-radius:50%;position:relative}.status-dot.charging{background:var(--ion-color-success);box-shadow:0 0 12px #2dd36f99;animation:pulseGlow 2s ease-in-out infinite}.status-dot.preparing{background:var(--ion-color-warning);box-shadow:0 0 12px #ffc10799;animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.status-text{font-size:.9rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.info-row-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.stat-item-compact{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.stat-item-compact.cost-highlight{background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb),.1),rgba(var(--ion-color-success-rgb),.05));border-radius:12px;padding:8px 12px;border:1px solid rgba(var(--ion-color-success-rgb),.2)}.stat-icon-compact{font-size:24px;color:var(--color-text-secondary);flex-shrink:0}.stat-content-compact{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value-compact{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-value{color:var(--ion-color-success);font-size:1.2rem}.stat-label-compact{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.action-row-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(var(--ion-color-light-rgb),.1)}.status-badge-compact{padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:700;letter-spacing:.3px}.tap-hint{font-size:.85rem;color:var(--color-text-secondary);font-weight:600;display:flex;align-items:center;gap:4px;transition:color .2s ease}.charging-session-card-home:hover .tap-hint{color:var(--ion-color-primary)}@media (max-width: 576px){.card-content-compact{padding:14px!important;gap:10px}.info-row-compact{gap:8px}.stat-value-compact{font-size:1rem}.cost-value{font-size:1.1rem}.stat-label-compact{font-size:.65rem}.tap-hint{font-size:.8rem}.status-badge-compact{font-size:.75rem;padding:5px 10px}}@media (min-width: 768px){.card-content-compact{padding:20px!important;gap:14px}.stat-value-compact{font-size:1.2rem}.cost-value{font-size:1.3rem}}.charging-session-card-home:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.charging-session-card-home,.status-dot{animation:none!important;transition:none!important}}.charging-session-card-home.loading{opacity:.6;pointer-events:none}.charging-session-card-home.loading .stat-value-compact{animation:shimmer 1.5s infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.modal-vehicle-options{--height: 50vh;--width: 90vw;--border-radius: 12px;backdrop-filter:blur(2px)}.modal-wrapper{display:flex;flex-direction:column;justify-content:space-between;height:100%}.avatar-circle{border:1px solid var(--ion-color-medium)}.vehicle-option-item{border:1px solid var(--ion-color-medium);margin:15px}.vehicle-option-footer{display:flex;justify-content:space-between;padding:10px;bottom:0;width:100%;margin-top:auto}.textHeader{font-size:20px;color:var(--color-text-primary);text-align:left;margin:20px}.custom-radio{--color-checked: var(--ion-color-success);--color: var(--color-text-primary);--border-radius: 50%;--border-width: 1px;--border-style: solid;width:20px;height:20px;--background: var(--ion-color-success)}.custom-radio::part(container){border-radius:50%;border:1px solid var(--ion-color-light);width:25px;height:25px}.custom-radio-selected::part(container){background-color:var(--ion-color-success)}.vehicle-avatar-wrapper{position:relative;display:inline-block}.vehicle-avatar-wrapper .avatar-circle{width:56px;height:56px}.vehicle-avatar-wrapper .avatar-circle img{object-fit:contain;padding:4px;background:#ffffff0d}.vehicle-type-badge-small{position:absolute;bottom:-4px;right:-4px;padding:2px 6px;border-radius:10px;font-size:.6rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;box-shadow:0 1px 4px #0000004d;border:2px solid var(--ion-background-color, #1a1a2e)}.vehicle-type-label{font-size:.75rem;font-weight:600;margin-top:2px}.spotlight-overlay{position:fixed;inset:0;z-index:var(--z-spotlight);pointer-events:auto}.spotlight-svg{position:absolute;top:0;left:0;width:100%;height:100%}.spotlight-ring{position:absolute;border:3px solid var(--color-brand-primary);border-radius:12px;box-shadow:0 0 0 4px rgba(var(--color-brand-primary-rgb),.3),0 0 20px rgba(var(--color-brand-primary-rgb),.4);animation:pulse-ring 2s ease-in-out infinite;pointer-events:none}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 4px rgba(var(--color-brand-primary-rgb),.3),0 0 20px rgba(var(--color-brand-primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--color-brand-primary-rgb),.2),0 0 30px rgba(var(--color-brand-primary-rgb),.5)}}.spotlight-tooltip{position:absolute;width:280px;background:linear-gradient(145deg,var(--color-surface-2),var(--color-surface-1));color:var(--color-text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);border:1px solid var(--color-border-default);animation:tooltip-appear .3s var(--motion-ease-out)}@keyframes tooltip-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spotlight-pointer{position:absolute;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--color-surface-2)}.spotlight-content{padding:16px}.spotlight-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.spotlight-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.spotlight-close{background:none;border:none;color:var(--color-text-tertiary);font-size:20px;cursor:pointer;padding:0;margin:-4px -4px 0 8px;display:flex;align-items:center;justify-content:center;transition:color var(--motion-duration-fast) var(--motion-ease-out)}.spotlight-close:hover{color:var(--color-text-primary)}.spotlight-description{margin:0 0 var(--space-4) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.spotlight-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.spotlight-progress{display:flex;gap:6px}.spotlight-progress .progress-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-strong);transition:all var(--motion-duration-base) var(--motion-ease-out)}.spotlight-progress .progress-dot.active{background:var(--color-brand-primary);transform:scale(1.2)}.spotlight-progress .progress-dot.completed{background:var(--color-brand-primary)}.spotlight-buttons{display:flex;gap:var(--space-2)}.spotlight-buttons .btn-skip{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-2) var(--space-3);transition:color var(--motion-duration-fast) var(--motion-ease-out)}.spotlight-buttons .btn-skip:hover{color:var(--color-text-primary)}.spotlight-buttons .btn-next{display:flex;align-items:center;gap:var(--space-1);background:var(--color-brand-primary);border:none;color:var(--color-on-brand);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-ease-out)}.spotlight-buttons .btn-next:hover{background:var(--color-brand-primary-hover);transform:translateY(-1px)}.spotlight-buttons .btn-next ion-icon{font-size:16px}@media (max-width: 360px){.spotlight-tooltip{width:260px}.spotlight-title{font-size:14px}.spotlight-description{font-size:13px}}.reservation-warning-alert .alert-wrapper{background:var(--color-surface-2)!important;border-radius:20px;border:2px solid var(--ion-color-warning)}.reservation-warning-alert .alert-head{background:var(--color-surface-2)!important;padding:24px 24px 12px}.reservation-warning-alert .alert-title{color:var(--ion-color-warning)!important;font-size:22px;font-weight:700}.reservation-warning-alert .alert-sub-title{color:var(--color-text-secondary)!important;font-size:14px;margin-top:4px}.reservation-warning-alert .alert-message{color:var(--color-text-primary)!important;font-size:15px;line-height:1.6;padding:0 24px 24px;white-space:pre-line}.reservation-warning-alert .alert-button-group{padding:0 16px 16px}.reservation-warning-alert .alert-button{background:var(--ion-color-warning)!important;color:var(--ion-color-warning-contrast)!important;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);min-height:48px}.reservation-warning-banner{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#ffc40926,#ff980026);border:1px solid rgba(255,196,9,.4);border-radius:16px;padding:16px;margin:12px 16px;animation:warningPulse 3s ease-in-out infinite}@keyframes warningPulse{0%,to{border-color:#ffc40966;box-shadow:0 0 #ffc40900}50%{border-color:#ffc409b3;box-shadow:0 0 20px #ffc40933}}.reservation-warning-banner.compact{padding:12px;margin:8px 12px}.warning-icon-container{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-warning) 0%,#ff9800 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:iconBounce 2s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.reservation-warning-banner.compact .warning-icon-container{width:36px;height:36px}.warning-icon{font-size:24px;color:var(--ion-color-warning-contrast)}.reservation-warning-banner.compact .warning-icon{font-size:20px}.warning-content{flex:1;min-width:0}.warning-title{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--ion-color-warning)}.reservation-warning-banner.compact .warning-title{font-size:14px}.warning-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.reservation-warning-banner.compact .warning-text{font-size:12px;line-height:1.4}.warning-dismiss{background:var(--color-row-bg-hover);border:none;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-ease-out)}.warning-dismiss:hover{background:var(--color-row-bg-press)}.warning-dismiss ion-icon{font-size:18px;color:var(--color-text-secondary)}.session-stopped-alert .alert-wrapper{background:var(--color-surface-2)!important;border-radius:20px;border:2px solid var(--ion-color-danger)}.session-stopped-alert .alert-head{background:var(--color-surface-2)!important;padding:24px 24px 12px}.session-stopped-alert .alert-title{color:var(--ion-color-danger)!important;font-size:22px;font-weight:700}.session-stopped-alert .alert-sub-title{color:var(--color-text-secondary)!important;font-size:14px;margin-top:4px}.session-stopped-alert .alert-message{color:var(--color-text-primary)!important;font-size:15px;line-height:1.6;padding:0 24px 24px}.session-stopped-alert .alert-button{color:var(--ion-color-danger)!important;font-weight:600}.other-session-stopped-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#19ef9a1a,#19ef9a33);border:1px solid rgba(25,239,154,.4);border-radius:12px;padding:14px 16px;margin:12px 16px}.stopped-icon-container{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-success) 0%,#10c97a 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stopped-icon{font-size:20px;color:var(--color-on-brand)}.stopped-content{flex:1}.stopped-text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-primary);line-height:var(--line-height-snug)}.reservation-warning-inline{display:flex;align-items:center;gap:6px;background:#ffc40926;border-radius:8px;padding:6px 10px;margin-top:8px}.reservation-warning-inline ion-icon{font-size:16px;color:var(--ion-color-warning)}.reservation-warning-inline span{font-size:11px;color:var(--ion-color-warning);font-weight:500}.charger-card{margin:10px;border:1px solid #dcdcdc;border-radius:8px;box-shadow:0 2px 4px #0000001a}.card-title{display:flex;justify-content:space-between;align-items:center;font-size:24px}.title-bold{font-weight:700;color:var(--color-text-primary)}.rating{font-size:16px;color:var(--color-text-primary)}.card-content{display:flex;flex-direction:column;color:var(--color-text-primary)}.address{margin-bottom:8px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-container{display:flex;justify-content:space-between;align-items:center}.availability{font-weight:700}.available{color:var(--ion-color-success)}.unavailable{color:red}.distance{font-size:14px}.session-limits-modal::part(backdrop){background:#000000b3}.session-limits-modal::part(content){display:flex;align-items:center;justify-content:center;--width: auto;--height: auto;--min-width: 320px;--max-width: 92%;--border-radius: 24px;--box-shadow: 0 8px 32px rgba(0, 0, 0, .4);background:transparent}.session-limits-modal .modal-box{background:linear-gradient(180deg,#2e2e2e,#1e1e1e);padding:24px 20px;border-radius:24px;max-width:380px;width:100%;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);position:relative;max-height:85vh;overflow-y:auto}.session-limits-modal .close-button{position:absolute;top:16px;right:16px;border:none;background:#ffffff1a;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.session-limits-modal .close-button:hover{background:#ffffff26;color:var(--color-text-primary)}.session-limits-modal .close-button ion-icon{font-size:18px}.session-limits-modal .modal-title{margin:0 0 20px;font-weight:700;font-size:22px;color:#f6f8fc;text-align:center;letter-spacing:.3px}.session-limits-modal .error-message{background:#c5000f26;border:1px solid rgba(197,0,15,.3);color:#ff6b6b;padding:12px 14px;border-radius:12px;font-size:13px;margin-bottom:16px;text-align:center}.session-limits-modal .limit-section{margin-bottom:16px;background:#ffffff08;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.06)}.session-limits-modal .limit-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.session-limits-modal .limit-icon{font-size:22px}.session-limits-modal .time-icon{color:var(--color-info)}.session-limits-modal .energy-icon{color:var(--color-brand-primary)}.session-limits-modal .price-icon{color:#ffc409}.session-limits-modal .limit-label{font-weight:600;font-size:16px;color:#f6f8fc}.session-limits-modal .limit-input-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.session-limits-modal .limit-input{flex:1;border:1px solid rgba(255,255,255,.12);border-radius:12px;--padding-start: 14px;--padding-end: 14px;--background: rgba(255, 255, 255, .05);--color: #f6f8fc;--placeholder-color: var(--color-text-disabled);font-size:15px;height:48px;transition:border-color .2s ease}.session-limits-modal .limit-input:focus-within{border-color:var(--color-brand-primary)}.session-limits-modal .input-prefix{font-size:18px;font-weight:600;color:#f6f8fc}.session-limits-modal .input-suffix{font-size:14px;color:var(--color-text-tertiary);white-space:nowrap}.session-limits-modal .warning-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff05;border-radius:10px;margin-top:8px}.session-limits-modal .warning-row ion-checkbox{--size: 20px;--checkbox-background: rgba(255, 255, 255, .1);--checkbox-background-checked: var(--color-brand-primary);--border-color: var(--color-border-strong);--border-color-checked: var(--color-brand-primary);--checkmark-color: #1E1E1E}.session-limits-modal .warning-label{font-size:13px;color:var(--color-text-tertiary)}.session-limits-modal .warning-input{width:65px;border:1px solid rgba(255,255,255,.12);border-radius:10px;--padding-start: 10px;--padding-end: 10px;--background: rgba(255, 255, 255, .05);--color: #f6f8fc;--placeholder-color: var(--color-text-disabled);font-size:14px;height:38px}.session-limits-modal .warning-input:focus-within{border-color:var(--color-brand-primary)}.session-limits-modal .section-divider{display:none}.session-limits-modal .info-note{display:flex;align-items:flex-start;gap:10px;background:#19ef9a14;border:1px solid rgba(25,239,154,.2);padding:12px 14px;border-radius:12px;margin:8px 0 16px}.session-limits-modal .info-icon{color:var(--color-brand-primary);font-size:20px;flex-shrink:0;margin-top:1px}.session-limits-modal .info-note span{font-size:13px;color:var(--color-text-secondary);line-height:1.5}.session-limits-modal .wallet-balance{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-bottom:16px}.session-limits-modal .wallet-balance span{font-size:14px;color:var(--color-text-tertiary)}.session-limits-modal .balance-amount{font-weight:700;font-size:16px;color:var(--color-brand-primary)!important}.session-limits-modal .dont-ask-row{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:12px;background:#ffffff05;border-radius:10px}.session-limits-modal .dont-ask-row ion-checkbox{--size: 20px;--checkbox-background: rgba(255, 255, 255, .1);--checkbox-background-checked: rgba(255, 255, 255, .3);--border-color: var(--color-border-strong);--border-color-checked: rgba(255, 255, 255, .4);--checkmark-color: #1E1E1E}.session-limits-modal .dont-ask-label{font-size:14px;color:var(--color-text-tertiary)}.session-limits-modal .save-btn{--background: linear-gradient(135deg, var(--color-brand-primary) 0%, var(--color-brand-primary-pressed) 100%);--background-hover: linear-gradient(135deg, var(--color-brand-primary-pressed) 0%, var(--color-brand-primary-pressed) 100%);--border-radius: 14px;font-weight:700;color:#1e1e1e;height:52px;margin-bottom:12px;text-transform:none;font-size:16px;letter-spacing:.3px;--box-shadow: 0 4px 16px rgba(25, 239, 154, .3)}.session-limits-modal .save-btn::part(native){transition:all .3s ease}.session-limits-modal .save-btn:hover::part(native){transform:translateY(-1px);--box-shadow: 0 6px 20px rgba(25, 239, 154, .4)}.session-limits-modal .save-btn:disabled{--background: rgba(255, 255, 255, .1);color:var(--color-text-disabled);--box-shadow: none}.session-limits-modal .skip-btn{display:block;width:100%;background:none;border:none;color:var(--color-text-tertiary);font-size:14px;padding:12px;cursor:pointer;transition:color .2s ease}.session-limits-modal .skip-btn:hover{color:var(--color-text-secondary)}.session-limits-modal .modal-box::-webkit-scrollbar{width:4px}.session-limits-modal .modal-box::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.session-limits-modal .modal-box::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.session-limits-modal .modal-box::-webkit-scrollbar-thumb:hover{background:#ffffff40}.session-limits-card{margin:12px 0;border-radius:16px;--background: rgba(255, 255, 255, .08);border:1px solid rgba(255,255,255,.1);transition:border-color .3s ease}.session-limits-card.status-warning{border-color:#ffc10766}.session-limits-card.status-hit{border-color:#cf080f66}.session-limits-card ion-card-content{padding:16px}.session-limits-card .limits-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.session-limits-card .limits-title-section{display:flex;flex-direction:column;gap:6px}.session-limits-card .limits-title{font-weight:700;font-size:16px;color:var(--color-text-primary)}.session-limits-card .overall-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;width:fit-content}.session-limits-card .overall-status-badge ion-icon{font-size:12px}.session-limits-card .overall-status-badge.status-active{background:#19ef9a26;color:var(--color-brand-primary)}.session-limits-card .overall-status-badge.status-warning{background:#ffc10726;color:var(--color-warning)}.session-limits-card .overall-status-badge.status-hit{background:#cf080f26;color:#ff6b6b}.session-limits-card .limits-actions{display:flex;gap:0}.session-limits-card .limits-actions ion-button{--padding-start: 6px;--padding-end: 6px;height:32px}.session-limits-card .limits-actions ion-icon{font-size:18px}.session-limits-card .limits-summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.session-limits-card .summary-text{font-size:12px;color:var(--color-text-tertiary)}.session-limits-card .limits-content{display:flex;flex-direction:column;gap:14px}.session-limits-card .limit-row{background:#ffffff0a;border-radius:12px;padding:14px;border:1px solid rgba(255,255,255,.06);transition:border-color .3s ease,background-color .3s ease}.session-limits-card .limit-row.status-warning{border-color:#ffc10740;background:#ffc1070d}.session-limits-card .limit-row.status-hit{border-color:#cf080f40;background:#cf080f0d}.session-limits-card .limit-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.session-limits-card .limit-info{display:flex;align-items:center;gap:8px}.session-limits-card .limit-icon{font-size:18px}.session-limits-card .limit-icon.time{color:var(--color-info)}.session-limits-card .limit-icon.energy{color:var(--color-brand-primary)}.session-limits-card .limit-icon.price{color:var(--color-warning)}.session-limits-card .limit-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.session-limits-card .status-indicator{font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px}.session-limits-card .status-indicator.status-active{background:#19ef9a26;color:var(--color-brand-primary)}.session-limits-card .status-indicator.status-warning{background:#ffc10726;color:var(--color-warning)}.session-limits-card .status-indicator.status-hit{background:#cf080f26;color:#ff6b6b}.session-limits-card .limit-values{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}.session-limits-card .current-value,.session-limits-card .limit-value{display:flex;align-items:baseline;gap:4px}.session-limits-card .current-value .value{font-size:20px;font-weight:700;color:var(--color-text-primary)}.session-limits-card .current-value .unit{font-size:11px;color:var(--color-text-tertiary)}.session-limits-card .separator{font-size:16px;color:var(--color-text-disabled);margin:0 2px}.session-limits-card .limit-value .value{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.session-limits-card .limit-value .unit{font-size:10px;color:var(--color-text-disabled)}.session-limits-card .progress-bar-container{height:8px;background:#ffffff1f;border-radius:4px;overflow:visible;position:relative;margin-bottom:10px}.session-limits-card .progress-bar{height:100%;border-radius:4px;transition:width .5s ease-out,background-color .3s ease;box-shadow:0 0 8px #19ef9a4d}.session-limits-card .limit-row.status-warning .progress-bar{box-shadow:0 0 8px #ffc1074d}.session-limits-card .limit-row.status-hit .progress-bar{box-shadow:0 0 8px #cf080f4d}.session-limits-card .warning-marker{position:absolute;top:-2px;width:2px;height:12px;background:#ffc107cc;border-radius:1px;transform:translate(-50%)}.session-limits-card .warning-marker:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#ffc107;border-radius:50%}.session-limits-card .limit-footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.session-limits-card .remaining-text{font-size:12px;color:var(--color-text-tertiary)}.session-limits-card .limit-row.status-hit .remaining-text{color:#ff6b6b;font-weight:600}.session-limits-card .warning-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--color-warning);background:#ffc10726;padding:3px 8px;border-radius:4px}.session-limits-card .warning-badge ion-icon{font-size:11px}.session-limits-card .limits-footer{display:flex;align-items:flex-start;gap:8px;border-top:1px solid rgba(255,255,255,.08);background:#19ef9a0d;margin:16px -16px -16px;padding:12px 16px;border-radius:0 0 16px 16px}.session-limits-card .limits-footer .info-icon{font-size:16px;color:var(--color-brand-primary);flex-shrink:0;margin-top:1px}.session-limits-card .limits-footer span{font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.rating-modal{--border-radius: 16px;--box-shadow: 0 -10px 40px rgba(0, 0, 0, .3);--background: linear-gradient(135deg, var(--color-surface-2) 0%, var(--color-surface-3) 50%, rgba(var(--color-brand-primary-rgb), .15) 100%);--height: auto;--max-height: 90%;--width: 92%;--max-width: 400px}.rating-modal::part(backdrop){background:#0009}.rating-content{--background: transparent;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));position:relative}.rating-close-button{position:absolute;top:10px;right:10px;z-index:10}.rating-close-button ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 50%;width:36px;height:36px;font-size:20px}.rating-header{text-align:center;padding:20px 20px 12px}.rating-heart-icon{width:60px;height:60px;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;animation:heartbeat 1.5s infinite}.rating-heart-icon ion-icon{font-size:30px;color:var(--color-text-primary)}@keyframes heartbeat{0%,to{transform:scale(1);box-shadow:0 0 #ff6b6b66}50%{transform:scale(1.08);box-shadow:0 0 20px 10px #ff6b6b33}}.rating-title{color:var(--color-text-primary);font-size:22px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.rating-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0;line-height:1.4}.rating-stars{display:flex;justify-content:center;gap:12px;padding:12px 0 16px}.rating-star{font-size:36px;color:var(--color-text-disabled);cursor:pointer;transition:all .2s ease}.rating-star.filled{color:var(--color-warning);transform:scale(1.1)}.rating-star:active{transform:scale(.95)}.rating-actions{padding:0 10px 20px;display:flex;flex-direction:column;gap:12px}.rate-now-button{--background: linear-gradient(135deg, var(--color-brand-primary), #2E7D32);--background-activated: #1B5E20;--border-radius: 12px;--box-shadow: 0 4px 15px rgba(var(--color-brand-primary-rgb), .4);height:50px;font-size:16px;font-weight:600;text-transform:none}.remind-later-button{--border-color: var(--color-text-disabled);--color: var(--color-text-secondary);--border-radius: 12px;height:46px;font-size:14px;font-weight:500;text-transform:none}.remind-later-button:hover{--border-color: var(--color-text-tertiary)}.ca-theme-toggle{--background: var(--color-surface-3);border-radius:var(--radius-md);padding:var(--space-1);gap:var(--space-1);min-height:44px}.ca-theme-toggle .ca-theme-toggle__btn{--background: transparent;--background-checked: var(--color-brand-primary-subtle);--background-hover: var(--color-row-bg-hover);--color: var(--color-text-secondary);--color-checked: var(--color-brand-primary);--color-hover: var(--color-text-primary);--indicator-color: transparent;--indicator-box-shadow: none;--border-radius: var(--radius-sm);--padding-start: var(--space-2);--padding-end: var(--space-2);--padding-top: var(--space-1);--padding-bottom: var(--space-1);min-height:36px;text-transform:none;letter-spacing:0;transition:color var(--motion-duration-fast) var(--motion-ease-out)}.ca-theme-toggle__inner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ca-theme-toggle__inner ion-icon{font-size:18px}.ca-theme-toggle__inner ion-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.transactions-list,ion-content.transactions-content,.transactions-wrapper ion-content{--background: var(--color-surface-2);background:var(--color-surface-2)}.transactions-list{padding:8px 0}.transaction-group{margin-bottom:24px}.date-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:0 4px}.date-label{color:var(--color-text-tertiary);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.date-divider{flex:1;height:1px;background:linear-gradient(to right,rgba(var(--ion-color-medium-rgb),.3),transparent)}.transaction-card{margin:0 0 12px;border-radius:16px;background:var(--color-surface-2);border:1px solid var(--color-border-subtle);transition:all .3s ease;overflow:visible}.transaction-card.clickable{cursor:pointer}.transaction-card.clickable:hover{transform:translate(4px);border-color:rgba(var(--ion-color-success-rgb),.3);background:var(--color-surface-2);box-shadow:0 4px 12px #0000001a}.transaction-card.clickable:active{transform:translate(2px)}.transaction-content{padding:16px!important}.transaction-main{display:flex;gap:12px;align-items:flex-start}.transaction-icon-wrapper{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-surface-3);transition:all .3s ease}.transaction-card.clickable:hover .transaction-icon-wrapper{transform:scale(1.05)}.transaction-icon{font-size:24px;color:var(--color-text-secondary)}.icon-credit{color:var(--ion-color-success)}.icon-debit{color:var(--ion-color-danger)}.icon-cashback{color:var(--ion-color-warning)}.transaction-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.transaction-title{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin:0;line-height:1.4;flex:1;min-width:0}.vehicle-name{color:var(--color-text-secondary);font-weight:400;font-size:.9rem;display:inline-block}.transaction-amount{font-size:1.1rem;font-weight:700;white-space:nowrap;flex-shrink:0}.transaction-credit{color:var(--ion-color-success)}.transaction-debit{color:var(--ion-color-danger)}.transaction-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.transaction-time{color:var(--color-text-tertiary);font-size:.8rem;font-weight:500}.view-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:8px;transition:all .2s ease}.view-badge ion-icon{font-size:14px;margin-left:2px}.transaction-card.clickable:hover .view-badge{background:var(--ion-color-success);color:var(--color-text-primary);transform:translate(2px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:300px}.empty-icon{font-size:80px;color:var(--color-text-secondary);opacity:.3;margin-bottom:16px}.empty-state h3{color:var(--color-text-primary);font-size:1.3rem;font-weight:600;margin:0 0 8px}.empty-state p{color:var(--color-text-secondary);font-size:.95rem;margin:0;max-width:280px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;min-height:300px}.loading-state ion-spinner{width:48px;height:48px;color:var(--ion-color-primary);margin-bottom:16px}.loading-state p{color:var(--color-text-secondary);font-size:.95rem;margin:0}.glow-card{background:var(--ion-color-warning, #ffc409);color:var(--ion-color-dark, #000);border:2px solid rgba(255,204,9,.7);box-shadow:0 0 20px 6px #ffcc09bf;animation:glowPulse 2s ease-in-out infinite;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease}@keyframes glowPulse{0%{box-shadow:0 0 12px 3px #ffcc0966}50%{box-shadow:0 0 30px 10px #ffcc09}to{box-shadow:0 0 12px 3px #ffcc0966}}.glow-once{animation:glowPulseOnce 4.1s ease-in-out forwards;border:1px solid rgba(71,255,160,.4)}@keyframes glowPulseOnce{0%{box-shadow:0 0 10px 3px #ffcc0966;border-color:#ffcc0966}50%{box-shadow:0 0 30px 10px #548d4bcc;border-color:#548d4b99}70%{box-shadow:0 0 30px 10px #47ffa0e6;border-color:#47ffa099}90%{box-shadow:0 0 20px 6px #47ffa033;border-color:#47ffa04d}to{box-shadow:0 0 10px 2px #47ffa033;border-color:#47ffa033}}.transaction-card.glow-once .transaction-icon-wrapper{background:#47ffa026}.transaction-card.glow-once .transaction-title{background:linear-gradient(90deg,#47ffa0,#84df75);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.label-row{display:flex;width:100%;align-items:center;justify-content:space-between}.card-label{font-size:16px;font-weight:500}.textIonicWhite{color:var(--ion-color-light, #ffffff)}.textIonicSuccess{color:var(--ion-color-success, var(--color-success))}.textIonicDanger{color:var(--ion-color-danger, #eb445a)}@media (max-width: 576px){.transaction-title{font-size:.95rem}.vehicle-name{font-size:.85rem;display:block;margin-top:2px}.transaction-amount{font-size:1rem}.transaction-icon-wrapper{width:40px;height:40px}.transaction-icon{font-size:22px}.date-label{font-size:.8rem}}@media (max-width: 360px){.transaction-header{flex-direction:column;align-items:flex-start;gap:6px}.transaction-amount{font-size:1.1rem}.view-badge{font-size:.7rem;padding:3px 8px}}.transaction-card.clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.transaction-card,.transaction-icon-wrapper,.view-badge{transition:none}.glow-card,.glow-once{animation:none}}.reservation-card{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:16px;margin:0 0 12px;transition:all .3s ease;cursor:pointer}.reservation-card:hover,.reservation-card:active{transform:translateY(-2px);box-shadow:0 4px 16px #3880ff33;border-color:#3880ff66}.reservation-card.status-active{border-left:4px solid var(--color-success)}.reservation-card.status-booked{border-left:4px solid #3880ff}.reservation-card.status-cancelled{opacity:.7;border-left:4px solid #eb445a}.reservation-card.status-finished{opacity:.8;border-left:4px solid #92949c}.reservation-card-content{padding:16px}.reservation-card .reservation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;background:transparent;border:none}.reservation-title-row{display:flex;align-items:center;gap:10px;flex:1}.reservation-icon{font-size:22px;color:var(--color-success)}.reservation-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.3}.reservation-card .status-badge{font-size:10px;font-weight:600;padding:5px 10px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.reservation-details{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.detail-row{display:flex;align-items:center;gap:10px}.detail-icon{font-size:18px;color:var(--color-text-tertiary);flex-shrink:0}.detail-text{font-size:14px;color:var(--color-text-primary);line-height:1.4}.reservation-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.recurring-badge{display:flex;align-items:center;gap:6px;background:#7c4dff26;padding:5px 12px;border-radius:8px;font-size:11px;font-weight:600;color:var(--color-info)}.recurring-badge ion-icon{font-size:14px}.arrow-icon{font-size:22px;color:var(--color-text-disabled)}@media (max-width: 360px){.reservation-card-content{padding:14px}.reservation-name{font-size:15px}.detail-text{font-size:13px}}.reservation-calendar{padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 100%)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-header ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 10px;margin:0;width:40px;height:40px}.calendar-title{display:flex;align-items:center;gap:8px}.calendar-title h2{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0}.today-btn{--color: #3880ff;font-size:13px;font-weight:600;text-transform:none}.weekday-headers{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday-header{text-align:center;font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;background:#ffffff08;cursor:pointer;transition:all .2s ease;position:relative;min-height:44px}.calendar-day:hover{background:#ffffff14}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:#2dd36f26;border:2px solid var(--color-success)}.calendar-day.selected{background:#3880ff;border:none}.calendar-day.selected .day-number{color:var(--color-text-primary)}.calendar-day.has-events{background:#ffffff0f}.calendar-day.has-events.selected{background:#3880ff}.day-number{font-size:14px;font-weight:600;color:var(--color-text-primary)}.calendar-day.today .day-number{color:var(--color-success)}.event-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;max-width:100%}.event-dots .dot,.calendar-legend .dot{width:6px;height:6px;border-radius:50%}.dot.scheduled{background:#3880ff}.dot.ready{background:var(--color-success);animation:pulse 1.5s infinite}.dot.charging{background:#ffc409;animation:pulse 1s infinite}.dot.completed{background:#92949c}.dot.cancelled{background:#eb445a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;padding:12px;background:#ffffff0a;border-radius:12px;margin-bottom:20px}.calendar-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.calendar-legend .dot{width:10px;height:10px}.selected-date-section{background:#ffffff0a;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.08)}.selected-date-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.selected-date-header h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.selected-date-header ion-badge{font-size:10px}.events-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.events-list::-webkit-scrollbar{width:4px}.events-list::-webkit-scrollbar-track{background:#ffffff0d}.events-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.no-events{text-align:center;padding:32px 16px;color:var(--color-text-tertiary)}.no-events p{margin:0;font-size:14px}.event-card{background:#ffffff0d;border-radius:12px;padding:14px;border-left:4px solid #3880ff;cursor:pointer;transition:all .2s ease}.event-card:hover{background:#ffffff14;transform:translate(4px)}.event-card.status-primary{border-left-color:#3880ff}.event-card.status-success{border-left-color:var(--color-success);background:#2dd36f14}.event-card.status-warning{border-left-color:#ffc409;background:#ffc40914}.event-card.status-medium{border-left-color:#92949c;opacity:.8}.event-card.status-danger{border-left-color:#eb445a;opacity:.6}.event-time-strip{display:flex;align-items:center;gap:10px;margin-bottom:10px}.event-status-icon{font-size:18px}.event-card.status-primary .event-status-icon{color:#3880ff}.event-card.status-success .event-status-icon{color:var(--color-success)}.event-card.status-medium .event-status-icon{color:#92949c}.event-card.status-danger .event-status-icon{color:#eb445a}.event-time{font-size:15px;font-weight:700;color:var(--color-text-primary);flex:1}.event-status-badge{font-size:10px;padding:4px 8px;text-transform:uppercase;font-weight:600}.event-details{display:flex;flex-direction:column;gap:6px}.event-title,.event-location{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary)}.event-title ion-icon,.event-location ion-icon{font-size:16px;color:var(--color-text-tertiary)}.event-title span{font-weight:600}.event-location span{color:var(--color-text-secondary)}.event-session-info{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:8px;font-size:12px;font-weight:600}.event-session-info.active{background:#ffc40926;color:#ffc409}.event-session-info.completed{background:#92949c26;color:var(--color-text-secondary)}.event-session-info .view-icon{margin-left:auto;font-size:16px;opacity:.6}.event-session-info .live-dot{width:8px;height:8px;background:#ffc409;border-radius:50%;animation:pulse 1s infinite}.event-live-indicator{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600;color:#ffc409}.live-dot{width:8px;height:8px;background:#ffc409;border-radius:50%;animation:pulse 1s infinite}@media (max-width: 360px){.reservation-calendar{padding:12px}.calendar-title h2{font-size:18px}.calendar-day{min-height:38px;border-radius:8px}.day-number{font-size:12px}.event-dots .dot{width:5px;height:5px}.calendar-legend{gap:10px;padding:10px}.calendar-legend .legend-item{font-size:11px}.selected-date-section,.event-card{padding:12px}.event-time{font-size:14px}}.occurrence-calendar{padding:16px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:16px;border:1px solid rgba(255,255,255,.08)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.calendar-header ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 8px;margin:0}.calendar-header ion-button[disabled]{opacity:.3}.month-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:14px;background:#ffffff0f;border-radius:12px;margin-bottom:16px;border:1px solid rgba(255,255,255,.08)}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--color-text-primary)}.legend-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 6px currentColor}.legend-dot.scheduled{background:#3880ff;box-shadow:0 0 6px #3880ff80}.legend-dot.ready{background:var(--color-success);box-shadow:0 0 6px #2dd36f80}.legend-dot.completed{background:#92949c;box-shadow:0 0 6px #92949c4d}.legend-dot.cancelled{background:#eb445a;box-shadow:0 0 6px #eb445a80}.legend-dot.charging{background:#ffc409;box-shadow:0 0 6px #ffc40980;animation:legend-pulse 1.5s infinite}@keyframes legend-pulse{0%,to{opacity:1}50%{opacity:.6}}.occurrences-container{max-height:400px;overflow-y:auto;padding-right:4px}.occurrences-container::-webkit-scrollbar{width:4px}.occurrences-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.occurrences-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.no-occurrences{text-align:center;padding:32px 16px;color:var(--color-text-tertiary)}.no-occurrences p{margin:0 0 12px;font-size:14px}.no-occurrences ion-button{--color: #3880ff}.date-group{display:flex;gap:12px;margin-bottom:12px}.date-header{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:10px 8px;background:#ffffff14;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.date-day{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.date-number{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.today-badge{font-size:9px;padding:2px 6px;margin-top:4px;--background: var(--color-success);--color: var(--color-text-primary)}.date-occurrences{flex:1;display:flex;flex-direction:column;gap:8px}.occurrence-calendar .occurrence-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#ffffff0f;border-radius:12px;border-left:4px solid #3880ff;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.08);border-left-width:4px}.occurrence-calendar .occurrence-item:hover,.occurrence-calendar .occurrence-item:active{background:#ffffff1a;transform:translate(2px)}.occurrence-calendar .occurrence-item.status-primary{border-left-color:#3880ff}.occurrence-calendar .occurrence-item.status-success{border-left-color:var(--color-success);background:#2dd36f1f}.occurrence-calendar .occurrence-item.status-medium{border-left-color:#92949c;opacity:.7}.occurrence-calendar .occurrence-item.status-danger{border-left-color:#eb445a;opacity:.6;background:#eb445a14}.occurrence-calendar .occurrence-item.status-warning{border-left-color:#ffc409;background:#ffc4091f;animation:charging-pulse 2s infinite}@keyframes charging-pulse{0%,to{background:#ffc4091f}50%{background:#ffc40933}}.occurrence-calendar .occurrence-time{display:flex;align-items:center;gap:10px}.occurrence-calendar .occurrence-time .status-icon{font-size:20px}.occurrence-calendar .occurrence-item.status-primary .status-icon{color:#3880ff}.occurrence-calendar .occurrence-item.status-success .status-icon{color:var(--color-success)}.occurrence-calendar .occurrence-item.status-medium .status-icon{color:#92949c}.occurrence-calendar .occurrence-item.status-danger .status-icon{color:#eb445a}.occurrence-calendar .occurrence-item.status-warning .status-icon{color:#ffc409}.occurrence-calendar .occurrence-time span{font-size:15px;font-weight:600;color:var(--color-text-primary)}.occurrence-actions{display:flex;align-items:center;gap:10px}.occurrence-actions .status-badge{font-size:10px;padding:5px 10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-radius:6px}.occurrence-actions .more-icon{font-size:22px;color:var(--color-text-tertiary)}.session-summary{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:8px 0;background:#92949c26;border-radius:8px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.session-summary ion-icon{font-size:14px;color:#92949c}.session-live{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:8px 0;background:#ffc40926;border-radius:8px;font-size:12px;font-weight:600;color:#ffc409}.session-live .pulse-dot{width:8px;height:8px;background:#ffc409;border-radius:50%;animation:session-pulse 1.2s infinite}@keyframes session-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.calendar-summary{display:flex;justify-content:space-around;padding:18px;margin-top:16px;background:#ffffff0f;border-radius:14px;border:1px solid rgba(255,255,255,.08)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:6px}.summary-value{font-size:26px;font-weight:700;color:var(--color-text-primary)}.summary-label{font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}ion-action-sheet.occurrence-action-sheet{--background: var(--color-surface-1);--button-background: var(--color-surface-3);--button-color: var(--color-text-primary);--color: var(--color-text-primary)}ion-action-sheet.occurrence-action-sheet .action-sheet-title{color:var(--color-text-secondary)}@media (max-width: 360px){.occurrence-calendar{padding:12px}.calendar-legend{gap:10px;padding:12px}.legend-item{font-size:11px}.date-header{min-width:48px;padding:8px 6px}.date-number{font-size:18px}.occurrence-calendar .occurrence-item{padding:12px 14px}.occurrence-calendar .occurrence-time span{font-size:14px}.summary-value{font-size:22px}.summary-label{font-size:11px}}.time-slot-picker{padding:16px}.date-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:12px;background:#ffffff0f;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.date-navigation ion-button{--color: var(--color-text-primary);--background: rgba(255, 255, 255, .1);--border-radius: 8px;margin:0}.date-navigation ion-button[disabled]{opacity:.3}.date-display{display:flex;flex-direction:column;align-items:center;gap:6px}.date-label{font-size:16px;font-weight:600;color:var(--color-text-primary)}.time-slot-picker .today-badge{font-size:11px;background:var(--color-success);color:var(--color-text-primary);padding:3px 10px;border-radius:10px;font-weight:600}.duration-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px;background:#ffffff0a;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.duration-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.duration-options{display:flex;gap:8px;flex:1}.duration-btn{flex:1;padding:10px 14px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0d;color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.duration-btn:hover{border-color:var(--color-success);background:#2dd36f1a}.duration-btn.active{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-primary);box-shadow:0 4px 12px #2dd36f66}.time-slots-container{max-height:320px;overflow-y:auto;margin-bottom:16px;padding:4px}.time-slots-container::-webkit-scrollbar{width:4px}.time-slots-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.time-slots-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border-radius:10px;background:#2dd36f1f;border:2px solid rgba(45,211,111,.3);cursor:pointer;transition:all .2s ease;position:relative;min-height:50px}.time-slot:hover:not(.booked):not(.past){background:#2dd36f40;border-color:var(--color-success);transform:scale(1.02)}.time-slot.booked{background:#92949c26;border-color:#92949c40;cursor:not-allowed;opacity:.7}.time-slot.past{background:#92949c14;border-color:#92949c26;cursor:not-allowed;opacity:.5}.time-slot.selected{background:#3880ff;border-color:#3880ff;box-shadow:0 4px 12px #3880ff66}.time-slot.conflict{border-color:#ffc40999;background:#ffc4091a}.slot-time{font-size:12px;font-weight:600;color:var(--color-text-primary)}.time-slot.booked .slot-time,.time-slot.past .slot-time{color:var(--color-text-disabled)}.time-slot.selected .slot-time{color:var(--color-text-primary)}.slot-status-icon{position:absolute;top:4px;right:4px;font-size:14px}.slot-status-icon.booked{color:#eb445a}.slot-status-icon.selected{color:var(--color-text-primary)}.slots-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--color-text-secondary)}.slots-loading p{margin-top:12px;font-size:14px}.slots-legend{display:flex;justify-content:center;gap:20px;margin-bottom:16px;padding:14px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.slots-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.legend-color{width:18px;height:18px;border-radius:6px}.legend-color.available{background:#2dd36f40;border:2px solid var(--color-success)}.legend-color.booked{background:#92949c33;border:2px solid #92949c}.legend-color.selected{background:#3880ff;border:2px solid #3880ff}.selected-time-display{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:#3880ff1f;border:2px solid rgba(56,128,255,.3);border-radius:14px}.selected-time-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.selected-time-value{font-size:16px;font-weight:700;color:#3880ff}@media (max-width: 360px){.time-slots-grid{grid-template-columns:repeat(3,1fr)}.duration-btn{padding:8px 10px;font-size:12px}.duration-selector{flex-direction:column;align-items:flex-start;gap:10px}.duration-options{width:100%}.slots-legend{gap:12px;flex-wrap:wrap}.slots-legend .legend-item{font-size:11px}}.recurring-options{padding:20px;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border-radius:16px;border:1px solid rgba(255,255,255,.1)}.recurring-toggle{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px}.toggle-label{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.toggle-label ion-icon{font-size:24px;color:#7c4dff}.recurring-settings{padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:24px}.setting-row{display:flex;flex-direction:column;gap:10px}.setting-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.8px}.frequency-select{--background: rgba(255, 255, 255, .08);--border-radius: 12px;--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);font-size:15px;font-weight:500;border:1px solid rgba(255,255,255,.15);border-radius:12px;min-height:48px;width:100%;max-width:100%}.frequency-select::part(container){display:flex;justify-content:space-between;align-items:center;width:100%}.frequency-select::part(icon){color:var(--color-text-tertiary);margin-left:auto;position:absolute;right:12px}.frequency-select::part(text){color:var(--color-text-primary);flex:1}.interval-input{display:flex;align-items:center;gap:12px}.interval-number{width:90px;--background: rgba(255, 255, 255, .08);--border-radius: 12px;--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);text-align:center;font-size:16px;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:12px;min-height:48px}.interval-unit{font-size:15px;font-weight:500;color:var(--color-text-secondary)}.days-selector{display:flex;flex-wrap:wrap;gap:8px}.day-btn{padding:12px 16px;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0d;color:var(--color-text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.day-btn:hover{border-color:#7c4dff;background:#7c4dff1a}.day-btn.active{background:#7c4dff;border-color:#7c4dff;color:var(--color-text-primary);box-shadow:0 4px 12px #7c4dff66}.day-select{width:140px;--background: rgba(255, 255, 255, .08);--border-radius: 12px;--padding-start: 16px;--padding-end: 40px;--color: var(--color-text-primary);font-size:15px;font-weight:500;border:1px solid rgba(255,255,255,.15);border-radius:12px;min-height:48px;position:relative}.day-select::part(container){display:flex;justify-content:space-between;align-items:center}.day-select::part(icon){color:var(--color-text-tertiary);position:absolute;right:12px}.day-select::part(text){color:var(--color-text-primary)}.end-type-selector{display:flex;gap:10px}.end-type-btn{flex:1;padding:14px 16px;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0d;color:var(--color-text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.end-type-btn:hover{border-color:#3880ff;background:#3880ff1a}.end-type-btn.active{background:#3880ff;border-color:#3880ff;color:var(--color-text-primary);box-shadow:0 4px 12px #3880ff66}.count-input{display:flex;align-items:center;gap:12px}.count-number{width:90px;--background: rgba(255, 255, 255, .08);--border-radius: 12px;--padding-start: 16px;--padding-end: 16px;--color: var(--color-text-primary);text-align:center;font-size:16px;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:12px;min-height:48px}.count-label{font-size:15px;font-weight:500;color:var(--color-text-secondary)}.date-picker{--background: rgba(255, 255, 255, .06);--border-radius: 16px;margin:0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px}.date-picker::part(calendar-day){color:var(--color-text-primary);font-weight:500}.date-picker::part(calendar-day today){color:var(--color-success);font-weight:700}.date-picker::part(calendar-day active){background:#3880ff;color:var(--color-text-primary)}.date-picker::part(calendar-day disabled){color:var(--color-text-disabled)}.date-picker::part(month-year-button){color:var(--color-text-primary);font-weight:600}.date-picker::part(wheel-item){color:var(--color-text-primary)}.date-picker::part(wheel-item active){color:#3880ff}ion-select-popover{--background: var(--color-surface-1)}ion-select-popover ion-item{--background: var(--color-surface-1);--color: var(--color-text-primary)}ion-select-popover ion-radio{--color: var(--color-text-tertiary);--color-checked: #3880ff}@media (max-width: 360px){.recurring-options{padding:16px}.day-btn{padding:10px 12px;font-size:12px}.end-type-btn{padding:12px 10px;font-size:12px}.interval-number,.count-number{width:80px}}
