/* HSM 5.5.5 Platform Readiness, readability, and office scan correction */
:root{
  --hsm-readable-blue:#071f4d;
  --hsm-readable-gold:#d8aa2f;
  --hsm-readable-ink:#10203f;
  --hsm-readable-muted:#3d4a65;
  --hsm-readable-panel:#ffffff;
  --hsm-readable-soft:#f8fbff;
}
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ overflow-x:hidden; }
body, input, select, textarea, button{ font-size:16px; }
.hsm-admin-body, .hsm-vol-body, .hsm-trustee-standalone-body{ font-size:16px; }
.hsm-admin-main, .hsm-backoffice-main-standard, .hsm-vol-main, .trustee-standalone-main, main{ min-width:0; }
.card,.hsm-card,.hsm-panel,.hsm-office-card,.hsm-vol-card,.trustee-card,.admin-card,.dash-card,
.hsm-dashboard-card,.hsm-stat-card,.hsm-notice,.hsm-callout,.hsm-account-pill,.hsm-alert-card,
.hsm-office-shell article,.hsm-reader-card,.hsm-mail-card,.hsm-record-card,.hsm-grid-card,
[class*="card"],[class*="panel"],[class*="tile"],[class*="block"]{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.45;
}
.hsm-admin-main p,.hsm-admin-main li,.hsm-admin-main td,.hsm-admin-main th,
.hsm-vol-main p,.hsm-vol-main li,.hsm-vol-main td,.hsm-vol-main th,
.trustee-standalone-main p,.trustee-standalone-main li,.trustee-standalone-main td,.trustee-standalone-main th{
  color:var(--hsm-readable-ink);
  line-height:1.55;
}
.hsm-admin-main small,.hsm-vol-main small,.trustee-standalone-main small,.card small,[class*="card"] small,[class*="panel"] small{
  font-size:.9rem;
  line-height:1.4;
}
.hsm-admin-main h1,.hsm-admin-main h2,.hsm-admin-main h3,
.hsm-vol-main h1,.hsm-vol-main h2,.hsm-vol-main h3,
.trustee-standalone-main h1,.trustee-standalone-main h2,.trustee-standalone-main h3{
  overflow-wrap:anywhere;
  line-height:1.15;
}
.hsm-office-grid,.admin-grid,.dashboard-grid,.stats-grid,.hsm-grid,.hsm-form-grid,.hsm-vol-grid,.trustee-grid,
[class*="grid"]{
  min-width:0;
}
.hsm-office-grid,.admin-grid,.dashboard-grid,.stats-grid,.hsm-vol-grid,.trustee-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
}
.hsm-form-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)) !important;
}
.hsm-btn-row,.hsm-office-actions,.actions,.button-row,.toolbar,.hsm-toolbar,.hsm-top-actions,
.hsm-vol-nav,.trustee-standalone-nav{ flex-wrap:wrap; gap:10px; }
button,.btn,.lux-btn,.hsm-btn,.hsm-office-btn,.hsm-top-btn,.trustee-signout,.submit,
a[class*="btn"],a[class*="button"]{
  min-height:42px;
  white-space:normal;
  text-align:center;
  line-height:1.2;
}
input,select,textarea{ max-width:100%; min-height:42px; }
textarea{ min-height:120px; }
img,video,iframe,canvas,svg{ max-width:100%; }
table{ width:100%; border-collapse:collapse; }
.table-wrap,.hsm-table-wrap,.admin-table-wrap,.hsm-report-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
table td,table th{ vertical-align:top; overflow-wrap:anywhere; }
.hsm-admin-side,.admin-side{ overflow-y:auto; }
.hsm-admin-nav a,.hsm-vol-nav a,.trustee-standalone-nav a{ min-height:42px; align-items:center; }
.hsm-platform-readiness-banner{
  border:1px solid rgba(216,170,47,.55);
  background:linear-gradient(135deg,#fffdf5,#eef5ff);
  color:#071f4d;
  border-radius:20px;
  padding:18px 20px;
  margin:0 0 18px;
  box-shadow:0 12px 30px rgba(7,31,77,.08);
}
.hsm-platform-readiness-banner strong{ color:#6d4a00; }
.hsm-security-visible-card{
  border:2px solid rgba(216,170,47,.7)!important;
  background:linear-gradient(145deg,#071f4d,#0c3477)!important;
  color:#fff!important;
}
.hsm-security-visible-card h3,.hsm-security-visible-card p,.hsm-security-visible-card li{ color:#fff!important; }
.hsm-security-visible-card a{ background:#f4c84a!important; color:#071f4d!important; }
@media(max-width:1100px){
  .admin-layout,.hsm-admin-shell,.hsm-vol-shell{ grid-template-columns:1fr!important; }
  .hsm-admin-side,.admin-side,.hsm-vol-side{ position:relative!important; width:100%!important; max-width:none!important; }
  .hsm-admin-main,.admin-main,.hsm-vol-main{ width:100%!important; }
}
@media(max-width:760px){
  body, input, select, textarea, button{ font-size:17px; }
  .hsm-admin-top,.hsm-vol-topbar,.trustee-standalone-header{ align-items:flex-start; flex-direction:column; }
  .hsm-backoffice-title-line{ white-space:normal!important; }
  .hsm-title-sep,.hsm-title-area{ display:none; }
  .hsm-admin-main,.admin-main,.hsm-vol-main,.trustee-standalone-main{ padding:14px!important; }
  .card,.hsm-card,.hsm-panel,.hsm-office-card,.hsm-vol-card,.trustee-card,[class*="card"],[class*="panel"]{ padding:16px!important; border-radius:18px!important; }
  table{ font-size:.95rem; }
}
