
:root{
  --nefesh-font-body:16px;
  --nefesh-font-secondary:14px;
  --nefesh-font-small:13px;
  --nefesh-font-label:14px;
  --nefesh-font-control:16px;
  --nefesh-font-button:14px;
  --nefesh-line-body:1.65;
}

html[data-nefesh-text-size="compact"]{
  --nefesh-font-body:15px;
  --nefesh-font-secondary:13px;
  --nefesh-font-small:12px;
  --nefesh-font-label:13px;
  --nefesh-font-control:15px;
  --nefesh-font-button:13px;
}

html[data-nefesh-text-size="large"]{
  --nefesh-font-body:18px;
  --nefesh-font-secondary:16px;
  --nefesh-font-small:15px;
  --nefesh-font-label:16px;
  --nefesh-font-control:18px;
  --nefesh-font-button:16px;
}

body{
  font-size:var(--nefesh-font-body);
  line-height:var(--nefesh-line-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

p,
li,
dd,
td,
th{
  line-height:var(--nefesh-line-body);
}

small,
.text-small,
.auth-form small,
.attention-card-heading small,
.portal-brand small,
.recovery-brand small,
.access-v83-brand small{
  font-size:var(--nefesh-font-small) !important;
  line-height:1.45 !important;
}

label,
legend,
.form-label,
.auth-form label,
.recovery-form label{
  font-size:var(--nefesh-font-label) !important;
  line-height:1.45 !important;
}

input,
select,
textarea{
  min-height:46px;
  font-size:var(--nefesh-font-control) !important;
  line-height:1.45 !important;
}

textarea{
  min-height:96px;
}

button,
.button,
.access-v83-action,
a.button{
  min-height:46px;
  font-size:var(--nefesh-font-button) !important;
  line-height:1.35 !important;
}

.access-v83-label,
.access-v83-eyebrow,
.recovery-kicker,
.attention-kicker,
.kicker{
  font-size:var(--nefesh-font-small) !important;
}

.access-v83-card-copy p,
.access-v83-features li,
.access-v83-privacy,
.access-v83-note p,
.access-v83-footer,
.recovery-copy>p,
.recovery-security-list small,
.recovery-scope-card p,
.recovery-development-note p,
.recovery-generic-note,
.recovery-password-hint,
.recovery-help,
.particular-boundary,
.auth-route-switch,
.prototype-warning,
.personal-fields-summary,
.attention-boundary-card p,
.attention-pattern-policy small{
  font-size:var(--nefesh-font-secondary) !important;
}

.access-v83-features li{
  padding-left:29px;
}

.access-v83-features li::before{
  width:20px;
  height:20px;
  font-size:12px;
}

.access-v83-card-copy{
  min-height:165px;
}

.access-v83-card{
  min-height:520px;
}

.recovery-security-list b,
.recovery-scope-card b,
.particular-benefits h3,
.auth-form b{
  font-size:var(--nefesh-font-body) !important;
}

.auth-form input,
.auth-form select,
.auth-form textarea,
.recovery-form input{
  padding:14px 15px !important;
}

.auth-message,
.recovery-message,
.attention-form-status{
  min-height:24px;
  font-size:var(--nefesh-font-secondary) !important;
}

.nefesh-text-controls{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  padding:5px;
  border:1px solid rgba(38,76,82,.14);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 5px 16px rgba(25,55,61,.06);
}

.nefesh-text-controls>span{
  padding:0 5px;
  color:#617579;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.nefesh-text-controls button{
  display:grid;
  width:37px;
  min-width:37px;
  height:37px;
  min-height:37px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#39565b;
  font-size:14px !important;
  font-weight:900;
  cursor:pointer;
}

.nefesh-text-controls button:hover{
  background:#edf8f6;
  color:#168f82;
}

.nefesh-text-controls button[aria-pressed="true"]{
  background:#43d3c1;
  color:#103c37;
}

.nefesh-readable-focus:focus-visible,
.nefesh-text-controls button:focus-visible{
  outline:3px solid rgba(67,211,193,.42);
  outline-offset:2px;
}

html[data-nefesh-text-size="large"] .access-v83-grid{
  gap:22px;
}

html[data-nefesh-text-size="large"] .access-v83-card{
  min-height:570px;
}

html[data-nefesh-text-size="large"] .recovery-card,
html[data-nefesh-text-size="large"] .auth-card,
html[data-nefesh-text-size="large"] .attention-setup-card{
  padding:31px;
}

@media(max-width:930px){
  .access-v83-card{
    min-height:0;
  }

  .access-v83-card-copy{
    min-height:auto;
  }
}

@media(max-width:720px){
  .nefesh-text-controls{
    order:3;
    width:100%;
    justify-content:center;
    margin:8px 0 0;
    border-radius:13px;
  }

  .access-v83-header,
  .auth-header,
  .recovery-header,
  .attention-header{
    flex-wrap:wrap;
    padding-block:10px;
  }

  .access-v83-card{
    min-height:0;
  }

  .access-v83-card-copy{
    min-height:auto;
  }
}

@media print{
  .nefesh-text-controls{
    display:none !important;
  }
}
