/* LifeDir 14E: CSS original da etapa 14D, agora externo */

:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#203449;background:#f3f6fa}
*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:5vh auto;padding:0 18px}
header{background:#122c40;color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
header strong{font-size:1.1rem}header small{color:#bcd0df}
section{background:#fff;border:1px solid #d8e1e8;border-radius:12px;padding:24px;box-shadow:0 4px 16px #1530470b}
h1{font-size:1.4rem;margin:0 0 8px}p{line-height:1.5;color:#516477}
.login{max-width:430px;margin:0 auto}label{font-weight:600;display:block;margin:18px 0 6px}
input{width:100%;padding:12px;border:1px solid #a7b7c6;border-radius:8px;font:inherit}
button{background:#126a7f;border:0;border-radius:8px;padding:11px 17px;color:white;font-weight:700;cursor:pointer;font:inherit}
button:hover{background:#0b5062}.warning{background:#fff2e9;color:#893b22;padding:12px;border-radius:8px}
.cards{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}.cards div{background:#edf4f7;padding:14px;border-radius:8px}
.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:12px;text-align:left;border-bottom:1px solid #e3e9ee;white-space:nowrap}th{background:#f3f6f8}
.logout{background:#33485d;font-size:.85rem;padding:8px 12px}.sub{font-size:.85rem}strong.badge{font-weight:700;color:#126a7f}
.gestao{min-width:220px;display:grid;gap:6px}.gestao input,.gestao textarea,.gestao select{width:100%;padding:7px;font:inherit;border:1px solid #b9c4cd;border-radius:5px}.gestao textarea{min-height:55px}.gestao button{font-size:.8rem;padding:8px}.sucesso{padding:12px;background:#e6f6ed;color:#185b3e}.aviso{background:#fff4e7;padding:12px;border-radius:6px}.historico{margin-top:22px}td.motivo{white-space:normal;min-width:200px;max-width:400px;overflow-wrap:anywhere}


/* LifeDir — Administração de Homologação — Etapa 14E
   CSS local, sem fontes, scripts, imagens ou dependências externas.
   Preserva a camada 14D e aplica somente apresentação. */
:root {
  color-scheme: light;
  --ld-ink: #142c43;
  --ld-muted: #60748a;
  --ld-primary: #097d84;
  --ld-primary-dark: #08676e;
  --ld-border: #dce6ed;
  --ld-bg: #f1f5f9;
  --ld-surface: #ffffff;
  --ld-shadow: 0 8px 28px rgba(20, 44, 67, .065);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  background: var(--ld-bg);
  color: var(--ld-ink);
  font: 400 15px/1.55 Inter, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 20px max(28px, calc((100vw - 1480px) / 2));
  background: linear-gradient(112deg, #122c42 0%, #193b51 70%, #155b64 100%);
  border-bottom: 3px solid #2eb7b4;
  box-shadow: 0 5px 20px rgba(12, 35, 57, .13);
  color: #f7fbff;
}
header > div:first-child { line-height: 1.45; }
header strong { color: #fff; font-size: 21px; font-weight: 760; letter-spacing: -.035em; }
header strong span { color: #62dcdb !important; }
header small { color: #c5dae5; font-size: 12px; letter-spacing: .015em; }
header form { margin: 0; }
header .logout, header button.logout {
  width: auto;
  margin: 0;
  padding: 10px 17px;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 9px;
  color: #fff;
  font-weight: 650;
  box-shadow: none;
}
header .logout:hover, header button.logout:hover { background: rgba(255,255,255,.2); }
main {
  max-width: 1512px;
  margin: 0 auto;
  padding: 30px 24px 70px;
}
main > section {
  margin: 0 0 22px;
  padding: 26px;
  background: var(--ld-surface);
  border: 1px solid var(--ld-border);
  border-radius: 16px;
  box-shadow: var(--ld-shadow);
}
main > section > h1, main h1 {
  margin: 0 0 10px;
  color: var(--ld-ink);
  font-size: clamp(24px, 3vw, 31px);
  font-weight: 760;
  line-height: 1.22;
  letter-spacing: -.035em;
}
main h2 {
  color: var(--ld-ink);
  font-size: 20px;
  font-weight: 730;
  letter-spacing: -.02em;
}
main p { margin: 0 0 17px; color: #50677d; }
main p strong { color: var(--ld-ink); }
.cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px !important;
  margin: 21px 0 24px !important;
}
.cards > div {
  min-width: 0;
  padding: 22px 22px !important;
  border: 1px solid #dce8eb;
  border-left: 4px solid #1b9d9e;
  border-radius: 12px !important;
  background: linear-gradient(125deg, #f7fcfc, #fff) !important;
  color: #29445a;
  box-shadow: 0 3px 12px rgba(20,44,67,.035);
}
.cards > div strong { color: #152f45; font-size: 17px; }
.table {
  display: block;
  max-width: 100%;
  margin: 10px 0 14px;
  overflow-x: auto;
  border: 1px solid var(--ld-border);
  border-radius: 12px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.table table { width: 100%; min-width: 1180px; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; }
table { border-collapse: separate; border-spacing: 0; font-size: 13px; }
th, td {
  padding: 15px 12px;
  border-bottom: 1px solid #e7edf2;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  line-height: 1.5;
}
th {
  background: #eaf1f5 !important;
  color: #43596c;
  font-size: 11px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .065em;
}
td { color: #223c51; }
tbody tr:nth-child(even) { background: #fafcfd; }
tbody tr:hover { background: #f3fafb; }
tbody tr:last-child td { border-bottom: none; }
.table th:nth-child(2), .table td:nth-child(2) { min-width: 160px; font-weight: 600; }
.table th:last-child, .table td:last-child { min-width: 290px; width: 305px; }
.table td:nth-child(3) { font-weight: 730; }
.table td:nth-child(5) { font-variant-numeric: tabular-nums; }
.gestao {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  min-width: 250px !important;
  gap: 9px !important;
  padding: 13px;
  border: 1px solid #e1eaed;
  border-radius: 11px;
  background: #f7fafc;
}
.gestao label { display: grid; gap: 5px; font-size: 12px; font-weight: 650; color: #3c566c; }
.gestao input, .gestao textarea, .gestao select,
.login input, main input:not([type="hidden"]), main textarea, main select {
  display: block;
  width: 100%;
  min-height: 39px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #b9cad5;
  border-radius: 8px;
  outline: 0;
  background: #fff;
  color: #163048;
  font: inherit;
  font-size: 13px;
  box-shadow: none;
}
.gestao textarea, main textarea { min-height: 72px; resize: vertical; }
.gestao input:focus, .gestao textarea:focus, .gestao select:focus,
main input:focus, main textarea:focus, main select:focus {
  border-color: var(--ld-primary);
  outline: 3px solid rgba(9,125,132,.16);
  outline-offset: 0;
}
button, .gestao button, main button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--ld-primary);
  color: white;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
  transition: background-color .18s ease, box-shadow .18s ease;
}
button:hover, .gestao button:hover, main button:hover { background: var(--ld-primary-dark); }
button:focus-visible { outline: 3px solid #46c9c4; outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .6; }
.gestao button { width: 100%; margin-top: 1px; }
.aviso, .warning, .sucesso {
  display: block;
  padding: 13px 17px !important;
  margin: 14px 0 20px;
  border: 1px solid;
  border-radius: 10px !important;
  font-size: 13px;
  font-weight: 550;
}
.aviso { background: #fff9ec !important; border-color: #f1dca3; color: #795414; }
.warning { background: #fff0ef !important; border-color: #ffc7c2; color: #94362b; }
.sucesso { background: #ebf9f1 !important; border-color: #b8e8cb; color: #236447 !important; }
.sub { color: #62788b; font-size: 12px; }
.historico {
  margin: 24px 0 0;
  padding-top: 22px;
  border-top: 1px solid #e3ebf0;
}
.historico h2 { margin: 0 0 15px; }
.historico .table table, .historico table { width: 100%; min-width: 720px; }
.historico th { background: #edf3f6 !important; }
.historico td.motivo { min-width: 180px; max-width: 440px; white-space: normal; overflow-wrap: anywhere; }
.login {
  max-width: 490px;
  margin: 35px auto 0 !important;
  padding: 30px !important;
}
.login form { display: grid; gap: 12px; }
.login label { font-size: 13px; font-weight: 660; color: #405b71; }
.login button { margin-top: 5px; }
@media (max-width: 900px) {
  main { padding: 24px 14px 55px; }
  main > section { padding: 22px 17px; }
  .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cards > div { padding: 16px !important; }
}
@media (max-width: 620px) {
  header { padding: 17px 16px; gap: 12px; }
  header strong { font-size: 18px; }
  header small { font-size: 11px; }
  header .logout { padding: 8px 12px; }
  .cards { grid-template-columns: 1fr; gap: 9px !important; }
  .cards > div { padding: 13px 17px !important; }
  main > section { border-radius: 12px; }
  .login { margin-top: 10px !important; padding: 22px 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  button { transition: none; }
}


/* LifeDir Item 27-B1 — sobreposicao exclusivamente visual, Homologacao.
   Herda e nao altera os controles de autenticacao, CSRF ou a gestao 14D. */
.ld-admin { --b1-ink: #173148; --b1-muted: #5a6f82; --b1-border: #dce6ed; --b1-teal: #087c80; --b1-surface: #fff; background: transparent; border: 0; box-shadow: none; padding: 0; }
main > section.ld-admin { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.ld-admin-nav { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin: 0 0 26px; padding: 8px; background: #fff; border: 1px solid var(--b1-border); border-radius: 12px; width: fit-content; }
.ld-admin-nav a { text-decoration: none; color: #526d80; font-weight: 700; font-size: 13px; padding: 10px 16px; border-radius: 8px; }
.ld-admin-nav a:hover { background: #eaf5f5; color: #075d62; }
.ld-admin-nav a.ld-admin-nav__active { color: #fff; background: #0d777e; }
.ld-admin-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; margin-bottom: 20px; }
.ld-admin-intro h1 { font-size: clamp(28px, 3.5vw, 36px); margin: 0 0 9px; letter-spacing: -.04em; }
.ld-admin-intro p:not(.ld-admin-kicker) { max-width: 730px; margin-bottom: 0; }
.ld-admin-kicker { color: #087d82 !important; font-size: 11px; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; margin: 0 0 7px !important; }
.ld-admin-identity { display: flex; flex-direction: column; flex-shrink: 0; padding: 13px 19px; background: #fff; border: 1px solid var(--b1-border); border-radius: 12px; font-size: 11px; color: var(--b1-muted); }
.ld-admin-identity strong { color: var(--b1-ink); font-size: 15px; }
.ld-admin-identity small { color: #087d82; font-weight: 700; }
.ld-metrics { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 13px; margin: 21px 0 29px; }
.ld-metric { min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--b1-border); border-radius: 13px; box-shadow: 0 3px 15px #112b4110; border-top: 3px solid #8a9dad; display: flex; flex-direction: column; gap: 5px; }
.ld-metric span { color: var(--b1-muted); font-size: 12px; font-weight: 700; }
.ld-metric strong { color: #153148; font-size: 34px; line-height: 1.08; font-weight: 800; font-variant-numeric: tabular-nums; }
.ld-metric small { color: #718397; font-size: 11px; }
.ld-metric--active { border-top-color: #169c73; }
.ld-metric--suspended { border-top-color: #df8f40; }
.ld-metric--exempt { border-top-color: #188da8; }
.ld-account-section, .ld-history { background: #fff; border: 1px solid var(--b1-border); border-radius: 17px; padding: 25px; box-shadow: 0 5px 24px #112b410d; margin: 0 0 25px; }
.ld-section-header { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-bottom: 15px; }
.ld-section-header h2 { margin: 0 0 7px; font-size: 22px; letter-spacing: -.03em; }
.ld-section-header p:not(.ld-admin-kicker) { margin: 0; font-size: 13px; }
.ld-section-count { color: #537488; background: #edf3f7; border: 1px solid #dce6ed; border-radius: 999px; padding: 8px 13px; white-space: nowrap; font-size: 11px; font-weight: 700; }
.ld-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 24px; }
.ld-filters a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border-radius: 8px; border: 1px solid #d8e3eb; color: #476276; text-decoration: none; font-size: 12px; font-weight: 750; }
.ld-filters a:hover { background: #eaf5f5; border-color: #8fbfc2; }
.ld-filters a.ld-filter--active { background: #0b7580; color: #fff; border-color: #0b7580; }
.ld-filters a span { font-size: 11px; font-weight: 800; border-radius: 999px; padding: 1px 6px; background: #eef3f5; color: #486073; }
.ld-filters a.ld-filter--active span { background: #ffffff2b; color: #fff; }
.ld-account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.ld-account-card { min-width: 0; border: 1px solid #dce6ed; border-radius: 13px; background: #fff; padding: 19px 20px; box-shadow: 0 4px 17px #19374b0b; }
.ld-account-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.ld-account-card__type { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #7a8b9a; font-weight: 800; }
.ld-status { font-size: 11px; font-weight: 850; border: 1px solid; border-radius: 999px; padding: 4px 9px; white-space: nowrap; }
.ld-status--active { background: #ecf8f2; color: #247451; border-color: #bbe4d0; }
.ld-status--suspended { background: #fff6e9; color: #905d16; border-color: #f1d6ac; }
.ld-status--other { background: #f0f2f7; color: #5c5e72; border-color: #dadee9; }
.ld-account-card h3 { font-size: 18px; line-height: 1.35; letter-spacing: -.02em; margin: 0 0 12px; color: #163147; overflow-wrap: anywhere; }
.ld-account-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.ld-tag { font-size: 10px; font-weight: 750; color: #677b8a; background: #f1f5f7; padding: 5px 8px; border-radius: 6px; }
.ld-tag--exempt { color: #1b7161; background: #e6f7f0; }
.ld-tag--neutral { color: #80622e; background: #fff6e9; }
.ld-account-fields { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 15px; }
.ld-account-fields div, .ld-expanded-fields div { min-width: 0; }
.ld-account-fields dt, .ld-expanded-fields dt { color: #708395; font-size: 11px; font-weight: 700; }
.ld-account-fields dd, .ld-expanded-fields dd { margin: 4px 0 0; color: #263e54; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.ld-account-card__foot { border-top: 1px solid #e4ebf0; padding-top: 12px; display: flex; flex-wrap: wrap; align-items: start; gap: 10px; }
.ld-account-card details { flex: 1 1 160px; min-width: 0; }
.ld-account-card details summary { display: flex; justify-content: center; align-items: center; cursor: pointer; list-style: none; padding: 9px 13px; border: 1px solid #a9cfd2; border-radius: 8px; color: #086c72; background: #f2fbfb; font-size: 12px; font-weight: 750; min-height: 39px; }
.ld-account-card details summary::-webkit-details-marker { display: none; }
.ld-account-card details summary:hover, .ld-account-card details[open] > summary { background: #e1f3f3; }
.ld-account-card .ld-account-actions summary { color: #fff; background: #0b7781; border-color: #0b7781; }
.ld-account-card .ld-account-actions summary:hover, .ld-account-card .ld-account-actions[open] > summary { background: #0a6168; }
.ld-expanded-fields { margin: 11px 0 0; background: #f5f8fa; border-radius: 8px; padding: 13px; display: grid; gap: 11px; }
.ld-account-card .gestao { min-width: 0 !important; width: 100%; margin-top: 11px; }
.ld-account-card .gestao label { margin: 0; }
.ld-account-card .gestao button { min-height: 42px; }
.ld-action-warning { background: #fff8e9; color: #816023 !important; border: 1px solid #f1dab0; border-radius: 8px; font-size: 11px; padding: 10px; margin: 10px 0 0 !important; }
.ld-empty { padding: 20px; grid-column: 1 / -1; background: #f5f8fa; border: 1px dashed #cbd9e2; border-radius: 10px; color: #576e80 !important; text-align: center; }
.ld-disclaimer { margin: 22px 0 0 !important; color: #788898 !important; font-size: 11px; }
.ld-history-list { display: grid; gap: 10px; }
.ld-history-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 1.3fr; align-items: start; gap: 20px; border: 1px solid #e1e9ee; border-radius: 10px; padding: 15px; }
.ld-history-row strong, .ld-history-row span { font-size: 12px; font-weight: 750; color: #16334a; overflow-wrap: anywhere; }
.ld-history-row div { display: flex; flex-direction: column; gap: 4px; }
.ld-history-row small { color: #708598; font-size: 11px; }
.ld-history-row p { margin: 0; padding: 10px 12px; color: #4f6475; background: #f4f7f9; border-radius: 7px; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
@media(max-width:1170px) { .ld-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .ld-account-grid { grid-template-columns: 1fr; } .ld-history-row { grid-template-columns: 1fr 1fr; } .ld-history-row p { grid-column: 1/-1; } }
@media(max-width:650px) { .ld-admin-intro { flex-direction: column; gap: 14px; } .ld-admin-identity { width: 100%; } .ld-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .ld-section-header { flex-direction: column; align-items: flex-start; } .ld-account-section, .ld-history { padding: 17px; } .ld-history-row { grid-template-columns: 1fr; gap: 11px; } .ld-history-row p { grid-column: auto; } }
@media(max-width:420px) { .ld-metrics { grid-template-columns: 1fr 1fr; gap: 8px; } .ld-metric { padding: 13px; } .ld-metric strong { font-size: 27px; } .ld-account-fields { grid-template-columns: 1fr; gap: 8px; } .ld-account-card__foot { flex-direction: column; } .ld-account-card details { flex-basis: auto; width: 100%; } }

