*{box-sizing:border-box}body{margin:0;background:#f5f7f9;color:#192e35;font:14px 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}aside{width:226px;background:#fff;border-right:1px solid #e4e9eb;position:fixed;inset:0 auto 0 0;padding:32px 23px;display:flex;flex-direction:column}.brand{text-decoration:none;color:#183a3b;font-size:25px;font-weight:750;letter-spacing:-1px}.brand>span:last-child{color:#35958b}.mark{display:inline-grid;place-items:center;background:#e8f2ef;border-radius:11px;width:36px;height:36px;margin-right:8px;font-size:28px}.workspace{font-size:10px;letter-spacing:1.8px;color:#96a4aa;margin:47px 10px 17px}nav button{display:flex;gap:13px;align-items:center;width:100%;border:0;background:none;padding:14px 12px;color:#718088;text-align:left;border-radius:7px;margin-bottom:7px}nav button.active{background:#eaf4f1;color:#176a60;font-weight:650}.aside-bottom{margin-top:auto;display:flex;gap:10px;align-items:center;font-size:12px}.avatar{background:#edf1f3;padding:12px;border-radius:50%}small{display:block;color:#89969b;font-size:10px;margin-top:5px}main{margin-left:226px}header{height:76px;border-bottom:1px solid #e5eaec;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fff;color:#879298;font-size:12px}header span{margin:0 12px}header b{color:#394e56;font-weight:500}.pill{border:1px solid #e0e8e5;padding:7px 11px;border-radius:20px;color:#518675;font-size:11px}.view{padding:35px 38px 0}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.eyebrow{color:#75928d;letter-spacing:1.6px;font-size:10px;font-weight:700}h1{font-size:30px;letter-spacing:-.9px;margin:9px 0 7px;font-weight:650}p{color:#829198;font-size:12px;margin:6px 0;line-height:1.6}h2{font-size:16px;margin:0;font-weight:650}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:25px;align-items:start}.panel{background:white;border:1px solid #e0e7e9;border-radius:12px;padding:23px;box-shadow:0 3px 8px #143b3a03}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}.step{background:#f0f5f3;color:#72958b;padding:10px;border-radius:9px;font-size:11px}label{display:block;color:#52676e;font-size:11px;font-weight:600;margin:15px 0}label>span{float:right;color:#9aa6ac}input,select{display:block;width:100%;padding:11px 12px;border:1px solid #dfe6e8;border-radius:6px;color:#233f46;background:#fff;margin-top:7px;outline:none;font-size:13px}input:focus,select:focus{border-color:#338b7a;box-shadow:0 0 0 3px #eaf5f0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}hr{border:0;border-top:1px solid #edf0f1;margin:22px 0}.primary,.secondary{border-radius:6px;padding:11px 16px;font-size:11px;font-weight:600}.primary{background:#216f61;border:1px solid #216f61;color:white}.primary:hover{background:#155849}.secondary{background:white;border:1px solid #dce4e6;color:#52676e}.full{width:100%;margin-top:15px}.hint,.note{font-size:11px;color:#81918e;line-height:1.6}.note{padding:11px;background:#f4f7f4;border-radius:6px}.result-top{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px}.result-top h2{font-size:17px;margin-top:6px}.tag{font-size:10px;background:#e8eeeb;color:#527c69;padding:6px 10px;border-radius:5px}.hero{background:#173f3d;color:#fff;border-radius:11px;padding:28px 30px;display:flex;justify-content:space-between;gap:18px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:190px;height:190px;border:1px solid #ffffff09;border-radius:50%;right:50px;top:-105px;box-shadow:0 0 0 35px #ffffff03,0 0 0 70px #ffffff03;pointer-events:none}.hero span{font-size:11px;color:#afc8c1}.hero strong{display:block;font-size:36px;font-weight:600;letter-spacing:-1px;margin-top:12px}.hero p{color:#a8c7bc;font-size:11px;margin-top:9px}.hero-side{border-left:1px solid #ffffff20;padding-left:25px;min-width:145px;display:flex;flex-direction:column;gap:7px;justify-content:center}.hero-side b{font-size:13px;font-weight:500;margin-bottom:8px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 22px}.metrics>div{padding:17px 15px;background:#fff;border:1px solid #e1e7e9;border-radius:8px}.metrics span{font-size:10px;color:#7c8b91}.metrics b{display:block;font-size:17px;margin:10px 0 8px;font-weight:650;letter-spacing:-.3px}.metrics small{font-size:9px;line-height:1.5}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.segmented{display:flex;background:#f2f5f6;padding:3px;border-radius:6px}.segmented button{border:0;background:none;color:#8b989c;font-size:10px;padding:7px 9px;border-radius:4px}.segmented .selected{background:#fff;color:#2c6c5c;box-shadow:0 1px 4px #0000000a}.chart{height:98px;display:flex;align-items:end;gap:7px;padding:7px 0 18px;margin-bottom:12px}.bar{background:#b6d6c9;position:relative;border-radius:4px 4px 0 0;min-width:10px}.bar:first-child{background:#387e69}.bar small{position:absolute;bottom:-17px;white-space:nowrap;margin:0;font-size:9px}.table-wrap{overflow:auto;max-height:430px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:#85949b;background:#f5f7f8;font-size:10px;padding:12px}td{padding:15px 12px;border-bottom:1px solid #edf0f1}td:last-child,th:last-child{text-align:right}td:last-child{font-weight:650;color:#295e50}.total-row{display:flex;justify-content:space-between;background:#f1f6f3;padding:14px 12px;border-radius:5px;font-size:12px;margin-top:15px}.total-row b{color:#205e4e}.footnote{font-size:10px;color:#9aa5a9;margin-top:14px}.actions{display:flex;justify-content:end;gap:9px;margin-top:21px}.comparison{margin-top:22px}.text-btn{background:none;border:0;color:#7e9790;font-size:11px}.empty{padding:23px;text-align:center;background:#f8faf9;border:1px dashed #dce6e0;border-radius:7px;color:#9baaa4;font-size:12px}.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compare-card{border:1px solid #e0e8e4;border-radius:8px;padding:15px}.compare-card h3{font-size:13px;margin:0 0 8px}.compare-card strong{display:block;font-size:20px;color:#286c58;margin:12px 0}.compare-card p{font-size:11px}.compare-card button{float:right;border:0;background:none;color:#80938a}.settings-layout{display:grid;grid-template-columns:270px 1fr;gap:24px}.program-item{display:block;width:100%;padding:15px;text-align:left;background:white;border:0;border-bottom:1px solid #edf1ef;color:#314e47}.program-item small{line-height:1.5}.program-item.selected{background:#edf5f1;border-radius:7px}.editor h2{margin-bottom:25px}.stage-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 28px;gap:7px;align-items:end;border-top:1px solid #eee;padding-top:5px}.stage-row label{font-size:10px}.stage-row input,.stage-row select{padding:9px 5px}.stage-row button{margin-bottom:15px;border:0;background:#f8eeeb;color:#ae6555;padding:8px;border-radius:5px}.check{display:flex;gap:10px;align-items:center}.check input{width:15px;margin:0}.history-card{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:20px}.history-card h3{margin:0 0 8px}.history-card .primary{margin-left:8px}footer{padding:32px 38px;color:#94a5a0;font-weight:650;font-size:11px}footer span{float:right;font-weight:400;color:#a3aeaf}#toast{position:fixed;bottom:25px;left:50%;background:#193e35;color:white;padding:13px 22px;border-radius:8px;display:none;z-index:20;font-size:12px}#error,#editError{color:#b04d3c;font-size:12px;line-height:1.5}button:disabled{opacity:.4;cursor:not-allowed}[hidden]{display:none!important}@media(min-width:1500px){.view{max-width:1450px;margin:auto}.layout{grid-template-columns:340px 1fr}}@media(max-width:1100px){aside{width:180px;padding:28px 15px}main{margin-left:180px}.view{padding:27px 22px}.layout{grid-template-columns:280px minmax(0,1fr);gap:16px}.hero{padding:25px 20px}.hero strong{font-size:27px}.hero-side{min-width:105px;padding-left:15px}.metrics{grid-template-columns:1fr}.metrics>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.metrics small{display:none}.metrics b{font-size:16px;margin:0}.section-head{flex-wrap:wrap}.settings-layout{grid-template-columns:220px 1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:16px 20px;border-right:0;border-bottom:1px solid #eee}.brand{font-size:22px}.workspace,.aside-bottom{display:none}nav{display:flex;margin-top:15px;gap:5px}nav button{margin:0;font-size:11px;justify-content:center;padding:10px 5px;gap:5px}main{margin:0}header{height:50px;padding:0 20px}.pill{display:none}.view{padding:26px 18px}.page-title{align-items:start}h1{font-size:25px}.page-title .secondary{font-size:0;padding:10px}.page-title .secondary:first-letter{font-size:14px}.layout,.settings-layout{grid-template-columns:1fr}.panel{padding:20px}.results{margin-top:10px}.hero strong{font-size:29px}.hero-side{min-width:115px}.metrics{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}.stage-row{grid-template-columns:1fr 1fr 1fr}.stage-row label{margin:8px 0}.stage-row button{margin:0}.history-card{display:block}.history-card>div:last-child{margin-top:15px}footer span{display:none}.actions{flex-wrap:wrap}}
@media print{aside,header,.inputs,.page-title>.secondary,.actions,.comparison,footer,#toast{display:none!important}main{margin:0}.view{padding:0}.layout{display:block}.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}.metrics{grid-template-columns:repeat(3,1fr)}.metrics>div{display:block}.table-wrap{max-height:none}.panel{box-shadow:none}.results{margin:0}.chart{display:none}.segmented{display:none}}

/* Vertical simulation flow */
.layout{display:flex;flex-direction:column;gap:26px;max-width:1100px;margin:0 auto}.inputs,.results{width:100%}.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.inputs>.panel-heading,.inputs>hr,.inputs>.hint,.inputs>.note,.inputs>#error,.inputs>.full{grid-column:1/-1}.inputs>hr{width:100%;margin:8px 0}.inputs label{font-size:12px}.inputs .panel-heading{margin-bottom:6px}.inputs .full{width:auto;justify-self:end}.schedule h2{font-size:21px}.schedule{padding:30px}.schedule .section-head{margin-bottom:25px}.schedule th{padding:18px 16px;font-size:12px}.schedule td{padding:23px 16px;font-size:14px}.schedule .table-wrap{max-height:none}.schedule .footnote{margin-top:22px}.actions{margin-top:25px}.comparison{margin-top:24px}@media(max-width:760px){.inputs{grid-template-columns:1fr;gap:0}.inputs>.panel-heading,.inputs>hr,.inputs>.hint,.inputs>.note,.inputs>#error,.inputs>.full{grid-column:auto}.schedule{padding:20px}.schedule td{font-size:12px;padding:18px 10px}.schedule th{padding:14px 10px;font-size:10px}.inputs .full{width:100%}.results{margin-top:0}}@media print{.layout{display:block}.inputs{display:none}}

/* Compact simulation presentation */
#sim>.page-title{justify-content:flex-end;max-width:920px;margin:0 auto 16px}#sim .layout{max-width:920px;gap:20px}#sim .panel-heading{min-height:40px;margin-bottom:10px}#sim .panel-heading .step{padding:9px 10px}#sim .schedule{padding:24px}#sim .schedule .section-head{margin-bottom:18px}#sim .schedule .table-wrap{max-width:680px;margin-inline:auto}#sim .schedule table{table-layout:fixed}#sim .schedule th:first-child{width:38%}#sim .schedule th:nth-child(2){width:23%}#sim .schedule th:last-child{width:39%}#sim .schedule th{font-size:12px;padding:12px 14px}#sim .schedule td{padding:15px 14px;font-size:14px}#sim .schedule .footnote{margin-top:16px}#sim .schedule .actions{margin-top:18px}@media(max-width:760px){#sim .schedule{padding:18px}#sim .schedule th{padding:11px 8px;font-size:10px}#sim .schedule td{padding:13px 8px;font-size:12px}#sim>.page-title{margin-bottom:14px}}

/* WonderNest / Tropical Daylight */
:root{--forest:#2a450a;--mid:#92af1e;--light:#cfe9be;--ivory:#fff9ec}body{color:#263b17;background:#e5edf0;font-family:'Albert Sans','Segoe UI',Arial,sans-serif;min-height:100vh}body:before{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(224,238,247,.26),rgba(255,249,236,.40)),url('assets/wondernest-homes.jpg') center 62%/cover no-repeat;opacity:.40;z-index:-1;pointer-events:none}aside{inset:20px auto 20px 20px;width:228px;padding:25px 17px;background:rgba(255,249,236,.97);border:1px solid #fffdf3;border-radius:18px;box-shadow:0 8px 35px #344a3010}.brand{display:block;background:#fff;border-radius:9px;padding:12px 7px;margin:0 0 42px}.brand img{display:block;width:100%;height:auto}.aside-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 7px 3px}.aside-bottom span{font-size:11px;color:var(--forest)}.aside-bottom img{width:173px;height:auto;background:#fff;border-radius:4px;padding:4px}nav button{color:#344724;gap:12px;padding:14px 12px;margin-bottom:12px}nav button.active{background:#dfe8c9;color:var(--forest);box-shadow:inset 4px 0 var(--forest)}main{margin-left:268px;min-height:100vh}header{display:none}.view{padding:24px 24px 0;max-width:none!important;margin:0!important}#sim>.page-title{max-width:none;margin:0 0 16px;min-height:38px}#sim .layout{width:100%;max-width:none;margin:0;gap:20px}.panel{background:rgba(255,249,236,.98);border:1px solid #fffdf5;border-radius:16px;box-shadow:0 7px 25px #3043210b}#sim .inputs{padding:26px 30px;column-gap:30px}#sim .panel-heading{border-bottom:1px solid #afbf7f;padding-bottom:15px;margin-bottom:7px;min-height:0}h1,h2{color:var(--forest)}#sim .panel-heading h2,#sim .schedule h2{font-size:23px;font-weight:650;letter-spacing:-.5px}label{color:#314423;font-weight:600}input,select{background:#fffdf8;border:1px solid #bac2a7;color:#24331b;border-radius:7px;padding:12px 13px}input:focus,select:focus{border-color:var(--mid);box-shadow:0 0 0 3px #92af1e16}hr{border-color:#dce0cd}.primary{background:var(--forest);border-color:var(--forest);color:#fffdf3;padding:12px 22px;font-size:12px;border-radius:9px}.primary:hover{background:#3c5b17}.secondary{color:var(--forest);border-color:#a1ae81;background:#fffaf0;padding:11px 18px;border-radius:9px}.hint,.footnote{color:#7b866c}#sim .schedule{padding:25px 30px}#sim .schedule .section-head{padding-bottom:14px;border-bottom:1px solid #afbf7f}.segmented{background:#edf0df;border:1px solid #c9d0af;border-radius:9px;padding:2px}.segmented button{padding:8px 15px;color:var(--forest);font-size:11px}.segmented button.selected{background:var(--forest);color:white;border-radius:7px;box-shadow:none}#sim .schedule .table-wrap{max-width:820px;margin:0 auto}th{background:#dce8bd;color:var(--forest)}td{border-color:#d3dac2}td:last-child{color:var(--forest)}#sim .schedule th{font-weight:600}#sim .schedule td{padding-top:13px;padding-bottom:13px}.actions{gap:12px}.text-btn{color:var(--forest)}footer{padding:22px 24px;color:#6c7a5c}footer span{color:#6c7a5c}.program-item{background:transparent;color:var(--forest)}.program-item.selected{background:#e2ebce}.empty{background:#fffaf1;border-color:#cbd5b7;color:#7f8b6f}#toast{background:var(--forest)}.editor>.footnote{color:#7b866c}.settings-layout{grid-template-columns:270px minmax(0,1fr)}
@media(min-width:1500px){.view{max-width:none!important}.layout{grid-template-columns:1fr}}@media(max-width:1100px){aside{width:204px;left:14px;padding:22px 12px}main{margin-left:232px}.brand{padding:10px 5px}.aside-bottom img{width:158px}.view{padding:24px 18px 0}#sim .inputs,#sim .schedule{padding:23px}.settings-layout{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:760px){aside{position:relative;inset:auto;width:auto;margin:12px 12px 0;padding:16px;border-radius:14px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.brand{width:174px;margin:0;padding:7px}.aside-bottom{display:flex;margin:0 0 0 auto;gap:5px;padding:0;align-items:flex-end}.aside-bottom img{width:100px;padding:2px}.aside-bottom span{font-size:8px}nav{order:3;flex-basis:100%;margin:0;gap:6px}nav button{font-size:11px;padding:11px 5px;margin:0;border-radius:7px}nav button.active{box-shadow:inset 0 -3px var(--forest)}main{margin-left:0;min-height:0}.view{padding:18px 12px 0!important}#sim .inputs,#sim .schedule{padding:20px}#sim .panel-heading h2,#sim .schedule h2{font-size:20px}#sim>.page-title .secondary{font-size:11px;padding:9px 12px}#sim .inputs>.full{justify-self:stretch}#sim .schedule .table-wrap{max-width:none}.settings-layout{grid-template-columns:1fr}.segmented button{padding:7px 12px}footer{padding:20px 14px}body:before{background-position:65% center;opacity:.29}.history-card{overflow-wrap:anywhere}}@media print{body{background:white}body:before{display:none}main{margin:0}.view{padding:0!important}.panel{box-shadow:none;border:1px solid #ddd}.results{display:block}.schedule{break-inside:avoid}}

/* Original brand artwork on transparent PNGs */
.brand,.brand img,.aside-bottom img{background:transparent}.brand{padding:12px 0;border-radius:0}.aside-bottom img{padding:0;border-radius:0}@media(max-width:760px){.brand{padding:7px 0}.aside-bottom img{padding:0}}

#sim .inputs>.unit-row{grid-column:1/-1}

.promo-editor{margin-top:20px}.promo-editor textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #bac2a7;border-radius:7px;background:#fffdf8;color:#24331b;font:inherit;resize:vertical}.promo-editor .primary{margin-top:9px}

/* Brand the open picker while keeping the native select controls. */
@supports (appearance: base-select) and selector(select::picker(select)) {
  #sim select,
  #sim select::picker(select) {
    appearance: base-select;
  }

  #sim select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: 12px 14px;
    gap: 10px;
    cursor: pointer;
  }

  #sim select::picker-icon {
    color: #526635;
    align-self: center;
    transition: rotate 150ms ease;
  }

  #sim select:open::picker-icon {
    rotate: 180deg;
  }

  #sim select::picker(select) {
    margin-block: 6px;
    padding: 5px;
    max-block-size: min(320px, 45vh);
    overflow-y: auto;
    background: #fff9ec;
    border: 1px solid #c1cbaa;
    border-radius: 12px;
    box-shadow: 0 10px 26px #2a450a26;
    color: #263b17;
  }

  #sim select option {
    gap: 9px;
    padding: 10px 11px;
    border-radius: 7px;
    white-space: normal;
    cursor: pointer;
  }

  #sim select option[value=""]:not(:checked) {
    color: #606b53;
  }

  #sim select option:checked {
    background: #dfe8c9;
    color: #2a450a;
    font-weight: 650;
  }

  #sim select option:hover,
  #sim select option:focus-visible {
    background: #eaf0db;
    outline: 1px solid #82965b;
    outline-offset: -1px;
  }

  #sim select option::checkmark {
    color: #2a450a;
  }
}

/* Collapsible program lists in Bank & program. */
#programList { align-self: start; }
.bank-group + .bank-group { margin-top: 8px; }
.bank-group summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 10px;
  border-radius: 8px;
  color: var(--forest);
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}
.bank-group summary::-webkit-details-marker { display: none; }
.bank-group summary::after {
  content: '';
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
}
.bank-group[open] summary::after { transform: rotate(45deg); }
.bank-group summary small { margin: 0 4px 0 auto; white-space: nowrap; color: #576744; }
.bank-group summary:hover, .bank-group[open] summary { background: #edf1e0; }
.bank-programs { margin: 5px 0 3px 9px; padding-left: 7px; border-left: 1px solid #cbd5b7; }
.bank-programs .program-item { padding: 10px; border-radius: 7px; border-bottom: 0; }
.bank-programs .program-item small { color: #576744; }
.bank-programs .program-item:hover { background: #edf1e0; }
.bank-programs .program-item.selected { background: #dfe8c9; }

.program-actions{display:flex;flex-wrap:wrap;gap:10px}.program-actions .danger{color:#963f37;border-color:#ce9b91}.program-actions .danger:hover{background:#f7ebe7}

#deleteProgramDialog{width:min(420px,calc(100% - 32px));border:1px solid #c1cbaa;border-radius:14px;background:#fff9ec;color:#263b17;padding:24px}#deleteProgramDialog::backdrop{background:#202b1866}#deleteProgramDialog .program-actions{justify-content:flex-end;margin-top:18px}
