/* ui_header.css — V2/A (SPEC-ui-redesign-v2 §A): JEDNOTNÁ horní lišta pro celou
   aplikaci. Renderuje js/ui_header.js do #appHeader. Nahrazuje header.app + nav.app
   + projekt_bar na běžných stránkách; na půdorysu je grid-row 1 workspace layoutu.
   Barvy hardcoded (pages mají různé názvy CSS proměnných) — sladěné s mockup-ui-v2. */

#appHeader{
  --uh-modra:#1565C0; --uh-modra2:#2e9bff; --uh-ink:#16202e; --uh-dim:#5a6b7a;
  --uh-bg:#f4f7fb; --uh-panel:#ffffff; --uh-line:#dde5ee; --uh-ok:#2e7d32; --uh-warn:#e08a1e;
  position:sticky; top:0; z-index:500; font-family:'Inter',-apple-system,'Segoe UI',system-ui,sans-serif;
}
#appHeader .uh-bar{
  display:flex; align-items:center; gap:10px; padding:0 14px; height:48px;
  background:var(--uh-panel); border-bottom:1px solid var(--uh-line); min-width:0;
}
#appHeader .uh-logo{ font-weight:700; color:var(--uh-modra); white-space:nowrap; font-size:15px; }
#appHeader .uh-logo small{ color:var(--uh-dim); font-weight:400; }

/* moduly (přepínač stránek) */
#appHeader .uh-moduly{ display:flex; gap:2px; background:var(--uh-bg); border-radius:8px; padding:3px; }
#appHeader .uh-moduly a{
  padding:5px 11px; border-radius:6px; cursor:pointer; color:var(--uh-dim);
  white-space:nowrap; text-decoration:none; font-size:12.5px;
}
#appHeader .uh-moduly a:hover{ color:var(--uh-modra); }
#appHeader .uh-moduly a.act{ background:#fff; color:var(--uh-modra); font-weight:600; box-shadow:0 1px 3px rgba(20,40,80,.12); }

#appHeader select.uh-proj{
  font-family:inherit; font-size:13px; padding:5px 8px; border:1px solid var(--uh-line);
  border-radius:6px; background:#fff; color:var(--uh-ink); min-width:180px; max-width:340px; flex:0 1 320px;
}
#appHeader .uh-chip{
  font-size:11px; padding:3px 9px; border-radius:20px; background:#eef5fc; color:var(--uh-modra);
  white-space:nowrap;
}
#appHeader .uh-chip.ok{ background:#e8f5e9; color:var(--uh-ok); }
/* ÚKOL 29 — chip „NEULOŽENO"/offline/odhlášen: červený, výrazný, klikací (retry) */
#appHeader .uh-chip.err{ background:#fdecea; color:#c62828; border:1px solid #e5a3a0; font-weight:700; }
#appHeader .uh-chip.zamek{ background:rgba(198,40,40,.1); color:#c62828; border:1px solid #c62828; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; font-size:10px; }
#appHeader .uh-sp{ flex:1; }

#appHeader .uh-ib{
  font-family:inherit; padding:6px 10px; border:1px solid var(--uh-line); border-radius:6px;
  background:#fff; color:var(--uh-ink); cursor:pointer; white-space:nowrap; font-size:12px;
}
#appHeader .uh-ib:hover{ border-color:var(--uh-modra); color:var(--uh-modra); }
#appHeader .uh-ib.primary{ background:var(--uh-modra); border-color:var(--uh-modra); color:#fff; font-weight:600; }
#appHeader .uh-ib.primary:hover{ background:#1e73d6; color:#fff; }
#appHeader .uh-ib:disabled{ opacity:.4; cursor:not-allowed; }
#appHeader .uh-ib.icon{ padding:6px 9px; font-size:14px; line-height:1; }

/* ⋯ menu */
#appHeader .uh-menuwrap{ position:relative; }
#appHeader .uh-menu{
  display:none; position:absolute; right:0; top:calc(100% + 4px); z-index:600;
  background:#fff; border:1px solid var(--uh-line); border-radius:9px; min-width:210px;
  box-shadow:0 8px 26px rgba(20,40,80,.16); padding:5px; font-size:13px;
}
#appHeader .uh-menu.open{ display:block; }
#appHeader .uh-menu button{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left; background:none;
  border:none; border-radius:6px; padding:8px 10px; cursor:pointer; color:var(--uh-ink); font-family:inherit; font-size:13px;
}
#appHeader .uh-menu button:hover{ background:#eef5fc; color:var(--uh-modra); }
#appHeader .uh-menu button:disabled{ opacity:.4; cursor:not-allowed; }
#appHeader .uh-menu button.danger:hover{ background:#fdecec; color:#c62828; }
#appHeader .uh-menu .uh-sep{ height:1px; background:var(--uh-line); margin:4px 2px; }
#appHeader .uh-user{ font-size:12px; color:var(--uh-dim); white-space:nowrap; }
#appHeader a.uh-sprava{ font-size:12px; color:var(--uh-modra); text-decoration:none;
  border:1px solid var(--uh-line); border-radius:6px; padding:6px 10px; white-space:nowrap; }

/* druhý řádek: výběr posuzované STAVBY (jen riziko/návrh/koule; půdorys má budovy v kroku 1) */
#appHeader .uh-stavby{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:6px 16px;
  background:#f7faff; border-bottom:1px solid var(--uh-line); font-size:13px;
}
#appHeader .uh-stavby .uh-lbl{ font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--uh-dim); font-weight:600; }
#appHeader .uh-stavby select{ font-family:inherit; font-size:13px; padding:5px 9px; border:1px solid var(--uh-line);
  border-radius:5px; background:#fff; min-width:200px; }
#appHeader .uh-stavby button{ font-family:inherit; font-size:12px; padding:5px 10px; border:1px solid var(--uh-line);
  border-radius:5px; background:#fff; cursor:pointer; }
#appHeader .uh-stavby button:hover{ border-color:var(--uh-modra); color:var(--uh-modra); }
#appHeader .uh-stavby button:disabled{ opacity:.4; cursor:not-allowed; }

/* na běžných stránkách drží lišta obsah v šířce stránky; na workspace je full-bleed */
#appHeader .uh-bar > .uh-inner{ display:contents; }

@media(max-width:820px){
  #appHeader .uh-moduly a{ padding:5px 8px; font-size:12px; }
  #appHeader select.uh-proj{ min-width:120px; }
  #appHeader .uh-user{ display:none; }
}

/* ÚKOL 30 — KOMPAKT: nižší lišta (48→40) + menší logo/chipy pro 15,6" displeje */
body.kompakt #appHeader .uh-bar{ height:40px; padding:0 10px; gap:7px; }
body.kompakt #appHeader .uh-logo{ font-size:13px; }
body.kompakt #appHeader .uh-chip{ font-size:10px; padding:2px 7px; }
body.kompakt #appHeader .uh-moduly a{ padding:4px 8px; font-size:12px; }
