:root{
  --ui-bg:#eceef1; --ui-panel:#fff; --ui-sunk:#f5f6f8;
  --ui-ink:#16181d; --ui-soft:#5c6270; --ui-faint:#8b91a0;
  --ui-line:#d8dbe1; --ui-line-soft:#e6e8ed;
  --blue:#2b3d98; --orange:#f7941d; --orange-ink:#a85a06; --focus:#2b3d98;
  --desk:#e2e5ea;
  --sans:"Archivo Narrow","Gotham Narrow",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Judson",Georgia,"Times New Roman",serif;
}
:root[data-theme="dark"]{
  --ui-bg:#15171c; --ui-panel:#1d2027; --ui-sunk:#24272f;
  --ui-ink:#e8eaef; --ui-soft:#a2a9b8; --ui-faint:#767d8c;
  --ui-line:#333843; --ui-line-soft:#2a2e37; --focus:#8fa0e8;
  --desk:#0d0f13;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ui-bg:#15171c; --ui-panel:#1d2027; --ui-sunk:#24272f;
    --ui-ink:#e8eaef; --ui-soft:#a2a9b8; --ui-faint:#767d8c;
    --ui-line:#333843; --ui-line-soft:#2a2e37; --focus:#8fa0e8;
    --desk:#0d0f13;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--ui-bg);color:var(--ui-ink);font-family:var(--sans);
     font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
[hidden]{display:none !important}

.gate{position:fixed;inset:0;display:grid;place-items:center;padding:20px;
      background:var(--ui-bg);z-index:50}
.gatecard{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:12px;
          padding:34px 30px;max-width:390px;width:100%;text-align:center}
.gatelogo{width:190px;max-width:70%;height:auto;margin-bottom:20px}
.gatecard h1{font-family:var(--serif);font-size:26px;color:var(--blue);margin:0 0 8px}
.gsub{color:var(--ui-soft);font-size:13px;margin:0 0 20px;line-height:1.55}
.gatecard form{display:flex;flex-direction:column;gap:9px}
.gmsg{font-size:12.5px;margin:14px 0 0;min-height:18px;line-height:1.5}
.gmsg.ok{color:var(--blue)} .gmsg.err{color:#b3261e}

.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 14px;
     background:var(--ui-panel);border-bottom:1px solid var(--ui-line);flex:0 0 auto}
.bar h1{font-size:14px;font-weight:700;margin:0;display:flex;align-items:center;gap:9px}
.bar h1 .dot{width:9px;height:9px;border-radius:50%;background:var(--orange)}
.who{margin-left:auto;font-size:11.5px;color:var(--ui-faint)}

button{font-family:var(--sans);font-size:12.5px;font-weight:600;padding:7px 13px;
  border-radius:7px;cursor:pointer;border:1px solid var(--ui-line);
  background:var(--ui-panel);color:var(--ui-ink);transition:background .12s}
button:hover{background:var(--ui-sunk)}
button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
button.primary{background:var(--blue);border-color:var(--blue);color:#fff}
button.primary:hover{background:#22307d}
button.ghost{border-color:transparent;color:var(--ui-soft);padding:7px 9px}
button.ghost:hover{background:var(--ui-sunk);color:var(--ui-ink)}
button.mini{padding:3px 8px;font-size:11px}
button:disabled{opacity:.5;cursor:not-allowed}

.main{display:flex;flex:1 1 auto;min-height:0}

.rail{width:212px;flex:0 0 212px;background:var(--ui-panel);
      border-right:1px solid var(--ui-line);overflow-y:auto;display:flex;
      flex-direction:column}
.railhead{display:flex;align-items:center;gap:6px;padding:9px 12px;
  font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:var(--ui-soft);background:var(--ui-sunk);position:sticky;top:0;z-index:2}
.railhead button{margin-left:auto}
.railhead .sub{font-weight:400;text-transform:none;letter-spacing:0;
  color:var(--ui-faint);margin-left:4px}
.plist,.vlist{padding:5px}
.pitem,.vitem{padding:7px 9px;border-radius:6px;cursor:pointer;font-size:12.5px;
  line-height:1.35;border:1px solid transparent}
.pitem:hover,.vitem:hover{background:var(--ui-sunk)}
.pitem.on,.vitem.on{background:var(--ui-sunk);border-color:var(--blue)}
.pitem .c{color:var(--ui-faint);font-size:10.5px;margin-top:2px}
.vitem .c{color:var(--ui-faint);font-size:10.5px}
.vitem .sent{color:var(--orange-ink);font-weight:700}
.chip{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;
  padding:1px 5px;border-radius:3px;vertical-align:1px;margin-left:5px}
.chip.cur{background:var(--blue);color:#fff}
.chip.old{background:var(--ui-line);color:var(--ui-soft)}
.empty-rail{padding:12px;color:var(--ui-faint);font-size:11.5px;line-height:1.5}

.form{width:380px;flex:0 0 380px;overflow-y:auto;background:var(--ui-panel);
      border-right:1px solid var(--ui-line);padding-bottom:60px}
details.grp{border-bottom:1px solid var(--ui-line-soft)}
details.grp>summary{padding:11px 16px;cursor:pointer;font-weight:700;font-size:12.5px;
  list-style:none;display:flex;align-items:center;gap:8px;user-select:none}
details.grp>summary::-webkit-details-marker{display:none}
details.grp>summary::before{content:"›";font-size:15px;color:var(--ui-faint);
  transition:transform .15s;display:inline-block;width:10px}
details.grp[open]>summary::before{transform:rotate(90deg)}
details.grp[open]>summary{background:var(--ui-sunk);color:var(--blue)}
details.grp>summary:hover{background:var(--ui-sunk)}
details.grp>summary .tag{margin-left:auto;font-size:10px;font-weight:600;
  color:var(--orange-ink);letter-spacing:.6px}
.grp-body{padding:4px 16px 16px}
label{display:block;margin:11px 0 0}
label .lab{display:block;font-size:10.5px;font-weight:600;letter-spacing:.5px;
  text-transform:uppercase;color:var(--ui-soft);margin-bottom:4px}
label .hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ui-faint)}
input[type=text],input[type=email],textarea,select{width:100%;font-family:var(--sans);
  font-size:13px;color:var(--ui-ink);background:var(--ui-sunk);
  border:1px solid var(--ui-line);border-radius:5px;padding:7px 9px;line-height:1.45}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--focus);
  background:var(--ui-panel);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 16%,transparent)}
textarea{resize:vertical;min-height:58px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rep{border:1px solid var(--ui-line);border-radius:7px;padding:9px 11px 12px;
     margin-top:10px;background:var(--ui-sunk)}
.rep-head{display:flex;align-items:center;gap:8px}
.rep-head .n{font-size:10.5px;font-weight:700;color:var(--ui-faint);
  letter-spacing:.5px;text-transform:uppercase}
.rep-head .sp{margin-left:auto;display:flex;gap:4px}
.addbtn{margin-top:10px;width:100%;border-style:dashed;color:var(--ui-soft)}
.chk{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;cursor:pointer}
.chk input{accent-color:var(--blue);width:15px;height:15px;cursor:pointer}
.note{font-size:11.5px;color:var(--ui-faint);line-height:1.5;margin:9px 0 0}

/* The desk is a distinct grey so the sheet reads as a sheet. The shadow is
   kept deliberately small — a large blur on a very tall element is the likeliest
   cause of the background-paint failure this preview hit earlier. */
.stage{flex:1 1 auto;overflow-y:auto;padding:30px 20px 90px;background:var(--desk)}
.paper{width:8.5in;max-width:100%;margin:0 auto;background:#fff;color:#1a1a1a;
  padding:0.75in;border:1px solid rgba(0,0,0,.10);
  box-shadow:0 1px 3px rgba(0,0,0,.13);
  font-family:var(--sans);font-size:9.9pt;line-height:1.47}
.ph{display:flex;align-items:center;justify-content:space-between;height:40pt}
.ph img{height:21pt;width:auto}
.ph .lab{font-family:var(--serif);font-style:italic;font-size:12pt}
.prule{height:5pt;background:var(--orange);margin:0 0 16pt}
h2.dt{font-family:var(--serif);font-weight:700;font-size:27pt;line-height:1.14;
  color:var(--blue);margin:0 0 5pt}
p.dst{font-family:var(--serif);font-style:italic;font-size:14.5pt;line-height:1.3;
  color:#5c5f66;margin:0 0 13pt}
.meta{border-top:.6pt solid #dcdde0;border-bottom:.6pt solid #dcdde0;padding:5pt 0;
  font-size:8.2pt;color:#5c5f66;line-height:1.55;margin-bottom:17pt}
.meta b{color:#1a1a1a} .meta .sep{display:inline-block;width:14px}
.sec{margin-top:15pt}
.sec .num{font-size:8.6pt;font-weight:700;letter-spacing:1px;color:var(--orange-ink);
  text-transform:uppercase;margin:0 0 3pt}
.sec h3{font-family:var(--serif);font-weight:700;font-size:15.5pt;color:var(--blue);
  margin:0 0 4pt;break-after:avoid}
.sec .hr{width:.34in;height:2pt;background:var(--orange);margin-bottom:9pt}
.sec p{margin:0 0 7pt}
.lede{font-size:11.2pt;line-height:1.46;margin-bottom:9pt !important}
.metrics{display:grid;border:.6pt solid #dcdde0;background:#f4f5f7;margin:0 0 12pt;
  break-inside:avoid}
.metrics .m{padding:11pt 8pt;text-align:center;border-left:.6pt solid #dcdde0}
.metrics .m:first-child{border-left:none}
.metrics .v{font-family:var(--serif);font-weight:700;font-size:19pt;color:var(--blue)}
.metrics .l{font-size:8.1pt;line-height:1.4;color:#5c5f66;margin-top:2pt}
table.grid{width:100%;border-collapse:collapse;border:.6pt solid #dcdde0;
  font-size:9.1pt;line-height:1.4}
table.grid th{background:var(--blue);color:#fff;font-size:8.6pt;text-align:left;
  padding:7pt 8pt;font-weight:600}
table.grid td{padding:7pt 8pt;vertical-align:top;border-top:.6pt solid #dcdde0}
table.grid tr:nth-child(even) td{background:#f4f5f7}
table.grid td.n{font-weight:700;white-space:pre-line}
table.grid tr.tot td{background:#f4f5f7;color:var(--blue);font-weight:700;
  border-top:1pt solid var(--blue)}
.scope{display:grid;grid-template-columns:1fr 1fr;column-gap:22pt}
.scope .g{break-inside:avoid;margin-bottom:6pt}
.scope h4,h4.sub{font-size:10.2pt;font-weight:700;margin:9pt 0 3pt}
.scope ul,.tiers ul{margin:0;padding:0;list-style:none}
.scope li{font-size:9.1pt;line-height:1.42;padding-left:11pt;position:relative;
  margin-bottom:3.4pt}
.scope li::before,.tiers li::before{content:"–";position:absolute;left:0;color:#5c5f66}
.tiers{display:grid;border:.6pt solid #dcdde0;break-inside:avoid;margin-bottom:9pt}
.tiers .t{padding:12pt 11pt 14pt;border-left:.6pt solid #dcdde0}
.tiers .t:first-child{border-left:none}
.tiers .t.rec{background:#f4f5f7;box-shadow:inset 0 0 0 1.6pt var(--blue)}
.tiers .flag{background:var(--orange);color:#fff;font-size:7.4pt;font-weight:700;
  letter-spacing:.7px;text-align:center;padding:3pt 0;margin-bottom:7pt}
.tiers .spacer{height:17pt}
.tiers .nm{font-family:var(--serif);font-weight:700;font-size:13pt;color:var(--blue);
  text-align:center}
.tiers .fr{font-size:8pt;color:#5c5f66;text-align:center;margin-bottom:7pt}
.tiers .pr{font-family:var(--serif);font-weight:700;font-size:21pt;text-align:center}
.tiers .un{font-size:8pt;color:#5c5f66;text-align:center;margin-bottom:8pt}
.tiers li{font-size:8.4pt;line-height:1.42;padding-left:9pt;position:relative;
  margin-bottom:3.2pt}
.pbox{background:#f4f5f7;border:.6pt solid #dcdde0;text-align:center;
  padding:13pt 14pt 14pt;margin-bottom:11pt;break-inside:avoid}
.pbox.accent{border:1.6pt solid var(--blue)}
.pbox .h{font-size:8.6pt;font-weight:700;letter-spacing:.7px;color:#5c5f66;
  margin-bottom:5pt}
.pbox.accent .h{color:var(--orange-ink)}
.pbox .p{font-family:var(--serif);font-weight:700;font-size:26pt;line-height:1.1}
.pbox.accent .p{color:var(--blue)}
.pbox .u{font-size:8.4pt;color:#5c5f66;margin-top:2pt}
.pbox .n{font-size:8.2pt;margin-top:7pt}
ul.bul{margin:0;padding:0;list-style:none}
ul.bul li{font-size:9.7pt;line-height:1.44;padding-left:13pt;position:relative;
  margin-bottom:4.5pt}
ul.bul li::before{content:"•";position:absolute;left:2pt}
.terms-note{font-size:8.4pt;line-height:1.47;color:#5c5f66;margin:5pt 0 0}
.terms-note b{color:#1a1a1a}

/* Client-only acceptance. A1M does not countersign a proposal — a blank
   agency line just raises the question of who else still has to approve it. */
.sigone{margin-top:12pt;break-inside:avoid;max-width:80%}
.sigone .lbl{font-size:8pt;color:#5c5f66}
.sigone .line{border-bottom:.8pt solid #1a1a1a;height:22pt;margin-bottom:2pt}
.sigone .blk{margin-bottom:14pt}
.sigrow{display:grid;grid-template-columns:1.6fr 1fr;gap:0 8%}
.pf{margin-top:26pt;padding-top:6pt;border-top:.6pt solid #dcdde0;font-size:7.4pt;
  color:#a7a9ac;line-height:1.45}

.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);
  background:var(--blue);color:#fff;padding:9px 17px;border-radius:8px;
  font-size:12.5px;font-weight:600;z-index:60;box-shadow:0 4px 16px rgba(0,0,0,.25)}

@media (max-width:1240px){
  .main{flex-wrap:wrap}
  .rail{width:100%;flex:0 0 auto;flex-direction:row;overflow-x:auto;
        border-right:none;border-bottom:1px solid var(--ui-line)}
  .form{width:100%;flex:0 0 auto;max-height:44vh;border-right:none;
        border-bottom:1px solid var(--ui-line)}
  .stage{padding:16px 10px 60px}
  .paper{padding:0.5in}
}

@page{size:letter;margin:0.75in}
@media print{
  body{background:#fff}
  .app{display:block;height:auto;overflow:visible}
  .bar,.rail,.form,.toast,.gate{display:none !important}
  .main{display:block}
  .stage{display:block;padding:0;overflow:visible;background:#fff}
  .paper{width:auto;padding:0;border:none;box-shadow:none;margin:0;max-width:none}
  .sec h3{break-after:avoid}
  .metrics,.tiers,.sigone,.scope .g,.pbox,table.grid tr{break-inside:avoid}
}
