
  :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:6.9em;width:auto;}
  .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; }
}
