:root{--navy:#2c2c86;--teal:#2c2c86;--blue:#2c2c86;--sky:#dcdcf2;--bg:#eef0f5;--amber:#c55a11;--green:#1a7f43;--maroon:#c0392b;}
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Segoe UI',Arial,Helvetica,sans-serif;background:var(--bg);color:#14161f;line-height:1.5;}
  .demo-banner{background:var(--green);color:#fff;text-align:center;padding:8px 16px;font-size:13px;font-weight:600;}
  header{background:#ffffff;border-bottom:1px solid #d7dae5;color:#14161f;padding:40px 32px 40px;}
  .wrap{max-width:none;margin:0;}
  header h1{font-size:34px;letter-spacing:.5px;color:#2c2c86;}
  header h1 span{color:#4646a5;}
  header p.tag{margin-top:8px;font-size:17px;color:#5b6070;max-width:700px;}
  .stats{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap;}
  .stat{background:#f3f4f9;border:1px solid #d7dae5;border-radius:10px;padding:10px 18px;}
  .stat b{display:block;font-size:22px;}
  .stat small{color:#5b6070;}
  main{max-width:none;margin:24px 0 40px;padding:0 32px;}
  .card{background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:26px 28px;margin-bottom:24px;}
  h2{color:var(--teal);font-size:20px;margin-bottom:14px;}
  h3{color:var(--navy);font-size:16px;margin:14px 0 8px;}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
  label{display:block;font-size:13px;font-weight:600;color:#3a3f52;margin-bottom:5px;}
  select,input{width:100%;padding:10px 12px;border:1.5px solid #c3c7d6;border-radius:8px;font-size:15px;background:#fff;}
  select:focus,input:focus{outline:2px solid var(--blue);border-color:var(--blue);}
  button.primary{margin-top:18px;background:var(--blue);color:#fff;border:none;border-radius:8px;padding:13px 30px;font-size:16px;font-weight:600;cursor:pointer;}
  button.primary:hover{background:#1f1f66;} #run-val-top-btn{background:#22c55e;} #run-val-top-btn:hover{background:#16a34a;} #run-val-top-btn:disabled,#run-val-top-btn:disabled:hover{background:#a7e8c2;cursor:not-allowed;}
  button.ghost{background:#fff;color:var(--blue);border:1.5px solid var(--blue);border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;margin-top:12px;}
  button.small{padding:8px 14px;font-size:13px;margin-top:0;}
  #result{display:none;}
  .val-head{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch;}
  .val-box{flex:1;min-width:220px;background:var(--sky);border-radius:12px;padding:20px;text-align:center;}
  .val-box .big{font-size:34px;font-weight:800;color:var(--teal);}
  .val-box .big.range{font-size:23px;}
  .val-box .rng{font-size:14px;color:#5b6070;margin-top:4px;}
  .val-box .rng a{color:var(--teal);font-weight:700;text-decoration:underline;cursor:pointer;}
  .val-box.total .big{color:var(--green);}
  .conf{display:inline-block;padding:3px 14px;border-radius:20px;font-size:13px;font-weight:700;color:#fff;margin-top:6px;}
  .conf.H{background:var(--green);} .conf.M{background:#b8860b;} .conf.L{background:var(--amber);} .conf.N{background:var(--maroon);} .conf.S{background:var(--blue);} .conf.G{background:#7a3fc0;}
  table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px;}
  th{background:var(--teal);color:#fff;text-align:left;padding:8px 10px;}
  td{padding:7px 10px;border-bottom:1px solid #d7dae5;}
  tr:nth-child(even) td{background:#f3f4f9;}
  .meth{font-size:14px;color:#5b6070;}
  .meth li{margin:6px 0 6px 18px;}
  footer{background:#ffffff;border-top:1px solid #d7dae5;color:#5b6070;font-size:12.5px;padding:26px 24px;line-height:1.7;}
  .flag{font-size:12.5px;color:#7a5200;background:#fbf3dd;border:1px solid #e8d49a;border-radius:8px;padding:8px 12px;margin-top:14px;display:none;}
  .flag.err{color:#c0392b;background:#fdecea;border-color:#f3c1bd;}
  .badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;color:#fff;}
  .badge.active{background:var(--green);} .badge.limited{background:#b8860b;} .badge.none{background:#8a8fa3;}
  .locmap-cell{flex:1 1 300px;min-width:280px;display:flex;flex-direction:column;border:1px solid #d7dae5;border-radius:8px;background:#fff;overflow:hidden;} .locmap-title{background:var(--navy);color:#fff;font-size:13px;font-weight:600;padding:7px 12px;letter-spacing:.2px;} .locmap-body{padding:8px;flex:1 1 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:420px;} #gab-map-wrap svg{max-width:100%;max-height:100%;height:auto;} .locmap-body.is-empty{aspect-ratio:auto;} #property-map-wrap{aspect-ratio:auto;overflow:visible;align-items:flex-start;flex-direction:column;padding-bottom:12px;} .locmap-cell.is-hidden{display:none;} td,th{overflow-wrap:break-word;} @media screen{ #gab-corridor-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;} #gab-corridor-wrap table{min-width:440px;} .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;} .tbl-scroll table{min-width:520px;margin-top:8px;} .tbl-scroll{margin-top:8px;} .tbl-scroll table{margin-top:0;} } #map{height:360px;border-radius:12px;margin-top:8px;}
  #statewide-map{height:460px;border-radius:12px;margin-top:8px;}
  .restrict li{margin:8px 0 8px 18px;font-size:14px;color:#3a3f52;}
  #certificate{display:none;}
  @media print{
    .demo-banner,header,main,footer{display:none !important;}
    #certificate{display:block !important;position:static;width:100%;padding:40px;}
  }
  .cert-inner{border:3px double var(--teal);padding:36px;font-size:15px;}
  .cert-inner h2{font-size:26px;text-align:center;}
  .cert-inner .cert-val{font-size:30px;font-weight:800;color:var(--teal);text-align:center;margin:16px 0;}
  .cert-row{display:flex;justify-content:space-between;border-bottom:1px solid #ccc;padding:7px 0;}
  .two-col{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;}
  .two-col>div{flex:1;min-width:300px;}
  .method-box{margin-top:14px;padding:14px 16px;background:#f3f4f9;border:1px solid #d7dae5;border-radius:10px;font-size:13px;}
  .method-steps{margin:8px 0 0 0;padding-left:0;list-style:none;counter-reset:ms;}
  .method-steps li{position:relative;padding:8px 0 8px 34px;border-top:1px solid #e7e9f2;color:#5b6070;}
  .method-steps li::before{counter-increment:ms;content:counter(ms);position:absolute;left:0;top:9px;width:22px;height:22px;border-radius:50%;background:#e7e9f2;color:#5b6070;font-size:11px;font-weight:700;text-align:center;line-height:22px;}
  .method-steps li.used{color:#14161f;}
  .method-steps li.used::before{background:var(--navy);color:#fff;}
  .method-steps li>b{display:block;margin-bottom:2px;}
  .meth-tbl{width:auto;font-size:12px;margin:6px 0 0;}
  .meth-tbl th{padding:4px 10px;} .meth-tbl td{padding:3px 10px;}
  details.fold summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;}
  details.fold summary::-webkit-details-marker{display:none;}
  details.fold summary h2{margin:0;}
  details.fold summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #d7dae5;background:#f3f4f9;color:var(--navy);font-size:20px;line-height:28px;text-align:center;font-weight:700;}
  details.fold[open] summary::after{content:"\2212";}
  details.fold summary:hover::after{background:var(--navy);color:#fff;border-color:var(--navy);}
  details.fold[open] summary{margin-bottom:14px;}
  .fold-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;} .res-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;} #reference-card .fold{box-shadow:none;border:1px solid #d7dae5;margin-bottom:14px;padding:18px 22px;} #reference-card .fold-row{display:block;}
  .fold-row .card{margin-bottom:24px;}
  @media(max-width:900px){.fold-row{grid-template-columns:1fr;gap:0;} .res-two-col{grid-template-columns:1fr;}}
  .lic-wrap{margin:4px 0 0;}
  .lic-doc{background:#fff;border:1px solid #d7dae5;border-radius:3px;width:100%;max-width:520px;aspect-ratio:210/297;margin:0 auto;padding:5.7em 4.7em 3.1em;box-sizing:border-box;display:flex;flex-direction:column;font-family:Arial,Helvetica,sans-serif;color:#111;font-size:9.5px;line-height:1.45;box-shadow:0 2px 12px rgba(0,0,0,.10);}
  .lic-actions{max-width:520px;margin:12px auto 0;display:flex;justify-content:flex-end;}
  .lic-actions button.primary{margin-top:0;}
  .lic-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;margin-bottom:2.75em;}
  .lic-title{grid-column:2;text-align:center;padding-top:1.1em;}
  .lic-title>div:first-child{font-size:1.45em;font-weight:700;letter-spacing:.03em;}
  .lic-act{font-style:italic;font-weight:700;font-size:1.03em;}
  .lic-logo{grid-column:3;justify-self:end;height:5.8em;width:auto;max-width:38%;object-fit:contain;}
  .lic-row{display:grid;grid-template-columns:13.8em 1fr 8.3em 1fr;column-gap:.85em;margin-bottom:1.05em;}
  .lic-row>b{font-weight:700;}
  .lic-row>.wide{grid-column:2 / span 3;}
  .lic-cond{margin:1.5em 0 1em;}
  .lic-given{font-weight:700;margin:0 0 1.5em;}
  .lic-sig{font-weight:700;margin:0 0 2.75em;line-height:1.4;}
  .lic-foot{margin-top:auto;border-top:1px solid #333;padding-top:.55em;font-size:.76em;color:#333;display:flex;justify-content:space-between;gap:1.1em;flex-wrap:wrap;line-height:1.5;}
  @media(max-width:600px){.lic-doc{font-size:7px;}}
  .search-layout{display:flex;justify-content:center;align-items:stretch;gap:0;}
  .search-left{width:100%;max-width:560px;flex:0 1 560px;transition:flex-basis .55s cubic-bezier(.4,0,.2,1),max-width .55s cubic-bezier(.4,0,.2,1);}
  .search-layout.has-result{justify-content:flex-start;gap:32px;}
  .search-layout.has-result .search-left{flex:0 0 420px;max-width:420px;}
  @media(max-width:900px){.search-layout,.search-layout.has-result{flex-direction:column;gap:16px;} .search-layout.has-result .search-left{flex:0 0 auto;max-width:none;}}
  .search-left h2{margin-bottom:14px;font-size:22px;}
  .search-row{display:grid;grid-template-columns:1fr;gap:12px;align-items:end;}
  .search-row button.primary{width:100%;}
  .search-right{min-width:0;display:flex;flex-direction:column;border:1px solid #d7dae5;border-radius:12px;background:#f3f4f9;padding:22px;flex:1 1 0;opacity:0;transform:translateX(48px);max-width:0;padding-left:0;padding-right:0;border-color:transparent;overflow:hidden;pointer-events:none;transition:opacity .5s ease .2s,transform .55s cubic-bezier(.4,0,.2,1) .15s,max-width .55s cubic-bezier(.4,0,.2,1),padding .55s cubic-bezier(.4,0,.2,1),border-color .3s;}
  .search-layout.has-result .search-right{opacity:1;transform:none;max-width:3000px;padding:22px;border-color:#d7dae5;overflow:visible;pointer-events:auto;}
  @media(max-width:900px){.search-right{transform:translateY(24px);max-width:none;max-height:0;padding:0 22px;transition:opacity .45s ease,transform .5s ease,max-height .5s ease,padding .5s ease;} .search-layout.has-result .search-right{max-height:5000px;padding:22px;}}
  @keyframes licIn{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
  .search-right .lic-wrap{animation:licIn .6s cubic-bezier(.4,0,.2,1) .25s both;}
  .locate-maps{margin-top:4px;}
  .search-notes{display:none;margin-top:12px;font-size:12.5px;}
  .search-notes .flag{margin-top:0;}
  .side-pages{display:flex;gap:24px;align-items:flex-start;}
  .side-page{display:block;min-width:0;}
  #side-page-licence{flex:0 0 520px;max-width:520px;}
  #side-page-map{flex:1 1 0;border-left:1px solid #d7dae5;padding-left:24px;}
  @media(max-width:1300px){.side-pages{flex-direction:column;} #side-page-licence{flex:0 0 auto;max-width:520px;width:100%;} #side-page-map{border-left:0;padding-left:0;margin-top:22px;padding-top:18px;border-top:1px solid #d7dae5;width:100%;}}
  .side-section-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#5b6070;margin-bottom:10px;}
  .search-right .propmap-wrap{max-width:520px;}
  .search-right .propmap-fit{max-width:520px;}
  .search-right .flag{margin-top:0;}
  #search-placeholder{margin:0;padding:14px 16px;color:#8a8fa3;text-align:center;}
  .search-right:has(#search-status:not(:empty)) #search-placeholder,.search-right:has(#no-search-note[style*="block"]) #search-placeholder{display:none;}
  .search-right .lic-doc{margin:0;}
  .search-right .lic-wrap{margin:0;}
  .search-right .lic-actions{display:none;}
  .lic-wrap{position:relative;max-width:520px;margin:0 auto;}
  .propmap-fit{position:relative;width:100%;max-width:1100px;margin:0 auto;overflow:hidden;border-radius:8px;touch-action:pan-y;user-select:none;}
  .propmap-fit.zoomed{touch-action:none;cursor:grab;}
  .propmap-fit.zoomed:active{cursor:grabbing;}
  .propmap-inner{position:absolute;left:0;top:0;transform-origin:0 0;}
  .propmap-wrap{position:relative;width:100%;max-width:1100px;margin:0 auto;}
  .propmap-zoom{position:absolute;top:72px;right:11px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(255,255,255,.95);border:1px solid #d7dae5;border-radius:8px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);}
  .propmap-zoom button{width:32px;height:32px;border:1px solid #d7dae5;border-radius:6px;background:#fff;color:var(--navy);font-size:18px;font-weight:700;line-height:1;cursor:pointer;}
  .propmap-zoom button:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
  .propmap-zoom-level{font-size:10px;color:#5b6070;min-width:32px;text-align:center;font-family:Arial,Helvetica,sans-serif;padding:2px 0 1px;}
  @media(max-width:640px){.propmap-zoom{position:static;flex-direction:row;justify-content:center;margin:8px auto 0;width:max-content;box-shadow:none;} .propmap-zoom button{width:40px;height:40px;} .propmap-zoom-level{font-size:12px;min-width:44px;}}
  .lic-wrap .lic-doc{cursor:zoom-in;}
  .lic-zoom{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid #d7dae5;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);}
  .lic-zoom:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
  .lic-full{position:fixed;inset:0;z-index:9000;background:rgba(20,22,31,.78);display:flex;flex-direction:column;}
  .lic-full[hidden]{display:none;}
  body.lic-full-open{overflow:hidden;}
  .lic-full-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #d7dae5;color:var(--navy);font-weight:700;}
  .lic-full-actions{display:flex;gap:8px;}
  .lic-full-actions button{margin-top:0;}
  .lic-full-body{flex:1;overflow:auto;padding:28px 16px;}
  .lic-full .lic-doc{width:min(794px,100%);max-width:794px;font-size:clamp(7.5px,1.826vw,14.5px);aspect-ratio:210/297;margin:0 auto;padding:5.7em 4.7em 3.1em;border:0;border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,.45);cursor:default;}
  @media print{.lic-full{display:none !important;}}
  @media(max-width:900px){.search-layout{grid-template-columns:1fr;gap:16px;}}
  .search-row label{font-size:14px;}
  .search-row input{padding:14px 16px;font-size:17px;}
  .search-row select{padding:14px 14px;font-size:16px;}
  .search-row button.primary{margin-top:0;padding:15px 28px;font-size:17px;white-space:nowrap;}
  #lic-pdf-btn{display:none;width:100%;margin-top:0;padding:13px 22px;font-size:15px;}
  #search-card:has(#lic-doc) #lic-pdf-btn{display:block;}
  .card.nosearch #lic-pdf-btn{display:none;}
  .search-row>div{margin:0;}
  .search-fields{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #d7dae5;}
  .search-fields-title{color:var(--navy);font-size:14px;}
  .search-fields>div{margin:0;} @media(min-width:901px){ .search-layout:not(.has-result) .search-left{max-width:1400px;flex:0 1 1400px;display:grid;grid-template-columns:1fr 2fr;column-gap:44px;align-items:start;} .search-layout:not(.has-result) .search-left h2{grid-column:1 / -1;} .search-layout:not(.has-result) .search-fields{margin-top:0;padding-top:0;border-top:0;border-left:1px solid #d7dae5;padding-left:44px;height:100%;grid-template-columns:1fr 1fr;column-gap:24px;} .search-layout:not(.has-result) .search-fields>div:first-child{grid-column:1 / -1;} .search-layout:not(.has-result) .search-fields .grid{grid-column:1 / -1;grid-template-columns:1fr 1fr;column-gap:24px;} .search-layout:not(.has-result) .search-fields #evidence-upload-wrap,.search-layout:not(.has-result) .search-fields #gab-subarea-wrap,.search-layout:not(.has-result) .search-fields #search-notes,.search-layout:not(.has-result) .search-fields #geo-status{grid-column:1 / -1;} }
  .search-fields label{font-size:13px;} .search-fields .grid{grid-template-columns:1fr;gap:12px;}#evidence-upload-wrap label:hover{background:#e8ebfa;}
  .card.nosearch .search-row>div:nth-child(2),.card.nosearch .search-row>div:nth-child(3),.card.nosearch .search-row>div:nth-child(4),.card.nosearch #history-wrap{display:none;}
/* ── Registration overlay ── */
#reg-ov{position:fixed;inset:0;z-index:99999;background:#0f1e26;display:flex;align-items:center;justify-content:center;padding:16px;font-family:Arial,Helvetica,sans-serif;}
#reg-ov .rg-card{background:#fff;border-radius:18px;padding:38px 42px;max-width:500px;width:100%;box-shadow:0 24px 80px rgba(0,0,0,.55);}
#reg-ov .rg-logo{font-weight:900;font-size:30px;letter-spacing:-1px;margin-bottom:4px;}
#reg-ov .rg-logo .aq{color:#1f4e5f;}#reg-ov .rg-logo .vl{color:#22c55e;}
#reg-ov h2{margin:0 0 2px;font-size:16px;color:#1a2a30;}
#reg-ov .rg-sub{margin:0 0 22px;font-size:13px;color:#6b7a8d;}
#reg-ov .rg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
#reg-ov .rg-full{margin-bottom:12px;}
#reg-ov label{display:block;font-size:11px;font-weight:700;color:#2c2c86;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;}
#reg-ov input{width:100%;box-sizing:border-box;border:1.5px solid #d4d8e8;border-radius:9px;padding:9px 12px;font-size:14px;color:#1a2a30;outline:none;transition:border .15s;}
#reg-ov input:focus{border-color:#2c2c86;background:#f7f8ff;}
#reg-ov input.rg-err{border-color:#dc2626;background:#fff8f8;}
#reg-ov .rg-btn{width:100%;margin-top:6px;padding:13px;background:#22c55e;color:#fff;font-size:15px;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:background .18s;}
#reg-ov .rg-btn:hover{background:#16a34a;}
#reg-ov .rg-msg{font-size:12px;color:#dc2626;text-align:center;min-height:18px;margin-top:8px;}
#reg-ov .rg-note{font-size:11.5px;color:#9aabba;text-align:center;margin-top:10px;}
/* ── AquaVal phase layout system ───────────────────────────────────────── */
/* Phase 1: search only */
body.av-p1 .search-fields,
body.av-p1 #search-side,
body.av-p1 #result,
body.av-p1 #reference-card,
body.av-p1 #run-val-top-btn,
body.av-p1 #lic-pdf-btn,
body.av-p1 #history-wrap,
body.av-p1 .stats { display:none!important; }
body.av-p1 .search-layout { display:block!important;grid-template-columns:1fr!important; }
body.av-p1 .search-right { display:none!important; }
body.av-p1 #search-card { max-width:620px;margin:48px auto; }
body.av-p1 .search-left { max-width:none!important;flex:none!important;width:100%!important;display:block!important; }
body.av-p1 .search-row { display:flex!important;flex-direction:column!important;gap:12px; }
body.av-p1 .search-row>div { width:100%!important;box-sizing:border-box!important; }
body.av-p1 .search-row>div select,
body.av-p1 .search-row>div input { width:100%!important;box-sizing:border-box!important;display:block!important;visibility:visible!important; }
body.av-p1 .search-row>div:nth-child(1),
body.av-p1 .search-row>div:nth-child(2),
body.av-p1 .search-row>div:nth-child(3) { display:block!important;visibility:visible!important; }
body.av-p1 header .tag,
body.av-p1 header .stats { display:none!important; }
body.av-p3 header .tag { display:none!important; }
body.av-p3 header h1 { font-size:34px!important;letter-spacing:.5px!important;margin:0 0 6px!important; }
body.av-p3 header { padding:10px 32px 8px;border-bottom:1px solid #d7dae5; }
body.av-p3 #search-card { max-width:none!important;margin:0!important;border-radius:12px;border:1px solid #d7dae5;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:24px 24px 24px 32px; }
body.av-p3.av-val header { padding:12px 24px;border-bottom:1px solid #d7dae5; }
body.av-p1 header { padding:20px 32px 16px; }
body.av-p1 { display:flex!important;flex-direction:column!important;min-height:100vh; }
body.av-p1 main { flex:1 1 auto; }
/* Phase 2: show only search (left) + hit list (right) */
body.av-p2 .search-fields,
body.av-p2 #run-val-top-btn,
body.av-p2 #lic-pdf-btn,
body.av-p2 #result,
body.av-p2 #reference-card,
body.av-p2 .stats,
body.av-p2 #history-wrap,
body.av-p2 #lic-full { display:none!important; }
body.av-p2 .search-layout { display:grid!important;grid-template-columns:1fr 2fr!important; }
body.av-p2 .search-left { display:block!important;width:100%!important;max-width:none!important;
  padding:8px 28px 16px 0; }
body.av-p2 .search-row { display:flex!important;flex-direction:column!important;gap:12px;width:100%; }
body.av-p2 .search-row>div { width:100%!important;box-sizing:border-box!important; }
body.av-p2 .search-row>div:nth-child(1),
body.av-p2 .search-row>div:nth-child(2),
body.av-p2 .search-row>div:nth-child(3) { display:block!important;visibility:visible!important; }
body.av-p2 .search-row>div select,
body.av-p2 .search-row>div input { width:100%!important;box-sizing:border-box!important; }
body.av-p2 .search-row button.primary { width:100%!important;box-sizing:border-box!important; }
body.av-p2 .search-row label { display:block;font-size:13px;margin-bottom:4px;color:#2c3e50; }
body.av-p2 .search-right { display:flex!important;flex-direction:column!important;max-width:none!important;opacity:1!important;transform:none!important;padding:22px!important;border-color:#d7dae5!important;overflow:hidden!important;max-height:calc(100vh - 180px);pointer-events:auto!important; }
body.av-p2 #av-hits { display:block!important;max-height:calc(100vh - 220px);overflow-y:auto;padding-right:6px; }
body.av-p2 #search-side .side-pages { display:none!important; }
body.av-p2 #search-side { display:flex!important;flex-direction:column; }
/* Back button */
#av-back { display:none; }
body.av-p3 .stats,
body.av-p3 #reference-card { display:none!important; }
body.av-val .stats { display:flex!important; }
body.av-val #reference-card { display:block!important; }
/* Gap + card styling for result below the grid */
body.av-val #result {
  margin-top:28px!important;
  border-radius:14px!important;
  border:1px solid #d7dae5!important;
  box-shadow:0 2px 10px rgba(0,0,0,.07)!important;
}
body.av-p3 #av-hits { display:none!important; }
/* Phase 3 before Generate: job details on right */
body.av-p3:not(.av-val) .search-layout { display:grid!important;grid-template-columns:1fr 2fr!important;align-items:start; }
body.av-p3:not(.av-val) .search-left { display:contents!important; }
body.av-p3:not(.av-val) .search-left>h2,
body.av-p3:not(.av-val) .search-row { grid-column:1; }
body.av-p3:not(.av-val) .search-row { width:100%!important;box-sizing:border-box!important; }
body.av-p3:not(.av-val) .search-row>div { width:100%!important;box-sizing:border-box!important; }
body.av-p3:not(.av-val) .search-row>div select,
body.av-p3:not(.av-val) .search-row>div input { width:100%!important;box-sizing:border-box!important;max-width:none!important; }
body.av-p3:not(.av-val) .search-fields { grid-column:2;display:grid!important;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:12px;align-items:start;background:#f8f9fc;border-radius:12px;padding:22px; }
body.av-p3:not(.av-val) .search-fields>div:first-child,
body.av-p3:not(.av-val) .search-fields #geo-status,
body.av-p3:not(.av-val) .search-fields #search-notes { grid-column:1/-1; }
body.av-p3:not(.av-val) .search-fields .grid {display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:16px;row-gap:10px;grid-column:1/-1; }
body.av-p3 .search-fields>div:has(button[onclick*="locateAddress"]) { display:none!important; }
body.av-p3:not(.av-val) .search-right,
body.av-p3:not(.av-val) #result { display:none!important; }
/* Phase 3 job details — full-width items inside dissolved .grid */
body.av-p3 .search-fields>p,
body.av-p3 .search-fields #gab-subarea-wrap,
body.av-p3 .search-fields #evidence-upload-wrap { grid-column:1/-1; }
/* Phase 3 after Generate: restore left block for normal layout */
body.av-p3.av-val .search-left { display:block!important;width:100%!important;max-width:none!important;flex:none!important; }
body.av-p3.av-val .search-left .search-row { width:100%!important;box-sizing:border-box!important; }
body.av-p3.av-val .search-left .search-row>div { width:100%!important;box-sizing:border-box!important; }
body.av-p3.av-val .search-left input,
body.av-p3.av-val .search-left select { width:100%!important;box-sizing:border-box!important;max-width:none!important; }
body.av-p3 .search-row button {
  width:100%!important;box-sizing:border-box!important;max-width:none!important; }
/* 2-column job details in Phase 3 av-val */
body.av-p3.av-val .search-fields { display:grid!important;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:10px;align-items:start; }
body.av-p3.av-val .search-fields>div:first-child,
body.av-p3.av-val .search-fields #geo-status,
body.av-p3.av-val .search-fields #search-notes { grid-column:1/-1; }
body.av-p3.av-val .search-fields .grid {display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:16px;row-gap:10px;grid-column:1/-1; }
body.av-p3.av-val .search-layout {display:grid!important;grid-template-columns:1fr 2fr!important;align-items:start; }
body.av-p3.av-val .search-right {display:flex!important;flex-direction:column!important;max-width:none!important;opacity:1!important;transform:none!important;max-height:none!important;padding:22px!important;border-color:#d7dae5!important;pointer-events:auto!important;overflow:visible!important; }
body.av-p3.av-val .search-right #av-hits { display:none!important; }
/* Fold search-left after Generate */
body.av-folded .search-left { display:none!important; }
body.av-folded .search-layout { display:block!important; }
body.av-folded #unfold-btn { display:block!important; }
#av-back { align-items:center;gap:6px;background:none;border:1.5px solid #d7dae5;
           border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer;
           color:#2c2c86;margin-bottom:14px;transition:background .15s; }
#av-back:hover { background:#f0f2ff; }
/* Hit cards */
#av-hits { display:none; padding:4px 0; }
#av-hits h3 { margin:0 0 14px;font-size:15px;color:#1a2a30;font-family:Arial,sans-serif; }
.av-hit { background:#fff;border:1.5px solid #d7dae5;border-radius:12px;
          padding:14px 18px;cursor:pointer;margin-bottom:10px;
          transition:border-color .15s,box-shadow .15s; }
.av-hit:hover { border-color:#2c2c86;box-shadow:0 2px 12px rgba(44,44,134,.13); }
.av-hit-name { font-weight:700;color:#2c2c86;font-size:14px; }
.av-hit-meta { font-size:13px;color:#5b6070;margin-top:3px; }
.av-hit-addr { font-size:12.5px;color:#6b7a8d;margin-top:2px; }
#reval-banner-btn:hover{background:#f0f3ff;border-color:#f0f3ff;}
@keyframes av-spin { to { transform:rotate(360deg); } }
body.av-loading #search-btn { pointer-events:none;opacity:.8; }
body.av-loading #search-btn::after {
  content:"";display:inline-block;width:14px;height:14px;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;
  border-radius:50%;animation:av-spin .7s linear infinite;
  vertical-align:middle;margin-left:8px; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — tablet/mobile (≤768px)
   ═══════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* Reduce page margins */
  main { padding:0 16px!important; margin:12px 0 24px!important; }
  header { padding:20px 16px!important; }
  body.av-p1 header { padding:16px 16px 12px!important; }
  body.av-p3 header { padding:8px 16px!important; }
  body.av-p3 header h1 { font-size:24px!important; }
  body.av-p3 #search-card { padding:16px!important; }

  /* Collapse Phase 3 outer search grid to single column */
  body.av-p3:not(.av-val) .search-layout,
  body.av-p3.av-val .search-layout { grid-template-columns:1fr!important; }

  /* search-left was display:contents (children floated into parent grid)
     — revert to a normal block so it stacks above search-fields */
  body.av-p3:not(.av-val) .search-left { display:block!important; }
  body.av-p3:not(.av-val) .search-left>h2,
  body.av-p3:not(.av-val) .search-row { grid-column:auto!important; }

  /* Job-details fields grid: single column */
  body.av-p3:not(.av-val) .search-fields {
    grid-column:auto!important;
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  body.av-p3.av-val .search-fields { grid-template-columns:1fr!important; }
  body.av-p3:not(.av-val) .search-fields .grid,
  body.av-p3.av-val .search-fields .grid { grid-template-columns:1fr!important; }

  /* Result panel padding */
  body.av-p3.av-val .search-right { padding:16px!important; }

  /* Stats wrap tightly */
  .stats { gap:10px!important; }
  .stat-card { min-width:0!important; flex:1 1 40%!important; }
}

/* ── extra-small phones (≤480px) ── */
@media(max-width:480px){
  main { padding:0 10px!important; }
  header { padding:14px 10px!important; }
  body.av-p1 header { padding:12px 10px!important; }
  body.av-p3 header { padding:6px 10px!important; }
  body.av-p3 header h1,
  body.av-p1 header h1 { font-size:20px!important; }
  body.av-p3 #search-card { padding:12px!important; }
  body.av-p3:not(.av-val) .search-fields { padding:12px!important; }
  .stat-card { flex:1 1 100%!important; }
}

/* ── "Is this correct?" step, shown before payment ───────────────────────── */
#aqv-confirm{position:fixed;inset:0;z-index:99999;background:rgba(17,22,40,.62);
  display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto;}
#aqv-confirm .aqv-cf-box{background:#fff;border-radius:12px;max-width:560px;width:100%;
  box-shadow:0 18px 50px rgba(12,18,40,.35);padding:26px 26px 22px;font-family:inherit;}
#aqv-confirm h2{margin:0 0 6px;font-size:21px;color:#1b2559;}
#aqv-confirm .aqv-cf-sub{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#4a5170;}
#aqv-confirm .aqv-cf-rows{border:1px solid #dfe3ee;border-radius:9px;overflow:hidden;}
#aqv-confirm .aqv-cf-row{display:flex;justify-content:space-between;gap:18px;
  padding:9px 14px;font-size:14px;border-bottom:1px solid #eceff7;}
#aqv-confirm .aqv-cf-row:last-child{border-bottom:0;}
#aqv-confirm .aqv-cf-row:nth-child(odd){background:#f7f8fc;}
#aqv-confirm .aqv-cf-row span{color:#5b6280;}
#aqv-confirm .aqv-cf-row b{color:#16204a;text-align:right;}
#aqv-confirm .aqv-cf-warn{margin:14px 0 0;padding:11px 13px;border-radius:8px;
  background:#fdf3e2;border:1px solid #f0d9a8;color:#7a5306;font-size:13.5px;line-height:1.5;}
#aqv-confirm .aqv-cf-price{margin:16px 0 18px;font-size:13.5px;line-height:1.5;color:#33406b;}
#aqv-confirm .aqv-cf-btns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
#aqv-confirm button{font:600 14.5px/1 inherit;padding:12px 20px;border-radius:8px;cursor:pointer;border:1px solid transparent;}
#aqv-confirm .aqv-cf-edit{background:#fff;border-color:#c9cee0;color:#33406b;}
#aqv-confirm .aqv-cf-edit:hover{background:#f2f4fa;}
#aqv-confirm .aqv-cf-go{background:#1f9d55;color:#fff;}
#aqv-confirm .aqv-cf-go:hover{background:#18894a;}
#aqv-confirm .aqv-cf-go:disabled{background:#93b7a3;cursor:default;}
@media (max-width:520px){
  #aqv-confirm{padding:0;} #aqv-confirm .aqv-cf-box{border-radius:0;min-height:100%;padding:20px 16px;}
  #aqv-confirm .aqv-cf-row{flex-direction:column;gap:2px;} #aqv-confirm .aqv-cf-row b{text-align:left;}
  #aqv-confirm .aqv-cf-btns button{flex:1 1 100%;}
}

/* ── Paid result view: valuation only, search and job entry hidden ───────── */
/* Only one step on screen at a time. Default: the search step. */
body:not(.aqv-result-view) #view-report{display:none!important;}
body.aqv-result-view #view-search{display:none!important;}
body.aqv-result-view #view-report{display:block!important;}
#aqv-report-bar,#aqv-back-search{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;}
#aqv-report-bar button,#aqv-back-search button{font:600 14px/1 inherit;padding:10px 16px;border-radius:8px;cursor:pointer;
  background:#fff;border:1px solid #c9cee0;color:#33406b;}
#aqv-report-bar button:hover,#aqv-back-search button:hover{background:#f2f4fa;}
#aqv-report-bar span,#aqv-back-search span{font-size:13px;color:#5b6280;}
body:not(.aqv-result-view) #aqv-report-bar,#aqv-back-search{display:none;}

/* Status line for the trip back from payment — always visible, never inside the report. */
#aqv-status{position:sticky;top:0;z-index:99998;background:#1f9d55;color:#fff;
  font:600 14.5px/1.45 Arial,Helvetica,sans-serif;text-align:center;padding:11px 16px;}
#aqv-status.err{background:#b3261e;}

/* Licence & map, now part of the paid report */
#licence-map-card .lic-map-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px;}
#licence-map-card .lic-map-head h2{margin:0;}
#licence-map-card .side-pages{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:900px){ #licence-map-card .side-pages{grid-template-columns:1fr;} }
body:not(.aqv-result-view) #licence-map-card{display:none;}

/* The licence-PDF button now lives in the report, so the old search-panel rules
   that hid it there no longer apply. Show it whenever a licence document is loaded. */
body.aqv-result-view #lic-pdf-btn{display:none;width:auto;}
body.aqv-result-view #licence-map-card:has(#lic-doc) #lic-pdf-btn{display:inline-block!important;}

/* Paid valuations from this session, listed on the search page */
#aqv-recent{margin-top:16px;padding-top:14px;border-top:1px solid #e3e6f0;}
#aqv-recent-note{margin:2px 0 10px;font-size:12.5px;}
#aqv-recent-list{display:flex;flex-direction:column;gap:8px;}
.aqv-recent-item{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;width:100%;text-align:left;
  background:#fff;border:1px solid #d7dae5;border-radius:9px;padding:10px 13px;cursor:pointer;font:inherit;}
.aqv-recent-item:hover{background:#f4f6fc;border-color:#aab2cc;}
.aqv-recent-item b{font-size:15px;color:#1b2559;}
.aqv-recent-item span{font-size:12.5px;color:#5b6280;}
.aqv-recent-item span:last-child{margin-left:auto;white-space:nowrap;}

/* The licence document itself lives in the report */
#lic-doc-holder:empty{display:none;}
#lic-doc-holder .lic-doc{max-width:100%;}

/* One download button only — the card header's — and a smaller crest in the report */
#licence-map-card .lic-actions{display:none!important;}
#licence-map-card .lic-logo{height:4.2em;}

/* While the licence and map are being fetched */
.aqv-skel{border:1px solid #e3e6f0;border-radius:10px;background:
  linear-gradient(100deg,#f3f4f9 30%,#e9ebf5 50%,#f3f4f9 70%) #f3f4f9;
  background-size:300% 100%;animation:aqvShimmer 1.25s ease-in-out infinite;}
#lic-skel{height:420px;max-width:520px;}
#map-skel{height:320px;}
.aqv-skel-note{margin:8px 0 0;font-size:12.5px;color:#5b6280;text-align:center;}
@keyframes aqvShimmer{0%{background-position:150% 0;}100%{background-position:-50% 0;}}

/* Licence and map, lined up at the top */
#licence-map-card .side-pages{align-items:start;}
#licence-map-card .side-page{display:flex;flex-direction:column;}
#licence-map-card .side-section-title{margin:0 0 10px;min-height:22px;line-height:22px;}
#licence-map-card #side-page-map{border-left:1px solid #d7dae5;padding-left:24px;padding-top:0;margin-top:0;border-top:0;}
#licence-map-card #side-page-licence{max-width:none;}
#licence-map-card .lic-wrap,#licence-map-card #locate-maps{margin-top:0;}
@media (max-width:900px){
  #licence-map-card #side-page-map{border-left:0;padding-left:0;margin-top:22px;padding-top:18px;border-top:1px solid #d7dae5;}
}

/* Generate button while the job details are still arriving */
#run-val-top-btn.is-loading{opacity:.65;cursor:progress;}
#aqv-loading-note{color:#7a5306;}

/* "You have valued this one already" */
#aqv-hist-ov{position:fixed;inset:0;z-index:99999;background:rgba(17,22,40,.62);
  display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px;overflow:auto;}
#aqv-hist-ov .aqv-hist-box{position:relative;background:#fff;border-radius:12px;max-width:520px;width:100%;
  box-shadow:0 18px 50px rgba(12,18,40,.35);padding:26px 26px 20px;}
#aqv-hist-ov h2{margin:0 0 6px;font-size:20px;color:#1b2559;}
#aqv-hist-ov .aqv-hist-sub{margin:0 0 14px;font-size:13.5px;color:#4a5170;}
#aqv-hist-ov .aqv-hist-x{position:absolute;top:10px;right:12px;border:0;background:transparent;
  font-size:26px;line-height:1;color:#7a819c;cursor:pointer;padding:4px 8px;border-radius:6px;}
#aqv-hist-ov .aqv-hist-x:hover{background:#f2f4fa;color:#1b2559;}
#aqv-hist-ov .aqv-hist-rows{border:1px solid #dfe3ee;border-radius:9px;overflow:hidden;}
#aqv-hist-ov .aqv-hist-rows div{display:flex;justify-content:space-between;gap:16px;padding:9px 14px;
  font-size:14px;border-bottom:1px solid #eceff7;}
#aqv-hist-ov .aqv-hist-rows div:last-child{border-bottom:0;}
#aqv-hist-ov .aqv-hist-rows div:nth-child(odd){background:#f7f8fc;}
#aqv-hist-ov .aqv-hist-rows span{color:#5b6280;}
#aqv-hist-ov .aqv-hist-rows b{color:#16204a;text-align:right;}
#aqv-hist-ov .aqv-hist-btns{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
#aqv-hist-ov .aqv-hist-btns button{flex:1 1 200px;font:600 14.5px/1.2 inherit;padding:13px 16px;
  border-radius:8px;cursor:pointer;border:1px solid transparent;}
#aqv-hist-ov .aqv-hist-old{background:#fff;border-color:#c9cee0;color:#33406b;}
#aqv-hist-ov .aqv-hist-old:hover{background:#f2f4fa;}
#aqv-hist-ov .aqv-hist-new{background:#1f9d55;color:#fff;}
#aqv-hist-ov .aqv-hist-new:hover{background:#18894a;}
#aqv-hist-ov .aqv-hist-note{margin:12px 0 0;font-size:12.5px;color:#5b6280;}
@media (max-width:520px){ #aqv-hist-ov{padding:0;} #aqv-hist-ov .aqv-hist-box{border-radius:0;min-height:100%;} }

/* The old right-hand history table is replaced by the pop-up */
#history-wrap{display:none!important;}

/* Buttons show a spinner while work is in flight — no extra wording */
#search-btn.is-loading,#run-val-top-btn.is-loading{cursor:progress;}
#search-btn.is-loading::after,#run-val-top-btn.is-loading::after{
  content:"";display:inline-block;vertical-align:-3px;margin-left:10px;width:15px;height:15px;
  border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
  animation:aqvSpin .7s linear infinite;}
@keyframes aqvSpin{to{transform:rotate(360deg);}}

/* What changed since the earlier paid valuation */
#aqv-hist-ov .aqv-hist-changed b{color:#b3261e;}
#aqv-hist-ov .aqv-hist-changed i{font-style:normal;color:#8a8fa6;font-weight:400;font-size:12.5px;}

/* Search messages sit under the buttons, in the search column */
.search-left #search-status,.search-left #register-status{max-width:100%;font-size:13.5px;line-height:1.5;}
.search-left #search-status:empty{display:none;}
.search-left #search-status a{word-break:break-word;}
/* The right-hand panel is only for a list of matches now */
.search-right:not(:has(#av-hits > *)){display:none!important;}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — phones: every phase stacks, nothing squeezed
   ═══════════════════════════════════════════════════════ */
@media(max-width:768px){
  body.av-p1 .search-layout,
  body.av-p2 .search-layout,
  body.av-p3 .search-layout,
  body.av-p3:not(.av-val) .search-layout,
  body.av-p3.av-val .search-layout{
    display:block!important;grid-template-columns:1fr!important;}
  body.av-p2 .search-left,body.av-p3 .search-left{display:block!important;max-width:none!important;flex:0 0 auto!important;}
  body.av-p2 .search-right,body.av-p3 .search-right{
    display:block!important;max-width:none!important;max-height:none!important;
    margin-top:16px;padding:16px!important;overflow:visible!important;opacity:1!important;transform:none!important;}
  .search-fields,body.av-p3 .search-fields{grid-template-columns:1fr!important;}
  .search-fields>div{min-width:0;}

  /* list of matching licences */
  #av-hits{display:block;}
  #av-hits .av-hit{width:100%;box-sizing:border-box;margin:0 0 10px;padding:12px 14px;}
  #av-hits .av-hit-name{font-size:15px;line-height:1.35;word-break:break-word;}
  #av-hits .av-hit-meta,#av-hits .av-hit-addr{font-size:12.5px;line-height:1.45;word-break:break-word;}

  /* headline figures and report */
  .stats{flex-wrap:wrap;gap:10px;}
  .stats>*{flex:1 1 calc(50% - 10px);min-width:0;}
  .val-head{grid-template-columns:1fr!important;}
  #licence-map-card .side-pages{grid-template-columns:1fr!important;}
  #licence-map-card #side-page-map{border-left:0;padding-left:0;margin-top:20px;padding-top:16px;border-top:1px solid #d7dae5;}
  #licence-map-card .lic-map-head{flex-direction:column;align-items:flex-start;}
  #licence-map-card .lic-map-head button{width:100%;}
  #aqv-report-bar{flex-direction:column;align-items:stretch;}
  #aqv-report-bar button{width:100%;}
  .lic-doc,#lic-doc-holder .lic-doc{width:100%!important;max-width:100%!important;min-width:0!important;font-size:6.6px!important;}
  table{font-size:12.5px;}
}
@media(max-width:430px){
  .stats>*{flex:1 1 100%;}
  #aqv-confirm .aqv-cf-box,#aqv-hist-ov .aqv-hist-box{padding:18px 14px;}
  #aqv-hist-ov .aqv-hist-btns button{flex:1 1 100%;}
}

/* Never leave an empty panel beside the job details */
body:not(.aqv-result-view) .search-right:not(:has(#av-hits > *)){display:none!important;}
body.av-p2:not(:has(#av-hits > *)) .search-layout{display:block!important;}

/* Narrow laptops / small windows / tablets: stack before the columns get cramped */
@media(max-width:1100px){
  body.av-p1 .search-layout,
  body.av-p2 .search-layout,
  body.av-p3 .search-layout,
  body.av-p3:not(.av-val) .search-layout,
  body.av-p3.av-val .search-layout{display:block!important;grid-template-columns:1fr!important;}
  body.av-p2 .search-left,body.av-p3 .search-left{display:block!important;max-width:none!important;flex:0 0 auto!important;}
  body.av-p2 .search-right,body.av-p3 .search-right{
    display:block!important;max-width:none!important;max-height:none!important;
    margin-top:16px;padding:18px!important;overflow:visible!important;opacity:1!important;transform:none!important;}
  .search-fields,body.av-p3 .search-fields{grid-template-columns:1fr 1fr!important;}
  #licence-map-card .side-pages{grid-template-columns:1fr!important;}
  #licence-map-card #side-page-map{border-left:0;padding-left:0;margin-top:20px;padding-top:16px;border-top:1px solid #d7dae5;}
}
@media(max-width:820px){
  .search-fields,body.av-p3 .search-fields{grid-template-columns:1fr!important;}
}

/* Licence & map now sits inside the report, just above Owner & property — and smaller */
#licence-map-card.inner{margin:18px 0 6px;padding:18px 20px;background:#f7f8fc;border:1px solid #e2e5f0;box-shadow:none;}
#licence-map-card.inner .lic-map-head h2{font-size:17px;}
#licence-map-card.inner .side-section-title{font-size:12px;}
#licence-map-card.inner .lic-doc{font-size:11.5px;padding:16px 14px;}
#licence-map-card.inner .lic-logo{height:3.2em;}
#licence-map-card.inner #locate-map-preview,
#licence-map-card.inner .propmap-wrap,
#licence-map-card.inner .propmap-fit{max-width:420px;}
#licence-map-card.inner #locate-maps .leaflet-container{height:280px!important;}
#licence-map-card.inner .lic-map-head button{padding:9px 14px;font-size:13.5px;}
/* an empty notice box shouldn't leave a gap */
#av-email-notice:empty,#gab-corridor-wrap:empty{display:none!important;}
/* the licence sheet inside the report: as tall as its content, not a full A4 page */
#licence-map-card.inner .lic-doc{min-height:0!important;height:auto!important;max-width:430px;}
#licence-map-card.inner .lic-wrap{max-width:430px;}
#licence-map-card.inner .lic-doc .lic-foot{margin-top:14px;}

/* the crest never crowds the licence heading */
.lic-doc .lic-logo{height:5.8em!important;max-width:38%;object-fit:contain;}
#licence-map-card.inner .lic-logo{height:4.6em!important;}

/* ═══════════════════════════════════════════════════════
   PHONES — licence sheet, maps and page width
   ═══════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* nothing may push the page wider than the screen */
  html,body{max-width:100%;overflow-x:hidden;}
  main{padding:0 12px!important;}
  .card{padding:16px 14px!important;border-radius:12px;}
  header .wrap,main,footer .wrap{max-width:100%;}

  /* the licence: scaled to the screen, not blown up */
  #licence-map-card.inner .lic-doc{font-size:6.6px!important;padding:5.7em 4.7em!important;
    max-width:100%!important;height:auto!important;min-height:0!important;}
  /* A4 portrait — the sheet should read as a page, not a strip */
  #licence-map-card.inner .lic-doc{aspect-ratio:210/297!important;}
  #licence-map-card.inner .lic-logo{height:4.6em!important;}
  #licence-map-card.inner .lic-wrap{max-width:100%;}
  .lic-zoom{width:30px;height:30px;top:8px;right:8px;}
  .lic-full .lic-doc{font-size:clamp(6px,2.4vw,11px);padding:5.7em 4.7em;}
  .lic-full-body{padding:14px 10px;}

  /* the map: full width, no dead space underneath */
  #licence-map-card.inner #locate-map-preview,
  #licence-map-card.inner .propmap-wrap,
  #licence-map-card.inner .propmap-fit{max-width:100%!important;width:100%!important;}
  .propmap-fit,.propmap-wrap{max-width:100%!important;}
  #locate-map-preview>img{max-width:100%!important;height:auto!important;display:block;}
  #licence-map-card.inner #locate-maps .leaflet-container{height:230px!important;width:100%!important;}
  .propmap-zoom{position:static!important;flex-direction:row!important;justify-content:center;
    margin:8px auto 0!important;width:max-content;box-shadow:none!important;background:transparent!important;}
  .map-caption,.propmap-caption{font-size:11.5px;line-height:1.45;}
}

/* Phones: report tables stack, nothing runs off the edge, licence sheet keeps no dead space */
@media(max-width:768px){
  #result table,#reference-card table{width:100%!important;table-layout:fixed;}
  #result td,#result th,#reference-card td,#reference-card th{
    word-break:break-word;overflow-wrap:anywhere;padding:7px 8px;font-size:13px!important;}
  #result td[style*="width:220px"]{width:42%!important;}
  #result table.meth tr{display:grid;grid-template-columns:1fr;gap:0;border-bottom:1px solid #eceff7;}
  #result table.meth td{width:auto!important;padding:6px 0;}
  #result table.meth td:first-child{font-size:12px!important;color:#5b6280;padding-bottom:0;}
  #result table.meth td:last-child{padding-top:0;font-weight:600;}
  /* wide evidence tables stay readable by scrolling inside themselves */
  #result .table-wrap,#reference-card .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #licence-map-card.inner .lic-doc{aspect-ratio:210/297!important;padding-bottom:3.1em!important;}
}
@media(max-width:768px){
  #result td,#result th,#reference-card td,#reference-card th{white-space:normal!important;}
  #result table.meth td:last-child{line-height:1.45;}
}
@media(max-width:768px){
  /* label/value rows as plain blocks — the only layout that reliably wraps long names */
  #result table.meth,#result table.meth tbody{display:block!important;width:100%!important;max-width:100%!important;}
  #result table.meth tr{display:block!important;width:100%!important;border-bottom:1px solid #eceff7;padding:6px 0;}
  #result table.meth td{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;border:0!important;}
}
@media(max-width:768px){
  /* wide evidence tables scroll inside their own box instead of stretching the report */
  #result table:not(.meth),#reference-card table:not(.meth){
    display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;
    max-width:100%!important;width:100%!important;}
  #result table:not(.meth) td,#result table:not(.meth) th,
  #reference-card table:not(.meth) td,#reference-card table:not(.meth) th{white-space:nowrap!important;}
  #result,#view-report,#reference-card{max-width:100%!important;overflow-x:hidden;}
}
@media(max-width:768px){
  /* label/value tables must wrap, not hold a 520px minimum inside the scroll wrapper */
  .tbl-scroll>table.meth{min-width:0!important;width:100%!important;}
  .tbl-scroll:has(>table.meth){overflow-x:visible!important;}
  /* the wide evidence tables keep their minimum and scroll inside their own box */
  .tbl-scroll>table:not(.meth){min-width:520px;}
}

/* "We'll value this one by hand" — shown when a paid job has no market evidence */
#aqv-manual-ov{position:fixed;inset:0;z-index:99999;background:rgba(17,22,40,.62);
  display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px;overflow:auto;}
#aqv-manual-ov .aqv-manual-box{position:relative;background:#fff;border-radius:12px;max-width:560px;width:100%;
  box-shadow:0 18px 50px rgba(12,18,40,.35);padding:26px 26px 20px;}
#aqv-manual-ov h2{margin:0 0 10px;font-size:20px;color:#1b2559;}
#aqv-manual-ov p{margin:0 0 12px;font-size:14px;line-height:1.55;color:#3c4363;}
#aqv-manual-ov .aqv-manual-x{position:absolute;top:10px;right:12px;border:0;background:transparent;
  font-size:26px;line-height:1;color:#7a819c;cursor:pointer;padding:4px 8px;border-radius:6px;}
#aqv-manual-ov .aqv-manual-x:hover{background:#f2f4fa;color:#1b2559;}
#aqv-manual-ov .aqv-manual-contact{border:1px solid #dfe3ee;border-radius:9px;overflow:hidden;margin:14px 0 4px;}
#aqv-manual-ov .aqv-manual-contact div{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;
  font-size:14px;border-bottom:1px solid #eceff7;}
#aqv-manual-ov .aqv-manual-contact div:last-child{border-bottom:0;}
#aqv-manual-ov .aqv-manual-contact div:nth-child(odd){background:#f7f8fc;}
#aqv-manual-ov .aqv-manual-contact span{color:#5b6280;}
#aqv-manual-ov .aqv-manual-contact a{color:#1b2559;font-weight:600;text-decoration:none;}
#aqv-manual-ov .aqv-manual-contact a:hover{text-decoration:underline;}
#aqv-manual-ov .aqv-manual-btns{display:flex;justify-content:flex-end;margin-top:16px;}
#aqv-manual-ov .aqv-manual-ok{background:#1f9d55;color:#fff;border:0;border-radius:8px;
  font:600 14.5px/1 inherit;padding:12px 22px;cursor:pointer;}
#aqv-manual-ov .aqv-manual-ok:hover{background:#18894a;}
@media(max-width:520px){ #aqv-manual-ov{padding:0;} #aqv-manual-ov .aqv-manual-box{border-radius:0;min-height:100%;padding:20px 16px;}
  #aqv-manual-ov .aqv-manual-contact div{flex-direction:column;gap:2px;} #aqv-manual-ov .aqv-manual-ok{width:100%;} }

/* Build stamp — so the deployed version is visible at a glance */
#aqv-build{display:block;margin-top:8px;font-size:11px;color:#9aa0b5;letter-spacing:.04em;}

/* The job-details step is two columns on any normal screen, whatever else is on the page */
@media(min-width:1101px){
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-layout{
    display:grid!important;grid-template-columns:minmax(360px,1fr) 2fr!important;gap:26px!important;align-items:start!important;}
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-left{display:contents!important;max-width:none!important;flex:none!important;}
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-left>h2,
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-row,
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-left>#search-status,
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-left>#register-status,
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-left>#aqv-recent{grid-column:1!important;}
  body.av-p3:not(.av-val):not(.aqv-result-view) .search-fields{grid-column:2!important;}
}

/* Licence particulars table — stacked and wrapping on phones, nothing cut off */
@media(max-width:768px){
  .lic-cert-tbl,.lic-cert-tbl tbody{display:block!important;width:100%!important;}
  .lic-cert-tbl tr{display:block!important;width:100%!important;padding:8px 14px;border-bottom:1px solid #dde;}
  .lic-cert-tbl td{display:block!important;width:auto!important;padding:0!important;border:0!important;
    white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;background:transparent!important;}
  .lic-cert-tbl td:first-child{font-size:11.5px!important;letter-spacing:.02em;color:#54606b;font-weight:700;
    font-family:Arial,Helvetica,sans-serif;margin-bottom:2px;}
  .lic-cert-tbl td:last-child{font-size:15px!important;line-height:1.4;}
  .tbl-scroll>.lic-cert-tbl{min-width:0!important;}
  .tbl-scroll:has(>.lic-cert-tbl){overflow-x:visible!important;}
}
@media(max-width:768px){
  /* beat the wide-table nowrap rule for the licence particulars specifically */
  #result table.lic-cert-tbl tr td,
  #reference-card table.lic-cert-tbl tr td,
  table.lic-cert-tbl tr td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
  /* and let its bordered box shrink to the screen */
  #result div[style*="border:2px solid #1f4e5f"],
  #result div[style*="max-width:760px"]{max-width:100%!important;width:100%!important;box-sizing:border-box;}
}

/* Full-view licence: crest in proportion with the sheet */
.lic-full .lic-logo{height:5.8em!important;max-width:38%;}

/* Returning to the search step keeps its two columns in the right order */
@media(min-width:1101px){
  body.av-p3:not(.aqv-result-view) .search-left>h2,
  body.av-p3:not(.aqv-result-view) .search-row,
  body.av-p3:not(.aqv-result-view) .search-left>.flag,
  body.av-p3:not(.aqv-result-view) #aqv-recent,
  body.av-p3:not(.aqv-result-view) #history-wrap{grid-column:1!important;}
  body.av-p3:not(.aqv-result-view) .search-fields{grid-column:2!important;grid-row:1/span 40!important;}
}
/* The property map is sized in pixels by the script — don't fight it */


/* The crest at a readable size on the full-screen licence view */
.lic-full .lic-logo{height:6.4em!important;max-width:36%;}
#licence-map-card.inner .lic-logo{height:4.4em!important;}

/* The map must keep a real height on phones — 'height:auto' collapses a Leaflet map to nothing */
@media(max-width:768px){
  /* the map script sets .propmap-fit's height itself (a full A4 frame) — leave it alone */
  #licence-map-card .leaflet-container{min-height:240px!important;}
}

/* Job details: no empty cells holding open space */
.search-fields{grid-auto-rows:min-content!important;align-items:start!important;}
.search-fields>div:empty,
.search-fields .flag:empty,
.search-fields>p:empty{display:none!important;}
.search-fields>div{align-self:start;}

/* The crest is a wide lockup (3.4:1), so size it by width — a height cap plus a
   narrow max-width was squashing it. */
/* sized against the sheet's own type scale, with no width cap squashing it */
.lic-full .lic-doc .lic-logo{height:5.4em!important;width:auto!important;max-width:none!important;}
.lic-wrap .lic-doc .lic-logo,#lic-doc-holder .lic-doc .lic-logo{height:5em!important;width:auto!important;max-width:none!important;}
#licence-map-card.inner .lic-doc .lic-logo{height:4.6em!important;width:auto!important;max-width:none!important;}
.lic-doc .lic-top{grid-template-columns:1fr auto auto!important;column-gap:10px;}
@media(max-width:768px){
  .lic-full .lic-doc .lic-logo{height:4.6em!important;}
  #licence-map-card.inner .lic-doc .lic-logo{height:4.2em!important;}
}

/* Back to search — a proper button on phones, plus a floating arrow while scrolling */
@media(max-width:768px){
  #aqv-report-bar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px;}
  #aqv-report-bar button{width:100%;background:var(--navy,#2b3a80)!important;color:#fff!important;
    border:0!important;border-radius:10px;padding:15px 18px!important;font:700 16px/1 inherit!important;
    box-shadow:0 2px 8px rgba(20,28,60,.18);}
  #aqv-report-bar button:active{transform:translateY(1px);}
  #aqv-report-bar span{font-size:12.5px;text-align:center;}
}
#aqv-back-fab{display:none;position:fixed;left:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));
  z-index:9500;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;
  background:var(--navy,#2b3a80);color:#fff;font-size:24px;line-height:1;
  box-shadow:0 6px 18px rgba(12,18,40,.34);align-items:center;justify-content:center;}
#aqv-back-fab.is-shown{display:flex;}
#aqv-back-fab:active{transform:scale(.94);}
@media(min-width:769px){ #aqv-back-fab{display:none!important;} }
@media(max-width:768px){
  body.aqv-result-view #aqv-report-bar button,
  body #aqv-report-bar button{font-size:16.5px!important;font-weight:700!important;line-height:1.1!important;
    padding:16px 18px!important;min-height:52px;letter-spacing:.01em;}
}

/* Licence sheet on phones: full A4 page proportions, text scaled to fill it */
@media(max-width:768px){
  #licence-map-card.inner .lic-doc,
  .lic-wrap .lic-doc,#lic-doc-holder .lic-doc{
    aspect-ratio:210/297!important;height:auto!important;min-height:0!important;
    font-size:9.2px!important;padding:5.7em 4.7em 3.1em!important;box-sizing:border-box;}
  /* flex column keeps the footer at the bottom of the sheet; absolute positioning
     let the body text run underneath it */
  #licence-map-card.inner .lic-doc,.lic-wrap .lic-doc{display:flex!important;flex-direction:column!important;}
  #licence-map-card.inner .lic-doc .lic-foot,
  .lic-wrap .lic-doc .lic-foot{margin-top:auto!important;position:static!important;}
}
@media(max-width:768px){
  /* keep "WATER LICENCE" on one line beside the crest in the small card */
  #licence-map-card.inner .lic-doc .lic-logo{height:3.4em!important;}
  #licence-map-card.inner .lic-doc .lic-title{white-space:nowrap!important;}
  #licence-map-card.inner .lic-doc .lic-top{column-gap:6px!important;}
}

/* Licence sheet on phones: full width of the card, so the A4 page is as large as the screen allows */
@media(max-width:768px){
  #licence-map-card.inner .lic-wrap{margin-left:-14px!important;margin-right:-14px!important;max-width:none!important;}
  #licence-map-card.inner .lic-doc{width:100%!important;max-width:none!important;font-size:10.4px!important;}
  #licence-map-card .locmap-cell,#licence-map-card .lic-cell{padding-left:0!important;padding-right:0!important;}
}

/* iOS zooms the whole page in when a focused field is under 16px and never zooms back out.
   16px on phones keeps the page still; pinch-zoom is left available. */
@media(max-width:768px){
  input,select,textarea,
  #reg-ov input,#reg-ov select,#reg-ov textarea,
  .search-fields input,.search-fields select,.search-row input,.search-row select,
  #search-q,#search-type{font-size:16px!important;line-height:1.3!important;}
  input[type="file"]{font-size:15px!important;}
}

/* Licence sheet on phones: at least an A4 page, growing if the text needs more room,
   with type sized so the usual licence fits a single page */
@media(max-width:768px){
  #licence-map-card.inner .lic-doc,.lic-wrap .lic-doc,#lic-doc-holder .lic-doc{
    min-height:auto!important;height:auto!important;aspect-ratio:210/297!important;
    font-size:8.4px!important;padding:5em 4.2em 2.6em!important;overflow:visible!important;}
  #licence-map-card.inner .lic-doc table,#lic-doc-holder .lic-doc table{width:100%!important;table-layout:auto!important;}
  #licence-map-card.inner .lic-doc td,#lic-doc-holder .lic-doc td{overflow-wrap:anywhere;}
  #licence-map-card.inner .lic-doc .lic-logo{height:3.8em!important;}
}

/* Email this report — pop-up */
#aqv-share-ov{position:fixed;inset:0;z-index:99999;background:rgba(17,22,40,.62);
  display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto;}
#aqv-share-ov .aqv-share-box{position:relative;background:#fff;border-radius:12px;max-width:520px;width:100%;
  box-shadow:0 18px 50px rgba(12,18,40,.35);padding:24px 24px 18px;box-sizing:border-box;}
#aqv-share-ov h2{margin:0 0 4px;font-size:20px;color:#1b2559;}
#aqv-share-ov .aqv-share-sub{margin:0 0 14px;font-size:13.5px;color:#5b6280;line-height:1.5;}
#aqv-share-ov label{display:block;font-size:13px;font-weight:700;color:#2b3350;margin:12px 0 5px;}
#aqv-share-ov label span{font-weight:400;color:#8a90a8;margin-left:4px;}
#aqv-share-ov input,#aqv-share-ov textarea{width:100%;box-sizing:border-box;border:1px solid #d6dbe8;border-radius:8px;
  padding:10px 12px;font:inherit;font-size:15px;color:#1b2559;background:#fff;}
#aqv-share-ov textarea{resize:vertical;min-height:70px;}
#aqv-share-ov input:focus,#aqv-share-ov textarea:focus{outline:none;border-color:#4a5fc1;box-shadow:0 0 0 3px rgba(74,95,193,.15);}
#aqv-share-ov .aqv-share-att{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 12px;
  border:1px dashed #c9cfe0;border-radius:9px;background:#f7f8fc;}
#aqv-share-ov .aqv-share-ic{flex:0 0 auto;width:38px;height:44px;border-radius:5px;background:#d93838;color:#fff;
  font:700 11px/44px Arial,sans-serif;text-align:center;letter-spacing:.04em;}
#aqv-share-ov .aqv-share-att b{display:block;font-size:13.5px;color:#1b2559;word-break:break-all;}
#aqv-share-ov .aqv-share-att small{font-size:12px;color:#6b7290;}
#aqv-share-ov .aqv-share-msg{min-height:0;margin-top:12px;font-size:13.5px;line-height:1.45;}
#aqv-share-ov .aqv-share-msg.ok{color:#15803d;background:#ecfdf3;border:1px solid #bbf0cf;border-radius:8px;padding:9px 12px;}
#aqv-share-ov .aqv-share-msg.err{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;padding:9px 12px;}
#aqv-share-ov .aqv-share-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
#aqv-share-ov .aqv-share-btns button{border-radius:8px;font:600 14.5px/1 inherit;padding:12px 20px;cursor:pointer;}
#aqv-share-ov .aqv-share-cancel{background:#fff;border:1px solid #cfd5e3;color:#2b3350;}
#aqv-share-ov .aqv-share-send{background:#1f9d55;border:0;color:#fff;min-width:110px;}
#aqv-share-ov .aqv-share-send:disabled{opacity:.7;cursor:wait;}
#aqv-share-ov .aqv-share-two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
#aqv-share-ov input.bad{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12);}
#aqv-share-ov .aqv-share-hint{min-height:18px;margin-top:5px;font-size:12.5px;color:#6b7290;}
#aqv-share-ov .aqv-share-hint.ok{color:#15803d;} #aqv-share-ov .aqv-share-hint.err{color:#b42318;}
#aqv-share-ov .aqv-share-done{text-align:center;padding:14px 4px 2px;}
#aqv-share-ov .aqv-share-done h2{margin:10px 0 6px;}
#aqv-share-ov .aqv-share-done p{margin:0 0 6px;color:#2b3350;font-size:14.5px;line-height:1.5;word-break:break-word;}
#aqv-share-ov .aqv-share-tick{width:54px;height:54px;margin:0 auto;border-radius:50%;background:#e8f5ee;color:#15803d;
  font:700 28px/54px Arial,sans-serif;}
#aqv-share-ov .aqv-share-done .aqv-share-btns{justify-content:center;margin-top:18px;}
#aqv-share-ov .aqv-share-again{background:#fff;border:1px solid #cfd5e3;color:#2b3350;}
#aqv-share-ov .aqv-share-x{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;
  line-height:1;color:#7a819c;cursor:pointer;padding:4px 8px;border-radius:6px;}
@media(max-width:520px){
  #aqv-share-ov{padding:0;}
  #aqv-share-ov .aqv-share-box{border-radius:0;min-height:100%;padding:20px 16px;}
  #aqv-share-ov .aqv-share-btns button{flex:1;}
  #aqv-share-ov .aqv-share-two{grid-template-columns:1fr;}
}

/* Report buttons while the report is still being put together */
.aqv-btn-wait{opacity:.8;cursor:progress!important;}
.aqv-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;
  border-radius:50%;animation:aqvspin .8s linear infinite;vertical-align:-2px;margin-right:6px;}
button[style*="background:#fff"] .aqv-spin{border-color:rgba(44,44,134,.25);border-top-color:#2C2C86;}
@keyframes aqvspin{to{transform:rotate(360deg);}}

/* A required job detail that is still empty */
.aqv-missing{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.16)!important;background:#fffbfa!important;}
.aqv-missing-msg{color:#b42318;font-size:12.5px;font-weight:600;margin-top:5px;}


/* Terms and privacy acceptance on the sign-in card.
   The card styles every label and input, so these rules are written to win. */
#reg-ov .rg-card label.rg-agree{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;padding:11px 12px;
  border:1px solid #d7dce8;border-radius:9px;background:#fafbfd;cursor:pointer;text-align:left;
  text-transform:none;letter-spacing:normal;font-weight:400;font-size:12.7px;line-height:1.55;color:#3b4263;}
#reg-ov .rg-card label.rg-agree input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;min-width:0;margin:1px 0 0;
  padding:0;border-radius:4px;accent-color:#2C2C86;cursor:pointer;}
#reg-ov .rg-card label.rg-agree > span{flex:1 1 auto;min-width:0;}
#reg-ov .rg-card label.rg-agree a{color:#2C2C86;font-weight:600;text-decoration:underline;}
#reg-ov .rg-card label.rg-agree.rg-err{border-color:#d92d20;background:#fdf2f1;}
