
:root{
  --bg:#06111f;--bg2:#03101b;--panel:#0c1a2b;--panel2:#102239;--line:#29405a;
  --text:#f4f7fb;--muted:#9fb0c2;--gold:#f3b43f;--teal:#33d0c6;--teal2:#137b7b;
  --red:#ef6570;--green:#43d6a2;--purple:#9a77e8;--blue:#4c95e8;--ivory:#f4f0e8;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at 65% 0%,#0b1d33 0%,var(--bg) 42%,var(--bg2) 100%);color:var(--text);font-family:Arial,Helvetica,sans-serif} button,input,select{font:inherit}
header{padding:20px 28px 14px;border-bottom:1px solid #23384f;background:rgba(5,16,29,.96);position:sticky;top:0;z-index:4;backdrop-filter:blur(8px)}
.header-row{display:flex;align-items:flex-end;gap:22px;max-width:1500px;margin:auto}.brandblock{min-width:350px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:700;letter-spacing:.8px;color:var(--gold);line-height:1}.sub{font-size:17px;color:var(--teal);font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.by{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#d5aa5a;font-size:13px;margin-top:3px}.tagline{flex:1;text-align:center;color:#d9e2ec;font-size:14px;padding-bottom:5px}.tagline b{color:var(--teal)}
.top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.top-actions button{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:9px;border:1px solid #35506c;background:#0d1c30;color:#f8fafc;font-weight:800;cursor:pointer}.top-actions button:hover{border-color:var(--gold);transform:translateY(-1px)}.top-actions .gold{border-color:#806522}.top-actions .teal{border-color:#1a7777}
.wrap{max-width:1500px;margin:auto;padding:20px;display:grid;grid-template-columns:minmax(330px,430px) 1fr;gap:24px}.panel,.card{background:linear-gradient(180deg,rgba(16,34,57,.97),rgba(10,25,43,.97));border:1px solid #29405a;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.25)}.panel{padding:18px}.section{border-top:1px solid #20354a;padding-top:15px;margin-top:15px}.section:first-child{border-top:0;padding-top:0;margin-top:0}.section-title{display:flex;justify-content:space-between;align-items:center;color:var(--teal);font-size:13px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px}.section-title .section-label{display:flex;align-items:center;gap:8px}.section-icon{color:var(--teal);font-size:15px}.help{background:transparent;border:1px solid #52718e;color:#a9e9e5;border-radius:50%;width:23px;height:23px;font-weight:900;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{margin-bottom:10px}.field label{display:block;color:#b9c7d6;font-size:10px;font-weight:800;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}.field input,.field select{width:100%;padding:10px 11px;background:#05101f;color:white;border:1px solid #35506c;border-radius:7px;outline:none}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(51,208,198,.1)}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.mini-note{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:2px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.actions button{padding:9px 12px;border-radius:8px;border:1px solid #47627d;background:#122640;color:white;font-weight:800;cursor:pointer}.actions button.primary{background:linear-gradient(90deg,#147b7b,#169696);border-color:#249c98}.actions button:hover{filter:brightness(1.08)}
.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 2px}.review-title{display:flex;align-items:center;gap:8px;color:var(--teal);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.updated{color:#8fa3b8;font-size:11px}
.results{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.card{padding:17px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#37536e}.card.space:before{background:var(--teal)}.card.cost:before{background:var(--purple)}.card.budget:before{background:var(--gold)}.card h3{margin:0 0 7px;font-size:11px;color:#d2dbe5;text-transform:uppercase;letter-spacing:.7px}.metric{font-size:34px;font-weight:900;color:white;line-height:1.1}.metric.gold{color:var(--gold)}.metric.red{color:var(--red)}.smallmetric{font-size:23px;font-weight:900}.unit{font-size:12px;color:var(--teal);font-weight:900;margin-top:4px}.pill{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:7px;font-size:10px;font-weight:900;letter-spacing:.25px}.pill.ok{background:rgba(67,214,162,.10);color:#7af0c7;border:1px solid #268d6d}.pill.bad{background:rgba(239,101,112,.10);color:#ff8e97;border:1px solid #a63b48}.pill.info{background:rgba(51,208,198,.09);color:#69e0d9;border:1px solid #237d7b}.note{color:var(--muted);font-size:11px;line-height:1.45;margin-top:8px}
.hero{grid-column:span 4;min-height:176px}.smallcard{grid-column:span 3;min-height:104px}.wide{grid-column:1/-1}.guidance{grid-column:1/-1;background:linear-gradient(180deg,#13263c,#0e2034);color:#eaf1f7;border:1px solid #355675;padding:18px 20px;box-shadow:0 14px 32px rgba(0,0,0,.22)}.guidance .section-title{color:#58d2c9;margin-bottom:12px}.guidance-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.guidance-item{display:flex;gap:10px;margin:10px 0;font-size:13px;line-height:1.5;color:#dce7f0}.guidance-dot{font-weight:900;text-shadow:0 0 10px currentColor}.guidance-dot.bad{color:#ff6874}.guidance-dot.ok{color:#4fd2c5}.guidance-dot.info{color:#f3b94d}.next-steps{border-left:1px solid #3f7d84;padding-left:20px}.next-steps h4{margin:0 0 10px;color:#58d2c9;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.next-steps ul{margin:0;padding-left:18px}.next-steps li{margin:7px 0;font-size:12px;color:#dce7f0}.next-steps li::marker{color:#f3b94d}
.breakdown{grid-column:1/-1}.break-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.break-tile{background:#09182a;border:1px solid #29405a;border-radius:9px;padding:12px}.break-tile .label{color:#cbd5e1;font-size:10px;text-transform:uppercase;font-weight:800}.break-tile .val{font-size:18px;font-weight:900;margin-top:6px}.break-tile .pct{font-size:10px;color:var(--muted);margin-top:3px}.bar{height:11px;background:#07111f;border-radius:999px;overflow:hidden;margin-top:12px;display:flex}.bar span{height:100%}.bar .c1{background:#159b95}.bar .c2{background:#4c95e8}.bar .c3{background:#9a77e8}.bar .c4{background:#f3b43f}.bar .c5{background:#8b97a5}
.modal{display:none;position:fixed;inset:0;background:rgba(2,6,23,.78);align-items:center;justify-content:center;z-index:10;padding:20px}.modal.show{display:flex}.modalbox{width:min(760px,96vw);max-height:84vh;overflow:auto;background:#0f1b2d;border:1px solid #64748b;border-top:4px solid var(--gold);border-radius:14px;padding:22px}.modalbox h2,.modalbox h3{color:var(--gold)}.modalbox p{line-height:1.6}.close{float:right;background:#142238;color:white;border:1px solid #64748b;border-radius:8px;padding:8px 12px;cursor:pointer}.toast{position:fixed;bottom:24px;right:24px;background:#0d2b1b;border:1px solid #22c55e;color:#dcfce7;padding:11px 14px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.toast.bad{background:#3b0a10;border-color:#ef4444;color:#fee2e2}
footer{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:20px;color:#6f8297;font-size:10px;padding:2px 22px 22px}
@media(max-width:1080px){.header-row{align-items:flex-start;flex-wrap:wrap}.tagline{text-align:left;order:3;width:100%}.top-actions{margin-left:auto}.wrap{grid-template-columns:1fr}.hero{grid-column:span 4}.smallcard{grid-column:span 6}.break-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){header{position:static;padding:16px}.brandblock{min-width:0}.brand{font-size:24px}.sub{font-size:14px}.wrap{padding:10px}.results{grid-template-columns:1fr}.hero,.smallcard,.wide,.guidance,.breakdown{grid-column:auto}.guidance-grid{grid-template-columns:1fr}.next-steps{border-left:0;border-top:1px solid #3f7d84;padding-left:0;padding-top:14px}.break-grid{grid-template-columns:1fr 1fr}.grid2,.support-grid{grid-template-columns:1fr}.top-actions{width:100%;justify-content:flex-start}.tagline{font-size:12px}}

.review-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review-tools button{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:9px;border:1px solid #35506c;background:#0d1c30;color:#f8fafc;font-weight:800;cursor:pointer}
.review-tools button:hover{border-color:var(--gold);transform:translateY(-1px)}
.modalbox.guidancebox{width:min(980px,96vw);max-height:88vh}
.guidance-popup{background:linear-gradient(180deg,#13263c,#0e2034);color:#eaf1f7;border:1px solid #355675;border-radius:12px;padding:18px 20px}
.guidance-popup .section-title{color:#58d2c9;margin-bottom:12px}
@media(max-width:720px){
  .review-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .review-tools{width:100%;justify-content:space-between}
  .review-tools button{flex:1;justify-content:center;min-height:42px}
  .modal{padding:10px}
  .modalbox.guidancebox{width:100%;max-height:94vh;padding:14px}
  .guidance-popup{padding:15px}
  .guidance-grid{grid-template-columns:1fr}
  .next-steps{border-left:0;border-top:1px solid #3f7d84;padding-left:0;padding-top:14px}
}


.help-table-wrap{overflow-x:auto;margin-top:12px}
.help-table{width:100%;border-collapse:collapse;min-width:760px;font-size:11px}
.help-table th,.help-table td{border:1px solid #35506c;padding:8px;vertical-align:top;line-height:1.4}
.help-table th{background:#132640;color:var(--gold);text-align:left}
.help-table td{background:#0b182a;color:#e4ebf3}
.modalbox h4{color:#7fe6df;margin:14px 0 6px}
.modalbox ul{line-height:1.55}


/* v0.15 Help readability */
#helpModal .modalbox{
  width:min(1120px,96vw);
  max-height:90vh;
  font-size:14px;
  line-height:1.62;
}
#helpModal .modalbox h2{font-size:24px;line-height:1.2;margin:0 0 14px}
#helpModal .modalbox h3{font-size:17px;line-height:1.3;margin:20px 0 8px}
#helpModal .modalbox h4{font-size:15px}
#helpModal .modalbox p,
#helpModal .modalbox li{font-size:14px;line-height:1.62}
#helpModal .close{font-size:13px;min-height:38px}

.help-table-wrap{overflow-x:auto;margin-top:14px}
.help-table{
  width:100%;
  border-collapse:collapse;
  min-width:920px;
  font-size:13px;
}
.help-table th,.help-table td{
  border:1px solid #35506c;
  padding:10px;
  vertical-align:top;
  line-height:1.48;
}
.help-table th{
  background:#132640;
  color:var(--gold);
  text-align:left;
  font-size:12px;
}
.help-table td{
  background:#0b182a;
  color:#e4ebf3;
  font-size:13px;
}

/* Tablet and phone: turn the progression table into readable stacked cards. */
@media(max-width:900px){
  #helpModal{padding:8px}
  #helpModal .modalbox{
    width:100%;
    max-height:94vh;
    padding:16px;
    font-size:16px;
  }
  #helpModal .modalbox h2{font-size:23px}
  #helpModal .modalbox h3{font-size:19px}
  #helpModal .modalbox h4{font-size:17px}
  #helpModal .modalbox p,
  #helpModal .modalbox li{font-size:16px;line-height:1.65}
  #helpModal .close{font-size:14px;min-height:42px}

  .help-table-wrap{overflow:visible}
  .help-table{min-width:0;font-size:15px}
  .help-table thead{display:none}
  .help-table,
  .help-table tbody,
  .help-table tr,
  .help-table td{display:block;width:100%}
  .help-table tr{
    margin:0 0 16px;
    border:1px solid #35506c;
    border-radius:10px;
    overflow:hidden;
    background:#0b182a;
  }
  .help-table td{
    border:0;
    border-bottom:1px solid #243f59;
    padding:11px 12px;
    font-size:15px;
  }
  .help-table td:last-child{border-bottom:0}
  .help-table td:nth-child(1){
    background:#132640;
    color:var(--gold);
    font-weight:900;
    font-size:16px;
  }
  .help-table td:nth-child(2)::before{content:"ENTRY / BASIC";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(3)::before{content:"MID-LEVEL";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(4)::before{content:"PREMIUM / COMPLEX";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(5)::before{content:"WHAT DRIVES COST UP";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
}


/* v0.15 readability pass — no layout redesign */
.section-title{
  font-size:14px;
  letter-spacing:.9px;
}
.field label{
  font-size:11.5px;
  letter-spacing:.45px;
}
.field input,.field select{
  font-size:14px;
  padding:11px 12px;
}
.mini-note{
  font-size:12px;
  line-height:1.45;
}
.review-title{
  font-size:15px;
}
.card h3{
  font-size:12px;
}
.metric{
  font-size:36px;
}
.smallmetric{
  font-size:25px;
}
.unit{
  font-size:13px;
}
.note{
  font-size:12.5px;
  line-height:1.5;
}
.pill{
  font-size:10.5px;
  padding:6px 10px;
}
.break-tile .label{
  font-size:11px;
}
.break-tile .val{
  font-size:20px;
}
.break-tile .pct{
  font-size:11px;
}
.updated{
  font-size:12px;
}
.top-actions button,
.review-tools button{
  font-size:13px;
}
.brand{
  font-size:32px;
}
.sub{
  font-size:18px;
}
.tagline{
  font-size:14.5px;
}
@media(max-width:900px){
  .field label{font-size:12.5px}
  .field input,.field select{font-size:16px;min-height:44px}
  .mini-note{font-size:13px}
  .section-title{font-size:15px}
  .card h3{font-size:12.5px}
  .note{font-size:13.5px}
  .top-actions button,.review-tools button{font-size:14px;min-height:44px}
}


/* v0.15 vertical cost breakdown */
.break-grid{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}
.break-tile{
  display:grid;
  grid-template-columns:minmax(150px,1.2fr) minmax(110px,.7fr) minmax(90px,.5fr);
  align-items:center;
  gap:14px;
  background:#09182a;
  border:1px solid #29405a;
  border-radius:9px;
  padding:11px 13px;
}
.break-tile .label{
  font-size:12px;
}
.break-tile .val{
  font-size:20px;
  margin-top:0;
  text-align:right;
}
.break-tile .pct{
  font-size:11px;
  margin-top:0;
  text-align:right;
}
.other-costs-detail{
  margin-top:12px;
  border:1px solid #29405a;
  border-radius:10px;
  overflow:hidden;
  background:#09182a;
}
.other-costs-title{
  padding:10px 12px;
  color:var(--teal);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.7px;
  border-bottom:1px solid #29405a;
}
.other-cost-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  padding:9px 12px;
  border-bottom:1px solid #1e3348;
  font-size:12px;
}
.other-cost-row:last-child{border-bottom:0}
.other-cost-row .name{color:#cbd5e1}
.other-cost-row .amount{font-weight:900;color:#fff}
@media(max-width:720px){
  .break-tile{
    grid-template-columns:1fr auto;
    gap:6px 10px;
  }
  .break-tile .pct{
    grid-column:1/-1;
    text-align:left;
    font-size:12px;
  }
  .other-cost-row{font-size:13px}
}


/* v0.15 equal-size cost rows */
.other-costs-title{
  padding:11px 13px;
  font-size:12px;
}
.other-cost-row{
  display:grid;
  grid-template-columns:minmax(150px,1.2fr) minmax(110px,.7fr) minmax(90px,.5fr);
  align-items:center;
  gap:14px;
  padding:11px 13px;
  font-size:12px;
  min-height:48px;
}
.other-cost-row .name{
  color:#cbd5e1;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
}
.other-cost-row .amount{
  font-size:20px;
  font-weight:900;
  color:#fff;
  text-align:right;
}
.other-cost-row::after{
  content:"";
  display:block;
}
@media(max-width:720px){
  .other-cost-row{
    grid-template-columns:1fr auto;
    min-height:48px;
  }
  .other-cost-row .name{font-size:12.5px}
  .other-cost-row .amount{font-size:20px}
}


/* v0.15 conditional Planning Guidance layer */
.guidance-item{
  align-items:flex-start;
  padding:8px 0;
  border-bottom:1px solid rgba(53,80,108,.35);
}
.guidance-item:last-child{border-bottom:0}
.guidance-item strong{color:#fff}
.next-steps h4{margin-top:0}
.next-step-heading{
  margin-top:18px !important;
  padding-top:14px;
  border-top:1px solid #2c5878;
}
.next-step-text{
  font-size:13px;
  line-height:1.55;
  color:#f4f7fb;
  font-weight:700;
}
#guidanceQuestions li{
  margin:8px 0;
  line-height:1.5;
}
@media(max-width:720px){
  .next-step-text{font-size:15px}
  #guidanceQuestions li{font-size:15px}
}


/* v0.15 final review workflow */
.review-status-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #2c5878;
}
.review-status-label{
  color:#cbd5e1;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.review-status-pill{
  display:inline-block;
  border-radius:7px;
  padding:6px 9px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.35px;
}
.review-status-pill.needed{
  color:#ffd2d7;
  border:1px solid #a63b48;
  background:rgba(239,101,112,.11);
}
.review-status-pill.complete{
  color:#b6f6df;
  border:1px solid #268d6d;
  background:rgba(67,214,162,.11);
}
.review-complete-btn{
  width:100%;
  margin-top:18px;
  padding:11px 12px;
  border-radius:9px;
  border:1px solid #268d6d;
  background:rgba(67,214,162,.12);
  color:#d9fff0;
  font-weight:900;
  cursor:pointer;
}
.review-complete-btn:hover{filter:brightness(1.08)}
.review-complete-btn.complete{
  border-color:#35506c;
  background:#122640;
  color:#aab9c8;
}
.review-complete-note{
  margin-top:8px;
  color:#8fa3b8;
  font-size:11px;
  line-height:1.45;
}
@media(max-width:720px){
  .review-status-label{font-size:12px}
  .review-status-pill{font-size:11px}
  .review-complete-btn{font-size:14px;min-height:44px}
  .review-complete-note{font-size:12px}
}




/* ===== v0.17 APPROVED OSP LAYOUT ===== */
:root{
  --bg:#050e1a;
  --bg2:#071425;
  --panel:#0b1627;
  --panel2:#0e1b2f;
  --line:#27405c;
  --text:#f5f7fb;
  --muted:#9fb0c3;
  --gold:#f0b514;
  --gold2:#ffcc33;
  --teal:#36d6e7;
  --red:#ff5f6d;
  --green:#35d09a;
}
body{
  margin:0;
  background:radial-gradient(circle at 50% 0%,#0a1b31 0%,var(--bg2) 36%,var(--bg) 100%);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
}
header{
  position:static;
  padding:18px 24px 14px;
  background:transparent;
  border-bottom:1px solid rgba(57,84,116,.75);
}
.header-row{
  max-width:1600px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(320px,1.05fr) minmax(240px,.9fr) auto;
  align-items:end;
  gap:18px;
}
.brandblock{min-width:0}
.brand{
  font-family:Arial,Helvetica,sans-serif;
  font-size:31px;
  line-height:1;
  letter-spacing:1px;
  color:#f4f7fb;
  font-weight:900;
}
.sub{
  margin-top:6px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:2.5px;
  font-size:17px;
  font-weight:900;
}
.by{
  margin-top:8px;
  color:#e8eef6;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-style:normal;
}
.tagline{
  align-self:center;
  text-align:center;
  font-size:13px;
  color:#e7edf4;
  font-style:italic;
  padding-bottom:6px;
}
.tagline b{color:#e7edf4;font-weight:400}
.top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.top-actions button,
.review-tools button,
.close{
  background:rgba(6,13,24,.86);
  border:1px solid rgba(240,181,20,.72);
  color:#f7fafc;
  border-radius:4px;
  padding:10px 16px;
  font-weight:800;
  box-shadow:none;
}
.top-actions button:hover,.review-tools button:hover,.close:hover{filter:brightness(1.06);transform:none}
.wrap{
  max-width:1600px;
  margin:auto;
  padding:16px 24px 8px;
  display:grid;
  grid-template-columns:minmax(450px,1.05fr) minmax(480px,1.15fr);
  gap:16px;
}
.panel{
  background:linear-gradient(180deg,rgba(10,22,39,.94),rgba(7,18,33,.96));
  border:1px solid rgba(57,84,116,.78);
  border-radius:8px;
  box-shadow:none;
}
.assumptions-panel{padding:18px 18px 16px}
.main-panel{display:flex;flex-direction:column;gap:14px}
.section-title,
.review-title{
  color:var(--teal);
  font-size:16px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:3px;
  margin:0 0 12px;
}
.section-label,.section-icon,.help{display:none !important}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
}
.span-2{grid-column:1 / -1}
.preset-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.preset-highlight{
  padding:10px 12px 11px;
  border:2px solid rgba(240,181,20,.98);
  border-radius:6px;
  background:linear-gradient(180deg,rgba(60,41,8,.58),rgba(24,18,7,.34));
  box-shadow:0 0 0 1px rgba(255,223,122,.18) inset;
}
.preset-chip,
.preset-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:5px 10px;
  border-radius:4px;
  border:1px solid #ffd867 !important;
  background:linear-gradient(180deg,#f8d86f 0%,#edbf45 52%,#d89f21 100%) !important;
  color:#08101d !important;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.35px;
  box-shadow:0 1px 0 rgba(255,243,196,.25) inset;
  text-decoration:none;
}
.preset-chip{text-transform:uppercase;letter-spacing:1px;padding:5px 11px}
.preset-btn{cursor:pointer}
.preset-btn:hover{filter:brightness(1.06)}
.preset-note{flex-basis:100%;margin-top:5px;color:#ecd9a2;font-size:13px;line-height:1.45}
.preset-note strong{color:#ffe390}
.preset-kicker{color:#f8e5a3;font-size:13px;font-weight:800;letter-spacing:.5px}
.tri-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px 16px;
  margin-top:12px;
}
.field{margin:0}
.field label{
  display:block;
  color:#c1cfde;
  font-size:11px;
  font-style:italic;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  margin:0 0 5px;
}
.field input,.field select,.display-box{
  width:100%;
  min-height:38px;
  padding:8px 12px;
  background:#05090f;
  border:2px solid rgba(240,181,20,.95);
  color:var(--gold2);
  border-radius:2px;
  outline:none;
  font-size:15px;
  font-style:italic;
  font-weight:800;
  box-shadow:none;
}
.field input:focus,.field select:focus{border-color:#ffd55c;box-shadow:none}
.display-box{display:flex;align-items:center}
.mini-note,.section{padding:0;margin:0;border:0}
.actions{display:flex;gap:10px;margin-top:18px}
.actions button{font:inherit;cursor:pointer}
.actions .primary{
  width:100%;
  min-height:46px;
  background:linear-gradient(180deg,#f8c840,#efb224);
  border:1px solid #f7c846;
  border-radius:4px;
  color:#08101d;
  font-size:18px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}
.actions .ghost-action{display:none}
.review-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:4px 4px 0;
}
.review-title{margin:0}
.review-tools{display:flex;align-items:center;gap:12px}
.review-tools button{
  border-color:rgba(54,214,231,.9);
  color:var(--teal);
  padding:10px 18px;
}
.updated{display:none}
.review-panel{padding:16px}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.result-card{
  min-height:122px;
  border:1px solid rgba(67,86,112,.75);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(11,22,39,.88),rgba(8,18,33,.92));
  padding:18px 14px 14px;
  text-align:center;
}
.result-card.wide{grid-column:1 / -1;min-height:96px}
.result-card h3{
  margin:0 0 16px;
  color:#f0f5fb;
  font-size:13px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:1px;
}
.metric{
  font-size:28px;
  line-height:1.08;
  font-weight:900;
  color:var(--teal);
}
.metric.gold{color:var(--teal)}
.metric.red{color:var(--red)}
.smallmetric{
  font-size:26px;
  line-height:1.08;
  font-weight:900;
  color:var(--teal);
}
.unit{margin-top:3px;color:var(--teal);font-size:12px;font-weight:900;letter-spacing:1px}
.note{margin-top:10px;color:#eef3f8;font-size:13px;line-height:1.35}
#requiredSpaceNote{color:#dfe8f2}
#variancePill{margin-top:10px;font-size:14px;font-weight:800;color:var(--red)}
#spatialStatus{display:inline-block !important;margin-top:10px;padding:6px 10px;border-radius:4px;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
#frameWidthWarning{display:none;grid-column:1 / -1;margin:-2px 0 2px;padding:8px 11px;border-radius:4px;border:1px solid #c8424e;background:rgba(183,34,48,.18);color:#ff8e97;font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;text-align:center}
#frameWidthWarning.show{display:block}

#poleHvacWarning{
  display:none;
  grid-column:1 / -1;
  margin:-2px 0 2px;
  padding:10px 12px;
  border-radius:4px;
  border:1px solid #c8424e;
  background:rgba(183,34,48,.18);
  color:#ffd7db;
  font-size:11px;
  font-weight:700;
  line-height:1.45;
  text-align:left;
}
#poleHvacWarning strong{
  color:#ff8e97;
  font-weight:900;
  letter-spacing:.7px;
}
#poleHvacWarning.show{display:block}

#budgetPosition,#varianceNote,#floorLabel,#tentLabel,#variancePill{display:none !important}
.breakdown-panel{padding:16px}
.breakdown-panel .section-title{margin-bottom:12px}
.break-header,
.break-row,
.break-total-row{
  display:grid;
  grid-template-columns:1.25fr .8fr .45fr .7fr;
  align-items:center;
}
.break-header{
  color:#d6e0eb;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:2px 10px 8px;
}
.break-row{
  min-height:46px;
  padding:0 10px;
  border-top:1px solid rgba(57,84,116,.7);
}
.break-cell-category{color:#f0f5fb;font-size:15px}
.break-cell-cost,.break-cell-pct{color:#f0f5fb;font-size:16px;text-align:center}
.break-cell-bar{padding-left:10px}
.break-track{
  display:block;
  width:100%;
  height:18px;
  background:rgba(33,52,76,.62);
  border-radius:0;
  overflow:hidden;
}
.break-fill{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#56dff0,#8ae7f4);
}
.break-total-row{
  min-height:52px;
  padding:0 10px;
  border-top:1px solid rgba(57,84,116,.85);
}
.break-total-row .break-total-label,
.break-total-row .break-total-value,
.break-total-row .break-total-pct{color:var(--teal);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.break-total-value,.break-total-pct{text-align:center}
.break-total-row .break-cell-bar{visibility:hidden}
#breakBar,#otherCostsDetail,#breakdownSummary{display:none !important}
footer{
  max-width:1600px;
  margin:auto;
  padding:8px 24px 18px;
  color:#aab7c6;
  font-size:11px;
  display:flex;
  justify-content:space-between;
  gap:16px;
}
footer span:last-child{opacity:.86}
.modal{display:none;position:fixed;inset:0;background:rgba(3,7,14,.78);align-items:center;justify-content:center;z-index:10;padding:20px}
.modal.show{display:flex}
.modalbox{width:min(980px,96vw);max-height:88vh;overflow:auto;background:#0d1728;border:1px solid #4a647e;border-top:3px solid var(--teal);border-radius:8px;padding:20px}
.modalbox h2,.modalbox h3{color:var(--teal)}
.guidance-popup{background:linear-gradient(180deg,#111d31,#0d1728);border:1px solid #3f5972;border-radius:6px;padding:18px}
.guidance-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.guidance-item{display:flex;gap:10px;margin:10px 0;font-size:13px;line-height:1.5;color:#e3ebf3}
.guidance-dot.bad{color:#ff7c85}.guidance-dot.ok{color:#68dfb2}.guidance-dot.info{color:#f0b514}
.next-steps{border-left:1px solid #33506a;padding-left:18px}.next-steps h4{color:var(--teal);margin:0 0 10px;text-transform:uppercase;font-size:12px;letter-spacing:.7px}.next-steps li{margin:7px 0;color:#e3ebf3;font-size:12px}
.review-status-label{font-size:11px;font-weight:900;letter-spacing:.8px;color:#d3dde8;text-transform:uppercase}
.review-status-pill{display:inline-block;border-radius:3px;padding:6px 8px;font-size:10px;font-weight:900;letter-spacing:.4px}
.review-status-pill.needed{color:#ffd7db;border:1px solid #ab4551;background:rgba(255,95,109,.1)}
.review-status-pill.complete{color:#c6f6e5;border:1px solid #2a9d76;background:rgba(53,208,154,.1)}
.review-complete-btn{width:100%;margin-top:18px;border-radius:4px;border:1px solid #2a9d76;background:rgba(53,208,154,.12);color:#e7fff6;font-weight:900;cursor:pointer;padding:11px 12px}
.review-complete-btn.complete{border-color:#51667d;background:#132235;color:#afbfce}
.review-complete-btn:disabled{opacity:.48;cursor:not-allowed;filter:none}
.review-complete-note{margin-top:8px;color:#9db0c4;font-size:11px;line-height:1.45}
.toast{position:fixed;bottom:24px;right:24px;background:#0d2b1b;border:1px solid #22c55e;color:#dcfce7;padding:11px 14px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s}
.toast.show{opacity:1}.toast.bad{background:#3b0a10;border-color:#ef4444;color:#fee2e2}
@media(max-width:1280px){
  .wrap{grid-template-columns:1fr}
  .header-row{grid-template-columns:1fr;align-items:start}
  .tagline{text-align:left;padding-bottom:0}
  .top-actions{justify-content:flex-start}
}
@media(max-width:1100px){
  .form-grid{grid-template-columns:1fr 1fr}
  .tri-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .review-grid{grid-template-columns:1fr}
  .span-2,.result-card.wide{grid-column:auto}
  .break-header{display:none}
  .break-row,.break-total-row{grid-template-columns:1fr auto;gap:6px 12px;padding:10px}
  .break-cell-pct,.break-cell-bar,.break-total-pct{grid-column:1/-1;text-align:left;padding-left:0}
  .break-track{height:14px}
  footer{flex-direction:column}
  .guidance-grid{grid-template-columns:1fr}.next-steps{border-left:0;border-top:1px solid #33506a;padding-left:0;padding-top:14px}
}
/* ===== end v0.17 APPROVED OSP LAYOUT ===== */



/* ===== v0.31 SCENARIO BUTTONS TRUE GOLD ===== */
/* ===== v0.34 POWER / HVAC ===== */
/* ===== v0.35 HELP / GUIDANCE DENSITY STANDARDS ===== */
/* ===== v0.36 EVENT PLANNER HEADER CORRECTION ===== */
/* ===== v0.37 FRANK K BUSSEY CREDIT CORRECTION ===== */
/* ===== v0.38 POWER / HVAC TOTAL TENT SF FIX ===== */
/* ===== v0.39 NONNEGATIVE INPUT VALIDATION ===== */
/* ===== v0.40 POLE TENT HVAC HELP NOTE ===== */
/* ===== v0.41 POLE TENT HVAC LIVE FLAG ===== */
/* ===== v0.44 SAVE PROFILE POPUP + HELP WARNING ===== */
/* ===== v0.45 FINAL DEPLOYMENT CLARIFICATIONS ===== */
/* ===== v0.51 HISTORY-AWARE PLANNING GUIDANCE ROTATION ===== */
/* ===== v0.52 INCOMPLETE-INPUT / FALSE-POSITIVE STATUS GUARD ===== */
#ospSplash{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#06172a;cursor:pointer;overflow:auto;}
#ospSplash img{display:block;width:min(100vw,1400px);height:auto;max-height:100vh;object-fit:contain;user-select:none;-webkit-user-drag:none;}
#ospSplash.hidden{display:none}

.save-profile-reminder-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:99990;
  background:rgba(2,8,18,.88);
  align-items:center;
  justify-content:center;
  padding:24px;
}
.save-profile-reminder-modal.show{display:flex}
.save-profile-reminder-box{
  width:min(720px,94vw);
  background:linear-gradient(180deg,#0e1b2f,#091626);
  border:2px solid #f0b514;
  border-radius:8px;
  padding:28px 30px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.save-profile-reminder-kicker{
  color:#ff8e97;
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:7px;
}
.save-profile-reminder-box h2{
  margin:0 0 15px;
  color:#ffd55c;
  font-size:23px;
  line-height:1.25;
  letter-spacing:.8px;
}
.save-profile-reminder-box p{
  margin:11px 0;
  color:#eef4fa;
  font-size:15px;
  line-height:1.6;
}
.save-profile-ack{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:21px 0 16px;
  padding:14px;
  border:1px solid #58718b;
  background:#07111f;
  color:#f5f7fb;
  cursor:pointer;
  font-size:14px;
  line-height:1.45;
}
.save-profile-ack input{
  width:19px;
  height:19px;
  margin-top:1px;
  flex:0 0 auto;
}
#saveProfileReminderCloseBtn{
  width:100%;
  min-height:44px;
  border:1px solid #f0b514;
  border-radius:4px;
  background:linear-gradient(180deg,#f8c840,#efb224);
  color:#08101d;
  font-weight:900;
  letter-spacing:1px;
  cursor:pointer;
}
#saveProfileReminderCloseBtn:disabled{
  opacity:.35;
  cursor:not-allowed;
  filter:grayscale(.4);
}
.save-profile-return-note{
  margin-top:11px;
  color:#aebdcb;
  font-size:11px;
  text-align:center;
}
.help-save-warning{
  margin:0 0 20px;
  padding:15px 16px;
  border:2px solid #f0b514;
  border-left:6px solid #ff5f6d;
  border-radius:5px;
  background:rgba(120,28,40,.16);
  color:#f7fbff;
}
.help-save-warning h2{
  margin:0 0 8px !important;
  color:#ffd55c !important;
  font-size:18px !important;
  line-height:1.25;
}
.help-save-warning p{
  margin:6px 0 !important;
  color:#f7fbff !important;
  line-height:1.5;
}
#saveEventBtn.unsaved{
  background:linear-gradient(180deg,#ffd867,#e9b52c) !important;
  border-color:#ffe18a !important;
  color:#07111f !important;
  box-shadow:0 0 0 2px rgba(255,216,103,.18) !important;
}
@media(max-width:720px){
  .save-profile-reminder-box{padding:21px 18px}
  .save-profile-reminder-box h2{font-size:20px}
  .save-profile-reminder-box p{font-size:14px}
}

@media(max-width:720px){
  .form-grid,.tri-grid{grid-template-columns:1fr}
}
@media (max-aspect-ratio:4/5){#ospSplash img{width:100vw;max-height:none;}}

/* ===== wrap: auth / account / admin (not in Frank original) ===== */
#ospSplash{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#06172a;
  cursor:pointer;
  overflow:hidden;
}
#ospSplash img{
  display:block;
  width:min(100vw,1400px);
  height:auto;
  max-height:100vh;
  max-height:100dvh;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
#ospSplash.hidden{display:none}
html:has(#ospSplash:not(.hidden)),
body:has(#ospSplash:not(.hidden)){
  overflow:hidden;
  height:100%;
  overscroll-behavior:none;
}
.osp-auth{
  position:absolute;
  left:50%;
  bottom:3.5vh;
  transform:translateX(-50%);
  width:min(420px, calc(100vw - 28px));
  padding:18px 16px 14px;
  background:rgba(7,20,37,.96);
  border:1px solid var(--line);
  border-radius:8px;
  cursor:default;
  z-index:1;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.osp-auth-title{
  color:var(--gold);
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:10px;
}
.osp-auth label{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-bottom:8px;
}
.osp-auth label[hidden],
.osp-auth[hidden]{display:none}
.osp-auth input{
  display:block;
  width:100%;
  margin-top:4px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#0b1627;
  color:var(--text);
}
.osp-auth-actions{
  display:flex;
  gap:8px;
  margin-top:4px;
}
.osp-auth-actions button{flex:1;min-height:40px;cursor:pointer}
.osp-auth-plans{
  flex-direction:column;
  gap:10px;
  margin-top:2px;
}
.osp-auth-plans button{
  width:100%;
  min-height:48px;
  border-radius:6px;
  border:1px solid var(--line);
  background:#0b1627;
  color:var(--text);
  font-weight:800;
  letter-spacing:.2px;
}
.osp-auth-plans button:hover,
.osp-auth-actions button.gold:hover{
  filter:brightness(1.06);
}
.osp-auth-plans button.gold,
.osp-auth-actions button.gold{
  background:linear-gradient(180deg,#f8c840,#efb224);
  border-color:#f7c846;
  color:#08101d;
}
.osp-auth-plan{
  color:var(--gold) !important;
  font-weight:700;
}
.osp-auth-link{
  display:block;
  width:100%;
  margin-top:8px;
  background:none;
  border:0;
  color:var(--teal);
  font-size:12px;
  text-align:left;
  padding:4px 0 0;
  cursor:pointer;
}
.osp-auth-link[hidden]{display:none}
.osp-auth-split{
  margin:14px 0 6px;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-align:center;
}
.osp-auth-split[hidden]{display:none}
#ospPaySignInRow[hidden]{display:none}
.osp-auth-secondary,
#ospPaySignIn{
  width:100%;
  min-height:42px;
  margin-top:10px;
  border:1px solid var(--gold);
  border-radius:6px;
  background:transparent;
  color:var(--gold);
  font-weight:800;
  letter-spacing:.3px;
  cursor:pointer;
}
.osp-auth-secondary:hover,
#ospPaySignIn:hover{
  background:rgba(240,181,20,.12);
}
.osp-auth-secondary[hidden]{display:none}
#ospPaySignInRow .osp-auth-secondary,
#ospPaySignInRow #ospPaySignIn{
  margin-top:0;
}
.osp-auth-error{
  color:var(--red);
  font-size:12px;
  margin:0 0 8px;
}
.osp-auth-note{
  margin:0 0 12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.osp-auth-note[hidden]{display:none}
#ospSplash:has(.osp-auth:not([hidden])),
#ospSplash:has(#ospPaywall:not([hidden])),
#ospSplash:has(#ospAuthVerify:not([hidden])){cursor:default}

.osp-account{position:relative}
.osp-account-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:40;
  width:300px;
  padding:14px 14px 12px;
  background:#0b182a;
  border:1px solid rgba(240,181,20,.72);
  border-radius:6px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  text-align:left;
}
.osp-account-email{
  font-size:12px;
  color:var(--text);
  word-break:break-all;
}
.osp-account-plan{
  margin-top:4px;
  font-size:12px;
  color:var(--gold);
  font-weight:800;
}
.osp-account-link{
  display:block;
  margin:10px 0 8px;
  color:var(--teal);
  font-size:12px;
  font-weight:800;
}
#ospAccountBook[hidden],
.top-actions [hidden]{display:none !important}
#ospAccountBook.osp-book-busy{
  cursor:wait;
  pointer-events:none;
}
#ospAccountBook.osp-book-busy:hover{transform:none}
.osp-book-spin{
  width:12px;
  height:12px;
  border:2px solid rgba(243,180,63,.28);
  border-top-color:var(--gold);
  border-radius:50%;
  flex:0 0 auto;
  animation:osp-book-spin .7s linear infinite;
}
@keyframes osp-book-spin{
  to{transform:rotate(360deg)}
}
.osp-account-book-err{
  color:#e8b4b4;
  font-size:11px;
  margin:0;
  width:100%;
}
.osp-account-note{
  margin:0 0 10px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.osp-account-subscribe{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:10px 0 8px;
}
.osp-account-subscribe[hidden]{display:none}
.osp-account-choose{
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}
.osp-account-subscribe-actions{
  display:flex;
  gap:8px;
}
.osp-account-subscribe button{
  flex:1;
  min-height:36px;
  margin:0;
  font-size:11px;
}
.osp-admin-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 12px;
  font-size:13px;
}
.osp-admin-check input{
  width:auto;
  margin:0;
}
.osp-admin-box{width:min(980px,96vw);max-height:90vh;border-top-color:var(--gold)}
.osp-admin-user-list{max-height:min(48vh,380px);overflow:auto}
.osp-admin-lead{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
}
.osp-admin-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
}
.osp-admin-stats[hidden]{display:none}
.osp-admin-stats span{
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:4px;
  color:var(--gold);
  font-size:11px;
  font-weight:800;
}
.osp-admin-grid{
  display:grid;
  grid-template-columns:minmax(240px,280px) 1fr;
  gap:28px;
  clear:both;
}
.osp-admin-search{margin-bottom:8px}
.osp-admin-user,
.osp-admin-grant{
  align-items:flex-start;
}
.osp-admin-user-main{min-width:0;flex:1}
.osp-admin-user-email{
  font-weight:700;
  word-break:break-all;
}
.osp-admin-user-tier{
  margin-top:3px;
  color:var(--gold);
  font-size:11px;
  font-weight:800;
}
.osp-admin-user-meta{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
  word-break:break-all;
}
.osp-admin-box h3{margin:0 0 12px}
.osp-admin-subhead{margin-top:22px}
.osp-admin-box label{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:10px;
}
.osp-admin-box input{
  display:block;
  width:100%;
  margin-top:4px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#0b1627;
  color:var(--text);
}
#ospGrantBtn{
  width:100%;
  margin:0 0 8px;
  padding:10px 12px;
  font-size:12px;
}
.osp-grant-list{
  list-style:none;
  margin:8px 0 0;
  padding:0;
}
.osp-grant-list li{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:var(--text);
  padding:8px 0;
  border-top:1px solid rgba(57,84,116,.5);
}
.osp-grant-list button{
  padding:4px 8px;
  font-size:10px;
}
.osp-admin-empty{
  color:var(--muted);
  font-style:italic;
  border-top:0 !important;
}
.osp-events-modal{z-index:40}
.osp-events-box{
  width:min(640px,96vw);
  border-top-color:var(--gold);
}
.osp-events-box h2{color:var(--gold)}
.osp-events-lead{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
}
.osp-events-box label{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:12px;
}
.osp-events-box input[type="text"]{
  display:block;
  width:100%;
  margin-top:4px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#0b1627;
  color:var(--text);
}
.osp-events-preview{
  margin:0 0 14px;
  color:#d3dde8;
  font-size:13px;
  line-height:1.45;
}
.osp-events-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  font-size:13px;
  color:var(--text);
}
.osp-events-check[hidden]{display:none}
.osp-events-check input{width:auto;margin:0}
.osp-events-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.osp-events-actions button{margin:0}
.osp-events-list{
  list-style:none;
  margin:0 0 14px;
  padding:0;
  max-height:min(52vh,420px);
  overflow:auto;
}
.osp-events-item{
  display:flex;
  gap:8px;
  align-items:stretch;
  padding:8px 0;
  border-top:1px solid rgba(57,84,116,.5);
}
.osp-events-item:first-child{border-top:0;padding-top:0}
.osp-events-open{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  margin:0;
  padding:10px 12px;
  text-align:left;
  background:#0b1627;
}
.osp-events-item.current .osp-events-open{
  border-color:var(--gold);
}
.osp-events-title{
  color:#f5f7fb;
  font-weight:800;
  font-size:14px;
}
.osp-events-meta,
.osp-events-saved,
.osp-events-current{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.osp-events-current{color:var(--gold);font-weight:800}
.osp-events-remove{
  align-self:center;
  margin:0;
  padding:6px 10px;
  font-size:11px;
}
.osp-events-empty{
  color:var(--muted);
  font-style:italic;
  font-size:13px;
  padding:8px 0;
}

@media(max-width:1280px){
  .wrap{grid-template-columns:1fr}
  .header-row{grid-template-columns:1fr;align-items:start}
  .tagline{text-align:left;padding-bottom:0}
  .top-actions{justify-content:flex-start}
  .osp-admin-grid{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .form-grid{grid-template-columns:1fr 1fr}
  .tri-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  #helpModal{padding:8px}
  #helpModal .modalbox{width:100%;max-height:94vh;padding:16px;font-size:16px}
  #helpModal .modalbox h2{font-size:23px}
  #helpModal .modalbox h3{font-size:19px}
  #helpModal .modalbox h4{font-size:17px}
  #helpModal .modalbox p,
  #helpModal .modalbox li{font-size:16px;line-height:1.65}
  #helpModal .close{font-size:14px;min-height:42px}
  .help-table-wrap{overflow:visible}
  .help-table{min-width:0;font-size:15px}
  .help-table thead{display:none}
  .help-table,
  .help-table tbody,
  .help-table tr,
  .help-table td{display:block;width:100%}
  .help-table tr{
    margin:0 0 16px;
    border:1px solid #35506c;
    border-radius:10px;
    overflow:hidden;
    background:#0b182a;
  }
  .help-table td{
    border:0;
    border-bottom:1px solid #243f59;
    padding:11px 12px;
    font-size:15px;
  }
  .help-table td:last-child{border-bottom:0}
  .help-table td:nth-child(1){
    background:#132640;
    color:var(--gold);
    font-weight:900;
    font-size:16px;
  }
  .help-table td:nth-child(2)::before{content:"ENTRY / BASIC";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(3)::before{content:"MID-LEVEL";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(4)::before{content:"PREMIUM / COMPLEX";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
  .help-table td:nth-child(5)::before{content:"WHAT DRIVES COST UP";display:block;color:#7fe6df;font-weight:900;font-size:11px;margin-bottom:4px}
}
@media(max-width:860px){
  .review-grid{grid-template-columns:1fr}
  .span-2,.result-card.wide{grid-column:auto}
  .break-header{display:none}
  .break-row,.break-total-row{grid-template-columns:1fr auto;gap:6px 12px;padding:10px}
  .break-cell-pct,.break-cell-bar,.break-total-pct{grid-column:1/-1;text-align:left;padding-left:0}
  .break-track{height:14px}
  footer{flex-direction:column}
  .guidance-grid{grid-template-columns:1fr}
  .next-steps{border-left:0;border-top:1px solid #33506a;padding-left:0;padding-top:14px}
}
@media(max-width:720px){
  .form-grid,.tri-grid{grid-template-columns:1fr}
  .review-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .review-tools{width:100%;justify-content:space-between}
  .review-tools button{flex:1;justify-content:center;min-height:42px}
  .modal{padding:10px}
  .modalbox.guidancebox{width:100%;max-height:94vh;padding:14px}
  .next-step-text{font-size:15px}
  #guidanceQuestions li{font-size:15px}
  .review-status-label{font-size:12px}
  .review-status-pill{font-size:11px}
  .review-complete-btn{font-size:14px;min-height:44px}
  .review-complete-note{font-size:12px}
  .field input,.field select{font-size:16px;min-height:44px}
}
@media (max-aspect-ratio:4/5){
  #ospSplash img{width:100vw;max-height:100%}
}

/* v0.44 save-profile reminder + help warning */
.save-profile-reminder-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:99990;
  background:rgba(2,8,18,.88);
  align-items:center;
  justify-content:center;
  padding:24px;
}
.save-profile-reminder-modal.show{display:flex}
.save-profile-reminder-box{
  width:min(720px,94vw);
  background:linear-gradient(180deg,#0e1b2f,#091626);
  border:2px solid #f0b514;
  border-radius:8px;
  padding:28px 30px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.save-profile-reminder-kicker{
  color:#ff8e97;
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:7px;
}
.save-profile-reminder-box h2{
  margin:0 0 15px;
  color:#ffd55c;
  font-size:23px;
  line-height:1.25;
  letter-spacing:.8px;
}
.save-profile-reminder-box p{
  margin:11px 0;
  color:#eef4fa;
  font-size:15px;
  line-height:1.6;
}
.save-profile-ack{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:21px 0 16px;
  padding:14px;
  border:1px solid #58718b;
  background:#07111f;
  color:#f5f7fb;
  cursor:pointer;
  font-size:14px;
  line-height:1.45;
}
.save-profile-ack input{
  width:19px;
  height:19px;
  margin-top:1px;
  flex:0 0 auto;
}
#saveProfileReminderCloseBtn{
  width:100%;
  min-height:44px;
  border:1px solid #f0b514;
  border-radius:4px;
  background:linear-gradient(180deg,#f8c840,#efb224);
  color:#08101d;
  font-weight:900;
  letter-spacing:1px;
  cursor:pointer;
}
#saveProfileReminderCloseBtn:disabled{
  opacity:.35;
  cursor:not-allowed;
  filter:grayscale(.4);
}
.save-profile-return-note{
  margin-top:11px;
  color:#aebdcb;
  font-size:11px;
  text-align:center;
}
.help-save-warning{
  margin:0 0 20px;
  padding:15px 16px;
  border:2px solid #f0b514;
  border-left:6px solid #ff5f6d;
  border-radius:5px;
  background:rgba(120,28,40,.16);
  color:#f7fbff;
}
.help-save-warning h2{
  margin:0 0 8px !important;
  color:#ffd55c !important;
  font-size:18px !important;
  line-height:1.25;
}
.help-save-warning p{
  margin:6px 0 !important;
  color:#f7fbff !important;
  line-height:1.5;
}
#saveEventBtn.unsaved{
  background:linear-gradient(180deg,#ffd867,#e9b52c) !important;
  border-color:#ffe18a !important;
  color:#07111f !important;
  box-shadow:0 0 0 2px rgba(255,216,103,.18) !important;
}
@media(max-width:720px){
  .save-profile-reminder-box{padding:21px 18px}
  .save-profile-reminder-box h2{font-size:20px}
  .save-profile-reminder-box p{font-size:14px}
}
