@font-face{font-family:VitaSans;src:url('../../fonts/NotoSansTC-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--navy:#092d52;--blue:#126f9f;--teal:#159caf;--ink:#20394d;--muted:#718795;--line:#d9e8ed;--pale:#eff8fa;--white:#fff}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:#f3f8fa;color:var(--ink);font-family:VitaSans,Arial,sans-serif}a{color:inherit;text-decoration:none}.account-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:min(1180px,calc(100% - 40px));height:88px;margin:auto}.account-brand{display:flex;align-items:center;gap:.75rem;color:var(--navy)}.account-brand img{width:46px;height:46px;object-fit:contain}.account-brand b,.account-brand small{display:block}.account-brand b{font-size:1.12rem}.account-brand small{margin-top:.1rem;color:#688092;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.store-link,.account-header nav a{color:#587286;font-size:.78rem;font-weight:700}.store-link:hover,.account-header nav a:hover{color:var(--teal)}.account-header nav{display:flex;align-items:center;gap:1.5rem}.logout-link{padding-left:1.5rem;border-left:1px solid var(--line)}
.auth-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,.82fr);width:min(1180px,calc(100% - 40px));min-height:calc(100vh - 128px);margin:0 auto 40px;overflow:hidden;border:1px solid rgba(21,116,151,.1);border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(22,67,91,.1)}.auth-intro{position:relative;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:clamp(3rem,7vw,6rem);background:linear-gradient(145deg,#082d53,#116e94 58%,#16a0aa);color:#fff}.auth-intro:after{position:absolute;right:-11rem;bottom:-11rem;width:30rem;height:30rem;border:4rem solid rgba(255,255,255,.045);border-radius:50%;content:""}.eyebrow{color:#68ced7;font-size:.67rem;font-weight:850;letter-spacing:.17em}.auth-intro h1{max-width:32rem;margin:.8rem 0 1.25rem;font-size:clamp(2.5rem,5.2vw,4.75rem);line-height:1.02;letter-spacing:-.055em}.auth-intro>p{max-width:31rem;margin:0;color:rgba(255,255,255,.76);font-size:1rem;line-height:1.75}.auth-benefits{display:grid;gap:.85rem;margin-top:2rem}.auth-benefits span{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.9);font-size:.82rem}.auth-benefits i{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:rgba(255,255,255,.14);color:#adf1ec}.auth-card-wrap{display:grid;place-items:center;padding:clamp(2rem,5vw,4.5rem)}.auth-card{width:min(100%,26rem)}.auth-card>.eyebrow{color:var(--teal)}.auth-card h2{margin:.42rem 0 .25rem;color:var(--navy);font-size:1.8rem}.auth-card>p:not(.auth-switch){margin:0 0 1.65rem;color:var(--muted);font-size:.78rem}.auth-card label{display:block;margin-bottom:1rem}.auth-card label>span{display:block;margin-bottom:.38rem;color:#526e82;font-size:.69rem;font-weight:760}.input-wrap,.auth-card label>input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;min-height:3.15rem;padding:0 .85rem;border:1px solid var(--line);border-radius:.7rem;background:#f9fbfc;color:#8396a4;transition:.16s}.auth-card label>input{display:block}.input-wrap:focus-within,.auth-card label>input:focus{border-color:#73c0ce;outline:0;background:#fff;box-shadow:0 0 0 .2rem rgba(21,156,175,.1)}.input-wrap input{min-width:0;border:0;outline:0;background:transparent;color:#26455c;font:inherit;font-size:.82rem}.input-wrap button{border:0;background:transparent;color:#79909f;cursor:pointer}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.auth-submit,.primary-link{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.2rem;border:0;border-radius:.7rem;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font:inherit;font-size:.78rem;font-weight:780;cursor:pointer;box-shadow:0 10px 24px rgba(19,118,153,.18)}.auth-submit{width:100%;margin-top:.35rem}.auth-submit:hover,.primary-link:hover{filter:brightness(.96);transform:translateY(-1px)}.auth-switch{text-align:center;margin:1.15rem 0 0!important;color:#7b909e!important;font-size:.72rem!important}.auth-switch a{color:var(--blue);font-weight:800}.provider-entry{margin-top:1.65rem;padding-top:1.35rem;border-top:1px solid var(--line);text-align:center}.provider-entry>span{display:block;margin-bottom:.65rem;color:#8295a2;font-size:.65rem}.provider-entry a{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--navy);font-size:.74rem;font-weight:780}.provider-entry a:hover{color:var(--teal)}.form-alert{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:1.25rem;padding:.75rem .85rem;border-radius:.65rem;font-size:.7rem}.form-alert.error{background:#fff0f0;color:#b74949}.form-alert.success{background:#ecf9f3;color:#267b58}
.dashboard-body{background:#f4f8fa}.account-dashboard{width:min(1120px,calc(100% - 40px));margin:3rem auto 5rem}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.dashboard-heading h1{margin:.45rem 0 .25rem;color:var(--navy);font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.05em}.dashboard-heading p{margin:0;color:var(--muted)}.primary-link{width:max-content;min-height:2.8rem;padding:0 1.2rem}.booking-panel{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(18,65,89,.07)}.panel-heading{padding:1.35rem 1.5rem;border-bottom:1px solid var(--line)}.panel-heading>div{display:flex;align-items:center;gap:.8rem}.panel-heading>div>i{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.7rem;background:#e7f6f7;color:var(--teal);font-size:1.1rem}.panel-heading h2,.panel-heading p{margin:0}.panel-heading h2{color:var(--navy);font-size:1rem}.panel-heading p{color:var(--muted);font-size:.68rem}.empty-bookings{padding:4.5rem 2rem;text-align:center}.empty-bookings>i{color:#7fcbd2;font-size:2.5rem}.empty-bookings h3{margin:.7rem 0 .25rem;color:var(--navy)}.empty-bookings p{max-width:34rem;margin:0 auto 1.3rem;color:var(--muted);font-size:.8rem}.empty-bookings .primary-link{margin:auto}.booking-list{padding:0 1.5rem}.booking-row{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.booking-row:last-child{border-bottom:0}.booking-date{display:grid;place-items:center;min-height:3.8rem;border-radius:.7rem;background:var(--pale);color:var(--teal)}.booking-date span{font-size:.6rem;font-weight:800;text-transform:uppercase}.booking-date strong{margin-top:-.4rem;font-size:1.25rem}.booking-main small{color:#91a1ab;font-size:.62rem;font-weight:750}.booking-main h3{margin:.12rem 0 .3rem;color:var(--navy);font-size:.9rem}.booking-main p{margin:0;color:var(--muted);font-size:.7rem}.status{padding:.38rem .7rem;border-radius:999px;background:#eef5f7;color:#527185;font-size:.63rem;font-weight:800}.status-confirmed,.status-completed{background:#e7f7f0;color:#2a7b5b}.status-cancelled{background:#fff0f0;color:#b94c4c}
.booking-tabs{display:flex;gap:.45rem;padding:1rem 1.5rem 0;border-bottom:1px solid var(--line)}.booking-tabs button{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem .9rem;border:0;border-bottom:3px solid transparent;background:transparent;color:#6f8391;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.booking-tabs button b{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;padding:0 .35rem;border-radius:999px;background:#edf4f6;color:#69808f;font-size:.6rem}.booking-tabs button.active{border-bottom-color:var(--teal);color:var(--navy)}.booking-tabs button.active b{background:#dff4f5;color:#147f8e}.booking-tab-panel[hidden]{display:none}.booking-entry{border-bottom:1px solid var(--line)}.booking-entry:last-child{border-bottom:0}.booking-entry>summary{list-style:none;cursor:pointer}.booking-entry>summary::-webkit-details-marker{display:none}.booking-entry .booking-row{grid-template-columns:4.2rem minmax(0,1fr) auto 1.8rem;border:0}.booking-expand-icon{display:grid;place-items:center;color:#7f95a3;font-size:.78rem;transition:transform .18s ease}.booking-entry[open] .booking-expand-icon{transform:rotate(180deg)}.booking-entry[open]{background:#fbfdfe}.booking-entry[open] .booking-row{background:#f5fafb}.booking-details{padding:0 1.5rem 1.4rem 6.9rem}.booking-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem;border:1px solid #deeaee;border-radius:.8rem;background:#fff}.booking-detail-grid span,.booking-detail-grid strong,.booking-detail-grid small,.booking-detail-callout span,.booking-detail-callout strong,.booking-detail-callout small,.booking-detail-note span{display:block}.booking-detail-grid span,.booking-detail-callout span,.booking-detail-note span{margin-bottom:.2rem;color:#8598a4;font-size:.57rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.booking-detail-grid strong,.booking-detail-callout strong{color:var(--navy);font-size:.7rem;line-height:1.45}.booking-detail-grid small,.booking-detail-callout small{margin-top:.18rem;color:#7d919e;font-size:.61rem}.booking-detail-callout,.booking-detail-note{display:flex;align-items:flex-start;gap:.7rem;margin-top:.7rem;padding:.85rem 1rem;border-radius:.7rem;background:#edf8f9}.booking-detail-callout>i,.booking-detail-note>i{color:var(--teal);font-size:.9rem}.booking-detail-note{background:#f3f7fa}.booking-detail-note p{margin:0;color:#526c7f;font-size:.68rem;line-height:1.55}.booking-tab-empty{display:grid;place-items:center;padding:3.6rem 2rem;text-align:center}.booking-tab-empty i{margin-bottom:.55rem;color:#83cbd2;font-size:2rem}.booking-tab-empty strong{color:var(--navy);font-size:.9rem}.booking-tab-empty span{margin-top:.25rem;color:var(--muted);font-size:.7rem}
@media(max-width:800px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:22rem;padding:3rem}.auth-intro h1{font-size:2.8rem}.auth-card-wrap{padding:3rem 1.5rem}.dashboard-heading{align-items:flex-start;flex-direction:column}.account-header nav a:first-child{display:none}.booking-detail-grid{grid-template-columns:1fr 1fr}.booking-details{padding-left:1.5rem}}@media(max-width:520px){.account-header{height:74px}.store-link{font-size:0}.store-link i{font-size:1rem}.auth-page{width:min(100% - 20px,1180px);border-radius:18px}.auth-intro{display:none}.name-row{grid-template-columns:1fr;gap:0}.account-dashboard{width:calc(100% - 20px);margin-top:2rem}.booking-entry .booking-row{grid-template-columns:3.6rem minmax(0,1fr) 1.5rem}.booking-row>.status{grid-column:2;width:max-content}.booking-expand-icon{grid-column:3;grid-row:1/3}.booking-detail-grid{grid-template-columns:1fr}.booking-details{padding:0 .8rem 1rem}.booking-tabs{padding-left:.8rem;padding-right:.8rem}.account-header nav{gap:.75rem}.logout-link{padding-left:.75rem}}

.account-management{margin-top:1.4rem;padding:1.5rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(18,65,89,.07);scroll-margin-top:7rem}.account-management-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.account-management-head h2{margin:.28rem 0 .2rem;color:var(--navy);font-size:1.35rem}.account-management-head p{margin:0;color:var(--muted);font-size:.72rem}.account-management-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.85rem;background:#e8f7f8;color:var(--teal);font-size:1.2rem}.account-management>.form-alert{margin:0 0 1.1rem}.account-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.account-settings-card{display:flex;flex-direction:column;padding:1.25rem;border:1px solid #dfeaed;border-radius:14px;background:#fbfdfe}.account-card-heading{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}.account-card-heading>i{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex:0 0 auto;border-radius:.65rem;background:#e7f6f7;color:var(--teal);font-size:1rem}.account-card-heading h3,.account-card-heading p{margin:0}.account-card-heading h3{color:var(--navy);font-size:.9rem}.account-card-heading p{margin-top:.15rem;color:var(--muted);font-size:.64rem}.account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.account-field{display:block;margin:0}.account-field-wide{grid-column:1/-1}.account-field>span{display:block;margin-bottom:.38rem;color:#526e82;font-size:.63rem;font-weight:800}.account-input,.account-readonly,.account-password{width:100%;min-height:2.9rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:#26455c}.account-input{padding:0 .8rem;font:inherit;font-size:.75rem}.account-input:focus,.account-readonly:focus-within,.account-password:focus-within{border-color:#73c0ce;outline:0;box-shadow:0 0 0 .2rem rgba(21,156,175,.1)}.account-readonly,.account-password{display:flex;align-items:center;gap:.55rem;padding:0 .8rem}.account-readonly{background:#f1f5f7;color:#80939f}.account-readonly input,.account-password input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#26455c;font:inherit;font-size:.75rem}.account-readonly input{color:#6f8492}.account-field small{display:block;margin-top:.35rem;color:#899ba6;font-size:.58rem}.account-password button{display:grid;place-items:center;padding:.2rem;border:0;background:transparent;color:#7d929f;cursor:pointer}.account-card-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:1.1rem}.account-save{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.7rem;padding:0 1rem;border:0;border-radius:.65rem;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(19,118,153,.15)}.account-save:hover{filter:brightness(.96);transform:translateY(-1px)}
@media(max-width:800px){.account-management-grid{grid-template-columns:1fr}}@media(max-width:520px){.account-management{padding:1rem}.account-management-icon{display:none}.account-form-grid{grid-template-columns:1fr}.account-field-wide{grid-column:auto}.account-save{width:100%}}

.registration-steps{display:flex;align-items:center;gap:.5rem;margin:0 0 1.35rem}.registration-steps span{display:flex;align-items:center;gap:.3rem;color:#91a1ab;font-size:.58rem;font-weight:800}.registration-steps span b{display:grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#edf3f5;color:#78909d;font-size:.56rem}.registration-steps span.active{color:var(--teal)}.registration-steps span.active b{background:var(--teal);color:#fff}.registration-steps>i{height:1px;flex:1;background:var(--line)}.verification-code-wrap{min-height:3.8rem}.input-wrap .verification-code{text-align:center;font-size:1.35rem;font-weight:850;letter-spacing:.42em}.resend-code-form{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:1rem;color:#8194a0;font-size:.65rem}.resend-code-form button{padding:0;border:0;background:transparent;color:var(--blue);font:inherit;font-weight:800;cursor:pointer}.resend-code-form button:hover{text-decoration:underline}.verified-email{display:flex;align-items:center;gap:.65rem;margin:0 0 1.25rem;padding:.75rem .85rem;border:1px solid #cce9e4;border-radius:.7rem;background:#effaf7;color:#278364}.verified-email>i{font-size:1rem}.verified-email span,.verified-email small,.verified-email strong{display:block}.verified-email small{margin-bottom:.08rem;color:#6e9187;font-size:.56rem;font-weight:800;text-transform:uppercase}.verified-email strong{color:#245f55;font-size:.7rem;overflow-wrap:anywhere}

.account-phone{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.9rem;padding:0 .8rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:#80939f}.account-phone:focus-within{border-color:#73c0ce;outline:0;box-shadow:0 0 0 .2rem rgba(21,156,175,.1)}.account-phone input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#26455c;font:inherit;font-size:.75rem}

.dashboard-actions{display:flex;align-items:center;gap:.65rem}.account-manage-link{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;min-height:2.8rem;padding:0 1rem;border:1px solid #cfe1e6;border-radius:.7rem;background:#fff;color:var(--navy);font-size:.7rem;font-weight:800}.account-manage-link:hover{border-color:#86c6cf;color:var(--teal);transform:translateY(-1px)}.account-management-page .account-management{margin-top:0}@media(max-width:800px){.dashboard-actions{width:100%;flex-wrap:wrap}}@media(max-width:520px){.dashboard-actions{align-items:stretch;flex-direction:column}.dashboard-actions .account-manage-link,.dashboard-actions .primary-link{width:100%}.account-management-page .dashboard-heading>.account-manage-link{width:100%}}

.account-logout-link{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:40px;padding:0 .85rem;border:1px solid #ead9d9;border-radius:999px;background:#fff;color:#995757;font-size:.66rem;font-weight:800}.account-logout-link:hover{border-color:#d9adad;background:#fff7f7;color:#b14545}@media(max-width:820px){.account-logout-link{display:none}}

/* Customer pages retain the public storefront chrome. */
.account-site-body .site-header{background:rgba(255,255,255,.97)}.account-site-body .account-nav-icon{border-color:#b9dfe3;background:#edf9fa;color:var(--teal)}.account-health-link{display:flex;align-items:center;gap:.45rem;min-height:40px;padding:0 .9rem;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:.68rem;font-weight:780}.account-health-link:hover{border-color:#9bcfd6;color:var(--teal)}.account-site-body .auth-page{min-height:min(690px,calc(100vh - 178px));margin-top:2rem;margin-bottom:8rem}.account-site-body .account-dashboard{margin-bottom:9rem}.account-site-footer{margin-top:0}@media(max-width:820px){.account-health-link{display:none}.account-site-body .auth-page{margin-top:1.25rem}.account-site-body .account-dashboard{margin-bottom:7rem}}@media(max-width:560px){.account-site-body .auth-page{margin-bottom:7rem}.account-site-body .account-dashboard{margin-bottom:7rem}}
.account-voucher-panel{margin-bottom:1rem}.account-voucher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.25rem}.account-voucher-card{display:grid;grid-template-columns:7.2rem minmax(0,1fr);overflow:hidden;min-height:8.5rem;border:1px solid var(--line);border-radius:14px;background:#fbfdfe}.account-voucher-image{display:grid;place-items:center;overflow:hidden;background:#edf7f8;color:var(--teal);font-size:2rem}.account-voucher-image img{width:100%;height:100%;object-fit:contain;background:#fff}.account-voucher-copy{align-self:center;padding:1rem}.account-voucher-copy small{color:#8b9ca7;font-size:.57rem;font-weight:800}.account-voucher-copy h3{margin:.25rem 0;color:var(--navy);font-size:.85rem}.account-voucher-copy p{margin:.2rem 0 .6rem;color:var(--muted);font-size:.61rem}.account-voucher-copy a{color:var(--blue);font-size:.66rem;font-weight:850}.account-voucher-waiting{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;color:#627e8e;font-size:.61rem;font-weight:750}.account-voucher-waiting.overdue{color:#b45050}@media(max-width:760px){.account-voucher-grid{grid-template-columns:1fr}}@media(max-width:430px){.account-voucher-card{grid-template-columns:5.2rem minmax(0,1fr)}}
.customer-voucher-page{width:min(940px,calc(100% - 40px));margin:2.5rem auto 8rem}.voucher-back{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1rem;color:var(--blue);font-size:.72rem;font-weight:800}.customer-voucher-ticket{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(18,65,89,.09)}.customer-voucher-visual{display:grid;place-items:center;min-height:34rem;padding:2rem;background:linear-gradient(145deg,#eaf8f9,#f4f9fb);color:var(--teal);font-size:5rem}.customer-voucher-visual img{width:100%;max-height:28rem;object-fit:contain}.customer-voucher-content{align-self:center;padding:clamp(2rem,5vw,3.7rem)}.customer-voucher-content h1{margin:.5rem 0 .3rem;color:var(--navy);font-size:clamp(2rem,5vw,3rem);line-height:1.08;letter-spacing:-.045em}.voucher-booking-ref{margin:0 0 1.5rem;color:var(--muted);font-size:.7rem}.voucher-secret{padding:1.3rem;border:1px dashed #9dcbd2;border-radius:14px;background:#edf9fa;text-align:center}.voucher-secret small,.voucher-secret strong,.voucher-secret span{display:block}.voucher-secret small{color:#678493;font-size:.58rem;font-weight:850;letter-spacing:.12em}.voucher-secret strong{margin:.45rem 0;color:var(--teal);font-size:1.7rem;letter-spacing:.08em;overflow-wrap:anywhere}.voucher-secret span{color:#6c8594;font-size:.65rem}.voucher-secret span b{color:var(--navy);font-size:.82rem}.voucher-expiry{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.8rem;border-radius:.7rem;background:#f5f8fa}.voucher-expiry>i{color:var(--teal);font-size:1rem}.voucher-expiry small,.voucher-expiry b{display:block}.voucher-expiry small{color:#7e929f;font-size:.55rem}.voucher-expiry b{margin-top:.08rem;color:var(--navy);font-size:.7rem}.voucher-instructions{margin-top:1.3rem}.voucher-instructions h2{margin:0 0 .35rem;color:var(--navy);font-size:.85rem}.voucher-instructions p{margin:0;color:#617b8c;font-size:.7rem;line-height:1.65}.voucher-detail-actions{display:flex;align-items:center;gap:.6rem;margin-top:1.4rem}.voucher-detail-actions .primary-link{min-height:2.65rem}.voucher-detail-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.65rem;padding:0 1rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--navy);font:inherit;font-size:.67rem;font-weight:800;cursor:pointer}.voucher-private-note{display:flex;align-items:center;gap:.4rem;margin:1.2rem 0 0;color:#81949f;font-size:.59rem}@media(max-width:780px){.customer-voucher-ticket{grid-template-columns:1fr}.customer-voucher-visual{min-height:16rem}.customer-voucher-page{width:calc(100% - 20px)}}@media(max-width:480px){.voucher-detail-actions{align-items:stretch;flex-direction:column}.voucher-detail-actions>*{width:100%!important}}
.forgot-password-link{display:block;width:max-content;margin:-.35rem 0 .9rem auto;color:var(--blue);font-size:.66rem;font-weight:800}.forgot-password-link:hover{text-decoration:underline}
.checkout-result-page{display:grid;place-items:center;width:var(--shell);min-height:620px;margin:2rem auto 8rem}.checkout-result-card{width:min(100%,760px);padding:clamp(2rem,6vw,4.5rem);border:1px solid var(--line);border-radius:24px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(18,65,89,.09)}.checkout-result-icon{display:grid;place-items:center;width:4.6rem;height:4.6rem;margin:0 auto 1.5rem;border-radius:50%;background:#e4f7f0;color:#238361;font-size:2rem}.checkout-result-icon.processing{background:#edf6fb;color:var(--blue)}.checkout-result-icon.error{background:#fff0f0;color:#bd4c4c}.checkout-result-card h1{margin:.55rem 0 .6rem;color:var(--navy);font-size:clamp(2.35rem,6vw,4rem);letter-spacing:-.055em}.checkout-result-card>p{max-width:36rem;margin:0 auto;color:var(--muted);font-size:.88rem;line-height:1.7}.checkout-result-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:2rem 0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line);text-align:left}.checkout-result-details>div{padding:1rem;background:#f9fcfd}.checkout-result-details span,.checkout-result-details strong{display:block}.checkout-result-details span{color:var(--muted);font-size:.62rem}.checkout-result-details strong{margin-top:.2rem;color:var(--navy);font-size:.8rem}.checkout-result-actions{display:flex;justify-content:center;gap:.7rem;margin-top:2rem}.checkout-result-actions .button{min-width:12rem}.checkout-secondary{border:1px solid var(--line);background:#fff;color:var(--navy);box-shadow:none}@media(max-width:560px){.checkout-result-page{min-height:520px;margin-bottom:7rem}.checkout-result-card{padding:2rem 1.2rem}.checkout-result-details{grid-template-columns:1fr}.checkout-result-actions{align-items:stretch;flex-direction:column}.checkout-result-actions .button{width:100%}}
.booking-review-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem;padding:.9rem 1rem;border:1px solid #cce8e8;border-radius:8px;background:#f0faf9}.booking-review-action span,.booking-review-action small{display:block}.booking-review-action span{color:var(--navy);font-size:.7rem;font-weight:850}.booking-review-action small{margin-top:.15rem;color:var(--muted);font-size:.6rem}.booking-review-action>a{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.4rem;padding:0 .85rem;border-radius:7px;background:var(--blue);color:#fff;font-size:.65rem;font-weight:850}.booking-review-action>strong{color:#ff7827;font-size:1rem;letter-spacing:.06em}.booking-review-action>strong em{color:#d9e2e6;font-style:normal}.customer-review-page{width:min(760px,calc(100% - 40px));margin:2.5rem auto 9rem}.customer-review-card{padding:clamp(2rem,6vw,4rem);border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(18,65,89,.09)}.customer-review-icon{display:grid;place-items:center;width:4rem;height:4rem;margin:0 auto 1.25rem;border-radius:50%;background:#e8f7f8;color:var(--teal);font-size:1.65rem}.customer-review-card h1{margin:.5rem 0;color:var(--navy);font-size:clamp(2rem,6vw,3.3rem);letter-spacing:-.045em}.customer-review-card>p{max-width:35rem;margin:0 auto;color:var(--muted);font-size:.8rem;line-height:1.7}.reviewed-package{display:grid;gap:.18rem;margin:1.6rem 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#f8fbfc;text-align:left}.reviewed-package small{color:#8a9ba6;font-size:.56rem;font-weight:850}.reviewed-package strong{color:var(--navy);font-size:.85rem}.reviewed-package span{color:var(--muted);font-size:.65rem}.rating-form fieldset{margin:0;padding:0;border:0}.rating-form legend{color:#577083;font-size:.68rem;font-weight:850}.star-picker{display:flex;justify-content:center;flex-direction:row-reverse;margin:.65rem auto .35rem}.star-picker input{position:absolute;opacity:0;pointer-events:none}.star-picker label{padding:.08rem;color:#d7e1e5;font-size:clamp(2.5rem,9vw,4rem);line-height:1;cursor:pointer;transition:.14s}.star-picker label:hover,.star-picker label:hover~label,.star-picker input:checked~label{color:#ff7827;transform:translateY(-2px)}.rating-form output{display:block;min-height:1.25rem;color:var(--teal);font-size:.67rem;font-weight:800}.review-submit{margin:1.25rem auto 0}.submitted-stars{margin:1.3rem 0;color:#ff7827;font-size:2rem;letter-spacing:.08em}.submitted-stars span{color:#d9e2e6}@media(max-width:560px){.booking-review-action{align-items:stretch;flex-direction:column}.booking-review-action>a{width:100%}.customer-review-page{width:calc(100% - 20px)}}
/* Customer-facing account pages use the same restrained corner treatment. */
:where(
  .auth-page,.input-wrap,.auth-card label>input,.auth-submit,.primary-link,
  .form-alert,.booking-panel,.panel-heading>div>i,.booking-date,
  .account-management,.account-management-icon,.account-settings-card,
  .account-card-heading>i,.account-input,.account-readonly,.account-password,
  .account-save,.verified-email,.account-phone,.account-manage-link,
  .account-health-link,.account-voucher-card,.customer-voucher-ticket,
  .voucher-secret,.voucher-expiry,.voucher-detail-actions button,
  .checkout-result-card,.checkout-result-details,.checkout-secondary
){border-radius:8px!important}
