/* Subscription (Phase 6): the Support sheet (support.css) and Team helpers (team.css), plus plan cards and feature lists. */
.sub-stack,.sub-current,.sub-plans,.sub-capabilities,.sub-invoices,.sub-actions{display:flex;flex-direction:column;gap:10px}
.sub-current{padding:14px;border-radius:14px;background:var(--bg-3,#f1f5f9)}
.sub-current h3{margin:0;font-size:1.15rem}
.sub-line{margin:0;font-weight:600}
.sub-warn{color:#92400e}
.sub-readonly{margin:0;padding:10px 12px;border-radius:12px;background:#fef3c7;color:#92400e;line-height:1.5}
.sub-status--trialing,.sub-status--active{background:#dcfce7;color:#166534}
.sub-status--past_due{background:#fef3c7;color:#92400e}
.sub-status--restricted,.sub-status--canceled,.sub-status--expired,.sub-status--inactive,.sub-status--none{background:#e5e7eb;color:#374151}
.sub-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.sub-plan{flex-direction:column;align-items:stretch;cursor:default}
.sub-plan--current{border-color:var(--primary,#2563eb);box-shadow:0 0 0 1px var(--primary,#2563eb) inset}
.sub-plan .btn{min-height:44px}
.sub-features,.sub-feature-list{margin:4px 0 0;padding-inline-start:18px;line-height:1.6}
.sub-feature-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px}
.sub-no{color:var(--text-dim,#64748b)}
.sub-action-status:empty{display:none}
.sub-legal{text-align:center}
body.dark-mode .sub-readonly{background:#451a03;color:#fde68a}
body.dark-mode .sub-status--trialing,body.dark-mode .sub-status--active{background:#14532d;color:#dcfce7}
/* Phase 7: plan chooser */
.sub-toggle{display:flex;flex-wrap:wrap;gap:8px}
.sub-toggle .btn{min-height:44px;flex:1 1 140px}
.sub-plan{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:start;cursor:pointer;min-height:96px}
.sub-price{font-weight:800}
.sub-module{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px dashed var(--border,#cbd5e1);border-radius:14px;cursor:pointer;min-height:44px}
.sub-module input{width:22px;height:22px;flex:none;margin-top:2px}
.sub-extras{display:flex;flex-direction:column;gap:8px}
.sub-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.sub-qty{width:88px;min-height:44px;box-sizing:border-box}
.sub-total{margin:6px 0 0;font-size:1.05rem}
.sub-total strong{font-size:1.3rem}
.sub-fair{text-align:center}
/* Phase 7: first-run onboarding card (dashboard) */
.onboarding-card{display:flex;flex-direction:column;gap:10px;margin:10px 12px;padding:16px;border-radius:16px}
.onboarding-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.onboarding-head h2{margin:0;font-size:1.1rem;flex:1 1 auto}
.onboarding-progress{font-weight:700;color:var(--text-dim,#64748b)}
.onboarding-hide,.onboarding-go{min-height:44px}
.onboarding-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.onboarding-step{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:48px}
.onboarding-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--border,#cbd5e1);display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:none}
.onboarding-step.is-done .onboarding-check{background:#16a34a;border-color:#16a34a;color:#fff}
.onboarding-label{flex:1 1 160px;font-weight:600}
.onboarding-step.is-done .onboarding-label{color:var(--text-dim,#64748b);text-decoration:line-through}
.onboarding-done{color:#16a34a;font-weight:700}
.onboarding-optional{margin:0;color:var(--text-dim,#64748b);font-size:.92rem}
.onboarding-link{border:0;background:none;padding:6px 2px;min-height:44px;color:var(--primary,#2563eb);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
