/* 02-LAYOUT — header, búsqueda, main, stats, nav-tabs, sidebar desktop */
.user-trigger { display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:8px;border:none;background:none;transition:background 0.15s;font-family:inherit; }
.user-trigger:hover { background:#f0f4f9; }
.user-avatar { width:32px;height:32px;border-radius:50%;background:#378add;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#fff;flex-shrink:0; }
.user-name-label { font-size:13px;color:#1a2a3a;font-weight:500; }
/* BÚSQUEDA GLOBAL */
.hdr-search-wrap { flex:0 0 auto;width:clamp(520px,34vw,640px);position:relative; }
.hdr-search-ico { position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#a0b5cc;pointer-events:none;display:flex;align-items:center; }
.hdr-search-input { width:100%;height:40px;background:#f5f8fc;border:1.5px solid #e0eaf5;border-radius:10px;padding:0 14px 0 34px;font-family:inherit;font-size:13px;color:#1a2a3a;transition:all 0.15s; }
.hdr-search-input:focus { outline:none;border-color:#378add;background:#fff;box-shadow:0 0 0 3px rgba(55,138,221,0.08); }
.hdr-search-input::placeholder { color:#b0bfcc; }
#searchResults { position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e0eaf5;border-radius:12px;box-shadow:0 8px 32px rgba(24,95,165,0.14);z-index:200;max-height:420px;overflow-y:auto;display:none; }
.srch-group-lbl { font-size:9px;font-weight:700;color:#9ca3af;letter-spacing:1px;text-transform:uppercase;padding:10px 14px 4px;border-top:1px solid #f3f4f6; }
.srch-group-lbl:first-child { border-top:none; }
.srch-item { display:block;width:100%;padding:8px 14px;cursor:pointer;text-align:left;background:none;border:none;font-family:inherit;transition:background 0.1s; }
.srch-item:hover { background:#f0f6ff; }
.srch-title { font-size:13px;font-weight:500;color:#1a2a3a;margin-bottom:1px; }
.srch-sub { font-size:11px;color:#6b7280; }
.srch-empty { padding:20px 14px;text-align:center;font-size:12px;color:#9ca3af; }
#searchResults.privacy-mode .srch-sensitive { filter:blur(5px);user-select:none;pointer-events:none; }

/* APP */
#appScreen { display:none; }
header { border-bottom:0.5px solid #d0dff0;padding:14px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;background:#fff;z-index:50; }
.hdr-brand { display:flex;align-items:center;gap:12px;flex-shrink:0; }
.hdr-tools-aligned { margin-left:auto;display:flex;align-items:center;gap:10px; }
.hdr-global-actions { display:flex;align-items:center;gap:12px;flex-shrink:0; }
.header-action-slot { flex:0 0 190px;width:190px;display:flex;align-items:center; }
#btnHeaderAction { width:100%;justify-content:center;white-space:nowrap; }
header .btn { height:40px; }
.logo { font-size:20px;font-weight:600;color:#185fa5;letter-spacing:1px; }
.logo-sub { font-size:9px;color:#aab8cc;letter-spacing:2px;margin-top:1px; }
.header-actions { display:flex;gap:8px;align-items:center; }
main { max-width:1100px;margin:0 auto;padding:20px 28px; }
.stats { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px; }
.stat { background:#fff;border:0.5px solid #d0dff0;border-radius:10px;padding:14px 16px; }
.stat-label { font-size:9px;color:#aab8cc;letter-spacing:1.5px;margin-bottom:4px;font-weight:500; }
.stat-value { font-size:26px;font-weight:500; }
.nav-tabs { display:flex;gap:4px;margin-bottom:20px;border-bottom:0.5px solid #d0dff0;background:#fff;padding:0 4px; }
.nav-tab { flex:0 0 auto;padding:11px 14px;font-size:10.5px;letter-spacing:0.4px;cursor:pointer;border:none;background:transparent;color:#aab8cc;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-0.5px;transition:all 0.15s;font-weight:500;text-align:center;white-space:nowrap; }
.nav-tab.active { color:#185fa5;border-bottom-color:#378add; }
.tabs { display:flex;margin-bottom:16px;border-bottom:0.5px solid #e0ebf5; }
.tab { padding:8px 16px;font-size:11px;letter-spacing:0.5px;cursor:pointer;border:none;background:transparent;color:#aab8cc;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-0.5px;transition:all 0.15s; }
.tab.active { color:#185fa5;border-bottom-color:#378add; }
/* ── HEADER: botones icono (mobile) ── */
/* btn descargar PDF: display como CSS (no inline) para que @media pueda ocultarlo */
#btn-descargar-pdf{display:inline-flex;}
/* Focus nativo de botones: suprimir outline en click, conservar en teclado */
.nav-tab:focus:not(:focus-visible){outline:none;}
button:focus:not(:focus-visible){outline:none;}
.hdr-icon-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:0.5px solid #d0dff0;background:#fff;color:#4a5a7a;cursor:pointer;flex-shrink:0;}
.hdr-icon-btn:hover{background:#f0f4f9;}
#privacyBtnMobile{display:none;border:none;background:none;}
#privacyBtnMobile:hover{background:transparent;}
.hdr-mobile-tools{display:none;align-items:center;gap:8px;flex-shrink:0;}
/* ── SIDEBAR DESKTOP (branch: desktop-sidebar-nav) ── */
.sidebar-desktop { display:none; }

.side-logo {
  padding:18px 18px 14px;
  border-bottom:0.5px solid #eef3f9;
}

.side-logo img {
  height:32px;
  width:auto;
  display:block;
}

.side-logo-txt {
  font-size:18px;
  font-weight:600;
  color:#185fa5;
  letter-spacing:0.5px;
}

.side-nav {
  flex:1;
  overflow-y:auto;
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.side-footer {
  border-top:0.5px solid #eef3f9;
  padding:10px;
}

.side-nav-item {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  padding:10px 12px;
  border:none;
  background:none;
  border-radius:8px;
  font-family:inherit;
  font-size:13px;
  color:#5a6b85;
  cursor:pointer;
  text-align:left;
  transition:background 0.12s, color 0.12s;
}

.side-nav-item i {
  font-size:18px;
  flex-shrink:0;
  width:20px;
  text-align:center;
}

.side-nav-item:hover {
  background:#f0f4f9;
}

.side-nav-item.active {
  background:#e6f1fb;
  color:#185fa5;
  font-weight:500;
}

.side-config-item {
  color:#7a8ca8;
}

.side-user { display:flex; align-items:center; gap:11px; margin:14px 12px 4px; padding:12px; border:0.5px solid #e0ebf5; border-radius:12px; }
.side-user-avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#378add 0%,#0f6e56 100%); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0; box-shadow:0 6px 16px rgba(55,138,221,0.18); letter-spacing:-0.5px; }
.side-user-info { min-width:0; }
.side-user-name { font-size:13px; font-weight:600; color:#1a2a3a; line-height:1.25; overflow:hidden; text-overflow:ellipsis; }
.side-user-link { background:none; border:none; padding:0; margin-top:2px; color:#378add; font-family:inherit; font-size:12px; cursor:pointer; }
.side-user-link:hover { color:#185fa5; }
.side-action { padding:6px 12px 10px; }
.side-action .btn { width:100%; justify-content:center; }
.sidebar-desktop #btnHeaderAction { display:flex; align-items:center; justify-content:center; gap:8px; }
.sidebar-desktop #btnHeaderAction i { font-size:16px; line-height:1; }
.side-logout-global { color:#a32d2d; }
