.vip-page{margin:0 auto;padding:0;min-height:100vh;background:var(--rewards-page-bg)}.main-wrapper{padding-top:0!important}.vip-records-link{display:flex;align-items:center;gap:.5rem;color:var(--rewards-text-secondary);text-decoration:none;font-family:Montserrat,sans-serif;font-size:.8rem;padding:.5rem;border-radius:6px;transition:all .3s ease}.vip-records-link:hover{background:var(--white-10);color:var(--text-body)}.vip-records-link svg{width:14px;height:14px}.vip-level-section{padding:1.25rem}.vip-levels{margin-bottom:1.5rem}.level-track-container{position:relative;padding:1.35rem 0 .85rem}.level-icons{display:flex;justify-content:space-between;align-items:flex-end;position:relative;margin-bottom:.35rem;padding:0 2px;z-index:3;width:100%;box-sizing:border-box}.level-icon-wrapper{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0;position:relative}.level-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:var(--rewards-shadow-sm);flex-shrink:0}.vip-level-icon{width:28px;height:28px;max-width:28px;max-height:28px;border-radius:50%;display:block;object-fit:contain;position:relative;flex-shrink:0}.level-icon.completed{background:var(--vip-icon-completed-bg);box-shadow:var(--vip-icon-completed-shadow)}.level-icon.pending{background:var(--vip-icon-pending-bg);box-shadow:var(--vip-icon-pending-shadow)}.level-icon svg{width:18px;height:18px}.icon-connector{width:1px;flex:0 0 14px;height:14px;min-height:14px;background:var(--vip-connector);margin-top:0}.level-track-bar{display:flex;width:100%;min-height:48px;height:auto;border-radius:999px;overflow:hidden;position:relative;box-shadow:var(--vip-track-shadow);border:1px solid var(--vip-track-border);background:var(--vip-track-bg);box-sizing:border-box}.level-segment{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;position:relative;border-right:1px solid var(--vip-segment-divider);transition:filter .25s ease,opacity .25s ease;padding:.5rem .2rem}.level-segment:last-child{border-right:none}.level-segment.completed{background:var(--vip-segment-completed-bg);box-shadow:var(--vip-segment-completed-inset)}.level-segment.pending{background:var(--vip-segment-pending-bg);box-shadow:var(--vip-segment-pending-inset)}.segment-label{color:var(--vip-segment-label);font-family:Montserrat,Nasalization,sans-serif;font-size:.72rem;font-weight:600;text-align:center;text-shadow:var(--rewards-text-shadow);letter-spacing:.02em;line-height:1.15;word-break:break-word;hyphens:auto}.level-track-bar:not(.many-levels) .segment-label{font-size:.78rem;font-weight:600;letter-spacing:.03em}.level-track-bar.many-levels .segment-label{font-size:.52rem;letter-spacing:0;padding:0 1px;line-height:1.1}.level-icon.inactive,.level-segment.inactive{opacity:.48;filter:grayscale(.45)}.level-segment.inactive .segment-label{color:var(--rewards-text-muted)}.vip-tier-inactive-note{margin:.35rem 0 0;max-width:14rem;color:var(--rewards-text-subtle);font-family:Montserrat,sans-serif;font-size:.72rem;line-height:1.35;font-weight:500}.vip-intro{display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.vip-intro .intro-button,.vip-intro a.intro-button,.vip-intro .gradient-border-btn{position:relative;display:flex;justify-content:center;align-items:center;font-family:var(--font-family-secondary);font-weight:500;letter-spacing:1px;color:var(--vip-intro-btn-text);text-decoration:none;cursor:pointer;height:50px;border-radius:60px;font-size:.85rem!important;border:1px solid var(--vip-intro-btn-border)!important;background:var(--vip-action-btn-bg)!important;width:48%!important}.vip-introduction-icon{width:48px;height:48px;border-radius:0;position:relative;right:30px;margin-right:-30px;filter:var(--vip-intro-icon-shadow)}.current-vip-card{background:var(--vip-info-panel-bg);border-radius:15px;padding:1.5rem 1.5rem 3rem;border:1px solid var(--vip-info-panel-border);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);margin-bottom:1rem;position:relative;overflow:hidden}.vip-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.vip-icon-container{display:flex;align-items:center;gap:.5rem;min-width:0}.vip-icon-container .vip-icon{width:48px;height:48px;max-width:48px;max-height:48px;object-fit:contain;flex-shrink:0}.vip-icon-container .vip-icon:not(.vip-icon--uploaded){filter:var(--brand-accent-image-filter, none)}.vip-level-titles{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0}.vip-icon-badge{position:relative;right:36px;font-size:1rem;font-weight:700}.vip-info{display:flex;flex-direction:column;flex:1}.vip-level{font-family:Montserrat,sans-serif;font-size:.9rem}.vip-reward{color:var(--promo-card-title);font-family:Nasalization,sans-serif;font-size:1.2rem;font-weight:700;line-height:1;text-align:right}.vip-reward-label{color:var(--rewards-text-muted);font-family:Montserrat,sans-serif;font-size:.85rem;text-align:right}.progress-header{margin-bottom:.75rem}.progress-label{color:var(--rewards-text-secondary);font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500}.progress-bar{height:8px;background:var(--palette-blue-900);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .6s ease}.progress-section--invitation-only{margin-bottom:1.5rem}.progress-invitation-message{margin:0;color:var(--vip-invitation-message-text);font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;line-height:1.45}.vip-name-sub{display:block;color:var(--rewards-text-muted);font-size:.78rem;font-weight:500;margin-top:.15rem}.upgrade-section{border-top:1px solid var(--vip-upgrade-section-divider);padding-top:1.5rem;margin-bottom:0}.upgrade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--accent)}.upgrade-title{color:var(--vip-upgrade-title-text);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600}.status-container{display:flex;position:relative;align-items:center}.upgrade-status{padding:.25rem .75rem;border-radius:15px;font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.5px;display:flex}.upgrade-status.incomplete,.upgrade-status.complete{background:var(--rewards-card-gradient);color:var(--rewards-text-on-accent);border:1px solid var(--rewards-text-on-accent)}.upgrade-status.invitation{background:var(--vip-invitation-badge-bg);color:var(--vip-invitation-badge-text);border:1px solid var(--vip-invitation-badge-border)}.banner-icon{position:absolute;top:-6px;right:-6px;width:15px;height:15px;background:var(--accent);border:2px solid var(--accent);border-radius:50%;color:var(--rewards-text-on-accent);font-family:Nasalization,sans-serif;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--vip-badge-shadow);flex-shrink:0;z-index:2}.stats-grid{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:1.5rem}.stat-item{display:flex;justify-content:space-between;align-items:center;gap:.25rem}.stat-label{color:var(--rewards-text-muted);font-family:Montserrat,sans-serif;font-size:.85rem}.stat-value{color:var(--promo-card-title);font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600}.requirements,.requirement-item{margin-bottom:1rem}.requirement-item:last-child{margin-bottom:0}.requirement-label{display:block;color:var(--vip-requirement-label-text);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.requirement-progress{color:var(--vip-requirement-progress);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:300}.requirement-progress--multiline{display:block;white-space:normal;line-height:1.4;margin-bottom:.35rem}.requirement-progress--invitation{color:var(--vip-invitation-hint-text);font-weight:500}.requirement-need{color:var(--rewards-text-muted);font-family:Montserrat,sans-serif;font-size:.8rem;margin-left:.5rem;margin-top:5px;float:right}.requirement-bar{height:16px;background:var(--palette-blue-900);border-radius:8px;overflow:hidden;margin-top:.5rem}.requirement-fill{height:100%;background:var(--accent);transition:width .6s ease}.hide-button-container{position:absolute;bottom:0;left:0;right:0;width:100%;padding:0;overflow:hidden;border-radius:0 0 15px 15px}.hide-button{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--vip-cta-gradient);border:none;color:var(--rewards-text-on-accent);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;padding:.75rem 2rem;border-radius:0 0 15px 15px;transition:all .3s ease;width:100%;box-shadow:var(--vip-cta-shadow)}.hide-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-40);opacity:.95}.hide-button:active{transform:translateY(0)}.hide-button span{color:var(--rewards-text-on-accent);font-weight:500}.hide-button svg{width:16px;height:16px;color:var(--rewards-text-on-accent);stroke:var(--rewards-text-on-accent)}.privilege-section{padding:0 1.25rem 2rem}.privilege-title{color:var(--promo-card-title);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:400;margin-bottom:1rem;letter-spacing:.5px}.privilege-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.privilege-card{padding:12px;background:var(--vip-panel-bg);border-radius:10px;border:1px solid var(--rewards-text-on-accent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.privilege-card:hover{background:var(--vip-panel-accent-bg);transform:translateY(-2px)}.card-content{text-align:center}.card-label{color:var(--rewards-text-on-accent);font-family:Montserrat,sans-serif;font-size:.85rem}.card-value{color:var(--vip-panel-highlight);font-family:Nasalization,sans-serif;font-size:1rem;font-weight:600;margin-top:.25rem;display:block}.card-status-claimed{font-size:.75rem;font-weight:500;font-family:Montserrat,sans-serif;color:var(--vip-reward-claimed-text)}.claim-button{background:var(--vip-claim-btn-bg);border:none;color:var(--rewards-text-on-accent);font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;padding:.5rem 1rem;border-radius:20px;cursor:pointer;margin-top:.5rem;transition:all .3s ease}.claim-button:hover{transform:translateY(-1px);box-shadow:0 4px 15px var(--accent-30)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--white-30);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p,.error-state p{color:var(--rewards-text-secondary);font-family:Montserrat,sans-serif;font-size:.9rem;margin:0}.error-icon{font-size:2rem;margin-bottom:1rem}.retry-button{background:var(--vip-claim-btn-bg);border:none;color:var(--rewards-text-on-accent);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;border-radius:25px;cursor:pointer;margin-top:1rem;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--accent-30)}@media (max-width: 768px){.vip-level-section{padding:.75rem}.current-vip-card{padding:1rem 1rem 3rem}.vip-level,.privilege-title{font-size:.85rem}.vip-reward{font-size:1.1rem}.progress-label,.stat-label,.requirement-progress,.card-label{font-size:.8rem}.upgrade-title,.requirement-label{font-size:.85rem}.stats-grid{gap:.5rem}.privilege-section{padding:0 .75rem 1.5rem}}@media (max-width: 480px){.vip-page{max-width:100%}.vip-level-section{padding:.75rem}.level-icon{width:24px;height:24px}.vip-level-icon{width:20px;height:20px;max-width:20px;max-height:20px}.level-track-bar:not(.many-levels) .segment-label{font-size:.5rem}.level-track-bar{min-height:40px}.current-vip-card{padding:1rem 1rem 3rem;margin-bottom:.75rem}.vip-level,.privilege-title{font-size:.8rem}.vip-reward{font-size:1.1rem}.progress-label,.stat-label,.requirement-progress,.card-label{font-size:.75rem}.upgrade-title,.requirement-label{font-size:.8rem}.stats-grid{gap:.5rem}.privilege-section{padding:0 .75rem 1.5rem}.vip-intro .intro-button,.vip-intro a.intro-button,.vip-intro .gradient-border-btn{width:80%!important;min-height:40px;font-size:.8rem}.hide-button{padding:.5rem 1.25rem;font-size:.8125rem}.claim-button{padding:.375rem .75rem;font-size:.75rem;min-height:32px}.retry-button{padding:.5rem 1rem;font-size:.8125rem;min-height:36px}.vip-records-link{font-size:.7rem}}.hide-button:focus,.vip-records-link:focus{outline:2px solid var(--white-50);outline-offset:2px}
