.linkbtn{background:none;border:0;color:var(--brand);font:inherit;font-size:14px;padding:10px 0;cursor:pointer;text-decoration:underline}
#cd-login{display:grid;gap:12px;margin-top:20px}
/* sign-up, onboarding, trial, promo, 2-step */
.wide-box{max-width:440px}
.ob-h{font-size:24px;color:var(--brand);margin:16px 0 8px}
.ob-n{margin:12px 0 0;font-size:13px;color:var(--muted);font-weight:600}
#cd-signup,#ob-f,#cd-mfa{display:grid;gap:12px;margin-top:16px}
.field small.hint{font-size:12px;color:var(--muted)}
[aria-invalid="true"]{border-color:var(--red)!important;box-shadow:0 0 0 2px var(--red-soft)}
.demo-note.err{color:var(--red)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px}.chk input{width:20px;height:20px;margin-top:1px;flex-shrink:0}
.chk a,.trial-cta a:not(.btn),.promo-box a{color:var(--brand)}
.trial-cta{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--brand-soft);display:grid;gap:6px;text-align:center}
.trial-cta .btn{text-decoration:none;justify-self:center;margin-top:4px}
.promo-ok{color:var(--green);font-weight:600;font-size:14px}
.trial-badge{border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.trial-badge.warn{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}
.cd-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 16px 0;padding:10px 12px;border-radius:12px;font-size:14px;border-left:4px solid}
.cd-banner span{flex:1;min-width:200px}
.cd-banner.amber{background:var(--amber-soft);border-color:var(--amber)}.cd-banner.red{background:var(--red-soft);border-color:var(--red)}.cd-banner.green{background:var(--green-soft);border-color:var(--green)}
.cd-x{border:0;background:none;font-size:22px;line-height:1;padding:4px 8px;color:var(--muted)}
.promo-box{border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 16px;background:var(--surface)}
.plan-pick{border:0;padding:0;margin:0 0 12px;display:grid;gap:6px}.plan-pick legend{font-weight:700;margin-bottom:6px}
.plan-pick label{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.plan-pick input{width:18px;height:18px}
.promo-l{display:block;font-weight:600;margin:4px 0}
.promo-row{display:flex;gap:8px;flex-wrap:wrap}.promo-row input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:16px;text-transform:uppercase}
.promo-msg{margin:8px 0 0;font-size:14px;font-weight:600;color:var(--brand)}
.mfa-key{font-family:ui-monospace,monospace;font-size:18px;letter-spacing:.05em;background:var(--brand-soft);padding:10px;border-radius:10px;word-break:break-all}
.mfa-msg{font-weight:600;color:var(--brand)}.ok-line{color:var(--green);font-weight:700}
.steps{padding-left:20px;display:grid;gap:8px}
.impc .needinfo{margin:4px 0 0;display:block;color:var(--ink)}
.needinfo{border-left:4px solid var(--amber);background:var(--amber-soft);border-radius:8px;padding:8px 10px;font-size:13px;margin:0 12px 8px}
.sheet .needinfo{margin-left:0;margin-right:0}
.needinfo.req{border-color:var(--red);background:var(--red-soft)}
.mreq{color:var(--red);font-weight:700}.mopt{color:var(--amber);font-weight:600}
label.mreq input{border-color:var(--red)!important;background:var(--red-soft)!important}label.mopt input{border-color:var(--amber)!important}
.impc.need{border-color:var(--amber)}
.needb{display:inline-block;font-size:12px;font-weight:700;color:var(--amber);margin-top:2px}.needb.req{color:var(--red)}
.emptycard{border:2px dashed var(--brand);border-radius:16px;padding:18px;margin:12px 0;background:var(--brand-soft)}.emptycard h2{color:var(--brand);margin-bottom:6px}
@media(max-width:600px){.trial-badge{font-size:12px;padding:3px 8px}.cd-banner{margin:8px 8px 0}}
.baa-st{display:grid;gap:4px;font-size:14px;border:1px solid var(--line);border-radius:12px;padding:10px}
.baa-text{white-space:pre-wrap;max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px;background:var(--bg);margin-bottom:14px}
#baa-f{display:grid;gap:12px}
.sigpad{width:100%;max-width:600px;height:160px;border:2px dashed var(--brand);border-radius:12px;touch-action:none;background:#fff}
.sig-typed{font-family:"Brush Script MT","Segoe Script",cursive;font-size:24px!important}
.baa-msg{color:var(--red);font-weight:600}
.chk span{flex:1;min-width:0;display:block}
@media(max-width:480px){.top:has(.trial-badge) .role-chip{display:none}}
