/* Screen styles for the forms area (wave sr). Owned by sr-screen-forms. Colours: var(--...) only; sizes in rem. */

/* Dental forms index and form pages. .form-page itself is defined in money.css. */
.form { min-width: 0; }
.fr-page { display: grid; gap: var(--space-4); }
.fr-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--space-3); }
.section-title { font-size: var(--fs-5); margin: var(--space-5) 0 var(--space-2); color: var(--ink); }
.card-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.card-list > li { display: flex; }
.card-list > li > .card { flex: 1; }
/* SRS-10: a long form title wraps inside its button instead of touching both edges. */
.card-list .btn { white-space: normal; text-align: center; padding-block: var(--space-2); }
.pedo-table { width: 100%; text-align: center; }
.pedo-table thead th { text-align: center; }
#pedo-result { margin-top: var(--space-3); }
.pedo-table th[scope="row"] { text-align: left; font-weight: 600; }

/* Prescriptions (Rx page and pre-filled dialog) */
.rx-page, .rx-page-twin, .rx-dialog { display: grid; gap: var(--space-3); }
.rx-toolbar { justify-content: flex-start; margin-top: 0; margin-bottom: var(--space-3); padding-top: 0; border-top: 0; }
.rx-sync { display: none; }
.rx-prefilled-form { display: grid; gap: var(--space-3); max-height: 70vh; overflow-y: auto; }
.rx-group { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0; display: grid; margin: 0; }
.rx-group > legend { background: var(--accent-wash); color: var(--accent); font-weight: 700; padding: var(--space-2) var(--space-3); width: 100%; box-sizing: border-box; }
.rx-item { padding: var(--space-3); border-top: 1px solid var(--border); }
.rx-item-lines { margin: 0 0 0 2rem; }
.rx-actions { justify-content: center; }
.email-dialog .picker { margin-bottom: 0; }

/* Public and auth pages */
.register-patient, .formlink-public { display: grid; gap: var(--space-3); max-width: 48rem; margin: 0 auto; width: 100%; }
.register-patient h1, .formlink-public h1 { text-align: center; }
.register-patient .auth-logo, .formlink-public .auth-logo { justify-self: center; }
.regpat-hp { display: none; }
.regpat-progress ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.regpat-progress a { color: var(--accent); text-decoration: none; font-size: var(--fs-2); }
.regpat-progress a:hover { text-decoration: underline; }
.recheck-resubmit { display: none; }
.terms { display: grid; gap: var(--space-3); max-width: 48rem; margin: 0 auto; }
.terms h1 { text-align: center; }

/* Treatment demo */
.treatment-demo { display: grid; gap: var(--space-4); }
.demo-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.demo-card { min-width: 0; }
.demo-frame { position: relative; aspect-ratio: 16 / 9; background: var(--surface-2); border-radius: var(--radius-sm); overflow: hidden; }
.demo-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.pedo-table thead th:first-child { font-size: 0; }
