@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

:root {
  --clinical-bg:        #EEF3F6;
  --clinical-surface:   #FFFFFF;
  --clinical-ink:       #18242E;
  --clinical-muted:     #5C6B76;
  --clinical-border:    #DDE6EC;
  --clinical-teal:      #0F766E;
  --clinical-teal-dark: #0B5A54;
  --clinical-teal-soft: #E3F1EF;
  --clinical-green:     #157347;
  --clinical-amber:     #B45309;
  --clinical-red:       #B42318;

  --bs-primary: #0F766E;
  --bs-primary-rgb: 15, 118, 110;
  --bs-link-color: #0B5A54;
  --bs-link-hover-color: #0F766E;
  --bs-body-color: #18242E;
  --bs-body-bg: #EEF3F6;
  --bs-border-color: #DDE6EC;
  --bs-font-sans-serif: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body { background: var(--clinical-bg); color: var(--clinical-ink); }

/* Barra superior */
.app-bar { background: var(--clinical-surface); border-bottom: 1px solid var(--clinical-border); }
.app-bar .brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--clinical-ink); }
.app-bar .brand .mark { width: 36px; height: 36px; border-radius: 9px; background: var(--clinical-teal); color: #fff; display: grid; place-items: center; font-size: 1.3rem; }
.app-bar .brand .name { font-weight: 600; font-size: 1.1rem; line-height: 1.1; letter-spacing: -.01em; }
.app-bar .brand .unit { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--clinical-muted); font-weight: 500; }

/* Etiqueta de sección */
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 600; color: var(--clinical-teal); }

/* Tarjetas */
.card { border: 1px solid var(--clinical-border); border-radius: 14px; box-shadow: 0 1px 2px rgba(24,36,46,.04), 0 8px 24px rgba(24,36,46,.04); }
.card-accent { border-top: 3px solid var(--clinical-teal); }

/* Botones */
.btn { border-radius: 9px; font-weight: 500; }
.btn-primary {
  --bs-btn-bg: var(--clinical-teal); --bs-btn-border-color: var(--clinical-teal);
  --bs-btn-hover-bg: var(--clinical-teal-dark); --bs-btn-hover-border-color: var(--clinical-teal-dark);
  --bs-btn-active-bg: var(--clinical-teal-dark); --bs-btn-active-border-color: var(--clinical-teal-dark);
  --bs-btn-disabled-bg: var(--clinical-teal); --bs-btn-disabled-border-color: var(--clinical-teal);
}

/* Foco de formularios */
.form-control:focus, .form-select:focus { border-color: var(--clinical-teal); box-shadow: 0 0 0 .2rem rgba(15,118,110,.18); }

/* Tabla tipo registro clínico */
.table { --bs-table-bg: transparent; margin-bottom: 0; }
.table thead th { text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; font-weight: 600; color: var(--clinical-muted); background: #F7FAFB; border-bottom: 1px solid var(--clinical-border); padding: .85rem 1rem; }
.table tbody td { padding: .85rem 1rem; vertical-align: middle; border-color: #EEF2F5; }
.table-hover tbody tr:hover { background: var(--clinical-teal-soft); }

/* Identificadores clínicos */
.id-tag { font-family: 'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.no-paciente { display: inline-grid; place-items: center; min-width: 2.3rem; height: 2rem; padding: 0 .5rem; border-radius: 8px; background: var(--clinical-teal-soft); color: var(--clinical-teal-dark); font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 500; font-size: .82rem; font-variant-numeric: tabular-nums; }

/* Acciones por icono */
.act { background: none; border: none; padding: .25rem .4rem; font-size: 1.15rem; line-height: 1; cursor: pointer; color: var(--clinical-muted); text-decoration: none; }
.act:hover { color: var(--clinical-ink); }
.act-ficha { color: var(--clinical-teal); } .act-ficha:hover { color: var(--clinical-teal-dark); }
.act-del { color: var(--clinical-red); } .act-del:hover { color: #8E1B12; }

/* Semáforos clínicos (se usarán en la ficha) */
.pill { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.pill-ok    { background: #E4F2EA; color: var(--clinical-green); }
.pill-warn  { background: #FBF0DD; color: var(--clinical-amber); }
.pill-alert { background: #FBE7E4; color: var(--clinical-red); }

/* Modales */
.modal-content { border: none; border-radius: 16px; overflow: hidden; }
.modal-header { background: var(--clinical-teal); color: #fff; border-bottom: none; padding: 1rem 1.25rem; }
.modal-header .btn-close { filter: invert(1) grayscale(1) brightness(2); }
.modal-title { font-weight: 600; }
.modal-body { padding: 1.5rem; }
.modal-danger .modal-header { background: var(--clinical-red); }

/* Paginación */
.page-link { color: var(--clinical-teal); }
.page-item.active .page-link { background: var(--clinical-teal); border-color: var(--clinical-teal); }