/* AI CEO Lab access screens: sign-in, buy, join, access banners, admin client links. Follows DESIGN.md. */
.login-shell.access-shell{grid-template-columns:minmax(0,1fr);justify-items:center}
.access-card{width:min(460px,100%);overflow-wrap:anywhere}
.access-card-wide{width:min(560px,100%)}
.access-title{margin:20px 0 10px}
.access-card>p{color:var(--text-secondary);font-size:15px;line-height:1.6}
.access-form{margin-top:14px}
.access-form input{width:100%;font-size:16px}
.access-wide{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;text-align:center}
a.access-wide{text-decoration:none;box-sizing:border-box}
.access-google{font-weight:600}
.access-divider{display:flex;align-items:center;gap:12px;margin:20px 0 4px;color:var(--text-secondary);font-size:13px}
.access-divider::before,.access-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.access-alt{margin-top:14px;text-align:center}
.access-alt .linkbutton{text-decoration:underline;text-underline-offset:3px}
#access-password form{margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}
.access-gap{margin-top:12px}
.access-stack{display:grid;gap:8px;margin-top:8px}
.access-status{margin:14px 0 0;padding:12px 14px;border-radius:9px;font-size:14px;line-height:1.5;background:#f3ece6;color:var(--ink)}
.access-status-error{background:#f9e8e9;color:#8c253b}
.access-status-ok{background:#e9f3ec;color:#2f5a3e}
.access-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:22px 0 6px}
.access-price strong{font:40px/1.1 Georgia,serif;color:var(--ox);font-variant-numeric:tabular-nums}
.access-price span{font-size:16px;color:var(--ink)}
.access-subhead{font-size:16px;margin:24px 0 8px}
.access-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.access-list li{position:relative;padding-left:22px;font-size:15px;line-height:1.5}
.access-list li::before{content:'';position:absolute;left:4px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--ox)}
.access-soon{margin-top:22px;padding:18px;border-radius:12px;background:#f3ece6}
.access-soon h2{font:20px/1.3 Georgia,serif;margin:0 0 6px}
.access-soon p,.access-soon a{font-size:14px;color:var(--ink)}
.access-card a{color:var(--ox)}
.access-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 0;padding:14px 18px;border-radius:12px;border:1px solid var(--line)}
.access-banner p{margin:0;font-size:14px;line-height:1.55;color:var(--ink);max-width:80ch}
.access-banner.is-expiring{background:#f7efe3;border-color:#e2cfae}
.access-banner.is-expired{background:#f9e8e9;border-color:#e6c3c9}
.access-banner .primary{flex-shrink:0}
.access-locked{margin-top:20px}
.access-locked h2{font:22px/1.3 Georgia,serif;margin-bottom:8px;color:var(--ink)}
.access-locked p{color:var(--text-secondary);font-size:14px}
.access-links-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;margin-top:6px}
.access-links-form .full{grid-column:1/-1}
.access-links-form input{width:100%}
.access-links-form .primary{margin-top:14px}
.access-created{margin:18px 0;padding:14px;border-radius:12px;background:#f3ece6}
.access-copy{display:flex;gap:8px}
.access-copy input{flex:1;min-width:0;font-size:14px}
@media(max-width:600px){.access-card,.access-card-wide{padding:24px 20px}.login-shell.access-shell{padding:16px}.access-price strong{font-size:34px}.access-links-form{grid-template-columns:1fr}.access-copy{flex-direction:column}.access-banner{align-items:stretch}.access-banner .primary{width:100%}}
.access-card .logo{display:block}
/* Buy page: 16-week program, plans, renewal consent */
.access-card>.access-eyebrow{margin:18px 0 0;font-size:13px;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--ox)}
.access-eyebrow+.access-title{margin-top:8px;font-size:28px;line-height:1.25}
.access-phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.access-phases li{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.access-phase-month,.program-month{font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}
.access-phases strong{font-size:15px;color:var(--ink)}
.access-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access-plan{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.access-plan h3{margin:0;font-size:15px}
.access-plan-price{margin:6px 0 4px;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.access-plan-price strong{font:26px/1.15 Georgia,serif;overflow-wrap:anywhere;color:var(--ox);font-variant-numeric:tabular-nums}
.access-plan-price span{font-size:15px;color:var(--ink)}
.access-plan .small,.access-after{color:var(--ink)}
.access-after{font-size:15px;line-height:1.6;margin:0 0 8px}
.access-consent{display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;padding:14px;border:1px solid #e2cfae;border-radius:12px;background:#f7efe3}
.access-consent input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:0;flex:none;accent-color:var(--ox)}
.access-consent label{font-size:14px;line-height:1.55;color:var(--ink);cursor:pointer}
.access-form button[name=plan]:disabled{opacity:.55;cursor:not-allowed}
/* Overview roadmap */
.program-roadmap{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:0 0 18px}
.program-roadmap h2{margin:0;font-size:17px}
.program-week{margin:6px 0 0;font:600 20px/1.3 Georgia,serif;color:var(--ink)}
.program-roadmap>p{max-width:75ch}
.program-phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.program-phases li{display:grid;align-content:start;gap:3px;padding:12px;border-radius:9px;border:1px solid var(--line);background:var(--cream)}
.program-phases li strong{font-size:14px;color:var(--ink)}
.program-milestone{font-size:13px;line-height:1.45;color:var(--text-secondary)}
.program-phases li.is-current{border-color:var(--ox);background:#fff;box-shadow:inset 0 3px 0 var(--ox)}
.program-phases li.is-current .program-month{color:var(--ox)}
.program-phases li.is-done{background:#f3ece6}
.program-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px}
.program-links .linkbutton{min-height:44px}
/* Workspace Membership section */
.membership-panel{max-width:760px}
.membership-panel h3{font-size:15px;margin:20px 0 6px}
.membership-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 20px;margin:14px 0 0}
.membership-facts dt{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}
.membership-facts dd{margin:2px 0 0;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.membership-alert{margin:14px 0 0;padding:14px 16px;border-radius:12px;background:#f7efe3;border:1px solid #e2cfae}
.membership-alert.is-danger{background:#f9e8e9;border-color:#e6c3c9}
.membership-alert h3{margin:0 0 4px}
.membership-alert p{margin:0 0 10px;font-size:14px;color:var(--ink)}
.membership-alert .access-consent{margin:0 0 10px;background:#fff}
.membership-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px}
.membership-panel button{min-height:44px}
@media(max-width:900px){.program-phases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.access-phases,.access-plans,.program-phases{grid-template-columns:1fr}.access-eyebrow+.access-title{font-size:24px}.program-roadmap{padding:16px}}
