/* pro-report.css -- the $29 Pro hail report (api/pro_report.py).
   Loaded AFTER /seo.css, so the Night Ops tokens, nav, footer, buttons and the
   .tool/.cta slabs come from there. This file adds:
     1. the order form and preview page bits,
     2. the viewer chrome around the paper (approved design:
        premium/night-ops-sat/hail-history-report.html),
     3. the paper sheet itself: light, prints in black and white, the hail ramp
        flipped for paper (bigger hail is darker) and hatched from 2 inches. */
:root{
  --paper:#FFFFFF; --p-bed:#EFF2F0; --p-bed2:#E3E8E5;
  --p-ink:#091818; --p-ink2:#35403D; --p-ink3:#525E5B;
  --p100:#D9C8F2; --p125:#C2A3E3; --p150:#AC7FCF; --p175:#955CB6; --p200:#7B3E95; --p250:#602A6F; --p300:#421A4B;
  --e3:inset 0 1px 0 rgba(240,241,235,.07),0 8px 20px rgba(1,7,7,.50),0 40px 96px -20px rgba(1,7,7,.85);
}

/* ================= 1. order form + preview ================= */
.pr-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:28px}
.pr-grid .tool{margin:0}
.pr-form{display:grid!important;grid-template-columns:1fr 1fr;gap:16px!important}
.pr-form .full{grid-column:1 / -1}
.pr-form label{min-width:0}
.pr-form input{width:100%;min-width:0!important}
.pr-form input[type=file]{height:auto;padding:12px 14px;font-size:15px}
.pr-form .hint{font:450 13px/1.45 var(--f-ui);letter-spacing:0;color:var(--ink3)}
.pr-form .btn{justify-self:start}
.pr-err{margin:0 0 16px;padding:12px 14px;border-radius:var(--r-control);background:var(--s2);color:var(--ink1);font:500 15px/1.45 var(--f-ui)}
.pr-err b{color:var(--critical)}
.pr-note{margin:14px 0 0;font:450 14px/1.5 var(--f-ui);color:var(--ink3)}
.pr-note a{color:var(--ink1)}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:var(--r-slab);overflow:hidden;margin:28px 0}
.vs-col{padding:24px;background:var(--s1)}
.vs-col.pro{background:var(--s2)}
.vs-col h3{margin:0 0 4px;font:650 20px/1.3 var(--f-ui)}
.vs-price{margin:0 0 14px;font:600 15px/1.3 var(--f-ui);color:var(--ink3)}
.vs-price b{font:600 34px/1 var(--f-display);color:var(--ink1);margin-right:6px}
.vs ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.vs li{display:flex;gap:10px;align-items:flex-start;font:450 15px/1.45 var(--f-ui);color:var(--ink2)}
.vs li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--ink3)}
.vs .pro li::before{background:var(--signal);transform:rotate(45deg);border-radius:1px}
.vs .btn{margin-top:auto}
.vs-col{display:flex;flex-direction:column}
.vs .btn-secondary{background:var(--s3)}
.vs .btn-secondary:hover{background:var(--s4)}
.vs.pro-only{grid-template-columns:1fr;margin:0}

.free-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;margin:4px 0 18px}
.free-sum div{display:flex;flex-direction:column;gap:6px}
.free-sum b{font:400 48px/.9 var(--f-display);letter-spacing:-.01em;color:var(--ink1)}
.free-sum span{font:450 14px/1.4 var(--f-ui);color:var(--ink3)}
.days{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}
.days li{padding:6px 10px;border-radius:var(--r-pill);background:var(--s2);font:600 13px/1 var(--f-num);letter-spacing:.01em;color:var(--ink2)}

.lock{position:relative;margin:8px 0 0;border-radius:var(--r-sheet);overflow:hidden;background:var(--s1)}
.lock-page{height:620px;overflow:hidden;display:flex;justify-content:center;padding-top:24px}
.lock-page .fit{box-shadow:var(--e3)}
.lock-veil{position:absolute;inset:180px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;
  background:linear-gradient(180deg,rgba(9,24,24,0) 0,rgba(9,24,24,.82) 90px,rgba(9,24,24,.94) 100%)}
.lock-veil p{margin:0;max-width:40ch;font:500 16px/1.5 var(--f-ui);color:var(--ink1)}
.btn-signal{background:var(--signal)!important;color:var(--on-signal)!important;height:52px;font-size:16px}
.btn-signal:hover{background:#FFE066!important}
.masked .sheet .r-body,.masked .sheet .storms,.masked .sheet .r-foot{filter:blur(5px);user-select:none}

/* ================= 2. the viewer chrome ================= */
.viewer{background:var(--ground)}
.world{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(1200px 700px at 50% 38%,#12302E 0,#0D1A1A 55%,#050D0D 100%)}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 20px 12px 12px}
.top::before{content:"";position:absolute;inset:0 0 -60px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(9,24,24,.97) 0,rgba(9,24,24,.90) 64px,rgba(9,24,24,0) 132px)}
.top .brand{flex:none}
.doc{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.25;padding-left:20px}
.doc strong{font:650 15px/1.25 var(--f-ui);color:var(--ink1)}
.doc span{font:450 13px/1.35 var(--f-ui);color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acts{display:flex;gap:12px;flex:none}
.acts .btn{height:44px}
.hint-row{position:relative;z-index:1;display:flex;justify-content:center;padding:4px 16px 20px}
.hint-note{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 18px;border-radius:var(--r-pill);background:rgba(9,24,24,.94);box-shadow:var(--e1);font:450 14px/1.45 var(--f-ui);color:var(--ink2)}
.hint-note b{font-weight:650;color:var(--ink1)}
.stage{position:relative;z-index:1;padding:0 16px 40px;overflow-x:clip}
.fit{--fit:1;width:calc(816px * var(--fit));margin:0 auto;border-radius:3px;box-shadow:var(--e3)}
.credits{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:0;padding:0 16px 28px;font:600 12px/1.4 var(--f-ui);letter-spacing:.02em;color:var(--ink3);text-align:center}
.credits a{color:var(--ink2)}
.toast{position:fixed;left:50%;bottom:28px;z-index:40;transform:translate(-50%,8px);opacity:0;pointer-events:none;background:var(--s3);color:var(--ink1);padding:13px 18px;border-radius:var(--r-sheet);box-shadow:var(--e3);font:500 15px/1.3 var(--f-ui);transition:opacity .16s,transform .16s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ================= 3. THE PAGE (paper) ================= */
.sheet{position:relative;width:816px;min-height:1056px;padding:32px 48px 26px;transform:scale(var(--fit));transform-origin:0 0;
  background:var(--paper);color:var(--p-ink);color-scheme:light;border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;font:430 13px/1.4 var(--f-ui);letter-spacing:0;text-align:left}
.sheet p{color:inherit}
.sheet strong,.sheet b{color:inherit}
.sheet .num{font-family:var(--f-num);font-variant-numeric:tabular-nums lining-nums}
.r-head{display:flex;align-items:center;gap:16px}
.roofer{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:0}
.roofer-mark{width:44px;height:44px;flex:none;border-radius:10px;object-fit:contain;background:#fff}
.roofer-letter{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:10px;background:var(--p-ink);color:#F0F1EB;font:700 20px/1 var(--f-ui)}
.roofer-name{margin:0;font:700 19px/1.1 var(--f-ui)}
.roofer-sub{margin:2px 0 0;font:450 13px/1.3 var(--f-ui);color:var(--p-ink2)}
.r-meta{margin:0;font:450 12.5px/1.35 var(--f-ui);color:var(--p-ink2);text-align:right}
.r-meta b{font-weight:650;color:var(--p-ink)}
.p-tag{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px;border-radius:999px;background:var(--p-bed);color:var(--p-ink2);font:650 12px/1 var(--f-ui);letter-spacing:.02em;white-space:nowrap}
.r-top{display:grid;grid-template-columns:1fr auto;grid-template-areas:"t t" "s r";column-gap:32px;align-items:end;margin-top:14px}
.r-title{grid-area:t;margin:0;font:620 39px/.94 var(--f-display);letter-spacing:-.01em;text-wrap:balance;color:var(--p-ink)}
.r-summary{grid-area:s;margin:12px 0 0;font:450 15.5px/1.45 var(--f-ui);max-width:60ch;color:var(--p-ink)}
.r-summary strong{font-weight:680}
.nw{white-space:nowrap}
.readout{grid-area:r;display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:end;justify-content:end;padding-bottom:2px}
.ro-num{font:300 96px/.76 var(--f-display);letter-spacing:-.02em;color:var(--p-ink)}
.ro-side{display:flex;flex-direction:column;gap:8px;padding-bottom:2px}
.ro-unit{font:500 24px/1 var(--f-display);color:var(--p-ink2);display:flex;align-items:center;gap:8px}
.ro-unit svg{width:22px;height:22px}
.ro-cap{font:500 13px/1.25 var(--f-ui);color:var(--p-ink2);max-width:16ch}
.sec{margin-top:14px}
.sec-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.h2{margin:0;font:700 14.5px/1.25 var(--f-ui);letter-spacing:.005em;color:var(--p-ink)}
.sub{margin:0;font:450 12.5px/1.35 var(--f-ui);color:var(--p-ink2)}
.src{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.src li{display:flex;gap:7px;align-items:center;font:450 12.5px/1.35 var(--f-ui);color:var(--p-ink2)}
.src li b{font-weight:700;color:var(--p-ink)}
.src svg{width:18px;height:18px;flex:none}
.st-yes .st-bg{fill:var(--p-ink)}
.st-yes .st-mark{fill:none;stroke:#FFFFFF;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.st-none .st-bg,.st-wait .st-bg{fill:none;stroke:var(--p-ink2);stroke-width:1.5}
.st-wait .st-bg{stroke-dasharray:2.4 2.2}
.st-none .st-mark,.st-wait .st-mark{fill:none;stroke:var(--p-ink2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.r-body{display:grid;grid-template-columns:432px 264px;column-gap:24px;margin-top:16px}
.cap-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px}
.cap-row span{font:450 12px/1.3 var(--f-ui);color:var(--p-ink3)}
.r-map{margin:0}
.map-svg{display:block;width:432px;height:250px;border-radius:4px;background:var(--p-bed)}
.map-svg text{paint-order:stroke fill;stroke:#FFFFFF;stroke-linejoin:round;stroke-width:3.5px}
.m-lab{font:650 11.5px var(--f-num);fill:var(--p-ink)}
.m-mute{font:600 11px var(--f-ui);fill:var(--p-ink2)}
.m-house{font:700 12.5px var(--f-ui);fill:var(--p-ink);stroke-width:4.5px}
.m-empty{font:600 13px var(--f-ui);fill:var(--p-ink2)}
.legend{display:flex;align-items:flex-start;gap:14px;margin-top:8px}
.legend svg{display:block;flex:none}
.legend-note{margin:0;font:450 11.5px/1.35 var(--f-ui);color:var(--p-ink2)}
.legend-note b{font-weight:650;color:var(--p-ink)}
.lg-num{font:650 11px var(--f-num);fill:var(--p-ink2)}
.gauge{display:flex;flex-direction:column}
.gauge-svg{display:block;overflow:visible}
.g-stone{fill:none;stroke:var(--p-ink);stroke-width:1.25}
.g-fill{fill:var(--p175);fill-opacity:.16}
.g-sel-case{fill:none;stroke:var(--p-ink);stroke-width:5}
.g-sel{fill:none;stroke:var(--signal);stroke-width:2.5}
.g-label{font:650 12px var(--f-ui);fill:var(--p-ink);paint-order:stroke fill;stroke:#FFFFFF;stroke-width:5px;stroke-linejoin:round}
.g-label .g-size{font-weight:450;font-family:var(--f-num)}
.gauge-foot{display:grid;grid-template-columns:96px 1fr;column-gap:12px;align-items:start;margin-top:8px;font:450 11.5px/1.3 var(--f-ui);color:var(--p-ink2)}
.gauge-foot p{margin:0}
.gauge-foot b{color:var(--p-ink);font-weight:700}
.gauge-big{margin:8px 0 0;font:500 13px/1.4 var(--f-ui);color:var(--p-ink2)}
.ruler{width:96px;height:24px;overflow:visible}
.ruler line,.ruler path{stroke:var(--p-ink);stroke-width:1;fill:none}
.ruler text{font:650 10.5px var(--f-num);fill:var(--p-ink)}
.storms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:6px}
.timeline{display:block;width:262px;height:36px;flex:none}
.tl-tick{stroke:var(--p-ink3);stroke-width:1}
.tl-year{font:600 11px var(--f-num);fill:var(--p-ink3)}
.sheet table{width:100%;margin:0;border-collapse:separate;border-spacing:0 1px;font-variant-numeric:tabular-nums lining-nums}
.sheet th,.sheet td{text-align:left;vertical-align:middle;padding:0 8px;color:inherit;background:none}
.sheet thead th{font:650 11.5px/1.15 var(--f-ui);color:var(--p-ink2);vertical-align:bottom;padding-bottom:3px;letter-spacing:.01em}
.sheet thead .grp{color:var(--p-ink);padding:3px 8px;background:var(--p-bed);border-radius:6px 6px 0 0}
.sheet thead .grp span{font-weight:450;color:var(--p-ink2)}
.sheet thead tr.sub-h th{background:var(--p-bed);padding-top:0;padding-bottom:5px}
.sheet thead tr.sub-h th.last{border-radius:0 0 6px 0}
.sheet thead tr.sub-h th.first{border-radius:0 0 0 6px}
.sheet tbody td{font:450 13px/1.15 var(--f-ui);height:30px;color:var(--p-ink)}
.sheet tbody tr:nth-child(odd):not(.claimed) td{background:var(--p-bed)}
.sheet tbody td:first-child{border-radius:6px 0 0 6px}
.sheet tbody td:last-child{border-radius:0 6px 6px 0}
.sheet tbody tr{break-inside:avoid}
.d1{display:block;font-weight:680;white-space:nowrap}
.d2{display:block;font-size:12px;color:var(--p-ink2);white-space:nowrap}
.sz{display:flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--f-num);font-weight:600;font-size:13.5px}
.sz svg{width:14px;height:14px;flex:none}
.sz-house{font-weight:700}
.none{color:var(--p-ink2)}
td.noradar{color:var(--p-ink2)}
tr.claimed td{background:var(--p-ink);color:#F0F1EB!important}
tr.claimed .d2,tr.claimed .none,tr.claimed td.noradar{color:#C2CCC8}
tr.claimed .dia{display:inline-block;width:7px;height:7px;background:var(--signal);transform:rotate(45deg);margin:0 8px 1px 1px;vertical-align:middle}
.r-foot{margin-top:auto!important;padding-top:14px;display:grid;grid-template-columns:76px 1fr;column-gap:16px;align-items:start;break-inside:avoid}
.qr{width:76px;height:76px;display:block}
.foot-col{display:grid;gap:3px}
.foot-col p{margin:0;font:450 11px/1.38 var(--f-ui);color:var(--p-ink2)}
.foot-col .check{font-size:13px;line-height:1.3;color:var(--p-ink)}
.foot-col .check b{font:700 14.5px/1 var(--f-num);letter-spacing:.04em}
.foot-col .honest{font-weight:650;color:var(--p-ink)}
.foot-col .fine{font-size:10.5px;color:var(--p-ink3)}

/* ================= verify page (Night Ops, no paper) ================= */
.ok-badge{display:inline-flex;align-items:center;gap:10px;margin:8px 0 0;padding:10px 16px;border-radius:var(--r-pill);background:var(--s2);font:650 15px/1.2 var(--f-ui);color:var(--ink1)}
.ok-badge i{width:10px;height:10px;border-radius:50%;background:var(--good)}
.facts-list{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin:20px 0;padding:0}
.facts-list dt{font:650 13px/1.4 var(--f-ui);letter-spacing:.02em;color:var(--ink3)}
.facts-list dd{margin:0;font:500 16px/1.4 var(--f-ui);color:var(--ink1)}
.vt td,.vt th{white-space:nowrap}

/* ================= narrow screens: the page reflows at body size ================= */
@media (max-width:1023px){ .top .wordmark{display:none} .doc{padding-left:8px} }
@media (max-width:900px){
  .pr-grid{grid-template-columns:1fr}
  .vs{grid-template-columns:1fr}
}
@media (max-width:767px){
  .pr-form{grid-template-columns:1fr}
  .free-sum{grid-template-columns:1fr 1fr}
  .free-sum b{font-size:40px}
  .lock-page{height:520px}
  .facts-list{grid-template-columns:1fr;gap:2px}
  .facts-list dd{margin-bottom:10px}
}
@media (max-width:847px){
  .top{flex-wrap:wrap;row-gap:6px;padding-right:16px}
  .doc{flex:1 1 calc(100% - 60px)}
  .acts{position:fixed;left:0;right:0;bottom:0;z-index:30;gap:10px;padding:18px 16px 14px;
    background:linear-gradient(180deg,rgba(9,24,24,0) 0,rgba(9,24,24,.94) 18px,var(--ground) 100%)}
  .acts .btn{flex:1 1 0;min-width:0;height:52px;padding:0 12px}
  .hint-row{padding:6px 16px 16px}
  .hint-note{border-radius:var(--r-sheet);padding:10px 14px}
  .credits{padding-bottom:110px}
}
.read .stage{padding:0 8px 24px}
.read .fit{width:auto!important;height:auto!important;max-width:640px;border-radius:14px}
.read .sheet{width:auto;min-height:0;transform:none;padding:20px 16px 22px;border-radius:14px;font-size:15px}
.read .r-head{flex-wrap:wrap;gap:10px 12px}
.read .roofer{flex:1 1 100%}
.read .r-meta{text-align:left;font-size:13px;margin-right:auto}
.read .r-top{grid-template-columns:1fr;grid-template-areas:"t" "r" "s";margin-top:20px}
.read .r-title{font-size:34px;line-height:.98}
.read .readout{justify-content:start;margin-top:16px}
.read .ro-num{font-size:64px}
.read .ro-cap{font-size:14px;max-width:20ch}
.read .r-summary{font-size:16px;line-height:1.5;margin-top:14px}
.read .sec{margin-top:26px}
.read .h2{font-size:17px}
.read .sub{font-size:14px}
.read .src{grid-template-columns:1fr;gap:10px}
.read .src li{font-size:15px;align-items:flex-start}
.read .r-body{grid-template-columns:1fr;row-gap:30px;margin-top:26px}
.read .map-svg{width:100%;height:auto}
.read .cap-row{flex-wrap:wrap}
.read .cap-row span{font-size:13px;color:var(--p-ink2)}
.read .legend{flex-direction:column;gap:6px;margin-top:12px}
.read .legend svg{max-width:100%;height:auto}
.read .legend-note{font-size:14px}
.read .gauge-svg{margin:4px auto 0}
.read .g-label{font-size:13px}
.read .gauge-foot{font-size:14px;margin-top:12px}
.read .storms-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:12px}
.read .sheet table,.read .sheet thead,.read .sheet colgroup{display:block}
.read .sheet thead,.read .sheet colgroup{display:none}
.read .sheet tbody{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%}
.read .sheet tbody tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"d d d d" "h a b c" "rep rep w w";gap:12px 8px;padding:12px 14px 14px;border-radius:12px}
.read .sheet tbody tr:nth-child(odd):not(.claimed){background:var(--p-bed)}
.read .sheet tbody tr.claimed{background:var(--p-ink);color:#F0F1EB}
.read .sheet tbody td{display:block;height:auto;padding:0;background:none!important;border-radius:0!important;font-size:15px;line-height:1.3}
.read .sheet td[data-l]::before{content:attr(data-l);display:block;margin-bottom:4px;font:650 12px/1.25 var(--f-ui);color:var(--p-ink3);letter-spacing:.01em}
.read .sheet tr.claimed td[data-l]::before{color:#C2CCC8}
.read .c-d{grid-area:d}.read .c-h{grid-area:h}.read .c-1{grid-area:a}.read .c-3{grid-area:b}.read .c-5{grid-area:c}.read .c-rep{grid-area:rep}.read .c-w{grid-area:w}
.read .c-nr{grid-area:2 / 1 / 3 / -1}
.read .sz{font-size:15px}
.read .r-foot{margin-top:30px!important}
.read .foot-col p{font-size:13px}
.read .foot-col .check{font-size:14px}
.read .foot-col .fine{font-size:12px}

/* ================= print: the page only, letter size, true scale ================= */
@page{size:letter;margin:0}
@media print{
  html,body{background:#FFFFFF!important}
  .world,.top,.hint-row,.toast,.skip,.credits,.acts{display:none!important}
  .stage{padding:0}
  .fit{width:auto!important;height:auto!important;box-shadow:none;border-radius:0}
  .sheet{transform:none!important;width:8.5in;min-height:10.98in;border-radius:0;overflow:visible}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
