/* Final shared form layer. Older form-specific styles remain for behavior only. */
:root {
  --form-ink: #07142f;
  --form-primary: #003f46;
  --form-accent: #007c87;
  --form-page: #f6f9fa;
  --form-surface: #fff;
  --form-soft: #edf7f7;
  --form-border: #d7e1e3;
  --form-muted: #607074;
}

:is(.dls-school-auth-modal,.dls-action-modal,.dls-support-modal,.dls-import-modal,.dls-invite-modal,[data-dls-topic-modal],[data-dls-topic-assign-modal],[data-dls-class-report-modal]) {
  padding: clamp(.75rem,2vw,1.5rem) !important;
  font-family: Inter,system-ui,sans-serif !important;
}

:is(.dls-school-auth-backdrop,.dls-action-backdrop,.dls-support-modal-backdrop,.dls-class-report-backdrop,.dls-import-modal::before,.dls-invite-modal) {
  background: rgba(7,20,47,.64) !important;
  backdrop-filter: blur(10px) !important;
}

:is(.dls-school-auth-card,.dls-action-card,.dls-support-modal-card,.dls-import-dialog,.dls-invite-dialog,.dls-class-report-card,[data-dls-topic-modal]>section,[data-dls-topic-assign-modal]>div) {
  width: min(880px,100%) !important;
  max-height: calc(100dvh - clamp(1.5rem,4vw,3rem)) !important;
  overflow: auto !important;
  padding: clamp(1.25rem,3vw,2rem) !important;
  border: 1px solid var(--form-border) !important;
  border-radius: 1.5rem !important;
  background: var(--form-page) !important;
  box-shadow: 0 28px 80px rgba(7,20,47,.22) !important;
  color: var(--form-ink) !important;
  scrollbar-gutter: stable;
}

:is(.dls-school-auth-card,.dls-action-card,.dls-support-modal-card,.dls-import-dialog,.dls-invite-dialog,.dls-class-report-card,[data-dls-topic-modal]>section,[data-dls-topic-assign-modal]>div)::before {
  content: "";
  display: block;
  height: .35rem;
  margin: -2rem -2rem 1.35rem;
  border-radius: 1.5rem 1.5rem 0 0;
  background: linear-gradient(90deg,#00bda8,#2487f2 64%,#7209b7);
}

:is(.dls-school-auth-card,.dls-action-card,.dls-support-modal-card,.dls-import-dialog,.dls-invite-dialog,.dls-class-report-card,[data-dls-topic-modal],[data-dls-topic-assign-modal]) h2 {
  margin: .35rem 4rem .45rem 0 !important;
  color: var(--form-ink) !important;
  font: 900 clamp(1.75rem,4vw,2.65rem)/1.08 Manrope,Inter,sans-serif !important;
  letter-spacing: -.025em !important;
}

:is(.dls-action-kicker,.dls-support-kicker,.dls-invite-dialog>header p) {
  margin: 0 0 .55rem !important;
  color: var(--form-accent) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

:is(.dls-school-auth-card>p,.dls-action-card>p,.dls-support-modal-heading p,.dls-invite-intro) {
  max-width: 720px;
  margin: 0 0 1.25rem !important;
  color: var(--form-muted) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

:is(.dls-school-auth-tabs,.dls-school-auth-switch,.dls-school-auth-providers) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(140px,1fr));
  gap: .65rem !important;
  margin: 0 0 .85rem !important;
  padding: .4rem !important;
  border: 1px solid var(--form-border);
  border-radius: 1rem;
  background: #e9eff1;
}
:is(.dls-school-auth-tabs,.dls-school-auth-switch,.dls-school-auth-providers)[hidden] {
  display: none !important;
}
.dls-school-auth-providers { padding: 0 !important; border: 0; background: transparent; }
:is(.dls-school-auth-tabs,.dls-school-auth-switch,.dls-school-auth-providers) button {
  min-height: 2.8rem;
  padding: .65rem .9rem !important;
  border: 1px solid transparent !important;
  border-radius: .75rem !important;
  box-shadow: none !important;
  font-size: .88rem !important;
}
:is(.dls-school-auth-tabs,.dls-school-auth-switch) button.active {
  border-color: var(--form-border) !important;
  background: #fff !important;
  color: var(--form-primary) !important;
  box-shadow: 0 3px 10px rgba(7,20,47,.08) !important;
}

:is(.dls-school-auth-form,.dls-action-fields,.dls-support-form,.dls-invite-dialog form,.dls-class-report-form,.community-form) {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem !important;
  margin-top: 1rem !important;
  padding: clamp(1rem,2.5vw,1.5rem) !important;
  border: 1px solid var(--form-border) !important;
  border-radius: 1.15rem !important;
  background: var(--form-surface) !important;
  box-shadow: 0 8px 24px rgba(7,20,47,.05) !important;
}
.dls-school-form-grid { display: contents !important; }
:is(.dls-school-auth-form-title,.dls-action-fields>h3,.dls-support-form>h3) {
  grid-column: 1/-1;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--form-border);
  color: var(--form-primary) !important;
  font: 900 1.15rem/1.25 Manrope,Inter,sans-serif !important;
}

:is(.dls-school-auth-form label,.dls-action-field,.dls-support-field,.dls-invite-dialog label,.dls-class-report-form label,.community-form label) {
  display: grid !important;
  align-content: start;
  gap: .45rem !important;
  min-width: 0;
  color: #24324a !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
}

:is(.dls-school-auth-form,.dls-action-field,.dls-support-field,.dls-invite-dialog,.dls-class-report-form,.community-form) :is(input,select,textarea) {
  width: 100% !important;
  min-height: 3rem !important;
  margin: 0 !important;
  padding: .75rem .9rem !important;
  border: 1px solid #bdc9cb !important;
  border-radius: .75rem !important;
  background: #fff !important;
  color: var(--form-ink) !important;
  font: 600 .92rem/1.4 Inter,system-ui,sans-serif !important;
  box-shadow: none !important;
}
:is(.dls-school-auth-form,.dls-action-field,.dls-support-field,.dls-invite-dialog,.dls-class-report-form,.community-form) textarea {
  min-height: 7rem !important;
  resize: vertical;
}
:is(.dls-school-auth-form,.dls-action-field,.dls-support-field,.dls-invite-dialog,.dls-class-report-form,.community-form) :is(input,select,textarea):focus {
  outline: 3px solid rgba(0,124,135,.18) !important;
  border-color: var(--form-accent) !important;
}

:is(.dls-school-auth-form>.dls-action-primary,.dls-action-row,.dls-support-form-actions,.dls-invite-dialog footer,.dls-class-report-actions,.community-form>button:last-child) {
  grid-column: 1/-1;
}
:is(.dls-action-primary,.dls-action-secondary,.dls-support-form-actions button,.dls-invite-dialog footer button,.dls-class-report-actions button,.community-form button) {
  min-height: 2.9rem !important;
  padding: .7rem 1.15rem !important;
  border-radius: 999px !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
}
:is(.dls-action-primary,.dls-support-form-actions button[type=submit],.dls-invite-dialog footer button[type=submit],.dls-class-report-actions button[type=submit],.community-form button[type=submit]) {
  border: 1px solid var(--form-primary) !important;
  background: var(--form-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(0,63,70,.16) !important;
}

:is(.dls-action-close,.dls-support-icon-button,.dls-invite-dialog>header button) {
  top: 1.25rem !important;
  right: 1.25rem !important;
  width: 2.65rem !important;
  height: 2.65rem !important;
  border: 1px solid var(--form-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--form-primary) !important;
  box-shadow: 0 5px 14px rgba(7,20,47,.08) !important;
  font-size: 1.45rem !important;
}

:is(.dls-school-auth-note,.dls-invite-primary-note,.dls-action-form-note,.dls-support-form-error,.form-status) {
  grid-column: 1/-1;
  margin: .25rem 0 0 !important;
  padding: .85rem 1rem !important;
  border: 1px solid #cde2e3 !important;
  border-radius: .8rem !important;
  background: var(--form-soft) !important;
  color: var(--form-primary) !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
}

@media (max-width:700px) {
  :is(.dls-school-auth-modal,.dls-action-modal,.dls-support-modal,.dls-import-modal,.dls-invite-modal) {
    align-items: end !important;
    padding: 0 !important;
  }
  :is(.dls-school-auth-card,.dls-action-card,.dls-support-modal-card,.dls-import-dialog,.dls-invite-dialog,.dls-class-report-card) {
    width: 100% !important;
    max-height: 94dvh !important;
    padding: 1rem !important;
    border-radius: 1.25rem 1.25rem 0 0 !important;
  }
  :is(.dls-school-auth-card,.dls-action-card,.dls-support-modal-card,.dls-import-dialog,.dls-invite-dialog,.dls-class-report-card)::before {
    margin: -1rem -1rem 1rem;
    border-radius: 1.25rem 1.25rem 0 0;
  }
  :is(.dls-school-auth-form,.dls-action-fields,.dls-support-form,.dls-invite-dialog form,.dls-class-report-form,.community-form) {
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
  }
  :is(.dls-school-auth-tabs,.dls-school-auth-switch,.dls-school-auth-providers) {
    grid-template-columns: 1fr 1fr;
  }
}
