:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#243b42;background:#f3f6f7;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#176977;text-decoration:none}a:hover{text-decoration:underline}.sidebar{width:246px;background:#163c46;color:#e9f5f4;position:fixed;inset:0 auto 0 0;padding:28px 18px;display:flex;flex-direction:column}.brand{font-weight:800;letter-spacing:1.3px;font-size:17px;display:flex;gap:10px;align-items:center;padding:3px 12px 22px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:#98bbc0}.brand-icon{background:#2c8992;color:white;padding:8px;border-radius:10px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.sidebar nav a{color:#e7f2f3;padding:11px 13px;border-radius:9px;font-weight:500}.sidebar nav a:hover{background:#265661;text-decoration:none}.section{font-size:10px;color:#89acb3;letter-spacing:1.3px;margin:20px 12px 8px}.sidebar-bottom{margin-top:auto;border-top:1px solid #345966;padding:17px 12px}.logout{margin-top:12px;color:white;border:1px solid #607e87;background:transparent;border-radius:7px;padding:8px;cursor:pointer}.main{margin-left:246px;padding:38px;max-width:1500px}.main.solo{margin:0;max-width:none;min-height:100vh;display:grid;place-items:center}.login{width:min(440px,94vw);padding:38px!important}.login-icon{font-size:34px;color:#258691}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}h1{font-size:30px;letter-spacing:-.8px;margin:8px 0}h2{margin-top:0;font-size:19px}h3{font-size:15px}p{color:#668087;line-height:1.5}.eyebrow{color:#2f8b95;font-size:11px;font-weight:800;letter-spacing:1.4px}.box,.stat{background:white;border:1px solid #e4ebed;border-radius:13px;padding:24px;box-shadow:0 4px 18px #183e4509;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:15px}.stat{display:flex;flex-direction:column;color:#65818a}.stat strong{font-size:29px;color:#1c5660;margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#227b86;color:white;padding:12px 20px;border:0;border-radius:8px;cursor:pointer;font-weight:700}.btn:hover{background:#175f69;color:white;text-decoration:none}.btn:disabled{opacity:.5}.full{width:100%}.ghost{display:inline-block;background:#e9f2f3;color:#205965;padding:9px 13px;border:0;border-radius:8px;cursor:pointer;font-weight:650}.search{display:flex;gap:9px;max-width:570px;margin-bottom:18px}.search input{flex:1}input,select,textarea{border:1px solid #ccdce0;border-radius:8px;padding:11px;font:inherit;width:100%;background:white;color:#28434a}input:focus,select:focus,textarea:focus{outline:2px solid #a2d8de;border-color:#258e9b}label{display:flex;flex-direction:column;gap:7px;font-weight:650;color:#365a64}table{width:100%;border-collapse:collapse}td,th{padding:12px;text-align:left;border-bottom:1px solid #edf1f2;vertical-align:top}th{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#68848b;background:#f9fbfb}.table-wrap{overflow:auto}.pager,.actions{display:flex;gap:14px;align-items:center;margin-top:17px;flex-wrap:wrap}.formgrid{display:flex;flex-direction:column;gap:19px;max-width:650px}.narrow{max-width:800px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.alert{background:#fff0ed;color:#a13f29;border-radius:9px;padding:14px;margin-bottom:12px}.login form{display:grid;gap:15px}.muted{color:#849a9f;font-size:12px}.clinical{white-space:pre-wrap;font:inherit;line-height:1.75}.resultados{display:flex;flex-direction:column;max-height:240px;overflow:auto;box-shadow:0 5px 12px #00334416}.result-row{border:1px solid #e5edef;background:white;padding:10px;text-align:left;cursor:pointer}.result-row:hover{background:#e8f5f7}@media(max-width:850px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{flex-direction:row;flex-wrap:wrap}.sidebar-bottom{display:none}.main{margin:0;padding:20px}header{align-items:flex-start;flex-direction:column}.two{grid-template-columns:1fr}}

.logo-preview{margin-top:-8px;margin-bottom:6px}
.logo-preview img{max-width:220px;max-height:90px;object-fit:contain;border:1px solid #d7e5e7;border-radius:10px;background:white;padding:10px}
.result-row strong{display:block;font-size:14px;color:#27444a}
.result-row small{display:block;font-size:12px;color:#6d868d;margin-top:3px}

.lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;align-items:start}
.lab-card{margin:0}.lab-card h2{font-size:16px;margin-bottom:6px}.lab-list{display:flex;flex-direction:column;gap:3px;margin:14px 0}
.lab-item,.lab-check{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px;border-bottom:1px solid #edf1f2;font-size:13px}
.lab-check{justify-content:flex-start;font-weight:400;cursor:pointer}.lab-check input{width:auto;flex-shrink:0}
.lab-remove{border:0;background:#eef2f3;color:#a52e30;border-radius:6px;cursor:pointer;font-size:20px;line-height:1;padding:2px 9px}
.lab-add{display:flex;gap:8px}.lab-add input{min-width:0;flex:1}.lab-add button{white-space:nowrap}
.row-actions{display:flex;gap:12px;align-items:center}.row-actions form{margin:0}
.edit-dialog{border:0;border-radius:14px;width:min(720px,95vw);max-height:88vh;overflow:auto;padding:0;box-shadow:0 18px 90px #052a3560}
.edit-dialog::backdrop{background:#112d3680}.edit-dialog .box{margin:0}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:12px}

/* v0.3.2: mejoras compactas sin alterar la paleta */
.lab-card{padding:18px}.lab-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lab-head h2{font-size:20px;font-weight:800;letter-spacing:-.25px;color:#193f49;margin:0}
.lab-list{margin:10px 0;gap:0}.lab-item{padding:6px 1px;min-height:33px}
.lab-check{display:flex;flex-direction:row;justify-content:flex-start;gap:8px;padding:5px 8px;margin:0;min-height:27px;border-bottom:1px solid #edf1f2;cursor:pointer;font-weight:400;border-radius:5px}
.lab-check:hover{background:#edf6f6}.lab-check:has(input:checked){background:#e0f1f1}
.lab-check input[type=checkbox]{width:15px;height:15px;margin:0;flex:none;accent-color:#227b86}
.lab-select-all{padding:6px 9px;font-size:11px;white-space:nowrap}
.mini-actions{display:flex;gap:4px;align-items:center}.mini-actions form,.inline-delete{display:inline-flex;margin:0}
.icon-action{border:1px solid #d8e7e8;border-radius:7px;background:#f1f7f7;color:#226975;cursor:pointer;padding:6px 9px;min-width:31px;line-height:1.2;font-size:16px}
.icon-action:hover{background:#e1f1f1}.icon-action.danger{color:#ad3b42;background:#fff4f4;border-color:#f2d5d6}
.text-danger{border:0;background:transparent;color:#b34a4a;font-size:11px;cursor:pointer;margin-top:12px;padding:4px 0}
.table-wrap td:last-child{white-space:nowrap}.table-wrap td:last-child>.icon-action{margin-right:4px}

/* v0.3.3: íconos consistentes */
.icon-action{display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;width:34px;height:34px;min-width:34px;padding:6px;text-decoration:none;color:#607d8b;background:#f0f5f6;border:1px solid #dbe6e9;border-radius:8px;cursor:pointer}
.icon-action svg{display:block;flex-shrink:0}
.icon-action.danger{color:#607d8b;background:#f0f5f6;border-color:#dbe6e9}
.icon-action:hover,.icon-action.danger:hover{background:#e2eef0;color:#194f59;text-decoration:none}
.row-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px}.row-actions form{margin:0}

/* v0.3.4: compactar solamente los registros del administrador de laboratorio */
.lab-card .lab-item {
  min-height: 0;
  padding: 4px 1px;
  gap: 6px;
}
.lab-card .lab-item .icon-action {
  width: 29px;
  min-width: 29px;
  height: 29px;
  padding: 4px;
}
.lab-card .lab-item .mini-actions { gap: 4px; }
.lab-card .lab-item .mini-actions svg { width: 17px; height: 17px; }
/* Logo de RecetaDigital en el formulario de ingreso, sin afectar el menú */
.login-brand-logo {
  display: block;
  width: 100%;
  max-width: 375px;
  height: auto;
  max-height: 145px;
  object-fit: contain;
  margin: 0 auto 16px;
}

/* v0.3.4a - recuperar tamaño del logo lateral sin afectar login */
.sidebar { width:246px; min-width:246px; max-width:246px; }
.sidebar .brand.brand-logo-wrap { width:100%; max-width:100%; padding:4px 8px 22px; display:flex; align-items:center; justify-content:center; min-width:0; }
.sidebar .brand.brand-logo-wrap .brand-logo,
.sidebar .brand img { display:block; width:100%; max-width:190px; max-height:82px; height:auto; object-fit:contain; }
.main:not(.solo) { margin-left:246px; }
@media (max-width:850px) {
  .sidebar {position:static; width:100%; min-width:0; max-width:none;}
  .main:not(.solo) {margin-left:0;}
}

/* Buscador del panel: input + icono en una sola línea */
.home-search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.home-search-form input[name="q"] {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.home-search-button {
    width: 52px;
    height: 52px;
    min-width: 52px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #607d8b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.home-search-button:hover {
    background: rgba(96, 125, 139, 0.08);
}

.home-search-button svg {
    display: block;
}

/* =========================================================
   SIDEBAR COMPACTO - RecetaDigital
   ========================================================= */

.sidebar {
    overflow-y: auto;
}

/* Menos espacio vertical entre opciones */
.sidebar nav a,
.sidebar .nav-link,
.sidebar .menu-link {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-top: 1px;
    margin-bottom: 1px;
}

/* Secciones como CATÁLOGOS / SISTEMA */
.sidebar .nav-section-title,
.sidebar .sidebar-section-title,
.sidebar .menu-section-title,
.sidebar .section-title {
    margin-top: 18px;
    margin-bottom: 7px;
}

/* Menos separación entre bloques del menú */
.sidebar nav {
    gap: 2px;
}

/* Compactar especialmente listas internas */
.sidebar ul {
    margin-top: 4px;
    margin-bottom: 4px;
}

.sidebar li {
    margin-top: 0;
    margin-bottom: 0;
}

/* Zona inferior de usuario un poco más compacta */
.sidebar .sidebar-footer,
.sidebar .user-area,
.sidebar .usuario-sidebar {
    margin-top: 12px;
    padding-top: 12px;
}

/* Botón cerrar sesión algo más compacto */
.sidebar form button,
.sidebar .logout-button {
    margin-top: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
}


/* Buscador de recetas recientes */
.history-filter-fields {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.history-filter-fields input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.search-icon-btn {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    margin: 0;
    padding: 0;
    border: 1px solid #d1dde1;
    border-radius: 8px;
    background: #fff;
    color: #607d8b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.search-icon-btn:hover {
    background: #f5f8f9;
    border-color: #607d8b;
}

.search-icon-btn svg {
    display: block;
}

.history-filter-fields .ghost {
    flex: 0 0 auto;
}


/* Botón buscar del panel: mismo estilo que los demás iconos */
.search-icon-btn {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid #c7d8dd;
    border-radius: 10px;
    background: #ffffff;
    color: #2a7f8a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: none;
}

.search-icon-btn:hover {
    background: #f7fbfc;
    border-color: #2a7f8a;
    color: #2a7f8a;
}

.search-icon-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(42, 127, 138, 0.15);
}

.search-icon-btn svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.6;
    display: block;
}


/* Ajuste final del botón buscar del panel */
.history-filter-fields {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.history-filter-fields input[type="search"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.history-filter-fields .search-icon-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;

    background: #ffffff !important;
    color: #23828d !important;

    border: 1px solid #c8d8dc !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.history-filter-fields .search-icon-btn:hover {
    background: #f4f9fa !important;
    border-color: #23828d !important;
    color: #23828d !important;
}

.history-filter-fields .search-icon-btn svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
}


/* Ajuste de anchos - tabla de pacientes */
table th:nth-child(1),
table td:nth-child(1) {
    width: 22%;
}

table th:nth-child(2),
table td:nth-child(2) {
    width: 8%;
}

table th:nth-child(3),
table td:nth-child(3) {
    width: 11%;
}

table th:nth-child(4),
table td:nth-child(4) {
    width: 14%;
}

table th:nth-child(5),
table td:nth-child(5) {
    width: 28%;
}

table th:nth-child(6),
table td:nth-child(6) {
    width: 8%;
}

table th:nth-child(7),
table td:nth-child(7) {
    width: 9%;
}

