.service-picker{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:24px;overflow-y:auto;overscroll-behavior:contain}
.service-picker h2{font-size:28px;line-height:1.2;margin:10px 0 8px}
.service-picker .service-picker-intro{font-size:14px;line-height:1.5;margin:0 0 18px;color:var(--muted)}
.service-picker-options{display:grid;gap:10px}
.service-picker .service-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:16px;text-align:start;cursor:pointer}
.service-choice-copy{display:grid;gap:5px;min-width:0}
.service-choice-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;font-weight:650;line-height:1.35}
.service-choice-description{font-size:13px;line-height:1.5;color:var(--muted);font-weight:400}
.service-choice-badge,.service-choice-condition{font-size:11px;font-weight:500;line-height:1.5;color:var(--muted)}
.service-choice-badge{padding:2px 8px;border:1px solid var(--line);border-radius:20px}
.service-paid{padding:16px;border:1px solid var(--text);border-radius:18px;background:var(--panel2)}
.service-picker .service-paid h3{font-size:18px;margin:0 0 6px}
.service-picker .service-paid p{font-size:13px;line-height:1.5;margin:0 0 12px;color:var(--muted)}
.service-periods{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body[data-layout] .service-picker .service-period{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;height:auto;min-height:106px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:start;cursor:pointer}
.service-period>span{font-size:13px;line-height:1.3}
.service-period>strong{font-size:24px;line-height:1.15;letter-spacing:-.5px}
.service-period>small{font-size:10px;font-weight:400;line-height:1.4}
body[data-layout] .service-picker .service-period.is-annual{background:var(--text);color:var(--bg);border-color:var(--text)}
.service-picker .service-paid .service-renewal{margin:10px 0 0;font-size:11px}
.service-picker .service-group-label{font-size:11px;color:var(--muted);margin:8px 0 0;letter-spacing:.06em}
.service-choice:focus-visible,.service-period:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.service-picker .service-period:disabled{cursor:wait;opacity:.65}
@media(max-width:380px){.service-picker{padding:20px}.service-picker h2{font-size:25px}.service-choice-description{font-size:12px}.service-picker .service-choice{padding:12px}.service-picker .service-paid{padding:13px}}
