:root{
  --blue:#1a5f9c; --blue-dark:#12456f; --bg:#f4f7fa; --card:#ffffff;
  --border:#dde3ea; --text:#1f2933; --muted:#6b7684; --danger:#c0392b;
  --ok:#1a8a4a; --warn:#c07a12;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--blue);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:20px 16px}

.topnav{display:flex;justify-content:space-between;align-items:center;background:var(--blue-dark);color:#fff;padding:12px 20px;flex-wrap:wrap;gap:10px}
.topnav .brand{font-weight:700}
.nav-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav-links a{color:#dce8f5}
.nav-links a.active{color:#fff;font-weight:700;border-bottom:2px solid #fff}
.unit-tag{background:rgba(255,255,255,.15);padding:3px 10px;border-radius:12px;font-size:.85em}
.logout{color:#ffd7d0 !important}

.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.stat{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}
.stat .num{font-size:1.8em;font-weight:700;color:var(--blue)}
.stat .lbl{color:var(--muted);font-size:.85em}

table{width:100%;border-collapse:collapse;margin-top:8px}
th,td{border:1px solid var(--border);padding:8px 10px;text-align:left;font-size:.92em}
th{background:#eef3f8}
tr:nth-child(even){background:#fafcfe}

form label{display:block;margin:10px 0 4px;font-weight:600;font-size:.9em}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:6px;font-size:1em}
textarea{min-height:70px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}

.btn{display:inline-block;background:var(--blue);color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-size:.95em;margin-top:12px}
.btn:hover{background:var(--blue-dark)}
.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.btn.danger{background:var(--danger)}
.btn.small{padding:5px 10px;font-size:.85em;margin-top:0}

.badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:.78em;font-weight:600}
.badge.admitted{background:#e3f0ff;color:var(--blue)}
.badge.discharged{background:#e3f7e9;color:var(--ok)}
.badge.lama,.badge.expired{background:#fde8e6;color:var(--danger)}
.badge.referred{background:#fff3da;color:var(--warn)}
.badge.pending{background:#fff3da;color:var(--warn)}
.badge.done{background:#e3f7e9;color:var(--ok)}
.badge.abnormal{background:#fde8e6;color:var(--danger)}

.auth-box{max-width:380px;margin:60px auto;background:#fff;padding:30px;border-radius:10px;border:1px solid var(--border)}
.auth-box h2{margin-top:0;text-align:center;color:var(--blue-dark)}
.error{background:#fde8e6;color:var(--danger);padding:10px;border-radius:6px;margin-bottom:12px;font-size:.9em}
.muted{color:var(--muted);font-size:.88em}
.section-title{margin:26px 0 8px;color:var(--blue-dark);border-bottom:2px solid var(--border);padding-bottom:4px}

@media print{
  .topnav, .no-print{display:none !important}
  body{background:#fff}
  .card{border:none;padding:0}
}
