
:root{
  /* Softer lilac palette */
  --lila-900:#6d4caf;
  --lila-700:#8062bb;
  --lila-600:#8e71c3;
  --lila-500:#9b82ca;
  --lila-200:#e5daf4;
  --lila-100:#f3ecfb;
  --ink:#1b1b1b;
  --muted:#535353;
  --bg:#ffffff;
  --ok:#2e7d32;
  --err:#c62828;
  --card:#ffffff;
  --ring: rgba(155,130,202,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.header{display:flex;align-items:center;gap:16px;padding:12px 16px;background:linear-gradient(90deg,var(--lila-900),var(--lila-700));color:#fff;position:sticky;top:0}
.logo-badge{width:56px;height:56px;border-radius:14px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.header .logo{width:44px;height:44px;object-fit:contain} /* no invert filter, preserves white bg */
.titles h1{margin:0;font-size:clamp(18px,3.4vw,28px);font-weight:700;line-height:1.1}
.titles h2{margin:2px 0 0 0;font-size:clamp(14px,2.6vw,18px);font-weight:600;opacity:.95}
.container{max-width:880px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--lila-100);border-radius:16px;box-shadow:0 8px 24px rgba(109,76,175,.10);padding:16px}
.search-card{comp:card}
.search-card{background:var(--card);border:1px solid var(--lila-100);border-radius:16px;box-shadow:0 8px 24px rgba(109,76,175,.10);padding:16px}
.label{display:block;font-weight:600;margin-bottom:8px}
.search-row{display:flex;gap:8px}
input#dni{flex:1;border:1px solid #ddd;border-radius:12px;padding:12px 14px;font-size:16px;outline:none}
input#dni:focus{border-color:var(--lila-600);box-shadow:0 0 0 3px var(--ring)}
button#btnBuscar{background:var(--lila-700);color:#fff;border:none;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer}
button#btnBuscar:hover{background:var(--lila-900)}
.msg{min-height:20px;margin:8px 2px 0 2px;font-size:14px;color:var(--muted)}
.result-card{margin-top:16px;background:var(--card);border:1px solid var(--lila-100);border-radius:18px;box-shadow:0 10px 28px rgba(109,76,175,.12);padding:0;overflow:hidden}
.result-header{background:linear-gradient(0deg,var(--lila-200),var(--lila-100));padding:14px 16px;border-bottom:1px solid var(--lila-100)}
.result-body{padding:16px}
.hidden{display:none}

/* Modern ficha using CSS grid for label/value alignment */
.ficha{display:grid;grid-template-columns:180px 1fr;row-gap:10px;column-gap:16px}
@media (max-width:560px){ .ficha{grid-template-columns:1fr} .ficha .label{margin-bottom:2px} }
.ficha .label{font-weight:700;color:var(--lila-900);text-align:right}
@media (max-width:560px){ .ficha .label{text-align:left} }
.ficha .value{font-weight:600}
.notice{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--lila-100);border:1px solid var(--lila-200)}
.ok{color:var(--ok)}
.err{color:var(--err)}
.footer{padding:16px;text-align:center;color:#666}
