@import url("/fonts.css");
:root {
  font-family:
    Inter,
    system-ui,
    -apple-system,
    sans-serif;
  color: #183831;
  background: #f4f7f5;
  font-size: 15px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  display: flex;
  min-height: 100vh;
}
aside {
  width: 245px;
  background: #fff;
  border-right: 1px solid #dde7e1;
  padding: 32px 22px;
  position: fixed;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #167459;
  font-size: 27px;
  text-decoration: none;
  font-weight: 750;
}
.muted {
  color: #6c8a7b;
  font-weight: 400;
}
.portal {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 35px 12px 18px;
  color: #789083;
}
nav {
  display: grid;
  gap: 7px;
}
nav button {
  text-align: left;
  background: none;
  color: #647a6f;
  border: 0;
  padding: 13px 15px;
  border-radius: 9px;
  font-weight: 550;
}
nav button.active {
  color: #126d53;
  background: #e9f4ee;
}
.aside-bottom {
  margin-top: auto;
  padding: 20px 10px;
  color: #36725b;
  font-size: 14px;
}
.aside-bottom small {
  font-size: 11px;
  color: #80968a;
}
main {
  margin-left: 245px;
  width: calc(100% - 245px);
  padding: 0 42px;
}
header {
  height: 95px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #dfe8e2;
  color: #70877b;
  font-size: 13px;
}
#account {
  display: flex;
  align-items: center;
  gap: 15px;
}
#content {
  max-width: 1240px;
  margin: 38px auto 70px;
}
h1 {
  font-size: 32px;
  letter-spacing: -1px;
  font-weight: 650;
  margin: 0 0 12px;
}
h2 {
  font-size: 20px;
  font-weight: 650;
  margin: 0 0 22px;
}
h3 {
  font-size: 16px;
  margin: 0 0 12px;
}
p {
  line-height: 1.7;
}
.lead {
  color: #748a7e;
  margin-bottom: 30px;
}
.hero {
  background: #164f40;
  border-radius: 18px;
  padding: 34px;
  color: #fff;
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.hero:after {
  content: "✳";
  position: absolute;
  right: 35px;
  top: -35px;
  color: #ffffff12;
  font-size: 240px;
}
.hero p {
  color: #c1d9cd;
  max-width: 650px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.card {
  background: #fff;
  border: 1px solid #e0e8e2;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 20px;
}
.card p {
  color: #6a8073;
  font-size: 14px;
}
.stat {
  font-size: 32px;
  margin: 15px 0 4px;
  color: #1b7054;
}
.row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.stack {
  display: grid;
  gap: 12px;
}
button,
.button {
  font: inherit;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 11px 17px;
  background: #197657;
  color: white;
  display: inline-block;
  text-decoration: none;
}
button:hover,
.button:hover {
  filter: brightness(0.94);
}
button.secondary,
.button.secondary {
  background: #f1f6f2;
  color: #33644e;
  border-color: #dbe6de;
}
button.small {
  font-size: 12px;
  padding: 7px 10px;
}
button:disabled {
  opacity: 0.5;
  cursor: wait;
}
label {
  display: grid;
  gap: 8px;
  font-size: 13px;
  font-weight: 550;
  color: #506b5b;
}
input,
select,
textarea {
  width: 100%;
  border: 1px solid #d8e3db;
  padding: 12px;
  border-radius: 8px;
  background: #fff;
  color: #203d30;
  font: inherit;
}
textarea {
  min-height: 100px;
  resize: vertical;
}
input[type="checkbox"] {
  width: auto;
}
form {
  display: grid;
  gap: 17px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
}
.check {
  display: flex;
  align-items: flex-start;
  font-weight: 400;
  line-height: 1.5;
}
.badge {
  display: inline-block;
  background: #edf4ef;
  color: #42745b;
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 11px;
}
.badge.pending {
  background: #fff3dd;
  color: #997326;
}
.detail {
  font-size: 13px;
  color: #809487;
}
.auth {
  max-width: 480px;
  margin: 50px auto;
}
.auth .card {
  padding: 34px;
}
.tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 25px;
}
.tabs button {
  flex: 1;
}
.list-item {
  border-top: 1px solid #e7ede8;
  padding: 17px 0;
}
.list-item:first-of-type {
  border-top: 0;
}
#notice {
  padding: 14px 18px;
  background: #e0eee5;
  border-radius: 9px;
  margin-top: 20px;
}
#notice.error {
  background: #fae4df;
  color: #993b2e;
}
footer {
  color: #8b9c91;
  font-size: 11px;
  padding: 20px 0;
  border-top: 1px solid #e0e8e2;
}
.empty {
  text-align: center;
  padding: 35px;
  color: #87988c;
}
.clinical {
  white-space: pre-wrap;
  line-height: 1.7;
}
.chat {
  max-height: 300px;
  overflow: auto;
}
.chat p {
  padding: 10px;
  background: #f2f6f3;
  border-radius: 7px;
}
.ticket-response {
  padding: 12px;
  border-left: 3px solid #197657;
  background: #f4f8f5;
}
a {
  color: #167658;
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
td,
th {
  text-align: left;
  border-bottom: 1px solid #e7ede8;
  padding: 12px;
  vertical-align: top;
}
.table-wrap {
  overflow-x: auto;
}
small {
  line-height: 1.6;
}
.warning {
  background: #fff4df;
  padding: 15px;
  border-radius: 8px;
  color: #8b6b31;
}
@media (max-width: 850px) {
  aside {
    position: static;
    width: 100%;
    height: auto;
    padding: 20px;
  }
  body {
    display: block;
  }
  nav {
    display: flex;
    overflow-x: auto;
    gap: 4px;
  }
  nav button {
    white-space: nowrap;
    padding: 10px;
  }
  .portal {
    margin: 15px 0;
  }
  .aside-bottom {
    display: none;
  }
  main {
    margin: 0;
    width: 100%;
    padding: 0 20px;
  }
  header {
    height: 70px;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  h1 {
    font-size: 26px;
  }
  #content {
    margin-top: 25px;
  }
  .hero {
    padding: 25px;
  }
}
@media print {
  aside,
  header,
  footer,
  button,
  form,
  #notice {
    display: none !important;
  }
  main {
    margin: 0;
    width: 100%;
    padding: 0;
  }
  .card {
    break-inside: avoid;
    border: 0;
  }
}

/* Specialist cards in the patient booking directory. */
.booking-count { color: #506b5b; font-size: 13px; margin-bottom: 18px; }
.specialist-list { display: grid; gap: 24px; }
.specialist-card { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #dce6df; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 4px 18px #18383105; }
.specialist-profile, .specialist-booking { padding: 28px; min-width: 0; }
.specialist-heading { display: flex; align-items: center; gap: 18px; }
.specialist-heading h2 { margin: 10px 0; line-height: 1.3; font-size: 23px; overflow-wrap: anywhere; }
.specialist-avatar { flex: 0 0 76px; height: 88px; border-radius: 18px; display: grid; place-items: center; background: #e9f3ed; color: #267657; font-size: 27px; font-weight: 650; }
.consultation-mode { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: #506b5b; }
.specialist-about { margin-top: 28px; padding: 20px; background: #f7f9f7; border-radius: 12px; }
.specialist-about h3 { font-size: 14px; }
.specialist-about p { color: #637b6d; font-size: 13px; margin: 0; line-height: 1.7; }
.specialist-about .specialist-city { margin-top: 12px; }
.specialist-price { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.specialist-price span { font-size: 12px; color: #637b6d; }
.specialist-price strong { display: block; font-size: 26px; margin-top: 6px; color: #183831; }
.specialist-price strong small { font-size: 11px; font-weight: 400; }
.payment-note { line-height: 1.6; }
.specialist-booking { background: #f8fbf9; border-left: 1px solid #e0e8e2; }
.availability-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.availability-heading h3 { margin: 0; }
.availability-heading span { color: #637b6d; font-size: 11px; }
.availability-days { display: grid; gap: 10px; }
.availability-day { background: white; border: 1px solid #dce6df; border-radius: 12px; padding: 13px 15px; }
.availability-day summary { cursor: pointer; font-size: 14px; font-weight: 550; color: #255a44; }
.availability-day summary small { margin-left: 12px; font-size: 11px; color: #637b6d; font-weight: 400; }
.time-options { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; }
.time-option { padding: 9px 13px; background: #fff; color: #255a44; border: 1px solid #cbdcd1; font-size: 14px; min-width: 75px; }
.time-option small { display: block; font-size: 10px; margin-top: 3px; }
.time-option[aria-pressed="true"] { background: #197657; border-color: #197657; color: #fff; box-shadow: 0 0 0 2px #19765720; }
.booking-choice { margin: 20px 0 16px; }
.booking-choice span { display: block; color: #637b6d; font-size: 11px; margin-bottom: 6px; }
.selected-slot-summary { font-size: 13px; line-height: 1.6; font-weight: 550; }
.book-specialist { width: 100%; padding: 13px; }
.booking-help { display: block; text-align: center; font-size: 11px; color: #637b6d; margin-top: 10px; }
.booking-form:not(:empty) { margin-top: 20px; }
.specialist-card button:focus-visible, .availability-day summary:focus-visible { outline: 3px solid #8ac6ad; outline-offset: 3px; }
@media (max-width: 1150px) { .specialist-card { grid-template-columns: 1fr; } .specialist-booking { border-left: 0; border-top: 1px solid #e0e8e2; } }
@media (max-width: 500px) { .specialist-profile, .specialist-booking { padding: 20px; } .specialist-heading { gap: 12px; } .specialist-avatar { flex-basis: 60px; height: 72px; font-size: 22px; } .specialist-heading h2 { font-size: 20px; } .availability-heading { flex-wrap: wrap; } }
.specialist-avatar { overflow: hidden; }
.specialist-avatar img { width: 100%; height: 100%; object-fit: cover; }
.specialist-description { white-space: pre-line; overflow-wrap: anywhere; }
.profile-photo-layout { display: flex; gap: 24px; align-items: flex-start; }
.profile-photo-preview { width: 144px; height: 144px; flex: 0 0 144px; border-radius: 18px; overflow: hidden; background: #e9f3ed; display: grid; place-items: center; color: #506b5b; }
.profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.profile-photo-layout form { flex: 1; min-width: 0; max-width: 480px; }
@media (max-width: 500px) { .profile-photo-layout { flex-direction: column; } .profile-photo-layout form { width: 100%; } }
.consultation-search { gap: 0; margin: 0 0 26px; }
.consultation-search-main { display: grid; grid-template-columns: 1.4fr 1fr auto; align-items: center; gap: 20px; padding: 18px 20px; background: #fff; border: 1px solid #dce6df; border-radius: 20px; }
.consultation-search-main label { font-size: 11px; gap: 7px; }
.consultation-search-main input, .consultation-search-main select { background: #f8fbf9; font-size: 14px; }
.search-doctors-button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; margin-top: 20px; }
.consultation-filters { display: grid; grid-template-columns: 1.15fr 1fr 1fr auto; align-items: end; gap: 14px; padding: 18px 0 0; }
.consultation-filters label { font-size: 12px; }
.consultation-filters input, .consultation-filters select { font-size: 13px; min-height: 44px; border-radius: 12px; }
.clear-filters { min-height: 44px; font-size: 12px; }
.search-context { display: flex; align-items: center; gap: 8px; color: #637b6d; font-size: 11px; margin: 16px 0 0; }
.search-context svg { flex-shrink: 0; }
.consultation-search :focus-visible { outline: 3px solid #8ac6ad; outline-offset: 2px; }
@media (max-width: 1100px) { .consultation-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .consultation-search-main { grid-template-columns: 1fr; gap: 14px; padding: 18px; } .search-doctors-button { margin-top: 0; } .consultation-filters { gap: 12px; } .consultation-filters label { min-width: 0; } .consultation-filters select { width: 100%; } .search-context { align-items: flex-start; line-height: 1.7; } }
.doctor-location { display: grid; gap: 16px; border: 1px solid #dce6df; border-radius: 14px; padding: 20px; min-width: 0; }
.doctor-location legend { font-weight: 650; padding: 0 8px; }
.doctor-location p { margin: 0; }
.doctor-location small { color: #637b6d; }
.location-map { height: 280px; width: 100%; border-radius: 12px; background: #e9f0eb; z-index: 0; }
.public-location { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e0e8e2; }
.public-location h3 { font-size: 14px; }
.public-location p { font-size: 13px; overflow-wrap: anywhere; white-space: pre-line; }
.public-location > a { display: inline-block; font-size: 12px; margin-top: 12px; }
.public-location > small { display: block; margin-top: 8px; color: #637b6d; font-size: 11px; }
.patient-map-panel summary { cursor: pointer; font-size: 13px; color: #197657; }
.patient-map-panel .location-map { margin-top: 12px; height: 220px; }
.leaflet-container { font: inherit; font-size: 12px; }
.leaflet-control-attribution { font-size: 10px; }
@media (max-width: 500px) { .doctor-location { padding: 15px; } .location-map { height: 240px; } }
.booking-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.booking-results-toolbar .booking-count { margin: 0; }
.map-view-toggle { display: inline-flex; align-items: center; gap: 8px; min-width: 95px; justify-content: center; }
.map-view-toggle[aria-pressed="true"] { background: #197657; color: #fff; border-color: #197657; }
.booking-map-panel { background: #fff; border: 1px solid #dce6df; padding: 22px; border-radius: 18px; min-width: 0; }
.booking-map-panel[hidden], .specialist-card[hidden], .map-selection-note[hidden] { display: none; }
.booking-map-panel h2 { margin-bottom: 12px; }
.booking-map-panel .detail { line-height: 1.6; }
.booking-map-panel .location-map { height: 440px; }
.booking-map-view .booking-results-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.booking-map-view .booking-map-panel { position: sticky; top: 20px; }
.booking-map-view .specialist-card { grid-template-columns: 1fr; }
.booking-map-view .specialist-booking { border-left: 0; border-top: 1px solid #e0e8e2; }
.booking-map-view .specialist-list > .empty { display: none; }
.map-doctor-details { min-width: 0; }
.map-selection-note { padding: 18px; margin: 0 0 16px; border-radius: 12px; background: #e9f3ed; color: #365f4a; line-height: 1.6; font-size: 13px; }
.doctor-map-popup { min-width: 180px; max-height: 180px; overflow-y: auto; }
.doctor-map-popup > div + div { border-top: 1px solid #dce6df; padding-top: 12px; margin-top: 12px; }
.doctor-map-popup strong { display: block; line-height: 1.5; }
.doctor-map-popup p { font-size: 12px; line-height: 1.5; }
.doctor-map-popup button { font-size: 12px; padding: 8px 12px; }
.location-map.empty-map { display: grid; place-items: center; padding: 24px; color: #637b6d; line-height: 1.7; text-align: center; }
@media (max-width: 1000px) { .booking-map-view .booking-results-layout { grid-template-columns: 1fr; } .booking-map-view .booking-map-panel { position: static; } .booking-map-panel .location-map { height: 320px; } }
@media (max-width: 500px) { .booking-map-panel { padding: 16px; } .booking-map-panel .location-map { height: 280px; } }
.social-login { display: grid; gap: 12px; margin-top: 24px; }
.social-divider { display: flex; align-items: center; gap: 12px; color: #637b6d; font-size: 12px; }
.social-divider::before, .social-divider::after { content: ''; flex: 1; border-top: 1px solid #dce6df; }
.social-button { display: flex; align-items: center; justify-content: center; gap: 12px; background: #fff; color: #254739; border: 1px solid #cbdcd1; }
.social-button.facebook { background: #1877f2; color: #fff; border-color: #1877f2; }
.social-login small { color: #637b6d; font-size: 11px; line-height: 1.7; }
.social-cancel { width: 100%; margin-top: 16px; }
.link-social-form { padding-top: 18px; margin-top: 18px; border-top: 1px solid #dce6df; max-width: 480px; }
.social-button.google { background: #fff; color: #1f1f1f; border-color: #747775; font-size: 14px; min-height: 44px; }
.social-button.google img { flex: 0 0 20px; object-fit: contain; }

.credential-panel { margin-top: 24px; }
.credential-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.credential-summary dt { color:var(--muted,#61766c); font-size:.9rem; }
.credential-summary dd { margin:4px 0; font-weight:600; overflow-wrap:anywhere; }
.verification-files { padding-left:20px; }
.verification-files li { padding:12px 0; border-bottom:1px solid #e1e9e5; overflow-wrap:anywhere; }
.verification-files p { margin:6px 0; }
.acess-status-panel { margin:20px 0; padding:18px; border:1px solid #cfe2d9; border-radius:12px; background:#f4f9f6; min-width:0; }
.acess-status-panel h3 { margin-top:0; }
.acess-status-panel .table-wrap { max-width:100%; overflow:auto; }
.acess-status-panel td { overflow-wrap:anywhere; }
.acess-status-panel button { margin:4px 6px 4px 0; }

/* Shared consultation workspace: the call stays mounted while notes autosave. */
.consult-workspace {display:grid;grid-template-columns:minmax(280px,1fr) minmax(350px,1.15fr);gap:20px;align-items:start;margin:24px 0;}
.consult-workspace > .card {min-width:0;margin:0;padding:22px;}
.consult-video-host {position:sticky;top:18px;}
.consult-stage {position:relative;background:#112b25;border-radius:14px;aspect-ratio:4/3;overflow:hidden;}
.consult-stage video.remote {width:100%;height:100%;object-fit:contain;}
.consult-stage video.local {position:absolute;right:12px;bottom:12px;width:30%;max-height:32%;background:#264b40;border:2px solid #fff;border-radius:10px;object-fit:cover;}
.video-controls {display:flex;flex-wrap:wrap;gap:8px;}
.video-controls button {font-size:.85rem;padding:10px 12px;}
.draft-status {font-size:.85rem;color:#167459;}
.clinical-editor fieldset {border:1px solid #dce7e0;border-radius:12px;padding:16px;min-width:0;}
.clinical-editor legend {font-weight:700;padding:0 8px;}
.catalog-results {display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;}
.catalog-option {text-align:left;white-space:normal;}
.selected-concept {padding:12px;background:#f2f7f4;border-radius:10px;margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.selected-concept > strong {width:100%;font-size:.95rem;}
.selected-concept label {margin:0;font-size:.85rem;}
.selected-concept select {padding:8px;}
.editor-error {color:#a3392a;}
.clinical-editor textarea {min-height:82px;}
@media(max-width:1100px){.consult-workspace{grid-template-columns:minmax(240px,.9fr) minmax(300px,1.1fr);gap:12px;}.consult-workspace>.card{padding:16px;}}
@media(max-width:780px){.consult-workspace{grid-template-columns:1fr;}.consult-video-host{position:static;}.consult-stage{aspect-ratio:16/9;}.consult-editor-host{max-height:none;}}
@media print{.consult-video-host,.clinical-editor{display:none;}}
.video-controls [hidden] {display:none;}
@media(min-width:781px){.consult-editor-host{max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;}.clinical-panel>.row{position:sticky;top:-22px;background:#fff;z-index:1;padding:12px 0;}}
.appointment-operations details>summary {cursor:pointer;font-weight:600;padding:12px 0;}
.appointment-operations details form {margin:16px 0;}
.operation-feedback:empty {display:none;}
.operations-docs {display:grid;gap:12px;}
.consent-fingerprint {display:block;overflow-wrap:anywhere;font-size:.8rem;}
.appointment-operations p,.operation-feedback {overflow-wrap:anywhere;}

/* Authentication: scoped spacing and hierarchy, shared by the three portals. */
.auth {max-width:500px;margin:42px auto;}
.auth>h1 {text-align:center;font-size:30px;line-height:1.25;margin-bottom:10px;}
.auth>.lead {text-align:center;font-size:14px;line-height:1.7;margin:0 0 28px;}
.auth .card {padding:32px;border-radius:20px;border-color:#dce7df;box-shadow:0 8px 32px #18383105;}
.auth .auth-switch {gap:4px;padding:5px;margin-bottom:28px;background:#f1f6f2;border:1px solid #e2eae3;border-radius:12px;}
.auth .auth-switch button {min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#61796a;font-size:14px;font-weight:550;}
.auth .auth-switch button[aria-pressed="true"] {background:#fff;color:#195d45;border-color:#dde7df;box-shadow:0 2px 5px #18383108;font-weight:650;}
.auth form {gap:22px;}
.auth label:not(.check) {gap:9px;font-size:13px;font-weight:600;line-height:1.5;}
.auth input:not([type="checkbox"]):not([type="radio"]),.auth select {min-height:48px;padding:12px 14px;border-radius:10px;border-color:#cfddd3;transition:border-color .15s,box-shadow .15s;}
.auth input:focus-visible,.auth select:focus-visible {outline:none;border-color:#438d6b;box-shadow:0 0 0 3px #19765718;}
.auth input[type="checkbox"] {accent-color:#197657;flex-shrink:0;}
.auth form>button {min-height:48px;border-radius:10px;font-size:14px;font-weight:600;margin-top:2px;}
.auth button.auth-link {display:block;width:fit-content;max-width:100%;min-height:44px;margin:14px auto 0;padding:10px 8px;border:0;border-radius:6px;background:transparent;color:#356a52;font-size:13px;line-height:1.5;text-align:center;text-underline-offset:4px;}
.auth button.auth-link:hover {text-decoration:underline;filter:none;background:#f5f8f4;}
.auth button:focus-visible {outline:3px solid #96bda4;outline-offset:3px;}
.auth .social-login {margin-top:24px;gap:12px;}
.auth .social-divider {gap:16px;margin-bottom:7px;font-size:12px;color:#758879;}
.auth .social-button {width:100%;min-height:48px;border-radius:10px;font-size:14px;font-weight:500;padding:12px 16px;line-height:1.5;}
.auth .social-button.google {border-color:#c5cec7;}
.auth .social-login small {display:block;margin-top:6px;font-size:12px;line-height:1.8;text-align:center;color:#738476;}
.auth .card>p {margin:0 0 24px;line-height:1.75;}
.auth .check {font-size:12px;line-height:1.75;gap:10px;}
.auth details {font-size:12px;line-height:1.8;}
@media(max-width:600px){.auth{margin:28px auto;max-width:460px;}.auth>h1{font-size:27px;}.auth>.lead{font-size:13px;margin-bottom:24px;}.auth .card{padding:24px 20px;border-radius:17px;}.auth .auth-switch{margin-bottom:26px;}.auth .auth-switch button{font-size:13px;padding:10px 7px;}.auth form{gap:20px;}.auth .social-login small{font-size:11px;text-align:left;}.auth .social-divider{gap:12px;}}
@media(prefers-reduced-motion:reduce){.auth input,.auth select{transition:none;}}
