
/* ================================================================
   CLÍNICA REFORÇO HUMANIZAR — alinhamento geral 2026.5
   Ajustes de legibilidade, formulários, centros unificados e impressão.
   ================================================================ */
:root{
  --rh-tiffany:#18B7B0;
  --rh-tiffany-soft:#EAF9F7;
  --rh-blue:#2F80C0;
  --rh-blue-soft:#EEF7FC;
  --rh-green:#6AB84A;
  --rh-green-soft:#F0F8EC;
  --rh-yellow:#F4C430;
  --rh-yellow-soft:#FFF8DC;
  --rh-ink:#173042;
  --rh-muted:#62727D;
  --rh-line:#D9E6E5;
  --rh-white:#FFFFFF;
}

/* Evita rótulos, títulos e conteúdos encostando/cortando nas caixas. */
.main label,
.patient-main label,
.form-card label,
.panel label,
.field label,
.form-group label,
.form-label{
  display:block;
  margin:0 0 8px !important;
  padding-top:2px;
  min-height:20px;
  line-height:1.45 !important;
  overflow:visible !important;
  white-space:normal;
  font-weight:600;
}

.main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.main select,
.main textarea,
.patient-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.patient-main select,
.patient-main textarea{
  min-height:44px;
  line-height:1.4;
}
.main textarea,
.patient-main textarea{min-height:118px;padding-top:12px;padding-bottom:12px;}

.form-grid,
.form-row,
.grid-2,
.grid-3,
.panel,
.card,
.form-card,
.content-card{
  overflow:visible;
}

.main h1,.main h2,.main h3,.main h4,.main h5,.main h6,
.patient-main h1,.patient-main h2,.patient-main h3,.patient-main h4{
  line-height:1.25;
  padding-top:2px;
  overflow:visible;
}

.panel-head,
.section-head,
.page-head,
.card-head{gap:14px;overflow:visible;}

/* Espaçamento interno consistente em formulários longos. */
.main form .form-group,
.main form .field,
.main form .form-field,
.patient-main form .form-group,
.patient-main form .field,
.patient-main form .form-field{margin-bottom:18px;}

/* ---------- Centros unificados ---------- */
.rh-unified-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  margin:18px 0 20px;padding:22px 24px;background:var(--rh-white);
  border:1px solid var(--rh-line);border-radius:18px;
}
.rh-unified-head .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--rh-tiffany);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.rh-unified-head h2{margin:7px 0 6px;color:var(--rh-ink);font-size:26px;}
.rh-unified-head p{margin:0;color:var(--rh-muted);max-width:760px;}
.rh-unified-icon{width:54px;height:54px;flex:0 0 54px;border-radius:16px;background:var(--rh-tiffany-soft);color:var(--rh-tiffany);display:flex;align-items:center;justify-content:center;font-size:22px;}

.rh-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;}
.rh-hub-card{display:flex;flex-direction:column;min-height:180px;padding:20px;background:#fff;border:1px solid var(--rh-line);border-radius:16px;text-decoration:none;color:var(--rh-ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.rh-hub-card:hover{transform:translateY(-2px);border-color:#A9DAD6;box-shadow:0 10px 26px rgba(23,48,66,.08);}
.rh-hub-card .icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:var(--rh-tiffany-soft);color:var(--rh-tiffany);font-size:18px;}
.rh-hub-card.blue .icon{background:var(--rh-blue-soft);color:var(--rh-blue);}
.rh-hub-card.green .icon{background:var(--rh-green-soft);color:var(--rh-green);}
.rh-hub-card.yellow .icon{background:var(--rh-yellow-soft);color:#A87D00;}
.rh-hub-card h3{font-size:16px;margin:0 0 7px;}
.rh-hub-card p{font-size:13px;line-height:1.5;color:var(--rh-muted);margin:0 0 14px;flex:1;}
.rh-hub-card .go{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--rh-tiffany);}
.rh-hub-note{padding:15px 17px;margin:0 0 20px;border:1px solid #CFE9E6;border-radius:14px;background:#F7FCFB;color:#405B61;font-size:13px;line-height:1.5;}

/* ---------- Ação universal: PDF / impressão ---------- */
.hm-document-actions{display:flex;justify-content:flex-end;gap:10px;margin:14px 0 18px;}
.hm-document-actions button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:9px 13px;border:1px solid var(--rh-line);border-radius:10px;background:#fff;color:var(--rh-ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer;}
.hm-document-actions button:hover{border-color:#A7D8D4;background:var(--rh-tiffany-soft);color:#087E79;}
.hm-document-actions .primary{background:var(--rh-tiffany);border-color:var(--rh-tiffany);color:#fff;}
.hm-document-actions .primary:hover{background:#129D98;color:#fff;}

/* Tabelas e áreas impressas mais previsíveis. */
.table-responsive{max-width:100%;}

@media(max-width:980px){.rh-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){
  .rh-hub-grid{grid-template-columns:1fr;}
  .rh-unified-head{padding:18px;}
  .rh-unified-head h2{font-size:22px;}
  .rh-unified-icon{display:none;}
  .hm-document-actions{justify-content:stretch;}
  .hm-document-actions button{flex:1;justify-content:center;}
}

@media print{
  @page{size:A4;margin:12mm;}
  html,body{background:#fff !important;color:#111 !important;}
  .sidebar,.sidebar-backdrop,.topbar,.hm40-notification-fab,.hm44-pwa-install,.hm-document-actions,.no-print,.app-footer,.menu-toggle,.topbar-actions{display:none !important;}
  .app-shell,.patient-shell,.professional-shell,.main,.patient-main{display:block !important;width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;background:#fff !important;}
  .panel,.card,.form-card,.content-card,.rh-unified-head,.rh-hub-card{box-shadow:none !important;break-inside:avoid;border-color:#CFCFCF !important;}
  a{color:#111 !important;text-decoration:none !important;}
  .table-responsive{overflow:visible !important;}
  table{width:100% !important;font-size:10px !important;}
  button,.btn,.btn-outline,.subtle-link{print-color-adjust:exact;-webkit-print-color-adjust:exact;}
}
