/* Hydro One Salt Calculator - static Tailwind replacement
   Generated to remove runtime dependency on Tailwind CDN. */

:root {
  --on-secondary: #ffffff;
  --on-primary-container: #7696ca;
  --error-container: #ffdad6;
  --background: #f8f9fa;
  --surface-bright: #f8f9fa;
  --on-primary: #ffffff;
  --inverse-primary: #a7c8ff;
  --surface-container-lowest: #ffffff;
  --inverse-on-surface: #f0f1f2;
  --surface-container-low: #f3f4f5;
  --error: #ba1a1a;
  --on-primary-fixed-variant: #254776;
  --on-tertiary-fixed: #002109;
  --on-tertiary-container: #00ab4e;
  --surface-container-highest: #e1e3e4;
  --on-tertiary: #ffffff;
  --on-surface: #191c1d;
  --on-primary-fixed: #001b3c;
  --on-tertiary-fixed-variant: #005322;
  --primary-fixed: #d5e3ff;
  --tertiary-fixed: #66ff8e;
  --on-error-container: #93000a;
  --primary-fixed-dim: #a7c8ff;
  --outline-variant: #c3c6d0;
  --secondary-fixed: #c6e7ff;
  --primary-container: #002d5b;
  --surface-tint: #3e5f90;
  --surface: #f8f9fa;
  --secondary: #00658d;
  --on-secondary-fixed: #001e2d;
  --surface-variant: #e1e3e4;
  --inverse-surface: #2e3132;
  --secondary-container: #2dbcfe;
  --secondary-fixed-dim: #82cfff;
  --on-surface-variant: #43474f;
  --on-error: #ffffff;
  --tertiary: #001e08;
  --surface-container: #edeeef;
  --tertiary-container: #003513;
  --on-secondary-fixed-variant: #004c6b;
  --outline: #737780;
  --tertiary-fixed-dim: #3de273;
  --surface-dim: #d9dadb;
  --on-background: #191c1d;
  --primary: #001836;
  --on-secondary-container: #004866;
  --surface-container-high: #e7e8e9;
  --hydro-cyan: #0098df;
  --whatsapp: #25D366;
  --whatsapp-hover: #1ebe5d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--on-surface);
  background-color: var(--surface);
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
strong { font-weight: 700; }

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'liga';
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
  flex-shrink: 0;
}

.header-bar {
  height: 80px;
  background: #fff;
  border-bottom: 1px solid var(--surface-container-highest);
  position: sticky;
  top: 0;
  z-index: 50;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.logo-container { width: 189px; height: 43px; display: flex; align-items: center; justify-content: flex-start; flex-shrink: 0; }
.logo-container img { width: 189px; height: 43px; max-width: 100%; object-fit: contain; display: block; }
.landscape-logo-placeholder {
  width: 189px; height: 43px; max-width: 100%; border: 1px dashed var(--hydro-cyan); border-radius: 10px;
  background: linear-gradient(135deg, #fff 0%, #f0f9ff 100%); color: var(--primary-container);
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
}
.brand-placeholder-circle { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--hydro-cyan); position: relative; background: var(--primary-container); flex-shrink: 0; }
.brand-placeholder-circle::after { content: ""; position: absolute; inset: 5px 4px 3px; background: white; border-radius: 50% 50% 55% 55%; transform: rotate(45deg); }

.nav-btn { display: flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 9999px; font-weight: 700; font-size: 14px; transition: all .2s; border: 0; background: transparent; }
.nav-btn-outline { border: 1px solid var(--surface-container-highest); color: var(--primary-container); }
.nav-btn-outline:hover { background: var(--surface-container-low); }
.nav-btn-primary { background: var(--hydro-cyan); color: #fff; }
.nav-btn-primary:hover { background: #0081be; }
.btn-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 1.15em; font-weight: 800; }
.close-icon { width: 20px; height: 20px; display: block; stroke-width: 2.4; }
.close-btn { line-height: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.step { display: none; }
.step.active { display: block; animation: fadeUp .3s ease-out both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.choice-card input { display: none; }
.choice-card.selected { border-color: var(--hydro-cyan); background-color: #f0f9ff; box-shadow: 0 4px 12px rgba(0,152,223,.1); }
.btn { border: 0; transition: all .2s; }
.btn-primary { background: linear-gradient(135deg, var(--primary-container) 0%, var(--primary) 100%); color: #fff; box-shadow: 0 4px 14px rgba(0,24,54,.2); }
.btn-cyan { background: var(--hydro-cyan); color: #fff; }
.overlay { display: none; position: fixed; inset: 0; background: rgba(0,24,54,.4); backdrop-filter: blur(4px); z-index: 60; }

input[type="number"] {
  appearance: textfield;
  background: #fff;
  border: 1px solid var(--outline-variant);
  color: var(--on-surface);
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Utility classes used by the page */
.absolute { position: absolute; } .relative { position: relative; }
.-right-\[120px\] { right: -120px; } .right-\[-90px\] { right: -90px; } .-top-2 { top: -0.5rem; } .top-0 { top: 0; } .bottom-\[-0px\] { bottom: 0; }
.z-10 { z-index: 10; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-0\.5 { margin-top: .125rem; } .mt-1 { margin-top: .25rem; } .mt-2 { margin-top: .5rem; } .mt-6 { margin-top: 1.5rem; } .mt-10 { margin-top: 2.5rem; } .mt-12 { margin-top: 3rem; }
.mb-1 { margin-bottom: .25rem; } .mb-2 { margin-bottom: .5rem; } .mb-3 { margin-bottom: .75rem; } .mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; } .mb-8 { margin-bottom: 2rem; }
.p-4 { padding: 1rem; } .p-5 { padding: 1.25rem; } .p-6 { padding: 1.5rem; } .p-8 { padding: 2rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; } .px-4 { padding-left: 1rem; padding-right: 1rem; } .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; } .px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; } .py-2 { padding-top: .5rem; padding-bottom: .5rem; } .py-3 { padding-top: .75rem; padding-bottom: .75rem; } .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.pt-6 { padding-top: 1.5rem; } .pt-8 { padding-top: 2rem; }
.flex { display: flex; } .inline-flex { display: inline-flex; } .grid { display: grid; } .hidden { display: none !important; }
.flex-1 { flex: 1 1 0%; } .flex-col { flex-direction: column; }
.items-start { align-items: flex-start; } .items-center { align-items: center; } .items-baseline { align-items: baseline; }
.justify-center { justify-content: center; } .justify-between { justify-content: space-between; }
.gap-2 { gap: .5rem; } .gap-3 { gap: .75rem; } .gap-4 { gap: 1rem; } .gap-6 { gap: 1.5rem; } .gap-8 { gap: 2rem; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.w-6 { width: 1.5rem; } .h-6 { height: 1.5rem; } .w-10 { width: 2.5rem; } .h-10 { height: 2.5rem; } .w-80 { width: 20rem; } .h-80 { height: 20rem; } .w-\[320px\] { width: 320px; } .h-\[320px\] { height: 320px; } .w-full { width: 100%; } .w-auto { width: auto; } .h-full { height: 100%; }
.max-w-md { max-width: 28rem; } .max-w-2xl { max-width: 42rem; } .max-w-7xl { max-width: 80rem; } .min-h-\[280px\] { min-height: 280px; }
.cursor-pointer { cursor: pointer; } .pointer-events-none { pointer-events: none; } .select-none { user-select: none; }
.overflow-hidden { overflow: hidden; } .object-contain { object-fit: contain; } .outline-none { outline: none; }
.rounded-xl { border-radius: .75rem; } .rounded-2xl { border-radius: 1rem; } .rounded-3xl { border-radius: 1.5rem; } .rounded-full { border-radius: 9999px; }
.border { border: 1px solid; } .border-t { border-top: 1px solid; } .border-b { border-bottom: 1px solid; }
.border-outline-variant { border-color: var(--outline-variant); } .border-surface-container-highest { border-color: var(--surface-container-highest); } .border-error\/20 { border-color: rgba(186,26,26,.2); } .border-primary\/20 { border-color: rgba(0,24,54,.2); } .border-primary { border-color: var(--primary); }
.bg-white { background-color: #fff; } .bg-surface { background-color: var(--surface); } .bg-surface-container-low { background-color: var(--surface-container-low); } .bg-surface-container-highest { background-color: var(--surface-container-highest); } .bg-primary { background-color: var(--primary); } .bg-error-container { background-color: var(--error-container); } .bg-\[\#25D366\] { background-color: var(--whatsapp); } .bg-hydro-cyan { background-color: var(--hydro-cyan); }
.text-white { color: #fff; } .text-white\/85 { color: rgba(255,255,255,.85); } .text-primary { color: var(--primary); } .text-outline { color: var(--outline); } .text-hydro-cyan { color: var(--hydro-cyan); } .text-error { color: var(--error); }
.text-xs { font-size: .75rem; line-height: 1rem; } .text-sm { font-size: .875rem; line-height: 1.25rem; } .text-lg { font-size: 1.125rem; line-height: 1.75rem; } .text-xl { font-size: 1.25rem; line-height: 1.75rem; } .text-2xl { font-size: 1.5rem; line-height: 2rem; } .text-3xl { font-size: 1.875rem; line-height: 2.25rem; } .text-4xl { font-size: 2.25rem; line-height: 2.5rem; } .text-7xl { font-size: 4.5rem; line-height: 1; }
.text-\[12px\] { font-size: 12px; } .text-\[13px\] { font-size: 13px; } .text-\[14px\] { font-size: 14px; }
.font-medium { font-weight: 500; } .font-bold { font-weight: 700; } .font-black { font-weight: 900; } .italic { font-style: italic; } .uppercase { text-transform: uppercase; }
.leading-none { line-height: 1; } .leading-snug { line-height: 1.375; } .leading-relaxed { line-height: 1.625; } .leading-\[1\.1\] { line-height: 1.1; }
.tracking-tight { letter-spacing: -.025em; } .tracking-tighter { letter-spacing: -.05em; } .tracking-wider { letter-spacing: .05em; } .tracking-widest { letter-spacing: .1em; }
.opacity-5 { opacity: .05; } .opacity-10 { opacity: .1; } .opacity-70 { opacity: .7; } .opacity-80 { opacity: .8; } .opacity-90 { opacity: .9; }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,.05); } .transition-all { transition: all .15s ease; }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.hover\:bg-surface-container-low:hover { background-color: var(--surface-container-low); } .hover\:bg-primary-container:hover { background-color: var(--primary-container); } .hover\:bg-white:hover { background-color: #fff; } .hover\:bg-\[\#1ebe5d\]:hover { background-color: var(--whatsapp-hover); }
.focus\:border-hydro-cyan:focus { border-color: var(--hydro-cyan); } .focus\:ring-2:focus { box-shadow: 0 0 0 2px var(--focus-ring, rgba(0,152,223,.2)); } .focus\:ring-hydro-cyan\/20:focus { --focus-ring: rgba(0,152,223,.2); }

@media (min-width: 640px) { .sm\:flex-row { flex-direction: row; } }
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:col-span-2 { grid-column: span 2 / span 2; }
  .md\:flex-row { flex-direction: row; }
  .md\:items-center { align-items: center; }
  .md\:p-10 { padding: 2.5rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:w-auto { width: auto; }
  .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:text-8xl { font-size: 6rem; line-height: 1; }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:col-span-3 { grid-column: span 3 / span 3; }
  .lg\:p-14 { padding: 3.5rem; }
  .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
}

@media (max-width: 640px) {
  .header-bar { padding: 0 16px; }
  .logo-container { width: 150px; height: 34px; }
  .logo-container img, .landscape-logo-placeholder { width: 150px; height: 34px; }
  .nav-btn span:not(.btn-icon) { display: none; }
  .nav-btn { padding: 10px; }
}
@media print {
  .header-bar, .actions, .progress-wrap, .overlay, button { display: none !important; }
  body { background: white; }
  .main { padding: 0 !important; }
  .hero, .info-grid, .result-layout { grid-template-columns: 1fr !important; }
  .panel { box-shadow: none !important; border: 1px solid #eee !important; }
}

/* Decorative base64 logo watermarks: match the height of the parent box and allow horizontal clipping. */
.decorative-logo-fit-height {
  height: 100%;
  width: auto;
  max-width: none;
}
