:root{--bg:#f7efe8;--paper:#fffaf5;--ink:#2e2926;--muted:#6f625a;--accent:#9a6a45;--accent2:#70462d;--border:#e2d2c4;--ok:#176b38;--error:#a12b2b;--blue:#1d7f9f}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,var(--bg),#fff);color:var(--ink)}.container{max-width:1220px;margin:28px auto;padding:24px;background:var(--paper);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 40px rgba(75,47,28,.11)}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}.top-logo{width:min(380px,92%);height:auto;display:block;margin-bottom:10px}h1{margin:0;color:var(--accent2);font-size:30px}.subtitle{color:var(--muted);margin:8px 0 0}.logout,.download,.secondary,button{border:0;background:var(--accent2);color:white;padding:11px 15px;border-radius:10px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.secondary{background:#d7c2b2;color:#33251d}.download{padding:9px 12px}.filters{display:grid;grid-template-columns:2fr 1.3fr .75fr .7fr .7fr auto;gap:13px;align-items:end;background:#fff3e5;border:1px solid var(--border);padding:16px;border-radius:14px;margin-bottom:18px}label{display:block;font-weight:700;color:var(--accent2);font-size:14px}input,select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 11px;font:inherit;background:white;color:var(--ink);margin-top:6px}.filter-actions{display:flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stats div{background:white;border:1px solid var(--border);border-radius:14px;padding:16px}.stats strong{font-size:28px;color:var(--accent2);display:block}.stats span{color:var(--muted)}.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px}.warning{background:#fff9e7;border:1px solid #e7c66d;color:#6e5514}.error{background:#fdecec;color:var(--error);border:1px solid #f2b9b9}.empty{background:white;padding:20px;border:1px solid var(--border);border-radius:14px;color:var(--muted)}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);background:white}.pdf-table{width:100%;border-collapse:collapse;min-width:980px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#f1e2d5;color:var(--accent2);position:sticky;top:0}.file-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.badge{display:inline-block;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eee;color:#333}.badge.consentimiento{background:#eaf9fb;color:#175666}.badge.historiaClinicaCorporal{background:#f6ebff;color:#60327c}.badge.historiaClinicaFacial{background:#eaf7ee;color:#176b38}.login-body.login-body{2    display:flex;3    justify-content:center;4    align-items:flex-start;5    min-height:100vh;6    padding-top:30px;7}.login-card{width:min(460px,92vw);padding:26px;background:var(--paper);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 40px rgba(75,47,28,.11)}.login-logo{width:320px;max-width:100%;display:block;margin:0 auto 12px}code{background:white;padding:2px 5px;border-radius:5px;border:1px solid var(--border)}@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}.stats{grid-template-columns:1fr}.topbar{display:block}.logout{margin-top:12px}}@media(max-width:640px){.container{margin:0;border-radius:0;padding:16px}.filters{grid-template-columns:1fr}h1{font-size:24px}}
