:root {
  --hydro-navy:#102f4c;
  --hydro-blue:#2463a6;
  --hydro-blue-dark:#184f88;
  --hydro-bg:#f2f6fb;
  --hydro-card:#fff;
  --hydro-soft:#e5effb;
  --hydro-line:#ccd9e7;
  --hydro-text:#18334f;
  --hydro-muted:#4d6278;
  --hydro-shadow:0 10px 30px rgba(22,66,103,.10);
  --hydro-shell-height:74px;
  color-scheme:light;
}
html.hydro-legacy-root { overflow-x:hidden; }
* { box-sizing:border-box; }
body.hydro-legacy {
  box-sizing:border-box !important;
  min-height:100vh;
  padding-top:var(--hydro-shell-height) !important;
  color:var(--hydro-text);
  background:linear-gradient(180deg,#f7fafd 0,var(--hydro-bg) 320px) fixed;
  font-family:"Segoe UI",system-ui,sans-serif;
}
.hydro-legacy-compact {
  display:block !important;
  align-items:initial !important;
  justify-content:initial !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#e7eef6 !important;
  font-size:16px !important;
}
.hydro-legacy-frame {
  width:min(100%,1280px);
  min-height:100vh;
  margin:0 auto;
  color:var(--hydro-text);
  background:var(--hydro-bg);
  box-shadow:0 0 32px rgba(16,47,76,.10);
}
.hydro-shell-note { padding:9px 28px; color:var(--hydro-muted); background:var(--hydro-bg); border-bottom:1px solid var(--hydro-line); font-size:13px; }
.hydro-compact-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:25px 32px; background:#fff; }
.hydro-compact-brand { display:grid; color:var(--hydro-navy); text-decoration:none; font:500 19px/1.05 "Segoe UI",Arial,sans-serif; letter-spacing:-.02em; }
.hydro-compact-brand strong { color:var(--hydro-blue); font-size:19px; }
.hydro-compact-header .hydro-shell-logos { gap:24px; padding:8px; border-radius:8px; background:#fff; }
.hydro-compact-header .hydro-shell-logos img { height:64px; }
.hydro-compact-header .hydro-shell-logos img.hydro-shell-shp { height:48px; }
.hydro-compact-nav { display:flex; justify-content:flex-end; align-items:center; gap:12px; min-height:61px; padding:8px 28px; background:#fff; border-block:1px solid var(--hydro-line); }
.hydro-compact-nav .hydro-preferences,.hydro-compact-nav .hydro-languages { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
body.hydro-legacy-compact .hydro-compact-nav button { min-width:44px !important; min-height:44px !important; margin:0 !important; padding:8px 12px !important; color:var(--hydro-muted) !important; background:transparent !important; border:0 !important; border-radius:7px !important; box-shadow:none !important; font:400 16px/1.3 "Segoe UI",system-ui,sans-serif !important; cursor:pointer; }
body.hydro-legacy-compact .hydro-compact-nav button:hover { color:var(--hydro-blue) !important; background:var(--hydro-soft) !important; }
body.hydro-legacy-compact .hydro-compact-nav button[aria-pressed="true"] { color:var(--hydro-blue) !important; background:var(--hydro-soft) !important; font-weight:500 !important; }
.hydro-shell-languages { display:flex; align-items:center; gap:6px; padding-left:10px; border-left:1px solid var(--hydro-line); }
.hydro-legacy-main { padding:24px 32px 34px; }
.hydro-tool-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; margin:0 0 22px; padding:10px 12px; background:#fff; border:1px solid var(--hydro-line); border-radius:10px; }
.hydro-all-tools { display:inline-flex; align-items:center; min-height:44px; padding:8px 10px; color:var(--hydro-blue); text-decoration:none; border-radius:7px; font:600 15px/1.3 "Segoe UI",Arial,sans-serif; }
.hydro-all-tools:hover { background:var(--hydro-soft); }
.hydro-toolbar-actions { display:flex; flex:1 1 auto; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.hydro-toolbar-actions button { width:auto !important; min-width:0 !important; min-height:44px !important; margin:0 !important; padding:9px 14px !important; color:var(--hydro-blue) !important; background:var(--hydro-soft) !important; border:1px solid var(--hydro-line) !important; border-radius:7px !important; box-shadow:none !important; font:600 14px/1.3 "Segoe UI",Arial,sans-serif !important; cursor:pointer; }
.hydro-toolbar-actions button:hover { color:#fff !important; background:var(--hydro-blue) !important; }
.hydro-toolbar-actions button:disabled { opacity:.5; cursor:not-allowed; }
.hydro-toolbar-actions input[type="file"] { display:none !important; }
.hydro-tool-toolbar-bottom { margin:22px 0 0; }
.hydro-bottom-toolbar-label { color:var(--hydro-muted); font:600 13px/1.3 "Segoe UI",Arial,sans-serif; }
.hydro-legacy-content { min-width:0; }
.hydro-legacy-content [hidden] { display:none !important; }
.hydro-legacy-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:22px 32px; color:var(--hydro-muted); background:var(--hydro-bg); border-top:1px solid var(--hydro-line); font:13px/1.5 "Segoe UI",Arial,sans-serif; }
.hydro-legacy-footer>div { display:grid; gap:4px; }
.hydro-legacy-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px 18px; }
.hydro-legacy-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--hydro-blue); font-weight:700; }
.hydro-large-text .hydro-legacy-content { font-size:1.12em; }
.hydro-large-text .hydro-legacy-content :where(input,select,textarea,button) { font-size:1em; }
.hydro-legacy-shell {
  position:fixed;
  inset:0 0 auto 0;
  z-index:100000;
  min-height:var(--hydro-shell-height);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:10px clamp(16px,3vw,36px);
  color:var(--hydro-text);
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--hydro-line);
  box-shadow:0 5px 18px rgba(22,66,103,.08);
  font:16px/1.25 Arial,"Segoe UI",sans-serif;
}
.hydro-shell-home { display:grid; color:var(--hydro-navy); text-decoration:none; line-height:1.05; font-size:15px; }
.hydro-shell-home strong { color:var(--hydro-blue); font-size:18px; }
.hydro-shell-home:focus-visible,.hydro-shell-logos a:focus-visible { outline:3px solid #f2aa27; outline-offset:4px; border-radius:4px; }
.hydro-shell-title { min-width:0; color:var(--hydro-muted); font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hydro-shell-logos { display:flex; align-items:center; gap:18px; }
.hydro-shell-logos a { display:flex; align-items:center; }
.hydro-shell-logos img { display:block; width:auto; height:46px; }
.hydro-shell-logos img.hydro-shell-shp { height:34px; }
body.hydro-legacy :where(button,input,select,textarea,a):focus-visible { outline:3px solid #f2aa27 !important; outline-offset:2px; }
body.hydro-legacy :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-color:#aebfd0; border-radius:7px; }
body.hydro-legacy :where(button,.btn,.action-btn,.btn-link) { border-radius:8px; }

/* Simple document and form tools. Page-specific rules stay inside content so they cannot restyle the shared shell. */
.hydro-page-bilans_wody { margin:0 !important; padding:0 !important; font-size:16px !important; }
.hydro-page-bilans_wody .hydro-legacy-content>.controls,.hydro-page-bilans_wody .hydro-legacy-content>#raport-container { max-width:1280px; margin-right:auto; margin-left:auto; }
.hydro-page-bilans_wody .hydro-legacy-content>.controls { margin-top:22px; padding:16px; background:var(--hydro-soft); border:1px solid var(--hydro-line); border-radius:12px; }
.hydro-page-bilans_wody .hydro-legacy-content>#raport-container { border:1px solid var(--hydro-line); border-radius:14px; box-shadow:var(--hydro-shadow); }
.hydro-page-bilans_wody h1,.hydro-page-bilans_wody h2,.hydro-page-bilans_wody h3 { color:var(--hydro-navy); border-color:var(--hydro-blue); }
.hydro-page-bilans_wody th { background:var(--hydro-navy); }
.hydro-page-bilans_wody .hydro-legacy-content button { min-height:44px; background:var(--hydro-blue); }
.hydro-page-bilans_wody .hydro-legacy-content button:hover { background:var(--hydro-blue-dark); }
.hydro-page-bilans_wody .hydro-legacy-content .btn-pdf { background:var(--hydro-blue-dark); }

.hydro-page-programy,.hydro-page-sitowa { margin:0 !important; padding:0 !important; font-size:16px !important; }
.hydro-page-programy .container { margin-top:24px; border:1px solid var(--hydro-line); border-radius:14px; box-shadow:var(--hydro-shadow); }
.hydro-page-programy h1 { color:var(--hydro-navy); border-color:var(--hydro-blue); }
.hydro-page-programy { --primary:var(--hydro-navy); --primary-light:var(--hydro-blue); --bg-light:var(--hydro-bg); }
.hydro-page-programy .filter-btn.active,.hydro-page-programy .btn-link { background:var(--hydro-blue); color:#fff; }
.hydro-page-sitowa h1 { max-width:950px; margin:26px auto 18px; color:var(--hydro-navy); }
.hydro-page-sitowa .hydro-legacy-content>.controls,.hydro-page-sitowa .hydro-legacy-content>#sieve-table,.hydro-page-sitowa .hydro-legacy-content>#chart-container { margin-right:auto; margin-left:auto; }
.hydro-page-sitowa .hydro-legacy-content>.controls,.hydro-page-sitowa .hydro-legacy-content>#sieve-table { max-width:950px; }
.hydro-page-sitowa .hydro-legacy-content>.controls { padding:14px; border:1px solid var(--hydro-line); border-radius:12px; background:var(--hydro-card); }
.hydro-page-sitowa th { color:#fff; background:var(--hydro-navy); }
.hydro-page-sitowa .mass-input { background:#fff7cf; }
.hydro-page-sitowa .hydro-legacy-content button:not(.remove-btn) { min-height:44px; color:#fff; background:var(--hydro-blue); border:0; }

/* Guided assistant */
.hydro-page-dokumenty_dla_studni { --bg-color:var(--hydro-bg); --card-bg:#fff; --text-main:var(--hydro-text); --text-muted:var(--hydro-muted); --primary:var(--hydro-blue); --border:var(--hydro-line); align-items:flex-start !important; }
.hydro-page-dokumenty_dla_studni .app-wrapper { margin:28px 16px; border:1px solid var(--hydro-line); border-radius:14px; box-shadow:var(--hydro-shadow); }
.hydro-page-dokumenty_dla_studni .btn-choice,.hydro-page-dokumenty_dla_studni .btn-reset { min-height:48px; }

/* Capture zones */
.hydro-page-GEAQUA_Capture_Zones_Web { --bg:var(--hydro-bg); --panel:#fff; --text:var(--hydro-text); --muted:var(--hydro-muted); --line:var(--hydro-line); --accent:var(--hydro-blue); --accent2:var(--hydro-blue-dark); overflow:hidden; }
.hydro-page-GEAQUA_Capture_Zones_Web #app { height:100%; }
.hydro-page-GEAQUA_Capture_Zones_Web .brand-badge { background:linear-gradient(135deg,var(--hydro-navy),var(--hydro-blue)); }
.hydro-page-GEAQUA_Capture_Zones_Web .section,.hydro-page-GEAQUA_Capture_Zones_Web .modal-card { border-radius:10px; }

/* Slug Test 3.34 */
.hydro-page-Slug_test_v3_34 { --primary:var(--hydro-blue); --secondary:var(--hydro-navy); --bg:var(--hydro-bg); height:100vh !important; }
.hydro-page-Slug_test_v3_34 .sidebar { background:var(--hydro-navy); border-right-color:var(--hydro-blue); }
.hydro-page-Slug_test_v3_34 .content { color:var(--hydro-text); background:var(--hydro-bg); }
.hydro-page-Slug_test_v3_34 .content :where(h1,h2,h3) { color:var(--hydro-navy); }
.hydro-page-Slug_test_v3_34 .content :where(.box,.chart-box,.results-box,.result-card) { border-color:var(--hydro-line); border-radius:10px; box-shadow:0 4px 16px rgba(22,66,103,.07); }

/* Slug Test 4.10 */
.hydro-page-Slug_test_v4_10 { --ink:var(--hydro-text); --muted:var(--hydro-muted); --line:var(--hydro-line); --soft:var(--hydro-soft); --primary:var(--hydro-blue); --primary-dark:var(--hydro-blue-dark); }
.hydro-page-Slug_test_v4_10 .app-shell { min-height:calc(100vh - var(--hydro-shell-height)); }
.hydro-page-Slug_test_v4_10 .topbar { top:var(--hydro-shell-height); }
.hydro-page-Slug_test_v4_10 .brand-mark { background:linear-gradient(150deg,var(--hydro-navy),var(--hydro-blue)); }
.hydro-report-branding {
  display:grid;
  gap:5px;
  margin-top:24px;
  padding-top:14px;
  color:#465563;
  border-top:1px solid #8ea9c1;
  text-align:center;
  break-inside:avoid;
  page-break-inside:avoid;
  font:9pt/1.35 Arial,"Segoe UI",sans-serif;
}
.hydro-report-branding p { margin:0; }
.hydro-report-branding strong { color:#173a5e; font-size:11pt; }
.hydro-report-branding em { display:block; }

/* Documentation */
.hydro-page-slugtest_dokumentacja_v3_30 { --primary:var(--hydro-navy); --accent:var(--hydro-blue); --light:var(--hydro-bg); --border:var(--hydro-line); font-size:16px !important; }
.hydro-page-slugtest_dokumentacja_v3_30 #sidebar { top:var(--hydro-shell-height); height:calc(100vh - var(--hydro-shell-height)); background:var(--hydro-navy); }
.hydro-page-slugtest_dokumentacja_v3_30 #content { background:#fff; box-shadow:var(--hydro-shadow); }

/* Compact tools always remain inside the same 1280 px frame as the portal. */
body.hydro-legacy-compact { padding:0 !important; }

@media (max-width:700px) {
  :root { --hydro-shell-height:100px; }
  .hydro-legacy-shell { grid-template-columns:1fr auto; gap:8px 12px; padding:10px 16px; }
  .hydro-shell-home { font-size:13px; }
  .hydro-shell-home strong { font-size:16px; }
  .hydro-shell-title { grid-column:1/-1; grid-row:2; }
  .hydro-shell-logos { grid-column:2; grid-row:1; gap:10px; }
  .hydro-shell-logos img { height:26px; }
  .hydro-shell-logos img.hydro-shell-shp { height:19px; }
  .hydro-shell-note { padding-inline:20px; }
  .hydro-compact-header { padding:20px; gap:18px; }
  .hydro-compact-header .hydro-shell-logos { gap:16px; padding:6px; }
  .hydro-compact-header .hydro-shell-logos img { height:48px; }
  .hydro-compact-header .hydro-shell-logos img.hydro-shell-shp { height:36px; }
  .hydro-compact-nav { padding-inline:10px; }
  .hydro-compact-nav .hydro-preferences { width:100%; justify-content:space-between; }
  .hydro-legacy-main { padding:18px 12px 28px; }
  .hydro-tool-toolbar { align-items:stretch; }
  .hydro-all-tools { width:100%; }
  .hydro-toolbar-actions { justify-content:stretch; }
  .hydro-toolbar-actions button { flex:1 1 145px; }
  .hydro-legacy-footer { flex-direction:column; padding-inline:20px; }
  .hydro-legacy-footer nav { justify-content:flex-start; }
  .hydro-page-bilans_wody .hydro-legacy-content>#raport-container { padding:14px; overflow-x:auto; }
  .hydro-page-sitowa { overflow-x:hidden; }
  .hydro-page-sitowa #sieve-table { display:block; max-width:100%; overflow-x:auto; }
  .hydro-page-slugtest_dokumentacja_v3_30 #sidebar { display:none; }
  .hydro-page-slugtest_dokumentacja_v3_30 { overflow-x:hidden; }
  .hydro-page-slugtest_dokumentacja_v3_30 #content { width:100%; max-width:100%; }
  .hydro-page-slugtest_dokumentacja_v3_30 .math-block { max-width:100%; overflow-x:auto; overflow-y:hidden; }
}

@media print {
  body.hydro-legacy { padding-top:0 !important; }
  .hydro-legacy-shell,.hydro-compact-shell,.hydro-tool-toolbar,.hydro-legacy-footer { display:none !important; }
  .hydro-legacy-frame { width:100%; min-height:0; box-shadow:none; }
  .hydro-legacy-main { padding:0; }
  .hydro-page-bilans_wody #raport-container { margin:0; border:0; box-shadow:none; }
}
