:root{
  --avpm-red:#c5161d;
  --avpm-red-dark:#a80f15;
  --avpm-black:#121212;
  --avpm-charcoal:#232323;
  --avpm-grey:#5a5f66;
  --avpm-grey-2:#80868f;
  --avpm-grey-3:#d7dbe0;
  --avpm-grey-4:#eef1f4;
  --avpm-white:#ffffff;
  --avpm-success-bg:#eaf7ef;
  --avpm-success:#1f6b3b;
  --avpm-error-bg:#fdecec;
  --avpm-error:#9f1d1d;
  --avpm-info-bg:#edf3ff;
  --avpm-info:#224ea3;
  --avpm-shadow:0 16px 40px rgba(0,0,0,.10);
  --avpm-radius:18px;
}

.avpm-verify-card button[type="submit"].is-processing,
.avpm-verify-wrap button[type="submit"].is-processing{
  position:relative;
  padding-left:46px;
  cursor:wait;
}

.avpm-verify-card button[type="submit"].is-processing::before,
.avpm-verify-wrap button[type="submit"].is-processing::before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:18px;
  height:18px;
  margin-top:-9px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  animation:avpm-verify-spin .75s linear infinite;
}

@keyframes avpm-verify-spin{
  to{transform:rotate(360deg);}
}

.avpm-verify-result-overlay{
  position:fixed;
  inset:0;
  z-index:500;
  display:none;
  place-items:center;
  padding:22px;
  background:rgba(18,18,18,.68);
  backdrop-filter:blur(10px);
}

.avpm-verify-result-overlay.is-open{display:grid;}

.avpm-verify-result-card{
  position:relative;
  width:min(560px,100%);
  border-radius:28px;
  padding:28px;
  background:linear-gradient(180deg,#2a2d31,#17191b);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
  color:#fff;
  text-align:center;
}

.avpm-verify-result-card::before{
  content:"";
  display:block;
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  background:rgba(31,107,59,.2);
  border:1px solid rgba(31,107,59,.38);
}

.avpm-verify-result-overlay[data-kind="error"] .avpm-verify-result-card::before{
  background:rgba(159,29,29,.18);
  border-color:rgba(159,29,29,.38);
}

.avpm-verify-result-kicker{
  margin-bottom:8px;
  color:#f4c315;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
}

.avpm-verify-result-card h3{
  margin:0 0 10px;
  font-size:clamp(28px,5vw,42px);
  line-height:1;
  letter-spacing:-.04em;
}

.avpm-verify-result-card p{
  margin:0;
  color:#e4e8ed;
  line-height:1.65;
  font-size:15px;
}

.avpm-verify-result-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.avpm-verify-wrap{
  max-width:1180px;
  margin:28px auto;
  padding:0 16px 48px;
  color:var(--avpm-black);
}

.avpm-verify-header{
  position:relative;
  background:linear-gradient(135deg,#2a2d31 0%, #17191b 100%);
  color:var(--avpm-white);
  border-radius:22px;
  padding:22px 24px 18px;
  margin-bottom:20px;
  box-shadow:var(--avpm-shadow);
  overflow:hidden;
}

.avpm-verify-header::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(197,22,29,.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.06), transparent 24%);
  pointer-events:none;
}

.avpm-verify-topbar{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  min-height:72px;
}

.avpm-verify-topbar-left{
  min-width:1px;
}

.avpm-verify-brand{
  display:flex;
  justify-content:center;
  align-items:center;
}

.avpm-verify-brand img{
  display:block;
  width:min(280px, 68vw);
  max-height:84px;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.2));
}

.avpm-verify-topbar-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  position:relative;
}

.avpm-verify-menu-toggle{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:var(--avpm-white);
  width:50px;
  height:50px;
  border-radius:14px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.2s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.avpm-verify-menu-toggle:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.28);
}

.avpm-verify-menu-toggle .bar{
  display:block;
  width:20px;
  height:2px;
  background:#fff;
  border-radius:99px;
  margin:2.5px 0;
}

.avpm-verify-menu{
  position:absolute;
  top:60px;
  right:0;
  width:min(280px, calc(100vw - 32px));
  background:var(--avpm-white);
  border:1px solid #d7dbe0;
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
  padding:10px;
  display:none;
  z-index:30;
}

.avpm-verify-menu.is-open{
  display:block;
}

.avpm-verify-menu a{
  display:block;
  text-decoration:none;
  color:var(--avpm-black);
  font-weight:700;
  font-size:14px;
  padding:12px 14px;
  border-radius:12px;
  transition:.2s ease;
}

.avpm-verify-menu a:hover{
  background:#f4f6f8;
  color:var(--avpm-red);
}

.avpm-verify-header-copy{
  position:relative;
  z-index:2;
  text-align:center;
  margin-top:10px;
}

.avpm-verify-header h2{
  margin:0 0 6px;
  font-size:32px;
  line-height:1.1;
  color:var(--avpm-white);
  letter-spacing:-.02em;
}

.avpm-verify-header p{
  margin:0;
  color:#e4e8ed;
  opacity:.98;
  font-size:15px;
}

.avpm-verify-card{
  background:var(--avpm-white);
  border:1px solid var(--avpm-grey-3);
  border-radius:var(--avpm-radius);
  padding:24px;
  box-shadow:0 10px 28px rgba(17,17,17,.06);
}

.avpm-verify-card h3{
  margin:26px 0 14px;
  color:var(--avpm-black);
  font-size:20px;
  line-height:1.2;
  padding-bottom:8px;
  border-bottom:2px solid var(--avpm-grey-4);
}

.avpm-verify-card h4{
  color:var(--avpm-black);
}

.avpm-verify-grid{
  display:grid;
  gap:16px;
  margin-bottom:16px;
}

.avpm-verify-grid.one{grid-template-columns:1fr}
.avpm-verify-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.avpm-verify-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}

.avpm-verify-card label{
  display:block;
  font-weight:700;
  font-size:13px;
  margin-bottom:7px;
  color:#2d3339;
  letter-spacing:.01em;
}

.avpm-verify-card input,
.avpm-verify-card textarea,
.avpm-verify-card select{
  width:100%;
  border:1px solid #cfd5dc;
  border-radius:13px;
  padding:13px 14px;
  font-size:15px;
  line-height:1.35;
  box-sizing:border-box;
  background:#fff;
  color:#111;
  transition:.18s ease;
}

.avpm-verify-card input::placeholder,
.avpm-verify-card textarea::placeholder{
  color:#8a9098;
}

.avpm-verify-card input:focus,
.avpm-verify-card textarea:focus,
.avpm-verify-card select:focus{
  outline:none;
  border-color:var(--avpm-red);
  box-shadow:0 0 0 4px rgba(197,22,29,.10);
}

.avpm-verify-callout{
  background:#f6f8fa;
  border:1px solid #dde3e8;
  border-left:5px solid var(--avpm-red);
  border-radius:16px;
  padding:16px 18px;
  margin-bottom:18px;
}

.avpm-verify-callout.is-light{
  background:#fafbfc;
}

.avpm-verify-callout-title{
  display:block;
  color:var(--avpm-black);
  font-weight:800;
}

.avpm-verify-consent-text{
  margin:8px 0 0;
  color:#181818 !important;
  font-size:15px;
  line-height:1.65;
}

.avpm-verify-auth-meta{
  margin:12px 0 0;
  color:#212121;
}

.avpm-verify-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-weight:600 !important;
  color:#2d3339;
}

.avpm-verify-checkbox input{
  width:auto !important;
  margin-top:2px;
}

.avpm-verify-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:24px;
}

.avpm-verify-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  background:linear-gradient(135deg,var(--avpm-red),var(--avpm-red-dark));
  color:#fff;
  border:0;
  border-radius:14px;
  padding:13px 20px;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(197,22,29,.22);
  transition:.18s ease;
}

.avpm-verify-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(197,22,29,.26);
}

.avpm-verify-btn[disabled]{
  opacity:.65;
  cursor:wait;
  transform:none;
}

.avpm-verify-btn-secondary{
  background:#fff;
  color:var(--avpm-black);
  border:1px solid #ccd3da;
  box-shadow:none;
}

.avpm-verify-btn-secondary:hover{
  color:var(--avpm-red);
  border-color:#bfc7cf;
  background:#f9fafb;
  transform:none;
}

.avpm-verify-message{
  margin-top:18px;
  padding:14px 16px;
  border-radius:13px;
  font-weight:700;
}

.avpm-verify-message.is-success{
  background:var(--avpm-success-bg);
  color:var(--avpm-success);
}

.avpm-verify-message.is-error{
  background:var(--avpm-error-bg);
  color:var(--avpm-error);
}

.avpm-verify-message.is-info{
  background:var(--avpm-info-bg);
  color:var(--avpm-info);
}

.avpm-verify-summary-card{
  margin-bottom:18px;
}

.avpm-verify-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}

.avpm-verify-summary-label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#6f7780;
  margin-bottom:4px;
  font-weight:800;
}

.avpm-verify-signature,
.avpm-verify-signature-inline{
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;
  font-size:26px;
  line-height:1.1;
}

.avpm-verify-signature{
  letter-spacing:.02em;
}

.avpm-verify-admin-table code{
  font-size:12px;
}

.avpm-verify-admin-table p{
  margin:0 0 8px;
}

.avpm-verify-admin-table a{
  color:var(--avpm-red-dark);
  font-weight:700;
}

.avpm-verify-admin-table a:hover{
  color:var(--avpm-red);
}

.avpm-verify-status{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-transform:lowercase;
}

.avpm-verify-status-landlord_request_sent{background:#e7eefc;color:#224ea3}
.avpm-verify-status-landlord_response_received{background:#fdeef4;color:#a61b58}
.avpm-verify-status-landlord_replied{background:#e7f7ed;color:#1f6b3b}
.avpm-verify-status-send_failed{background:#fdeaea;color:#9f1d1d}
.avpm-verify-status-draft{background:#f1f3f5;color:#49515a}
.avpm-verify-status-completed{background:#e7f7ed;color:#1f6b3b}
.avpm-verify-status-green,
.avpm-verify-status-approved{background:#e7f7ed;color:#1f6b3b}
.avpm-verify-status-yellow,
.avpm-verify-status-cautionary{background:#fff4dc;color:#9a6500}
.avpm-verify-status-red,
.avpm-verify-status-risk{background:#fdeaea;color:#9f1d1d}
.avpm-verify-status-pending{background:#eceff2;color:#4f5963}

.avpm-verify-final-document{
  font-size:14px;
  line-height:1.5;
}

.avpm-verify-final-document--compact{
  page-break-inside:avoid;
}

.avpm-verify-final-doc-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
}

.avpm-verify-onepage-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
}

.avpm-verify-onepage-section{
  border:1px solid #dde3e8;
  border-radius:14px;
  padding:14px;
  background:#fff;
}

.avpm-verify-onepage-section h4{
  margin:0 0 10px;
  color:var(--avpm-black);
  font-size:15px;
}

.avpm-verify-onepage-section--full{
  grid-column:1/-1;
}

.avpm-verify-onepage-section p{
  margin:6px 0;
}

.avpm-verify-eval-details{
  margin-top:6px;
}

.avpm-verify-eval-details summary{
  cursor:pointer;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:8px;
}

.avpm-verify-eval-summary-inline{
  font-size:12px;
  color:#57606a;
}

.avpm-verify-eval-body{
  padding-top:8px;
}

.avpm-verify-eval-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}

.avpm-verify-eval-item{
  border:1px solid #e1e6ea;
  border-radius:12px;
  padding:10px;
  background:#fafbfc;
}

.avpm-verify-eval-item p{
  margin:6px 0 0;
}

.avpm-verify-override-toggle summary{
  cursor:pointer;
  font-weight:700;
}

.avpm-verify-override-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:8px;
}

.avpm-verify-final-document p{
  margin:8px 0;
}

.avpm-verify-final-document .avpm-verify-summary-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 14px;
}

/* ── Public form: always render on a clean white surface regardless of theme ── */
.avpm-verify-wrap{
  background:#f8f9fa;
  border-radius:6px;
  padding-top:0;
}

/* ── Admin / management dark-theme overrides (scoped — never bleed into public form) ── */
.avpm-verify-wrap.admin-context,
.avpm-verify-card.admin-context{
  color:#e5ecf3;
}

.avpm-verify-wrap.admin-context .avpm-verify-card,
.avpm-verify-management-shell .avpm-verify-card{
  background:linear-gradient(180deg, #151b24, #0f141c);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  color:#e5ecf3;
}

.avpm-verify-management-shell .avpm-verify-header,
.avpm-verify-wrap.admin-context .avpm-verify-header{
  background:linear-gradient(135deg,#11161d 0%, #0a0e14 100%);
}

.avpm-verify-management-shell .avpm-verify-card h3,
.avpm-verify-management-shell .avpm-verify-card h4,
.avpm-verify-wrap.admin-context .avpm-verify-card h3,
.avpm-verify-wrap.admin-context .avpm-verify-card h4{
  color:#f8fafc;
  border-bottom-color:rgba(255,255,255,.08);
}

.avpm-verify-wrap.admin-context .avpm-verify-card label,
.avpm-verify-wrap.admin-context .avpm-verify-summary-label,
.avpm-verify-wrap.admin-context .avpm-verify-auth-meta,
.avpm-verify-wrap.admin-context .avpm-verify-consent-text,
.avpm-verify-wrap.admin-context .avpm-verify-card p,
.avpm-verify-wrap.admin-context .avpm-verify-card li{
  color:#d3dbe6 !important;
}

.avpm-verify-wrap.admin-context .avpm-verify-card input,
.avpm-verify-wrap.admin-context .avpm-verify-card textarea,
.avpm-verify-wrap.admin-context .avpm-verify-card select{
  background:#0c1118;
  border-color:rgba(255,255,255,.12);
  color:#f8fafc;
}

.avpm-verify-wrap.admin-context .avpm-verify-card input::placeholder,
.avpm-verify-wrap.admin-context .avpm-verify-card textarea::placeholder{
  color:#8ea0b5;
}

.avpm-verify-wrap.admin-context .avpm-verify-callout,
.avpm-verify-wrap.admin-context .avpm-verify-onepage-section,
.avpm-verify-wrap.admin-context .avpm-verify-eval-item{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
}

.avpm-verify-wrap.admin-context .avpm-verify-btn-secondary{
  background:rgba(255,255,255,.06);
  color:#f8fafc;
  border-color:rgba(255,255,255,.12);
}

.avpm-verify-wrap.admin-context .avpm-verify-btn-secondary:hover{
  background:rgba(255,255,255,.10);
  color:#facc15;
  border-color:rgba(250,204,21,.32);
}

.avpm-verify-admin-table{
  border-collapse:separate;
  border-spacing:0;
}

.avpm-verify-admin-table th,
.avpm-verify-admin-table td{
  background:#10161f !important;
  color:#e5ecf3 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.avpm-verify-admin-table thead th{
  background:#18202b !important;
  color:#f8fafc !important;
}

.avpm-verify-admin-table tr:nth-child(even) td{
  background:#0d131b !important;
}

.avpm-verify-admin-table .button,
.avpm-verify-admin-table a.button{
  background:rgba(255,255,255,.06) !important;
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}

.avpm-verify-admin-table .button:hover,
.avpm-verify-admin-table a.button:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(250,204,21,.30) !important;
  color:#facc15 !important;
}

.avpm-verify-admin-table .button[style*="color:#b91c1c"]{
  background:rgba(208,24,34,.12) !important;
  border-color:rgba(208,24,34,.28) !important;
  color:#fecaca !important;
}

.avpm-verify-admin-table .button[style*="color:#b91c1c"]:hover{
  color:#fff !important;
  background:rgba(208,24,34,.24) !important;
}

@media (max-width:900px){
  .avpm-verify-onepage-grid,
  .avpm-verify-eval-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .avpm-verify-wrap{
    margin:18px auto;
    padding:0 12px 40px;
  }

  .avpm-verify-grid.two,
  .avpm-verify-grid.three,
  .avpm-verify-summary-grid{
    grid-template-columns:1fr;
  }

  .avpm-verify-header{
    padding:18px 16px 16px;
    border-radius:18px;
  }

  .avpm-verify-topbar{
    grid-template-columns:1fr auto 1fr;
    min-height:64px;
  }

  .avpm-verify-brand img{
    width:min(220px, 64vw);
    max-height:68px;
  }

  .avpm-verify-header h2{
    font-size:24px;
  }

  .avpm-verify-card{
    padding:18px;
  }

  .avpm-verify-signature,
  .avpm-verify-signature-inline{
    font-size:22px;
  }

  .avpm-verify-menu{
    top:56px;
  }
}

@media print{
  .no-print,
  .avpm-verify-actions,
  .avpm-verify-message,
  .site-header,
  .site-footer,
  #wpadminbar,
  .avpm-verify-topbar-right{
    display:none !important;
  }

  .avpm-verify-wrap{
    max-width:none;
    margin:0;
    padding:0;
  }

  .avpm-verify-header{
    box-shadow:none;
    margin-bottom:12px;
    padding:12px 16px;
    background:#222 !important;
  }

  .avpm-verify-card{
    box-shadow:none;
    border:1px solid #dbe2ea;
    border-radius:12px;
    padding:14px;
  }

  .avpm-verify-final-doc-actions{
    display:none !important;
  }

  .avpm-verify-onepage-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .avpm-verify-onepage-section{
    padding:8px;
  }

  .avpm-verify-eval-details[open] summary::marker{
    color:transparent;
  }
}
