/* Generado por scripts/build_ui_theme.py; editar shared/ui. */
/* HidroSystem: fuente común de la interfaz, sin dependencias externas. */
@media screen {
  :root {
    --hs-ui-font: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --hs-ui-brand: #003f80;
    --hs-ui-brand-hover: #002d5e;
    --hs-ui-gold: #bba757;
    --hs-ui-bg: #f5f7fb;
    --hs-ui-surface: #ffffff;
    --hs-ui-soft: #edf3fb;
    --hs-ui-text: #182b42;
    --hs-ui-muted: #52667d;
    --hs-ui-line: #dce5ef;
    --hs-ui-radius: 16px;
    --hs-ui-control-radius: 10px;
    --hs-ui-shadow: 0 3px 16px rgb(24 43 66 / 5%);
    --hs-ui-focus: #247ec7;
  }
  html.theme-dark {
    --hs-ui-bg: #0f1c2e;
    --hs-ui-surface: #192a40;
    --hs-ui-soft: #233951;
    --hs-ui-text: #f1f6fc;
    --hs-ui-muted: #b4c5d8;
    --hs-ui-line: #354b65;
    --hs-ui-focus: #78bdf3;
  }
}

@media screen {
  body.hs-ui {
    --hs-text: var(--hs-ui-text);
    --hs-text-soft: var(--hs-ui-muted);
    --shadow: var(--hs-ui-shadow);
    background: var(--hs-ui-bg);
    color: var(--hs-ui-text);
    font-family: var(--hs-ui-font);
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  .hs-ui :is(h1,h2,h3,h4,h5,h6,.topbar-pagetitle,.stat-value) {
    font-family: var(--hs-ui-font);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.25;
  }
  .hs-ui .topbar { height: 68px; padding-inline: 28px; box-shadow: none; }
  .hs-ui .topbar-pagetitle { font-size: 1.03rem; }
  .hs-ui .content-area { padding: 28px; }
  .hs-ui.auth-ui .auth-shell { border: 1px solid var(--hs-ui-line); box-shadow: 0 16px 46px #182b4214; }
  .hs-ui .user-chip { border-radius: 12px; background: #f8fafc; }
  .hs-ui .sidebar { background: #fff; border-right: 1px solid var(--hs-ui-line); box-shadow: none; }
  .hs-ui .sidebar::before { display: none; }
  .hs-ui .sidebar .brand { padding: 22px 16px; border-color: var(--hs-ui-line); }
  .hs-ui .sidebar .brand img { background: transparent; border: 0; padding: 0; max-width: 174px; }
  .hs-ui .sidebar .brand-sub { color: var(--hs-ui-muted); font-size: .65rem; letter-spacing: .055em; }
  .hs-ui .sidebar .nav-link { color: #425d78; min-height: 40px; font-size: .86rem; }
  .hs-ui .sidebar .nav-link:hover { color: var(--hs-ui-brand); background: var(--hs-ui-soft); transform: none; }
  .hs-ui .sidebar .nav-link.active { background: var(--hs-ui-brand); color: #fff; box-shadow: none; }
  .hs-ui .sidebar .nav-link.active i { color: #fff; }
  .hs-ui .sidebar .nav-section { color: var(--hs-ui-muted); }
  .hs-ui .sidebar-divider,.hs-ui .sidebar-footer { border-color: var(--hs-ui-line); }
  .hs-ui .sidebar-footer small { color: var(--hs-ui-muted); }
  .hs-ui .sidebar .nav { scrollbar-color: #c5d3e3 transparent; }
  .hs-ui .sidebar .nav::-webkit-scrollbar-thumb { background: #c5d3e3; }
  .hs-ui .hs-nav-group summary { color: #2b4967; font-size: .85rem; }
  .hs-ui .hs-nav-group summary:hover { background: var(--hs-ui-soft); }
  .hs-ui .sidebar .hs-nav-group .nav-link { font-size: .83rem; }
  .hs-ui .hs-tool-trigger { background: var(--hs-ui-bg); border-color: var(--hs-ui-line); color: var(--hs-ui-brand); border-radius: 12px; }
  .hs-ui .hs-tool-trigger:hover { background: var(--hs-ui-soft); }
  .hs-ui .card { border-color: var(--hs-ui-line); border-radius: var(--hs-ui-radius); box-shadow: var(--hs-ui-shadow); }
  .hs-ui .card-header { padding: 16px 20px; font-size: .95rem; }
  .hs-ui :is(.btn,.btn-hs,.btn-hs-outline,.btn-gold) {
    min-height: 40px; border-radius: var(--hs-ui-control-radius); font-weight: 600;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
  }
  .hs-ui :is(.btn-hs,.btn-gold):hover { transform: none; box-shadow: 0 3px 9px #003f801a; }
  .hs-ui .btn-sm { min-height: 34px; }
  .hs-ui :is(.form-control,.form-select) { min-height: 42px; font-size: .92rem; border-width: 1px; border-color: #cad7e6; border-radius: var(--hs-ui-control-radius); }
  .hs-ui :is(.form-control,.form-select):focus { border-color: var(--hs-ui-focus); box-shadow: 0 0 0 3px #247ec71c; }
  .hs-ui :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--hs-ui-focus); outline-offset: 3px; }
  .hs-ui .table th { text-transform: none; letter-spacing: 0; font-size: .8rem; background: #f8fafc; border-bottom-width: 1px; }
  .hs-ui .table td { font-size: .9rem; }
  .hs-ui :is(.stat-value,.prod-precio,.precio-metric-val,.text-end) { font-variant-numeric: tabular-nums; }
  .hs-ui .hs-start { background: linear-gradient(115deg,#003f80,#125c9f); border-radius: 20px; padding: 28px; }
  .hs-ui .hs-action-card { border-radius: 14px; box-shadow: var(--hs-ui-shadow); }
  .hs-ui .prod-card { border: 1px solid var(--hs-ui-line); }
  .hs-ui .prod-card:hover { transform: none; box-shadow: 0 8px 24px #182b4212; }
  .hs-ui .prod-img-wrap { height: 178px; background: #f8fafc; }
  .hs-ui .prod-cat-badge { background: #edf3fb; color: #003f80; font-size: .7rem; font-weight: 600; }
  .hs-ui .prod-family-name { font-size: 1.05rem; line-height: 1.3; }
  .hs-ui .prod-desc { font-size: .9rem; line-height: 1.5; }
  .hs-ui .prod-family-count { color: var(--hs-ui-muted); font-size: .8rem; }
  .hs-ui .prod-family-model { max-width: none; white-space: normal; overflow-wrap: anywhere; }
  .hs-ui .prod-precio-label { color: var(--hs-ui-muted); font-size: .7rem; text-transform: none; letter-spacing: 0; }
  .hs-ui .prod-cost { color: var(--hs-ui-muted); }
  .hs-ui .prod-family-details summary { padding: 8px 0; font-size: .85rem; }
  @media (max-width: 960px) {
    .hs-ui .content-area { padding: 20px; }
    .hs-ui .topbar { padding-inline: 20px; }
  }
  @media (max-width: 575.98px) {
    .hs-ui .topbar { padding-inline: 12px; height: 60px; }
    .hs-ui .content-area { padding: 16px 12px; }
    .hs-ui .topbar-pagetitle { font-size: .9rem; }
    .hs-ui :is(.form-control,.form-select,.btn-hs,.btn-hs-outline) { min-height: 44px; }
    .hs-ui .prod-img-wrap { height: 132px; }
    .hs-ui .hs-start { padding: 20px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .hs-ui :is(.btn,.btn-hs,.card,.nav-link) { transition: none; }
  }
}
