/* SignalSolid unified commerce and workflow layer — progressive enhancement */
:root { --ss-commerce-ink:#182536; --ss-commerce-muted:#5f6e80; --ss-commerce-border:#dce3ec; --ss-commerce-surface:#fff; --ss-commerce-accent:#2762e0; }
.ss-commerce { width:min(100% - 2rem,1120px); margin:0 auto; padding:clamp(1.3rem,3vw,3rem) 0 5rem; color:var(--ss-commerce-ink); }
.ss-commerce__eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; color:var(--ss-commerce-accent); }
.ss-commerce__header { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:1rem; margin-bottom:1.6rem; }
.ss-commerce__header h1 { font-size:clamp(1.65rem,3vw,2.65rem); line-height:1.13; letter-spacing:-.035em; margin:.4rem 0; }
.ss-commerce__intro { color:var(--ss-commerce-muted); max-width:68ch; line-height:1.7; margin:0; }
.ss-commerce__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.ss-commerce__card { background:var(--ss-commerce-surface); border:1px solid var(--ss-commerce-border); border-radius:18px; padding:clamp(1.1rem,2vw,1.8rem); box-shadow:0 10px 34px rgba(19,39,65,.045); min-width:0; }
.ss-commerce__card h2 { font-size:1.22rem; letter-spacing:-.02em; margin:.3rem 0 .8rem; }
.ss-commerce__stack { display:grid; gap:1rem; }
.ss-commerce__badge { display:inline-flex; width:fit-content; padding:.28rem .65rem; border-radius:100px; font-size:.78rem; font-weight:750; background:#e9f2ff; color:#1f4f9d; }
.ss-commerce__badge--paid { color:#17613a; background:#e3f7ec; }
.ss-commerce__badge--pending { color:#78521b; background:#fff2d8; }
.ss-commerce__badge--cancelled { color:#933b40; background:#ffeaed; }
.ss-commerce__muted { color:var(--ss-commerce-muted); }
.ss-commerce__price { font-size:clamp(1.35rem,2vw,1.85rem); line-height:1.25; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.ss-commerce__meta { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; color:var(--ss-commerce-muted); font-size:.9rem; }
.ss-commerce__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.2rem; }
.ss-commerce .ss-commerce__action { display:inline-flex; justify-content:center; align-items:center; min-height:44px; border-radius:10px; font-weight:700; text-decoration:none; padding:.72rem 1rem; }
.ss-commerce__primary { color:#fff!important; background:#2359c9; border:1px solid #2359c9; }
.ss-commerce__secondary { color:var(--ss-commerce-ink)!important; border:1px solid var(--ss-commerce-border); background:var(--ss-commerce-surface); }
.ss-commerce__empty { text-align:center; padding:3.2rem 1.5rem; border:1px dashed var(--ss-commerce-border); border-radius:16px; background:var(--ss-commerce-surface); }
.ss-commerce__form { display:grid; gap:1.2rem; }
.ss-commerce__field label { display:block; font-weight:700; margin-bottom:.5rem; }
.ss-commerce__field input { width:100%; padding:.82rem 1rem; border-radius:10px; border:1px solid #aebbcc; background:var(--ss-commerce-surface); color:var(--ss-commerce-ink); }
.ss-commerce__option { display:flex; gap:.8rem; padding:1rem; border:1px solid var(--ss-commerce-border); border-radius:12px; cursor:pointer; align-items:flex-start; margin-bottom:.6rem; }
.ss-commerce__option input { margin-top:.3rem; accent-color:#2359c9; }
.ss-commerce__option strong { display:block; }
.ss-commerce__summary { position:sticky; top:1.5rem; align-self:start; }
.ss-commerce__notice { padding:1rem 1.1rem; border-radius:12px; background:#edf4ff; border:1px solid #d8e6ff; color:#2b466e; }
.ss-commerce__break { overflow-wrap:anywhere; }
.ss-commerce a:focus-visible,.ss-commerce button:focus-visible,.ss-commerce input:focus-visible { outline:3px solid #ec9b38; outline-offset:3px; }
.ss-commerce__action:hover { filter:brightness(.94); transform:translateY(-1px); }
@media (max-width:760px) { .ss-commerce__grid {grid-template-columns:1fr;} .ss-commerce__summary{position:static;} .ss-commerce__actions .ss-commerce__action{flex:1;} }
@media (prefers-reduced-motion:reduce) { .ss-commerce__action {transition:none!important; transform:none!important;} }
html[data-theme="dark"] { --ss-commerce-ink:#eff5ff; --ss-commerce-muted:#abb9cb; --ss-commerce-border:#34465d; --ss-commerce-surface:#192636; --ss-commerce-accent:#8cb5ff; }
html[data-theme="dark"] .ss-commerce__badge {background:#1b3b67;color:#c9defe;}
html[data-theme="dark"] .ss-commerce__badge--paid {background:#1b493a;color:#b3f2c8;}
html[data-theme="dark"] .ss-commerce__badge--pending {background:#493a1d;color:#ffde9a;}
html[data-theme="dark"] .ss-commerce__notice {background:#253b57;border-color:#416080;color:#d4e5ff;}

/* Shared account recovery layout: one task, one clear form, readable errors. */
.ss-auth-recovery{max-width:640px;min-height:56vh;display:flex;align-items:flex-start;justify-content:center}
.ss-auth-recovery>.ss-commerce__card{width:100%;margin-top:clamp(0rem,3vw,2rem)}
.ss-auth-recovery h1{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em;margin:.5rem 0 1rem}
.ss-auth-step{font-size:.81rem;color:var(--ss-commerce-muted);border-bottom:1px solid var(--ss-commerce-border);padding-bottom:.8rem;margin-bottom:.8rem}
.ss-auth-recovery .invalid-feedback{margin-top:.45rem}
.ss-auth-recovery .ss-commerce__field input{min-height:46px}
