/* Shell: sidebar recolhível + tema claro. Apenas variáveis e overrides. */
html[data-theme="light"] {
  color-scheme: light;
  --surface-0: #eeede7;
  --surface-1: #f8f7f2;
  --surface-2: #e5e4dc;
  --border: #d3d1c6;
  --text-primary: #1a1a18;
  --text-secondary: #46453f;
  --text-muted: #727068;
  --accent: #2b6fc2;
  --good: #0a7f0a;
  --warning: #a86f00;
  --serious: #b85a33;
  --critical: #b52f2f;
}
html[data-theme="light"] .esa-logo-img { filter: invert(1) brightness(.2); }
html[data-theme="light"] .modal-ov { background: rgba(40,40,30,.35); }
html[data-theme="light"] .tw-panel, html[data-theme="light"] .modal-box { box-shadow: 0 14px 40px rgba(40,40,30,.18); }
html[data-theme="light"] .info::after { box-shadow: 0 8px 24px rgba(40,40,30,.18); }

.sb-foot { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); }
.sb-tool { display: flex; align-items: center; gap: 10px; width: 100%; background: transparent; color: var(--text-secondary);
  border: 1px solid transparent; padding: 7px 8px; border-radius: 8px; font-weight: 500; font-size: 13px; text-align: left; }
.sb-tool:hover { background: var(--surface-2); color: var(--text-primary); filter: none; }
.sb-tool:focus-visible, .sidebar nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.sb-tool svg { width: 18px; height: 18px; flex-shrink: 0; }
.sidebar { transition: width .18s ease; }

html.sb-collapsed .sidebar { width: 64px; }
html.sb-collapsed .brand { padding: 18px 10px 14px; overflow: hidden; }
html.sb-collapsed .brand .esa-logo-img { height: 20px !important; max-width: 44px; object-fit: cover; object-position: left; }
html.sb-collapsed .sidebar nav { padding: 0 8px; }
html.sb-collapsed .sidebar nav a { font-size: 0; gap: 0; justify-content: center; padding: 10px 0; }
html.sb-collapsed .sidebar-bottom { padding: 12px 8px; }
html.sb-collapsed .sb-widgets { justify-content: center; }
html.sb-collapsed .whoami { display: none; }
.logout-icon { display: none; }
html.sb-collapsed .logout { display: flex; justify-content: center; padding: 8px 0; }
html.sb-collapsed .logout-label { display: none; }
html.sb-collapsed .logout-icon { display: block; }
html.sb-collapsed .sb-tool { justify-content: center; padding: 8px 0; }
html.sb-collapsed .sb-tl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html.sb-collapsed #sb-collapse svg { transform: scaleX(-1); }
@media (max-width: 720px) { .sb-tool { font-size: 12px; } }
