.card-glass{background:var(--glass-a-bg);backdrop-filter:blur(var(--glass-a-blur));-webkit-backdrop-filter:blur(var(--glass-a-blur));border:1px solid var(--glass-a-border);border-radius:var(--radius-card);box-shadow:var(--glass-a-shadow)}.card-glass-dark{background:rgba(30,58,95,.85);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-card);box-shadow:0 8px 32px rgba(0,0,0,.25);color:#fff}.card-featured{background:linear-gradient(135deg,#1e3a5f,#1e40af);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-card);color:#fff}.btn-primary-a{background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;border:none;border-radius:var(--radius-btn);padding:.65rem 1.75rem;font-family:var(--font-zh),sans-serif;font-weight:700;font-size:.9rem;box-shadow:0 4px 14px rgba(var(--color-primary-rgb),.35);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:inline-flex;align-items:center;gap:.4em}.btn-primary-a:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.45);color:#fff}.btn-ghost-a{background:rgba(255,255,255,.7);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-btn);padding:.65rem 1.75rem;font-family:var(--font-zh),sans-serif;font-weight:700;font-size:.9rem;transition:background .2s ease,transform .2s ease;cursor:pointer;display:inline-flex;align-items:center;gap:.4em}.btn-ghost-a:hover{background:rgba(255,255,255,.95);transform:translateY(-2px)}.duration-btn.active{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important}.btn-danger-a{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:none;border-radius:var(--radius-btn);padding:.65rem 1.75rem;font-family:var(--font-zh),sans-serif;font-weight:700;font-size:.9rem;cursor:pointer}.input-a{background:rgba(255,255,255,.9);border:1.5px solid #e2e8f0;border-radius:var(--radius-input);padding:.65rem 1rem;font-family:var(--font-zh),sans-serif;font-size:.9rem;color:var(--color-navy);transition:border-color .2s ease,box-shadow .2s ease;width:100%}.input-a:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}body.public-page .form-control,body.public-page .form-select{background:rgba(255,255,255,.9)!important;border:1.5px solid #e2e8f0!important;border-radius:var(--radius-input)!important;color:var(--color-navy)!important}body.public-page .form-control:focus,body.public-page .form-select:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)!important}.badge-confirmed{background:#dcfce7;color:#15803d;border-radius:var(--radius-badge);padding:.3rem .8rem;font-size:.78rem;font-weight:700;font-family:var(--font-zh),sans-serif}.badge-pending{background:#dbeafe;color:#1e40af;border-radius:var(--radius-badge);padding:.3rem .8rem;font-size:.78rem;font-weight:700;font-family:var(--font-zh),sans-serif}.badge-payment{background:#fef3c7;color:#b45309;border-radius:var(--radius-badge);padding:.3rem .8rem;font-size:.78rem;font-weight:700;font-family:var(--font-zh),sans-serif}.badge-cancelled{background:#fee2e2;color:#b91c1c;border-radius:var(--radius-badge);padding:.3rem .8rem;font-size:.78rem;font-weight:700;font-family:var(--font-zh),sans-serif}.badge-coming-soon{background:#f0f9ff;color:#0ea5e9;border-radius:var(--radius-badge);padding:.25rem .7rem;font-size:.72rem;font-weight:700;font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase}.section-eyebrow{font-family:var(--font-heading),sans-serif;font-size:.8rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--color-sky);margin-bottom:.75rem;display:block}.section-title-a{font-family:var(--font-zh),sans-serif;font-size:clamp(1.5rem, 3vw, 2rem);font-weight:700;color:var(--color-navy);margin-bottom:1rem}.progress-a{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress-a-fill{background:linear-gradient(90deg,#2563eb,#0ea5e9);height:100%;border-radius:999px;transition:width .6s ease}.glass-panel{background:var(--glass-a-bg);backdrop-filter:blur(var(--glass-a-blur));-webkit-backdrop-filter:blur(var(--glass-a-blur));border:1px solid var(--glass-a-border);border-radius:var(--radius-card);box-shadow:var(--glass-a-shadow)}.auth-form-hidden{display:none!important}.auth-page-wrapper{min-height:100vh;display:flex}.auth-page-wrapper--centered{flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;background:0 0}.auth-center-panel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:480px}.auth-logo-section{text-align:center;margin-bottom:1.75rem}.auth-logo-mark{width:160px;height:auto;display:block;margin:0 auto 1rem;filter:drop-shadow(0 0 16px rgba(0, 102, 204, .5))}.auth-logo-name{font-family:var(--font-heading),sans-serif;font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:3px;margin-bottom:.25rem}.auth-logo-sub{color:#7dd3fc;font-size:.72rem;letter-spacing:5px;text-transform:uppercase}.auth-brand-panel{flex:1;background:var(--bg-hero-gradient);display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem;position:relative;overflow:hidden}.auth-brand-panel::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.auth-brand-content{position:relative;z-index:1;text-align:center;color:#fff;max-width:320px}.auth-brand-logo{height:72px;width:auto;margin-bottom:1.5rem;filter:drop-shadow(0 0 20px rgba(56,189,248,.35))}.auth-brand-name{font-family:var(--font-heading),sans-serif;font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:2px;margin-bottom:.25rem}.auth-brand-sub{color:var(--color-sky-light,#7dd3fc);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:2rem}.auth-brand-desc{color:rgba(255,255,255,.7);font-size:.95rem;line-height:1.8;margin-bottom:2.5rem}.auth-brand-features{display:flex;flex-direction:column;gap:.625rem;align-items:flex-start;text-align:left}.auth-brand-feature{display:flex;align-items:center;gap:.625rem;color:rgba(255,255,255,.8);font-size:.875rem}.auth-brand-feature i{color:var(--color-sky-light,#7dd3fc);width:16px;flex-shrink:0}.auth-form-panel{flex:1;background:var(--bg-page-gradient);display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem}.auth-card-container{max-width:440px;width:100%}@media (max-width:768px){.auth-page-wrapper{flex-direction:column}.auth-brand-panel{flex:none;padding:2rem 1.5rem}.auth-brand-logo{height:48px;margin-bottom:1rem}.auth-brand-name{font-size:1.4rem}.auth-brand-desc{display:none}.auth-brand-features{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}.auth-brand-feature{font-size:.8rem}.auth-form-panel{flex:none;align-items:flex-start;padding:2rem 1.25rem}}.auth-toggle-buttons{display:flex;gap:.5rem;background:rgba(37,99,235,.08);border-radius:10px;padding:.25rem}.auth-toggle-btn{flex:1;border-radius:8px;padding:.5rem 1rem;font-family:var(--font-zh),sans-serif;font-weight:700;font-size:.875rem;border:none;background:0 0;color:var(--color-navy);cursor:pointer;transition:background .2s ease,color .2s ease}.auth-toggle-btn--active,.auth-toggle-btn:hover{background:var(--color-primary);color:#fff}.auth-form-welcome{text-align:center;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(37,99,235,.1)}.auth-form-welcome h2{font-size:1.375rem;font-weight:700;color:var(--color-navy);margin-bottom:.25rem}.auth-form-welcome p{color:#64748b;font-size:.875rem;margin:0}.form-group{margin-bottom:1.25rem}body.public-page .form-label{font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.password-input-group{position:relative;display:flex;align-items:center}.password-input-group .form-control{padding-right:2.75rem}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:0 0;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;z-index:10;line-height:1;display:flex;align-items:center}.password-toggle-btn:hover{color:var(--color-primary)}.auth-submit-container{margin-top:1.5rem}.auth-submit-btn{width:100%;padding:.75rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#1e40af,#2563eb);color:#fff;border:none;border-radius:var(--radius-btn,10px);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.35);color:#fff}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-form-title{font-size:1.125rem;font-weight:700;color:var(--color-navy);margin-bottom:1.25rem}.auth-link-container{text-align:center;margin-top:1.25rem}.auth-link{color:var(--color-primary);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.auth-link:hover{color:var(--color-navy);text-decoration:underline}.form-help-text{color:#64748b;font-size:.8125rem;margin-top:.375rem;display:block}@media (prefers-reduced-motion:reduce){.btn-danger-a,.btn-ghost-a,.btn-primary-a,.input-a,.progress-a-fill,body.public-page .form-control,body.public-page .form-select{transition:none}}.modal-a{background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(37,99,235,.12)!important;border-radius:20px!important;box-shadow:0 20px 60px rgba(0,0,0,.12)}.modal-a .modal-header{border-bottom:1px solid rgba(37,99,235,.1);padding:1.25rem 1.5rem 1rem}.modal-a .modal-header .modal-title{color:var(--color-navy);font-family:var(--font-zh),sans-serif;font-weight:700;font-size:1rem}.modal-a .modal-body{color:var(--color-text-body);font-family:var(--font-zh),sans-serif;font-size:.9rem;padding:1.25rem 1.5rem}.modal-a .modal-footer{border-top:1px solid rgba(37,99,235,.1);padding:1rem 1.5rem;gap:.5rem}