/* Shared form layout: full workspace width, consistent rows and touch targets. */
.form-panel { width:100%; max-width:none; }
.form-panel > form { padding:clamp(20px,2.5vw,36px); }
.form-grid { min-width:0; gap:24px; align-items:start; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.form-grid > *, .field { min-width:0; }
.field { gap:8px; }
.field > label { font-size:14px; line-height:1.5; color:#465570; }
.field > input, .field > select, .field > textarea { width:100%; font-size:15px; min-height:48px; padding:12px 14px; }
.field > textarea { min-height:112px; line-height:1.6; }
.field small { font-size:12px; line-height:1.6; color:#68758a; overflow-wrap:anywhere; }
.field input[type=file] { padding:10px; }
.field input[type=date] { min-width:0; min-inline-size:0; }
.form-section-heading { grid-column:1/-1; border-bottom:1px solid var(--line); padding-bottom:14px; margin-top:8px; }
.form-section-heading:first-of-type { margin-top:0; }
.form-section-heading h2 { font-size:17px; line-height:1.4; }
.form-section-heading p { font-size:13px; color:#68758a; line-height:1.6; margin:5px 0 0; }
.form-options { display:flex; flex-wrap:wrap; gap:12px; border:0; padding:0; margin:0; min-width:0; }
.form-options > legend { padding:0; margin:0 0 10px; font-size:14px; color:#465570; font-weight:600; }
.form-grid .check, .form-grid .checks .check, .form-options .check { min-height:48px; gap:11px; font-size:14px; line-height:1.5; padding:11px 14px; border:1px solid var(--line); border-radius:9px; background:#fafbfd; align-self:start; overflow-wrap:anywhere; cursor:pointer; }
.form-grid .check input { width:20px; height:20px; flex:0 0 20px; margin:0; }
.form-grid .check:has(input:checked) { border-color:#c8c3df; background:#f5f3fb; color:#373580; }
.form-options > .check { flex:1 1 210px; }
.form-grid .checks { gap:12px; }
.form-actions { grid-column:1/-1; flex-wrap:wrap; gap:14px; padding-top:24px; margin-top:4px; }
.form-actions > button, .form-actions > .button { min-height:48px; font-size:14px; padding:12px 24px; white-space:normal; text-align:center; }
.form-actions > a:not(.button) { display:inline-flex; min-height:48px; align-items:center; padding:8px 12px; font-size:14px; }
.form-grid > button { justify-self:start; min-height:48px; font-size:14px; white-space:normal; }
.form-grid .validation { grid-column:1/-1; font-size:14px; }
.form-grid .validation ul { line-height:1.8; }
.filters { min-width:0; }
.filters > input, .filters > select { min-width:0; min-height:44px; font-size:14px; }
.filters > button { min-height:44px; }
.upload-form { min-width:0; }
.upload-form input { width:100%; }
.form-grid, .form-grid .field, .filters { scroll-margin-top:24px; }
@media (max-width:900px) {
  .form-grid.two { column-gap:22px; }
  .form-panel > form { padding:24px; }
}
@media (max-width:700px) {
  .form-grid.two { grid-template-columns:minmax(0,1fr); }
  .form-grid { gap:20px; }
  .form-grid .full { grid-column:1/-1; }
  .form-panel > form { padding:20px; }
  .field > input, .field > select, .field > textarea { font-size:16px; min-height:50px; }
  .form-options { flex-direction:column; }
  .form-options > .check { flex:auto; width:100%; }
  .form-actions { align-items:stretch; flex-direction:column; gap:8px; }
  .form-actions > button, .form-actions > .button, .form-grid > button { width:100%; min-height:50px; justify-self:stretch; }
  .form-actions > a:not(.button) { justify-content:center; }
  .form-section-heading h2 { font-size:16px; }
  .filters > input, .filters > select { width:100%; max-width:none; flex-basis:100%; font-size:16px; min-height:48px; }
  .filters > button { width:100%; min-height:48px; }
  .page-heading { flex-wrap:wrap; }
  .page-heading h1 { overflow-wrap:anywhere; }
  .page-heading .actions { flex-wrap:wrap; }
  .page-heading .button { min-height:44px; white-space:normal; }
  .padded.form-grid { padding:20px; }
  .form-grid .checks { flex-direction:column; }
  .form-grid .checks .check { width:100%; }
}
@media (max-width:380px) {
  .form-panel > form, .padded.form-grid { padding:16px; }
}

.guest[data-page="Account"] main:has(.form-panel) { padding:24px 20px; width:100%; max-width:none; margin:0; }
