.elementor-kit-260{--e-global-color-primary:#0082B4;--e-global-color-secondary:#F1F1F1;--e-global-color-text:#555555;--e-global-color-accent:#BC4749;--e-global-color-31c0192:#F9A206;--e-global-color-c13298c:#FFFFFF00;--e-global-color-195c784:#000000;--e-global-color-8fb6545:#FFFFFF;--e-global-color-f066d5e:#E5E5E5;--e-global-color-77c6498:#001E5A;--e-global-color-c8d0159:#7A7A7A;--e-global-color-790b7be:#FFFFFF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-8e6901e-font-family:"Inter Tight";--e-global-typography-8e6901e-font-size:80px;--e-global-typography-8e6901e-font-weight:600;--e-global-typography-8e6901e-line-height:1em;--e-global-typography-428df20-font-family:"Inter Tight";--e-global-typography-428df20-font-size:80px;--e-global-typography-428df20-font-weight:300;--e-global-typography-428df20-line-height:1.1em;--e-global-typography-24eff4f-font-family:"Inter Tight";--e-global-typography-24eff4f-font-size:40px;--e-global-typography-24eff4f-font-weight:500;--e-global-typography-24eff4f-line-height:1.1em;--e-global-typography-89df006-font-family:"Inter Tight";--e-global-typography-89df006-font-size:28px;--e-global-typography-89df006-font-weight:500;--e-global-typography-89df006-line-height:1.1em;--e-global-typography-38af5fb-font-family:"Inter Tight";--e-global-typography-38af5fb-font-size:24px;--e-global-typography-38af5fb-font-weight:500;--e-global-typography-38af5fb-line-height:1.1em;--e-global-typography-cda7b0c-font-family:"Inter Tight";--e-global-typography-cda7b0c-font-size:18px;--e-global-typography-cda7b0c-font-weight:500;--e-global-typography-cda7b0c-line-height:1.1em;--e-global-typography-de0278c-font-family:"Inter";--e-global-typography-de0278c-font-size:18px;--e-global-typography-de0278c-font-weight:400;--e-global-typography-de0278c-font-style:italic;--e-global-typography-de0278c-line-height:1.4em;--e-global-typography-456374e-font-family:"Inter";--e-global-typography-456374e-font-size:12px;--e-global-typography-456374e-font-weight:400;--e-global-typography-456374e-line-height:1.1em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 button,.elementor-kit-260 input[type="button"],.elementor-kit-260 input[type="submit"],.elementor-kit-260 .elementor-button{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-radius:18px 18px 18px 18px;padding:12px 27px 12px 27px;}.elementor-kit-260 button:hover,.elementor-kit-260 button:focus,.elementor-kit-260 input[type="button"]:hover,.elementor-kit-260 input[type="button"]:focus,.elementor-kit-260 input[type="submit"]:hover,.elementor-kit-260 input[type="submit"]:focus,.elementor-kit-260 .elementor-button:hover,.elementor-kit-260 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-secondary );border-style:none;border-radius:18px 18px 18px 18px;}.elementor-kit-260 e-page-transition{background-color:#FFBC7D;}.site-footer{background-color:#0082B4;}.elementor-kit-260 p{margin-block-end:10px;}.elementor-kit-260 a{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 a:hover{color:var( --e-global-color-accent );}.elementor-kit-260 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-8e6901e-font-family ), Sans-serif;font-size:var( --e-global-typography-8e6901e-font-size );font-weight:var( --e-global-typography-8e6901e-font-weight );line-height:var( --e-global-typography-8e6901e-line-height );}.elementor-kit-260 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-428df20-font-family ), Sans-serif;font-size:var( --e-global-typography-428df20-font-size );font-weight:var( --e-global-typography-428df20-font-weight );line-height:var( --e-global-typography-428df20-line-height );}.elementor-kit-260 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-24eff4f-font-family ), Sans-serif;font-size:var( --e-global-typography-24eff4f-font-size );font-weight:var( --e-global-typography-24eff4f-font-weight );line-height:var( --e-global-typography-24eff4f-line-height );}.elementor-kit-260 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-89df006-font-family ), Sans-serif;font-size:var( --e-global-typography-89df006-font-size );font-weight:var( --e-global-typography-89df006-font-weight );line-height:var( --e-global-typography-89df006-line-height );}.elementor-kit-260 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-38af5fb-font-family ), Sans-serif;font-size:var( --e-global-typography-38af5fb-font-size );font-weight:var( --e-global-typography-38af5fb-font-weight );line-height:var( --e-global-typography-38af5fb-line-height );}.elementor-kit-260 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-cda7b0c-font-family ), Sans-serif;font-size:var( --e-global-typography-cda7b0c-font-size );font-weight:var( --e-global-typography-cda7b0c-font-weight );line-height:var( --e-global-typography-cda7b0c-line-height );}.elementor-kit-260 label{color:var( --e-global-color-primary );}.elementor-kit-260 input:not([type="button"]):not([type="submit"]),.elementor-kit-260 textarea,.elementor-kit-260 .elementor-field-textual{background-color:var( --e-global-color-790b7be );border-style:solid;border-width:1px 1px 1px 1px;border-color:#DBDBDB;border-radius:12px 12px 12px 12px;transition:2ms;padding:15px 15px 15px 15px;}.elementor-kit-260 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-260 textarea:focus,.elementor-kit-260 .elementor-field-textual:focus{color:#3F3F3F;background-color:var( --e-global-color-8fb6545 );border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-260{--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-size:12px;--e-global-typography-accent-line-height:1em;--e-global-typography-8e6901e-font-size:48px;--e-global-typography-8e6901e-line-height:1.1em;--e-global-typography-428df20-font-size:30px;--e-global-typography-428df20-line-height:1.1em;--e-global-typography-24eff4f-font-size:24px;--e-global-typography-24eff4f-line-height:1.1em;--e-global-typography-89df006-font-size:22px;--e-global-typography-89df006-line-height:1.1em;--e-global-typography-38af5fb-font-size:20px;--e-global-typography-38af5fb-line-height:1.1em;--e-global-typography-cda7b0c-font-size:18px;--e-global-typography-cda7b0c-line-height:1.1em;--e-global-typography-de0278c-font-size:17px;--e-global-typography-de0278c-line-height:1.4em;--e-global-typography-456374e-font-size:12px;--e-global-typography-456374e-line-height:1.4em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 h1{font-size:var( --e-global-typography-8e6901e-font-size );line-height:var( --e-global-typography-8e6901e-line-height );}.elementor-kit-260 h2{font-size:var( --e-global-typography-428df20-font-size );line-height:var( --e-global-typography-428df20-line-height );}.elementor-kit-260 h3{font-size:var( --e-global-typography-24eff4f-font-size );line-height:var( --e-global-typography-24eff4f-line-height );}.elementor-kit-260 h4{font-size:var( --e-global-typography-89df006-font-size );line-height:var( --e-global-typography-89df006-line-height );}.elementor-kit-260 h5{font-size:var( --e-global-typography-38af5fb-font-size );line-height:var( --e-global-typography-38af5fb-line-height );}.elementor-kit-260 h6{font-size:var( --e-global-typography-cda7b0c-font-size );line-height:var( --e-global-typography-cda7b0c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-260{--e-global-typography-text-font-size:14px;--e-global-typography-text-line-height:1.4em;--e-global-typography-accent-font-size:12px;--e-global-typography-accent-line-height:1em;--e-global-typography-8e6901e-font-size:34px;--e-global-typography-8e6901e-line-height:1.1em;--e-global-typography-428df20-font-size:26px;--e-global-typography-428df20-line-height:1.1em;--e-global-typography-24eff4f-font-size:24px;--e-global-typography-24eff4f-line-height:1.1em;--e-global-typography-89df006-font-size:20px;--e-global-typography-89df006-line-height:1.1em;--e-global-typography-38af5fb-font-size:18px;--e-global-typography-38af5fb-line-height:1.1em;--e-global-typography-cda7b0c-font-size:16px;--e-global-typography-cda7b0c-line-height:1.1em;--e-global-typography-de0278c-font-size:16px;--e-global-typography-de0278c-line-height:1.4em;--e-global-typography-456374e-font-size:12px;--e-global-typography-456374e-line-height:1.4em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-260 h1{font-size:var( --e-global-typography-8e6901e-font-size );line-height:var( --e-global-typography-8e6901e-line-height );}.elementor-kit-260 h2{font-size:var( --e-global-typography-428df20-font-size );line-height:var( --e-global-typography-428df20-line-height );}.elementor-kit-260 h3{font-size:var( --e-global-typography-24eff4f-font-size );line-height:var( --e-global-typography-24eff4f-line-height );}.elementor-kit-260 h4{font-size:var( --e-global-typography-89df006-font-size );line-height:var( --e-global-typography-89df006-line-height );}.elementor-kit-260 h5{font-size:var( --e-global-typography-38af5fb-font-size );line-height:var( --e-global-typography-38af5fb-line-height );}.elementor-kit-260 h6{font-size:var( --e-global-typography-cda7b0c-font-size );line-height:var( --e-global-typography-cda7b0c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ── Root variables for easy configuration ──────── */
:root {
  --card-bg: #F5F7FA;                     /* Card background color */
  --card-padding: 25px;                   /* Padding inside cards */
  --card-radius: 12px;                    /* Card border radius */
  --card-shadow: 0 2px 4px rgba(0,0,0,0.05); /* Card shadow */
  --card-margin-bottom: 24px;             /* Spacing between cards */
  --label-color: #0082B4;                 /* Label text color */
  --label-weight: 500;                    /* Label font weight */
  --label-padding-bottom: 6px;            /* Space below labels */
  --field-bg-unselected: #F7F7F7;         /* Field background - unselected */
  --field-bg-selected: #FFFFFF;           /* Field background when focus */
  --field-border-color: #cbd5e1;          /* Border color (same selected/unselected) */
  --field-text-color: #555555;            /* Dark slate for field text */
  --field-placeholder-color: #94a3b8;     /* Lighter gray for placeholders */
  --field-padding: 12px 16px;             /* Padding inside fields */
  --field-radius: 12px;                   /* Field border radius */
  --field-font-size: 16px;                /* Field text size */
  --field-height: 42px;                   /* Height for all fields */
  --field-transition: all 0.2s;           /* Transition for smooth changes */
  --focus-shadow: 0 0 0 0px rgba(102, 126, 234, 0.2); /* Focus glow effect */
  --mobile-card-margin: 20px;             /* Mobile-specific card spacing */
  --required-asterisk-color: #e63946; 
  --focus-border-color: #E5E5E5; 
  --range-track-height: 8px;                    
  --range-track-bg: #cbd5e1;                    
  --range-track-active: #0082B4;                
  --range-thumb-size: 24px;
  --range-thumb-bg: #FFFFFF;
  --range-thumb-border: 3px solid #0082B4;      /* brand accent */
  --range-thumb-shadow: 0 2px 6px rgba(0,130,180,0.25);
  --range-focus-ring: 0 0 0 1px rgba(0,130,180,0.25); 
  --tooltip-bg: #0082B4;
  --tooltip-text: #FFFFFF;
  --tooltip-accent: #0082B4;
  --tooltip-radius: 8px;
  --tooltip-padding: 8px 12px;
  --tooltip-border: 1px solid #e5e7eb;    
  --tooltip-font-size: 14px;
  --tooltip-arrow-size: 6px;
  --tooltip-delay: 0.15s;
  --tooltip-trigger-bg: #d1d5db;          /* light gray */
  --tooltip-trigger-color: #0082B4;       /* dark for "i" */
  --kpi-bg: #FFFFFF;    
  --kpi-shadow: 0 6px 16px rgba(0,0,0,0.08); 
  --kpi-value-size: 22px;    
  --kpi-value-weight: 700;   
  --kpi-value-color: #0082B4;  
  --kpi-label-color: #555555;  
  --kpi-label-size: 13px;     
  --decision-padding: 25px;   
  --decision-radius: 14px;    
  --decision-margin-top: 30px;  
  --decision-font-size: 16px;  
  --decision-font-weight: 500;  
  --state-green:   #61CE70;     
  --state-green-bg: rgba(97, 206, 112, 0.10); 
  --state-yellow:  #F9BA00;   
  --state-yellow-bg: rgba(249, 186, 0, 0.12);  
  --state-red:     #e63946;               
  --state-red-bg:  rgba(230, 57, 70, 0.10);   
}

/* ── Card wrapper styles ──────── */
.aquadock-card {
  background: var(--card-bg);
  padding: var(--card-padding);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  margin-bottom: var(--card-margin-bottom);
}

/* ── Label styles ──────── */
label {
  display: block;
  font-weight: var(--label-weight);
  color: var(--label-color);
  font-size: var(--label-font-size);
  padding-bottom: var(--label-padding-bottom);
  position: relative;
}
.required::after {
  content: " *";
  color: var(--required-asterisk-color);
  font-weight: bold;
  margin-left: 2px;
}

/* ── Base field styles (input, select) ──────── */
input, select {
  width: 100%;
  height: var(--field-height);
  color: var(--field-text-color);
  padding: var(--field-padding);
  border: 1px solid var(--field-border-color);
  border-radius: var(--field-radius);
  background: var(--field-bg-unselected);
  font-size: var(--field-font-size);
  line-height: 1.5;
  box-sizing: border-box;
  transition: var(--field-transition);
}

/* ── Placeholder styles ──────── */
input::placeholder,
select::placeholder {
  color: var(--field-placeholder-color);
  opacity: 1;
}

/* ── Focus state  ──────── */
.aquadock-card :focus,
.aquadock-card :focus-visible {
  background: var(--field-bg-selected) !important;
  border-color: var(--field-border-color) !important;
  box-shadow: var(--focus-shadow), 0 0 0 0px var(--focus-border-color);
  outline: none !important;
}

/* ── Mobile adjustments ──────── */
@media (max-width: 767px) {
  .aquadock-card {
    margin-bottom: var(--mobile-card-margin);
  }
}

/* ── Range input styles ──────── */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: calc(var(--range-thumb-size) + 4px);
  background: transparent;
  margin: 12px 0;
  cursor: pointer;
}

input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: var(--range-track-height);
  background: var(--range-track-bg);
  border-radius: var(--range-track-height);
  border: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: var(--range-thumb-size);
  height: var(--range-thumb-size);
  background: var(--range-thumb-bg);
  border: var(--range-thumb-border);
  border-radius: 50%;
  box-shadow: var(--range-thumb-shadow);
  margin-top: calc((var(--range-track-height) - var(--range-thumb-size)) / 2 * -1);
  transition: var(--field-transition);
}

input[type="range"] {
  background: linear-gradient(to right,
    var(--range-track-active) 0%,
    var(--range-track-active) var(--value, 0%),
    var(--range-track-bg) var(--value, 0%),
    var(--range-track-bg) 100%
  );
  background-size: 100% var(--range-track-height);
  background-repeat: no-repeat;
}

input[type="range"]::-moz-range-track {
  width: 100%;
  height: var(--range-track-height);
  background: var(--range-track-bg);
  border-radius: var(--range-track-height);
  border: none;
}

input[type="range"]::-moz-range-thumb {
  width: var(--range-thumb-size);
  height: var(--range-thumb-size);
  background: var(--range-thumb-bg);
  border: var(--range-thumb-border);
  border-radius: 50%;
  box-shadow: var(--range-thumb-shadow);
}

input[type="range"]::-moz-range-progress {
  height: var(--range-track-height);
  background: var(--range-track-active);
  border-radius: var(--range-track-height);
}

input[type="range"]:focus {
  outline: none;
  box-shadow: var(--focus-ring);
}

input[type="range"]::-webkit-slider-thumb:hover,
input[type="range"]::-moz-range-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 12px rgba(0,130,180,0.35);
}

/* Tooltip trigger */
.tooltip-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  background: var(--tooltip-trigger-bg);
  color: var(--tooltip-trigger-color);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 400;
  line-height: 1;
  cursor: help;
  margin-left: 4px;
  margin-top: -18px;
  vertical-align: top;
  position: relative;
  z-index: 2;
}

/* /* ─── Invisible hit area for touch */
.tooltip-trigger::after {
  content: "";
  position: absolute;
  inset: -15px;
  border-radius: 50%;
}

/* ─── Input cards: higher position (upper-right corner) */
.aquadock-card .tooltip-trigger {
  top: 1px !important;
  right: 0px !important;   /* Optional – adjust horizontal if needed */
}

/* ─── KPI cards: lower position ──────── */
.kpi .tooltip-trigger {
  top: 28px !important; 
  right: 12px !important;
}

/* ── Tooltip trigger & bubble ──────── */
.tooltip-trigger {
  position: absolute;      
  top: 1px;         
  right: 10px;         
  width: 18px;          
  height: 18px;                             
  background: var(--tooltip-trigger-bg);
  color: var(--tooltip-trigger-color);
  border-radius: 50%;    
  font-size: 10px;       
  font-weight: 700;                  
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: help;
  z-index: 10;            
  transition: background 0.2s, transform 0.15s;
}

.tooltip-trigger:hover,
.tooltip-trigger:focus {
  background: var(--range-track-active, #0082B4); 
  color: white;
  transform: scale(1.15);     
}

/* Invisible hit area for touch */
.tooltip-trigger::after {
  content: "";
  position: absolute;
  inset: -12px;         
  border-radius: 50%;
}

/* Tooltip bubble */
.tooltip-trigger[data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute !important;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%) translateY(0);
  margin-bottom: 7px;  
  width: max-content;
  max-width: 280px;
  background: var(--tooltip-bg);
  color: var(--tooltip-text);
  padding: var(--tooltip-padding);
  border-radius: var(--tooltip-radius);
  font-size: var(--tooltip-font-size);
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  text-align: left;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 99999;
  box-shadow: 0 6px 16px rgba(0, 130, 180, 0.12);
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Arrow */
.tooltip-trigger[data-tooltip]::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -30px;    /* move arrow up - minus */
  border-width: 10px;
  border-style: solid;
  border-color: var(--tooltip-bg) transparent transparent transparent;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
  z-index: 99999;
}

/* Show states */
.tooltip-trigger:hover::before,
.tooltip-trigger:hover::after,
.tooltip-trigger:focus::before,
.tooltip-trigger:focus::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}


/* ── Input with unit wrapper ──────── */
.input-unit-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100% !important;
  max-width: 100%;
}

.input-unit-wrapper input {
  flex: 1 1 auto;
  padding: 10px 48px 10px 16px !important;
  padding: 10px 16px 10px 16px !important;  
  text-align: left !important;
  font-size: 15px !important;
  height: var(--field-height) !important;
  min-width: 0;
  border-radius: 10px;
  width: 100% !important; 
  box-sizing: border-box !important;
}

.input-unit-wrapper .unit {
  flex: 0 0 auto;  
  margin-left: 8px;  
  color: var(--field-text-color); 
  font-size: 15px;  
  font-weight: 500;  
  pointer-events: none;
}

/* ── KPI styling ──────── */
.kpi {
  position: relative;
  background: var(--kpi-bg);
  box-shadow: var(--kpi-shadow);
  padding: var(--card-padding);
  border-radius: var(--card-radius);
  text-align: center;
}

.kpi span:first-child {
  display: block;
  font-size: var(--kpi-value-size);
  font-weight: var(--kpi-value-weight);
  color: var(--kpi-value-color);
}

.subkpi {
  font-size: var(--kpi-label-size);
  color: var(--kpi-label-color);
  margin-top: 6px;
}

/* ── Decision box ──────── */
.decision {
  margin-top: var(--decision-margin-top);
  padding: var(--decision-padding);
  border-radius: var(--decision-radius);
  font-size: var(--decision-font-size);
  font-weight: var(--decision-font-weight);
  line-height: 1.5;
}

.decision.green {
  border-left: 6px solid var(--state-green);
  background: var(--state-green-bg);
  color: #1a5c1a;
}

.decision.yellow {
  border-left: 6px solid var(--state-yellow);
  background: var(--state-yellow-bg);
  color: #c77700;
}

.decision.red {
  border-left: 6px solid var(--state-red);
  background: var(--state-red-bg);
  color: #b71c1c;
}

/* ── Custom radio buttons for visitor type – compact version ──────── */
.visitor-radio-group {
  display: flex;
  gap: 2px;
  margin-top: 23px;
  flex-wrap: wrap;
}

.custom-radio-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 0px 15px;
  border-radius: var(--field-radius, 12px);
  transition: var(--field-transition, all 0.2s);
}

.custom-radio-label:hover {
  background: var(--field-bg-selected, #FFFFFF);
  box-shadow: var(--focus-shadow);
}

.custom-radio-label input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
}

.radio-outer {
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid var(--field-border-color, #cbd5e1);
  border-radius: 50%;
  margin-right: 12px;
  flex-shrink: 0;
  background: var(--field-bg-unselected, #F7F7F7);
  transition: border-color 0.2s, background 0.2s;
}

.custom-radio-label:hover .radio-outer {
  border-color: var(--range-track-active, #0082B4);
}

input[type="radio"]:checked + .radio-outer {
  border-color: var(--range-track-active, #0082B4);
  background: #FFFFFF;
}

.radio-inner {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 8px;
  height: 8px;
  background: var(--range-track-active, #0082B4);
  border-radius: 50%;
  transition: transform 0.2s ease-out;
}

input[type="radio"]:checked + .radio-outer .radio-inner {
  transform: translate(-50%, -50%) scale(1);
}

.radio-text {
  color: var(--field-text-color, #555555);
  font-weight: var(--label-weight, 500);
  font-size: 15px;
}

/* ── Template override for grid fix ──────── */
.elementor-container {
  max-width: 100% !important;
  width: 100%;
  padding: 0 !important;
}

.elementor-container .elementor-widget-wrap {
  max-width: 100% !important;
  flex-basis: auto !important;
  padding: 0 15px !important;
}

.elementor-container > div:last-child {
  width: calc(100% - 17%) !important;
  max-width: none !important;
}


/* ── Grid layout for responsive sections (e.g., inputs/KPIs) ──────── */
.aquadock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--card-margin-bottom); /* Reuses existing var for consistency */
}

/* ── Warning message styles ──────── */
.aquadock-warn {
  color: var(--state-red);
  font-weight: var(--label-weight);
  margin-top: var(--label-padding-bottom);
  font-size: var(--field-font-size);
}

/* ── Chart container (matches card styles for integration) ──────── */
.aquadock-chart-container {
  background: var(--card-bg);
  padding: var(--card-padding);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  margin-bottom: var(--card-margin-bottom);
}




/* ── Reusable Table Styles ──────── */
.table-container {
  overflow-x: auto; /* Handles wide tables on mobile */
  margin-bottom: var(--card-margin-bottom);
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px; /* Smaller font for dense tables */
  background: var(--card-bg);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

th {
  background: var(--field-bg-unselected); /* Light gray header */
  color: var(--field-text-color);
  padding: var(--field-padding);
  text-transform: uppercase;
  font-weight: var(--label-weight);
  letter-spacing: 0.5px;
  text-align: center;
  border-bottom: 2px solid var(--field-border-color);
}

td {
  padding: var(--field-padding);
  border-bottom: 1px solid var(--field-border-color);
  text-align: center;
  color: var(--field-text-color);
}

tr:hover {
  background: rgba(0, 130, 180, 0.05); /* Subtle hover */
}

.year-subtotal {
  background: var(--state-green-bg) !important;
  font-weight: var(--label-weight);
  color: var(--state-green) !important;
}

.year-subtotal td {
  border-top: 2px solid var(--state-green);
  border-bottom: 2px solid var(--state-green);
  padding: var(--field-padding);
  color: var(--state-green) !important;
}

table select,
table input {
  width: 80px;
  padding: 6px 10px;
  border-radius: var(--field-radius);
  border: 1px solid var(--field-border-color);
  text-align: center;
  background: var(--field-bg-unselected);
  color: var(--field-text-color);
  font-size: 13px;
  transition: var(--field-transition);
}

table input:focus,
table select:focus {
  background: var(--field-bg-selected);
  border-color: var(--focus-border-color);
  box-shadow: var(--focus-shadow);
}

/* Specific column adjustments (e.g., wider for currency) */
th:nth-child(6),
td:nth-child(6) {
  min-width: 120px; /* Wider for Miete/Monat */
}

table input[id^="m"] {
  width: 100px; /* Extra width for m inputs */
}

tfoot tr {
  background: var(--state-green-bg);
  font-weight: var(--label-weight);
  color: var(--state-green);
}

tfoot td {
  color: var(--state-green) !important;
  font-size: 14px;
  padding: var(--field-padding);
  text-align: right;
}



/* ── Range Slider Styling (cross-browser thumb + track) ──────── */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  background: var(--range-track-bg, #cbd5e1);
  border-radius: 5px;
  outline: none;
  margin: 12px 0 8px;
  padding: 0;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: var(--range-thumb-size, 24px);
  height: var(--range-thumb-size, 24px);
  background: var(--range-thumb-bg, #FFFFFF);
  border: var(--range-thumb-border, 3px solid #0082B4);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: var(--range-thumb-shadow, 0 2px 6px rgba(0,130,180,0.25));
  margin-top: -8px; /* center on track */
  transition: all 0.2s;
}

input[type="range"]::-moz-range-thumb {
  width: var(--range-thumb-size, 24px);
  height: var(--range-thumb-size, 24px);
  background: var(--range-thumb-bg, #FFFFFF);
  border: var(--range-thumb-border, 3px solid #0082B4);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: var(--range-thumb-shadow, 0 2px 6px rgba(0,130,180,0.25));
}

input[type="range"]::-webkit-slider-runnable-track {
  height: var(--range-track-height, 8px);
  background: var(--range-track-bg, #cbd5e1);
  border-radius: 5px;
}

input[type="range"]:focus {
  outline: none;
}

input[type="range"]:focus::-webkit-slider-thumb {
  box-shadow: var(--range-focus-ring, 0 0 0 3px rgba(0,130,180,0.3));
}

/* Slider value badge – can stay local or move here if reused often */
.slider-value {
  background: var(--state-green, #61CE70);
  color: white;
  padding: 6px 14px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 18px;
  min-width: 100px;
  display: inline-block;
  box-shadow: 0 2px 5px rgba(97,206,112,0.3);
}

/*PROFILE CSS*/

.profile-grid {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(220px, 3fr);   /* label | value */
  gap: 16px 32px;               /* row gap | column gap */
  align-items: baseline;        /* better vertical alignment */
  margin: 0;
}

.profile-grid dt,
.profile-grid dd {
  margin: 0;
  padding: 12px 0;              /* vertical breathing room per row */
}

.profile-grid dt {
  font-weight: var(--label-weight, 500);
  color: var(--label-color, #0082B4);
  text-align: right;            /* classic form look */
  white-space: nowrap;
}

.profile-grid dd {
  font-size: var(--field-font-size, 16px);
  color: var(--field-text-color, #555555);
  padding-left: 12px;           /* slight indent from label column */
  border-left: 1px solid var(--field-border-color, #cbd5e1);   /* subtle separation */
}

.profile-grid dd:empty::before,
.profile-grid dd:where(:-moz-only-whitespace)::before {
  content: "—";
  color: var(--field-placeholder-color, #94a3b8);
  font-style: italic;
}

/* Mobile stacking – already partially covered by global @media (max-width:767px) */
@media (max-width: 767px) {
  .profile-grid {
    grid-template-columns: 1fr;
    gap: 20px 0;
  }
  
  .profile-grid dt {
    text-align: left;
    font-weight: 600;
  }
  
  .profile-grid dd {
    border-left: none;
    padding-left: 0;
    padding-top: 4px;
  }
}

.edit-profile-grid dt {
  text-align: right;
  padding-top: 10px;           /* better vertical alignment with inputs */
}

.edit-profile-grid dd {
  padding: 0;
  border-left: none;           /* remove separator line from view page */
}

.edit-profile-grid input,
.edit-profile-grid select,
.edit-profile-grid textarea {
  width: 100%;
  height: var(--field-height, 42px);
  padding: var(--field-padding, 12px 16px);
  border: 1px solid var(--field-border-color, #cbd5e1);
  border-radius: var(--field-radius, 12px);
  background: var(--field-bg-unselected, #F7F7F7);
  font-size: var(--field-font-size, 16px);
  color: var(--field-text-color, #555555);
  transition: var(--field-transition, all 0.2s);
  box-sizing: border-box;
}

.edit-profile-grid input:focus {
  background: var(--field-bg-selected, #FFFFFF);
  border-color: var(--focus-border-color, #E5E5E5);
  box-shadow: var(--focus-shadow, 0 0 0 3px rgba(102,126,234,0.2));
  outline: none;
}

.edit-profile-grid .required {
  font-weight: var(--label-weight, 500);
  color: var(--label-color, #0082B4);
}

.edit-profile-grid .required::after {
  content: " *";
  color: var(--required-asterisk-color, #e63946);
  font-weight: bold;
}

/* Button – match the maroon/red tone from your screenshot */
.edit-profile-button {
  background: #c62828;                    /* or #d32f2f for slightly softer red */
  color: white;
  padding: 12px 28px;
  border: none;
  border-radius: 999px;                   /* pill shape like in screenshot */
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 6px rgba(198,40,40,0.2);
}

.edit-profile-button:hover {
  background: #b71c1c;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(198,40,40,0.3);
}/* End custom CSS */