/* Scoped to customer pages; staff/admin workspaces retain their existing layout. */
body.customer-ui{--ink:#202936;--teal:#40526c;--dark:#202b3e;--paper:#f6f7f9;--line:#e2e6ed;--muted:#647080;--accent:#e2eaf6;background:var(--paper);color:var(--ink)}
.customer-ui main{max-width:960px;padding-bottom:124px}.customer-ui .header{max-width:1008px}.customer-ui .brand-mark{background:transparent;color:var(--ink);border:1px solid var(--line)}
.customer-ui .page-head h1{font-size:1.7rem}.customer-ui .eyebrow{font-size:.68rem;letter-spacing:.16em}.customer-ui .home-grid{grid-template-columns:1.3fr 1fr;align-items:stretch}.customer-ui .pass{background:radial-gradient(ellipse at 100% 0,#788db06b,transparent 65%),radial-gradient(ellipse at 0 110%,#7fa6a14d,transparent 60%),linear-gradient(130deg,#151a24,#283348);border:1px solid #ffffff24;border-radius:24px;box-shadow:0 18px 36px #17203217;padding:28px}.customer-ui .pass h2{font-size:1.9rem;margin-top:30px}.customer-ui .pass .badge{background:#e9edf7;color:#253044;border-radius:20px;font-size:.75rem}.customer-ui .pass-bottom strong{font-size:1.35rem}.customer-ui .pass-bottom button{background:#ffffff14;border:1px solid #ffffff38;color:#fff}.customer-ui .grade-pass{border-color:#ffffff28}.customer-ui .grade-pass p{font-size:.8rem}.customer-ui .grade-pass summary{cursor:pointer;font-size:.8rem;padding:9px 0}.customer-ui .brief{background:#eef1f5;border-radius:24px;display:flex;flex-direction:column;justify-content:center}.customer-ui .brief-line{line-height:1.6;border-color:#dce2ea}.customer-ui .section-line h2{font-size:1.1rem}
.customer-ui .benefit-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.customer-ui .benefit-cards .offer{border-radius:20px}.benefit-art{position:relative;overflow:hidden;background:#e9edf2}.benefit-art svg{width:100%;height:150px;display:block;object-fit:cover}.benefit-art>span{position:absolute;bottom:12px;left:18px;font-size:9px;letter-spacing:.16em;color:#58677b}.customer-ui .offer-top{background:transparent;padding:14px 20px;border:0}.customer-ui .offer-body{padding-top:0}.customer-ui .offer h3{margin-top:12px}.customer-ui .offer button+button{margin-top:8px}.customer-ui .offer .desc{min-height:0}.customer-ui .offer .meta{font-size:.75rem}.customer-ui .offer details{font-size:.8rem}.customer-ui button.primary{background:#253247;border-color:#253247}.customer-ui button.secondary{background:#f0f3f7;border-color:#e2e6ed;color:#40526c}
.customer-nav{position:fixed;z-index:10;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 28px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px;background:#fffffff5;border:1px solid #e2e6ed;box-shadow:0 10px 35px #1720321a;border-radius:24px}.customer-nav button{display:flex;align-items:center;flex-direction:column;gap:5px;border:0;background:transparent;font-size:.7rem;font-weight:500;color:#657080;padding:8px 2px;min-width:0}.customer-nav button[aria-current="page"]{background:#edf1f6;color:#202b3e;border-radius:17px;font-weight:700}.customer-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.customer-ui #toast{bottom:108px}.customer-ui footer{padding-bottom:110px}.customer-ui .account-links{margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}
.customer-ui dialog{border-radius:24px;background:#f8fafc}.customer-ui .qr-card{background:white;padding:20px;border:1px solid #e2e6ed;border-radius:22px;margin:20px 0;text-align:center}.customer-ui .qr-card .qr{margin:12px auto;width:240px;height:240px}.customer-ui .qr-card .code{font-size:1.45rem;margin:12px 0;letter-spacing:.04em}.customer-ui .qr-identity{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:16px;text-align:left;font-size:.85rem}.customer-ui .qr-identity strong{overflow-wrap:anywhere}.customer-ui .qr-benefit{font-size:.9rem;color:var(--muted)}
.customer-ui .login-card{border-radius:24px;box-shadow:0 15px 40px #17203206}.customer-ui .login-intro h1{font-size:2.5rem}.future-auth{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;color:var(--muted)}.future-auth p{font-size:.8rem;margin-bottom:12px}.future-auth>div{display:grid;gap:8px}.future-auth button{font-size:.85rem}.future-auth small{display:block;font-size:.75rem;line-height:1.7;margin-top:12px}.customer-ui .entry-welcome{border-top:1px solid var(--line)}
@media(max-width:700px){.customer-ui .home-grid,.customer-ui .benefit-cards,.customer-ui .login-layout{grid-template-columns:1fr}.customer-ui .brief{padding:20px}.customer-ui .brief h2{font-size:1rem;margin-bottom:8px}.customer-ui .brief-line{font-size:.8rem;padding:8px 0}.customer-ui .pass{padding:24px}.customer-ui .section-line{align-items:start;flex-direction:column;gap:6px}.customer-ui .benefit-cards .offer{display:grid;grid-template-columns:96px minmax(0,1fr);padding:14px;gap:0 14px}.customer-ui .benefit-art{grid-column:1;grid-row:1/3;border-radius:12px;align-self:start}.customer-ui .benefit-art svg{height:110px;width:180px;max-width:none;transform:translateX(-40px)}.customer-ui .benefit-art>span{display:none}.customer-ui .offer-top{grid-column:2;padding:0 0 6px;font-size:.7rem}.customer-ui .offer-index{display:none}.customer-ui .benefit-cards .offer-body{grid-column:2;min-width:0;padding:0}.customer-ui .offer h3{font-size:1.05rem}.customer-ui .offer .desc{font-size:.8rem}.customer-ui .offer .badge{font-size:.65rem}.customer-ui .login-intro h1{font-size:2rem}.customer-ui main{padding-bottom:124px}.customer-ui .header{gap:10px}.customer-ui .page-head h1{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){.customer-ui *{scroll-behavior:auto}}
/* Compact benefit rows at every screen size; full terms remain in detail dialog. */
.customer-ui .benefit-cards{grid-template-columns:1fr;gap:10px}
.customer-ui .benefit-cards .offer{display:grid;grid-template-columns:70px minmax(0,1fr);padding:14px;gap:0 14px;border-radius:17px}
.customer-ui .benefit-cards .benefit-art{grid-column:1;grid-row:1/3;border-radius:12px;align-self:center;width:70px;height:82px}
.customer-ui .benefit-cards .benefit-art svg{height:82px;width:140px;max-width:none;transform:translateX(-35px)}
.customer-ui .benefit-cards .benefit-art>span,.customer-ui .benefit-cards .offer-index{display:none}
.customer-ui .benefit-cards .offer-top{grid-column:2;padding:0 0 5px;font-size:.72rem;min-width:0}
.customer-ui .benefit-cards .offer-top .smalltext{font-size:.72rem}
.customer-ui .benefit-cards .offer-body{grid-column:2;min-width:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}
.customer-ui .benefit-cards .offer-body>.row,.customer-ui .benefit-cards .desc,.customer-ui .benefit-cards .meta,.customer-ui .benefit-cards details{display:none}
.customer-ui .benefit-cards .offer h3{grid-column:1/-1;font-size:1rem;line-height:1.4;margin:0 0 3px;overflow-wrap:anywhere}
.customer-ui .benefit-cards .offer button{width:auto;margin:0;min-height:44px;padding:8px 10px;font-size:.75rem;border-radius:10px}
.customer-ui .benefit-cards .offer button.secondary{background:transparent;border-color:transparent;padding:8px 4px;color:#596779}
/* Approved combination: study02 wordmark/card + study03 image rows. */
.customer-ui{font-family:Arial,"Malgun Gothic","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.customer-ui .brand-mark{display:none}.customer-ui .brand{font-weight:850;letter-spacing:-.05em;color:#181d25;gap:8px}.customer-ui .brand-word{display:inline;font-size:10px;letter-spacing:.14em;color:#68717e}.customer-ui .brand-word:before{content:'/';margin-right:8px;color:#9ba3ad}
.customer-ui main{max-width:620px}.customer-ui .header{max-width:668px}.customer-ui .home-grid{display:block;margin-bottom:0}.customer-ui .pass{min-height:215px;border-radius:21px;background:radial-gradient(ellipse at 95% 0,#66708255,transparent 60%),linear-gradient(125deg,#181c24,#2b3340);box-shadow:0 16px 32px #17203212;position:relative;overflow:hidden}.customer-ui .pass:after{content:'';position:absolute;right:-70px;bottom:-120px;width:240px;height:260px;border:1px solid #ffffff05;border-radius:50%;pointer-events:none}.customer-ui .pass h2{margin-top:30px;font-size:1.65rem;font-weight:500}.customer-ui .pass .badge{background:#ffffff08;border:1px solid #ffffff24;color:#dfe5ef;font-size:.65rem}.customer-ui .pass-bottom{margin-top:20px;font-size:.75rem}.customer-ui .pass-bottom strong{font-size:1rem}.customer-ui .pass-bottom button{font-size:.7rem;padding:6px 10px}.customer-ui .membership-details{color:var(--muted);margin:12px 0 26px}.customer-ui .membership-details .grade-pass{border:0;margin:0;padding:0}.customer-ui .membership-details .grade-pass>p{display:none}.customer-ui .membership-details summary{font-size:.75rem}.customer-ui .page-head{margin-bottom:24px}.customer-ui .page-head h1{font-size:1.8rem;letter-spacing:-.055em}
.customer-ui .benefit-row{display:flex;width:100%;align-items:center;gap:14px;background:white;border:1px solid #e7eaf0;border-radius:17px;padding:14px;text-align:left;font-weight:400;min-height:112px;color:var(--ink)}.customer-ui .benefit-row:hover{background:#fff;border-color:#aab6c5}.benefit-thumb{width:70px;height:78px;flex:none;overflow:hidden;border-radius:12px}.benefit-thumb svg{width:100%;height:100%;display:block}.benefit-copy{flex:1;min-width:0}.benefit-copy small{display:block;font-size:9px;letter-spacing:.12em;color:#68717e}.benefit-copy strong{display:block;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.04em;margin:7px 0}.benefit-copy>span{display:block;font-size:11px;color:#68717e;line-height:1.55;overflow-wrap:anywhere}.benefit-arrow{font-size:22px;color:#788492;flex:none}
@media(max-width:400px){.customer-ui .benefit-row{padding:12px;gap:11px}.benefit-thumb{width:60px;height:72px}.benefit-copy strong{font-size:15px}.customer-ui .brand{font-size:1.05rem}}
.customer-ui .test-strip{display:none}
.customer-ui .future-auth{display:none}
.consent-fields{padding:18px;border:1px solid var(--line);border-radius:14px;display:grid;gap:12px;min-width:0}.consent-fields legend{font-size:.9rem;font-weight:600;padding:0 6px}.consent-fields p{margin:0}.consent-fields>a{font-size:.8rem;margin-left:26px}.consent-fields .check{font-size:.85rem;line-height:1.6}.consent-fields .check input{flex-shrink:0}
/* Authentication needs more room than the compact membership screen. */
.customer-ui:has(.login-layout) main{max-width:1040px;padding:40px 24px 72px}
.customer-ui:has(.login-layout) .header{max-width:1040px}
.customer-ui:has(.login-layout) footer{max-width:1040px;margin-left:auto;margin-right:auto;padding-bottom:32px}
.customer-ui .login-layout{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:64px;padding:24px 0;align-items:start}
.customer-ui .login-layout>*{min-width:0}
.customer-ui .login-intro{padding-top:24px}
.customer-ui .login-intro h1{font-size:2.75rem;line-height:1.25;word-break:keep-all;overflow-wrap:break-word;letter-spacing:-.055em}
.customer-ui .login-intro p{word-break:keep-all;overflow-wrap:break-word;line-height:1.8}
.customer-ui .login-card{padding:32px}
.customer-ui .login-card button{word-break:keep-all}
.customer-ui .login-card .auth-tabs button{white-space:nowrap}
@media(max-width:800px){
 .customer-ui:has(.login-layout) main{max-width:520px;padding:16px 20px 40px}
 .customer-ui:has(.login-layout) .header,.customer-ui:has(.login-layout) footer{max-width:520px}
 .customer-ui .login-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:0}
 .customer-ui .login-intro{padding-top:0}
 .customer-ui .login-intro h1{font-size:2rem}
 .customer-ui .login-card{padding:24px}
}

.customer-ui .approval-panel{max-width:560px;margin:48px auto}.approval-panel h1{font-size:26px;word-break:keep-all}.approval-panel p{line-height:1.7}
