/* Pelacart Property Valuation V1 */
.pval-page{background:#f6f8fb;color:#071d59;min-height:100vh}
.pval-shell{width:min(1040px,calc(100% - 30px));margin:auto}
.pval-hero{padding:54px 0 42px;background:radial-gradient(circle at 11% 17%,rgba(213,154,0,.12),transparent 27%),radial-gradient(circle at 90% 10%,rgba(7,29,89,.07),transparent 30%),#fff;border-bottom:1px solid #eef1f5}
.pval-eyebrow{display:inline-flex;padding:5px 10px;border-radius:999px;background:#fff4d9;color:#a66f00;font-size:8px;font-weight:900}
.pval-hero h1{margin:11px 0 7px;font-size:34px;font-weight:950}.pval-hero p{max-width:700px;margin:0;color:#748094;font-size:10px;line-height:2}
.pval-main{padding:34px 0 70px}.pval-layout{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.pval-card,.pval-result,.pval-placeholder,.pval-how{border:1px solid #e1e6ed;border-radius:18px;background:#fff}
.pval-card{padding:20px;box-shadow:0 15px 40px rgba(7,29,89,.05)}
.pval-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.pval-card-head span{color:#949dab;font-size:7px}.pval-card-head h2{margin:4px 0 0;font-size:18px}.pval-card-head>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff4d9;color:#b67d00;font-size:16px}
.pval-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.pval-full{grid-column:1/-1}.pval-field label{display:block;margin-bottom:6px;color:#5b677a;font-size:8px;font-weight:900}.pval-field input,.pval-field select{width:100%;height:50px;box-sizing:border-box;border:1px solid #dfe4eb;border-radius:11px;background:#fff;color:#071d59;font:inherit;font-size:9px;outline:0;padding:0 12px}.pval-field input:focus,.pval-field select:focus{border-color:#c3ccd8;box-shadow:0 0 0 3px rgba(7,29,89,.035)}
.pval-input-unit{position:relative}.pval-input-unit input{padding-left:48px}.pval-input-unit span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7d8797;font-size:8px}
.pval-submit{width:100%;height:50px;margin-top:15px;border:0;border-radius:11px;background:#071d59;color:#fff;font:inherit;font-size:9px;font-weight:900;box-shadow:0 9px 20px rgba(7,29,89,.14)}.pval-submit i{margin-right:6px}
.pval-note{display:flex;gap:6px;margin-top:10px;color:#8a93a2;font-size:7px;line-height:1.8}.pval-note i{color:#b77d00}
.pval-alert{display:flex;gap:7px;margin-bottom:12px;padding:10px;border:1px solid #f0dfb5;border-radius:10px;background:#fff9eb;color:#8c660b;font-size:8px}
.pval-side{display:grid;gap:12px}.pval-result{padding:20px;background:linear-gradient(160deg,#071d59,#0c2c70);color:#fff;box-shadow:0 16px 40px rgba(7,29,89,.14)}.pval-result-label{display:block;color:#d6ddea;font-size:8px}.pval-result>strong{display:block;margin-top:8px;font-size:29px;direction:ltr;text-align:right}.pval-result>small{display:block;color:#d6ddea;font-size:8px}.pval-range{margin-top:17px;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.06)}.pval-range span,.pval-range b{display:block}.pval-range span{color:#cbd3e0;font-size:7px}.pval-range b{margin-top:4px;font-size:9px;line-height:1.8}.pval-result-meta{display:grid;gap:8px;margin-top:12px}.pval-result-meta>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.1)}.pval-result-meta small{color:#cbd3df;font-size:7px}.pval-result-meta strong{font-size:8px}.pval-expert{height:42px;margin-top:13px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;background:#fff;color:#071d59!important;text-decoration:none!important;font-size:8px;font-weight:900}
.pval-placeholder{min-height:260px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pval-placeholder>span{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#eef3f9;color:#071d59;font-size:22px}.pval-placeholder h3{margin:12px 0 5px;font-size:13px}.pval-placeholder p{max-width:240px;margin:0;color:#8a93a2;font-size:8px;line-height:1.9}
.pval-how{padding:16px}.pval-how h3{margin:0 0 11px;font-size:11px}.pval-how>div{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f4}.pval-how>div:last-child{border-bottom:0}.pval-how b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#fff4d9;color:#a66f00;font-size:8px}.pval-how span{color:#6f7a8c;font-size:8px;line-height:1.7}
@media(max-width:800px){.pval-layout{grid-template-columns:1fr}.pval-side{grid-template-columns:1fr 1fr}.pval-result,.pval-placeholder{min-height:260px}}
@media(max-width:560px){.pval-shell{width:calc(100% - 18px)}.pval-hero{padding:34px 0}.pval-hero h1{font-size:25px}.pval-card{padding:13px;border-radius:15px}.pval-grid,.pval-side{grid-template-columns:1fr}.pval-full{grid-column:auto}.pval-result>strong{font-size:24px}}


/* Pelacart Property Valuation V2 */
.pval-amenities{
  margin-top:15px;
  padding:15px;
  border:1px solid #e6eaf0;
  border-radius:14px;
  background:#fbfcfd;
}
.pval-amenities-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.pval-amenities-head strong{
  color:#071d59;
  font-size:10px;
}
.pval-amenities-head span{
  color:#8a93a2;
  font-size:7px;
}
.pval-amenities-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
@media(max-width:560px){
  .pval-amenities-grid{grid-template-columns:1fr}
  .pval-amenities-head{align-items:flex-start;flex-direction:column;gap:3px}
}

.pval-field input[type="hidden"]{display:none!important;}


/* Pelacart Property Valuation V2.5 — amenity checkboxes */
.pval-check-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.pval-check-card{
  position:relative;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0 13px;
  border:1px solid #dfe4eb;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.pval-check-card:hover{
  border-color:#cbd3de;
}

.pval-check-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.pval-check-box{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  border:1px solid #cbd3de;
  border-radius:5px;
  background:#fff;
  color:transparent;
  font-size:9px;
  transition:.16s ease;
}

.pval-check-card input:checked + .pval-check-box{
  border-color:#071d59;
  background:#071d59;
  color:#fff;
}

.pval-check-card.is-checked{
  border-color:#071d59;
  background:#f8faff;
}

.pval-check-text{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:#48566d;
}

.pval-check-text>i{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#f1f4f8;
  color:#071d59;
  font-size:10px;
}

.pval-check-text b{
  font-size:9px;
  font-weight:900;
}

.pval-check-help{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:#8993a2;
  font-size:7px;
}

.pval-check-help i{
  color:#b67d00;
}

@media(max-width:560px){
  .pval-check-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .pval-check-card{
    min-height:50px;
    padding:0 10px;
  }

  .pval-check-text{
    gap:5px;
  }

  .pval-check-text>i{
    width:21px;
    height:21px;
    font-size:9px;
  }

  .pval-check-text b{
    font-size:8px;
  }
}

/* V2.6 persistence/layout overrides are also embedded critically in Twig. */

/* V2.11 comparable audit */
.pval-audit{
  margin-top:13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  background:rgba(255,255,255,.05);
  overflow:hidden;
}
.pval-audit summary{
  padding:11px 12px;
  cursor:pointer;
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.pval-audit-list{
  max-height:280px;
  overflow:auto;
  padding:0 9px 9px;
}
.pval-audit-row{
  display:grid;
  grid-template-columns:.7fr .8fr 1.2fr 1.2fr .7fr;
  gap:6px;
  padding:8px 4px;
  border-top:1px solid rgba(255,255,255,.09);
}
.pval-audit-row small,.pval-audit-row b{display:block}
.pval-audit-row small{color:#bfc9d9;font-size:6px}
.pval-audit-row b{margin-top:2px;color:#fff;font-size:7px}
@media(max-width:560px){
  .pval-audit-row{grid-template-columns:1fr 1fr}
}


/* V2.13 — valuation pipeline debug counters */
.pval-debug{
  margin-bottom:14px;
  padding:12px;
  border:1px dashed #ccd4df;
  border-radius:12px;
  background:#f8fafc;
}
.pval-debug-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.pval-debug-head strong{
  display:flex;
  align-items:center;
  gap:6px;
  color:#071d59;
  font-size:9px;
  font-weight:900;
}
.pval-debug-head strong i{
  color:#b67d00;
}
.pval-debug-head span{
  color:#8a94a3;
  font-size:7px;
}
.pval-debug-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:7px;
}
.pval-debug-grid>div{
  padding:8px 6px;
  border:1px solid #e4e8ee;
  border-radius:9px;
  background:#fff;
  text-align:center;
}
.pval-debug-grid small,
.pval-debug-grid b{
  display:block;
}
.pval-debug-grid small{
  color:#7c8798;
  font-size:6.5px;
  line-height:1.5;
}
.pval-debug-grid b{
  margin-top:3px;
  color:#071d59;
  font-size:11px;
  font-weight:950;
}
@media(max-width:700px){
  .pval-debug-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

.pval-score-parts{display:flex;flex-wrap:wrap;gap:4px;padding:0 4px 8px;border-bottom:1px solid rgba(255,255,255,.08)}
.pval-score-parts span{padding:3px 5px;border-radius:5px;background:rgba(255,255,255,.07);color:#dce5f5;font-size:5.8px;white-space:nowrap}


/* V2.18 — similarity distribution buckets */
.pval-debug-buckets{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
  margin-top:8px;
}
.pval-debug-buckets>div{
  padding:7px 6px;
  border:1px solid #e4e8ee;
  border-radius:9px;
  background:#fff;
  text-align:center;
}
.pval-debug-buckets small,
.pval-debug-buckets b{
  display:block;
}
.pval-debug-buckets small{
  color:#7d8899;
  font-size:6.5px;
}
.pval-debug-buckets b{
  margin-top:3px;
  color:#071d59;
  font-size:11px;
  font-weight:950;
}
@media(max-width:700px){
  .pval-debug-buckets{
    grid-template-columns:repeat(3,1fr);
  }
}


/* V2.19 — full similarity diagnostics */
.pval-diagnostic{
  margin-top:10px;
  border:1px solid #dce3ec;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.pval-diagnostic summary{
  padding:11px 13px;
  cursor:pointer;
  color:#071d59;
  font-size:8px;
  font-weight:950;
  background:#fbfcfd;
}
.pval-diagnostic-list{
  max-height:520px;
  overflow:auto;
  padding:0 10px 10px;
}
.pval-diagnostic-row{
  padding:10px 4px;
  border-top:1px solid #edf0f4;
}
.pval-diagnostic-main{
  display:grid;
  grid-template-columns:.8fr .8fr .7fr .7fr .7fr .7fr 1.3fr;
  gap:6px;
}
.pval-diagnostic-main>div{
  min-width:0;
}
.pval-diagnostic-main small,
.pval-diagnostic-main b{
  display:block;
}
.pval-diagnostic-main small{
  color:#8993a2;
  font-size:6px;
}
.pval-diagnostic-main b{
  margin-top:2px;
  color:#071d59;
  font-size:7px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pval-diagnostic-amenities,
.pval-diagnostic-parts{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:7px;
}
.pval-diagnostic-amenities span{
  padding:3px 6px;
  border-radius:5px;
  background:#f4f6f9;
  color:#526078;
  font-size:6px;
}
.pval-diagnostic-parts span{
  padding:3px 6px;
  border-radius:5px;
  background:#eef3fb;
  color:#071d59;
  font-size:6px;
  font-weight:800;
}
@media(max-width:700px){
  .pval-diagnostic-main{
    grid-template-columns:repeat(3,1fr);
  }
}


/* V2.21 — pricing tier diagnostics */
.pval-tier-debug{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #e1e6ed;
  border-radius:10px;
  background:#fff;
}
.pval-tier-debug strong{
  color:#071d59;
  font-size:7px;
  font-weight:950;
}
.pval-tier-debug span{
  padding:3px 6px;
  border-radius:999px;
  background:#f3f6fa;
  color:#667286;
  font-size:6px;
}


/* V2.22 — MAD price robustness diagnostics */
.pval-mad-debug{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #eadfbd;
  border-radius:10px;
  background:#fffaf0;
}
.pval-mad-debug strong{
  color:#8b6200;
  font-size:7px;
  font-weight:950;
}
.pval-mad-debug span{
  padding:3px 6px;
  border-radius:999px;
  background:#fff;
  color:#6b7280;
  font-size:6px;
}

/* V2.24 */
.pval-grid input[name="number_of_floors"],
.pval-grid input[name="number_of_apartment"]{direction:rtl}

.pval-adaptive-debug{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  margin-top:8px;padding:9px 10px;border:1px solid #d8e4f4;
  border-radius:10px;background:#f7faff
}
.pval-adaptive-debug strong{color:#071d59;font-size:7px;font-weight:950}
.pval-adaptive-debug span{
  padding:3px 6px;border-radius:999px;background:#fff;
  color:#667286;font-size:6px
}
