:root{
  --brand-purple:#006837;
  --brand-purple-2:#8bc349;
  --brand-purple-3:#166534;      
  --panel:#e8f5e9;
  --pill:#ffffff;
  --pill-read:#d7d7db;
  --accent:#ff6f00;
  --muted:#8a7d86;
  --radius-pill:26px;
  --shadow:0 2px 10px rgba(0,0,0,.05);
  --pillw: 166px;
  --pillws: 120px;      
  --pillwl: 220px;
}

*{box-sizing:border-box}
body{font-family:'Open Sans', Arial, sans-serif; background:#f7f6f8; padding:24px; margin:0; color:#333;}

.calc-wrap{max-width: 1200px; margin:0 auto;}

.calc-title{
  background: linear-gradient(to right, var(--brand-purple) 0%, var(--brand-purple-3) 50%, var(--brand-purple-2) 100%);
  height:62px; display:flex; align-items:center; padding:0 18px;
  color:#fff; font-size:1.2em; font-weight:700; border-radius:4px 4px 0 0;
}

.calc-panel{background:var(--panel); padding:24px; border-radius:0 0 4px 4px;}
.calc-grid{display:grid; grid-template-columns: 230px 1fr; gap:24px; align-items:start;}

.highlight{align-items:center; justify-content:center; text-align:center; color:var(--brand-purple); font-weight:700;}
.highlight .num{font-size:2.4rem; color:var(--accent);} 
.highlight .youtxt{font-size:1.4rem; color:var(--accent);} 
.highlight .highlightTitle{font-size:1.4rem; color:var(--accent); border-bottom: solid 3px; margin-bottom: 10px; display:block; width:100%;} 
.highlight .big{
   color: transparent;      
   background-clip: text;
   background-image: linear-gradient(to right, var(--brand-purple), var(--brand-purple-2));
   font-size: 3rem;
   margin-top: .25rem;
 }

.form{display:grid; grid-template-columns: 1fr 1fr; gap:18px 30px;}

/* Sections */
.section{padding-bottom:48px;}
.section::after{content:""; display:block; clear:both;}

/* Labels */
.form label{font-weight:600; color:var(--brand-purple); display:block; margin-bottom:6px; float:left;}
.form label.microlabel{font-weight:400; font-size:.9rem; color:#333; float:none; width:auto; margin-bottom:6px;}

/* Pills */
.pill{
  width:var(--pillw); float:right; border:none; background:var(--pill);
  padding:0.5em 1em 0.4em 1.5em; border-radius:var(--radius-pill);
  text-align:right; font-size:1.36rem; color:var(--brand-purple); font-weight:700;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.pill[readonly]{background:var(--pill-read);} 
select.pill{text-align-last:right; padding-right:40px; appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
  margin-left:auto;          
}
.pill.large {width:var(--pillwl);font-size:1.6em;}

/* Split rows (deposit/voucher) */
.split{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; width: calc(var(--pillw) * 2 + 12px); float:right; }
.split-bottom{ align-items:flex-end; }
.half{flex:0 0 var(--pillws);} 
.sample{ width:var(--pillw); text-align:right; background:var(--pill-read); font-weight:400; font-size:1.36rem; color:var(--brand-purple); padding:0.5em 1em 0.4em 1.5em; border-radius:var(--radius-pill); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);margin-left:auto; }

/* Financing radios (no flex/floats) */
#financingLabel{ float:none !important; width:auto !important; margin-bottom:8px; }
.radio-row{ display:block; float:none; margin:0; font-size:0; }
.radio-chip{ display:inline-block; vertical-align:middle; width:211px; padding:8px 12px; background:var(--pill); border-radius:999px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); margin-right:12px; font-size:14px; line-height:1; }
.radio-chip:last-child{ margin-right:0; }
.radio-chip input, .radio-chip span{ display:inline-block; vertical-align:middle; padding-top: 1px; }
.radio-chip input{ width:18px; height:18px; accent-color: var(--brand-purple); margin-right:8px; margin-bottom:2px; }

/* Slider */
/* ---
.slider-block{margin-top:6px;}
input[type="range"]{
  -webkit-appearance:none; width:100%; height:6px; border-radius:3px; background:#ddd; outline:none;
  padding-left:13%; padding-right:14%;
}
input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:26px; height:26px; border-radius:50%; background:var(--brand-purple); border:4px solid #fff; box-shadow:0 0 0 3px rgba(22,101,52,.25); }
input[type="range"]::-moz-range-thumb{ width:26px; height:26px; border-radius:50%; background:var(--brand-purple); border:4px solid #fff; box-shadow:0 0 0 3px rgba(22,101,52,.25); }

.range-labels, .range-units{ display:grid; grid-template-columns:repeat(3,1fr); width:100%; margin-left:0; text-align:center; }
.range-labels{ font-size:1.36rem; color:var(--brand-purple); font-weight:700; margin-top:6px; }
.range-units{ font-size:.8rem; color:var(--muted); margin-top:2px; }
--- */

.emph{color:var(--brand-purple); font-weight:700;}
.rep{margin-top:20px; font-size:.95rem; color:var(--brand-purple);} 
.rep .accent{color:var(--accent); font-weight:700;}

.all-options{margin-top:18px; margin-left:30px; margin-right:80px; color:var(--brand-purple);} 
.opt-title{    margin: 12px 0 4px;
		  font-weight: 700;
		  color: #fff;
		  background: linear-gradient(to right, var(--brand-purple) 0%, var(--brand-purple-3) 50%, var(--brand-purple-2) 100%);
		  max-width: 300px;
		  width:100%;
		  padding: 3px 24px;
		  border-radius: 15px;
		  text-align: center; cursor: pointer; }
.mini-rep{font-size:.9rem; line-height:1.4; color:var(--brand-purple); margin: 22px 0 60px 0; } 
.mini-rep .accent{color:var(--accent); font-weight:700;} 
.compareTitle{margin-top:60px;}

.actions{display:flex; justify-content:flex-end; margin-top:14px;}

/*
.btn-primary{appearance:none; border:none; border-radius:999px; padding:12px 18px; font-weight:700; color:#fff; background: linear-gradient(90deg, var(--brand-purple), var(--brand-purple-2)); box-shadow: var(--shadow); text-decoration:none; cursor:pointer;}
.btn-primary:hover{filter:brightness(1.05)}
.btn-primary:active{transform:translateY(1px)}
*/
.btn-primary{appearance:none; border:none; border-radius:999px; padding:12px 18px; font-weight:700; color:#051226; background: linear-gradient(90deg, var(--accent), #22d3ee); box-shadow: var(--shadow); text-decoration:none; cursor:pointer;}
.btn-primary:hover{filter:brightness(1.05)}
.btn-primary:active{transform:translateY(1px)}


.risk{color:#555; margin-top:16px; font-size:.75rem;}

.vis-hidden{ visibility:hidden; display:none; }

.mgmt-override{
  text-align:right;
  font-size:.75rem;
  color:var(--muted);
  margin-top:8px;
  cursor:pointer;
}

/* Management Override modal */
.mo-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:none; z-index:9998; }
.mo-backdrop.active{ display:block; }
.mo-dialog{ position:fixed; inset:0; display:none; z-index:9999; align-items:center; justify-content:center; }
.mo-dialog.active{ display:flex; }
.mo-card{ background:#fff; width:min(420px,92vw); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.25); padding:20px 20px 16px; font-family:'Open Sans', Arial, sans-serif; }
/*
.mo-title{ font-weight:700; margin:0 0 8px; color:var(--brand-purple); }
*/
.mo-title{ font-weight:700; margin:0 0 8px; color:#051226; }

.mo-desc{ font-size:.9rem; color:#555; margin:0 0 12px; }
.mo-input{ width:100%; border:1px solid #ddd; border-radius:10px; padding:10px 12px; font-size:1rem; }
.mo-actions{ display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.mo-btn{ appearance:none; border:none; border-radius:999px; padding:10px 16px; font-weight:700; cursor:pointer; }
.mo-btn.cancel{ background:#eee; color:#333; }
/*
.mo-btn.ok{ color:#fff; background: linear-gradient(to right, var(--brand-purple) 0%, var(--brand-purple-3) 50%, var(--brand-purple-2) 100%); }
*/
.mo-btn.ok{ color:#fff; background: linear-gradient(to right, var(--accent), #22d3ee); }

.body-modal-open{ overflow:hidden; }

.inputText { font-size:18px; color:#fff; width:200px; border: none; background: transparent; font-family: inherit; font-weight: 900 }
.readonlyText { font-size:18px; color:#fff; width:200px; border: none; background: transparent; font-family: inherit;  font-weight: 900 }
.readonlyTextNorm { font-size:16px; color:#fff; width:100px; border: none; background: transparent; font-family: inherit; }
.readonlyTextSmall { font-size:12px; color:#fff; width:48px; border: none; background: transparent; font-family: inherit; }

@page { size: A4 portrait; margin: 12mm; }
@media print{
  .mgmt-override{ display:none !important; }
  html, body{background:#fff;}
  *{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
  .actions{display:none !important;}
  .calc-wrap{max-width:100%;}
  .calc-panel{box-shadow:none;}
  a[href]:after{content:"";}
}

@media(max-width:800px){
  .calc-grid{grid-template-columns:1fr;}
  .form{grid-template-columns:1fr;}
  .split, .pill{width:100%;}
  .half{flex:1 1 48%;}
  .form label{float:none; width:auto;}
  .radio-row{font-size:0;}
  .radio-chip{width:100%; margin:0 0 8px 0;}
  .all-options{margin: 28px 0 14px 0;}
}

