/* Compact density layer: makes 100% browser zoom feel close to the previous 75% view. */

body {
  font-size:13px;
  line-height:1.45;
}

header.site-header,
body > header {
  min-height:62px;
  gap:14px;
  padding:12px clamp(16px,4vw,48px);
}

.brand { gap:10px; }
.logo {
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:12px;
}
.brand-copy h1,.brand h1 { font-size:16px; }
.brand-copy div,.brand > div > div { font-size:11px; }
.header-trust { padding:5px 8px; font-size:10px; }

h2 {
  margin-bottom:5px;
  font-size:clamp(18px,2.2vw,23px);
}
h3 { font-size:13px; }

main,.portal-main {
  width:min(1320px,calc(100% - 28px));
  margin:18px auto 42px;
}

.card {
  margin-bottom:12px;
  padding:clamp(14px,2vw,21px);
  border-radius:16px;
}
.auth { width:min(440px,100%); margin:34px auto; }

.account-bar {
  gap:12px;
  margin-bottom:12px;
  padding:9px 12px;
  border-radius:12px;
}
.account-bar strong { font-size:12px; }
.account-label { font-size:9px; }
.account-identity { min-width:0; }
#userEmail {
  display:block;
  max-width:min(60vw,520px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hero-panel {
  grid-template-columns:minmax(0,1.8fr) minmax(220px,.7fr);
  gap:18px;
  margin-bottom:13px;
  padding:clamp(18px,3vw,30px);
  min-height:178px;
  border-radius:18px;
}
.hero-panel h2 {
  max-width:760px;
  margin-bottom:8px;
  font-size:clamp(25px,3.6vw,38px);
}
.hero-panel p { max-width:760px; font-size:13px; }
.eyebrow { margin-bottom:6px; font-size:9px; }
.trust-points { gap:6px; }
.trust-points span,.step-badge {
  min-height:24px;
  padding:4px 8px;
  font-size:10px;
}

.grid { gap:12px; }
.compact-grid { grid-template-columns:repeat(2,minmax(0,190px)); }
label { margin:9px 0; font-size:11px; }
.optional { font-size:9px; }
.field-help { margin-top:4px; font-size:10px; }

input,select,textarea {
  margin-top:5px;
  padding:9px 10px;
  border-radius:9px;
  font-size:13px;
}
select { min-height:36px; }
textarea { min-height:80px; }

button,.button-link {
  min-height:34px;
  border-radius:9px;
  padding:8px 12px;
  font-size:12px;
}
button.quiet { padding:6px 8px; }
.primary-action { min-width:120px; }

.row { gap:7px; }
.auth-actions { margin-top:12px; }
.privacy-note {
  margin:11px 0 0;
  padding-top:10px;
  font-size:10px;
}
.notice,.status { padding:8px 10px; border-radius:9px; }

.tabs {
  gap:5px;
  margin-bottom:12px;
  padding:4px;
  border-radius:10px;
}
.tabs button { min-height:32px; padding:7px 10px; }

.section-heading {
  gap:14px;
  margin-bottom:13px;
  padding-bottom:12px;
}
.section-heading h2 { margin-bottom:4px; }
.customer-page .compact-heading {
  margin-bottom:10px;
  padding-bottom:8px;
}
.customer-page .compact-heading h2 { font-size:20px; }
.customer-page .compact-heading p { font-size:11px; }
.submit-row { gap:10px; margin-top:12px; }
.submit-row span { font-size:10px; }

.list { gap:7px; }
.list-item {
  padding:10px 11px;
  border-radius:10px;
}
.list-item p { margin:3px 0; }
.list-item small { margin-top:5px; }

table { font-size:11px; }
th,td { padding:7px; }

.site-footer {
  width:min(1320px,calc(100% - 28px));
  gap:10px;
  margin:0 auto 20px;
  padding-top:12px;
  font-size:10px;
}

.request-actions {
  gap:7px;
  margin-top:9px;
}
.status-badge {
  margin-top:7px;
  padding:4px 8px;
  font-size:10px;
}
.subtitle-access-item .status-badge,
.request-history-item .status-badge { margin-top:7px; }

@media (max-width:760px) {
  body { font-size:13px; }
  header.site-header,body > header {
    min-height:54px;
    padding:8px 10px;
  }
  main,.portal-main {
    width:min(100% - 14px,1320px);
    margin-top:8px;
  }
  .card { padding:11px; border-radius:12px; }
  .auth { margin:16px auto; }
  .hero-panel {
    margin-bottom:10px;
    padding:17px 15px;
    border-radius:15px;
  }
  .hero-panel h2 { font-size:26px; }
  .hero-panel p { font-size:13px; }
  input,select,textarea { font-size:16px; }
  .submit-row .primary-action { min-height:40px; }
  .account-bar { padding:8px 9px; }

  .customer-page .account-bar {
    margin-bottom:7px;
  }
  .customer-page .account-label { display:none; }
  .customer-page #userEmail { max-width:68vw; }
  .customer-page .tabs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin-bottom:8px;
    padding:3px;
    overflow:visible;
  }
  .customer-page .tabs button {
    width:100%;
    min-height:36px;
    padding:7px 6px;
    font-size:11px;
    white-space:nowrap;
  }
  .customer-page .compact-heading {
    margin-bottom:7px;
    padding-bottom:7px;
  }
  .customer-page .compact-heading h2 {
    margin-bottom:2px;
    font-size:18px;
  }
  .customer-page .compact-heading p {
    margin-bottom:0;
    font-size:10px;
    line-height:1.35;
  }
  .customer-page label { margin:7px 0; }
  .customer-page .field-help { display:none; }
  .customer-page .compact-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .customer-page textarea { min-height:62px; }
  .customer-page .submit-row {
    margin-top:9px;
  }
  .customer-page .submit-row span { display:none; }
  .customer-page .site-footer { display:none; }
  .customer-page .list-item { padding:9px; }
}

@media (max-width:430px) {
  .logo { width:30px; height:30px; border-radius:8px; }
  .brand-copy h1,.brand h1 { font-size:14px; }
  .hero-panel h2 { font-size:24px; }
  .trust-points span { font-size:9px; }
  .customer-page .brand-copy h1 { font-size:14px; }
  .customer-page .tabs button { font-size:10.5px; }
}
