/* Build 405 — contract customer capture, visit scheduling, signatures and agreement */

#modal .guard-contract-modal-v405{
  width:min(920px,calc(100vw - 28px));
  max-width:920px;
}
#modal .guard-contract-form-v405{
  display:flex;
  flex-direction:column;
  gap:12px;
}
#modal .guard-contract-section-label-v405{
  margin:0 0 9px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(44,82,72,.13);
  color:#315f55;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.25px;
}
#modal .guard-contract-info-section-v405 .guard-contract-section-label-v405{color:#315d79;border-bottom-color:rgba(49,93,121,.14)}
#modal .guard-contract-payment-section-v405 .guard-contract-section-label-v405{color:#8b4944;border-bottom-color:rgba(139,73,68,.14)}
#modal .guard-contract-source-grid-v405,
#modal .guard-contract-two-v405,
#modal .guard-contract-three-v405{
  display:grid;
  gap:9px 10px;
  margin:0 0 9px;
}
#modal .guard-contract-source-grid-v405,
#modal .guard-contract-two-v405{grid-template-columns:repeat(2,minmax(0,1fr))}
#modal .guard-contract-three-v405{grid-template-columns:repeat(3,minmax(0,1fr))}
#modal .guard-contract-customer-nested-v405{margin:0;background:rgba(255,255,255,.72)}
#modal .guard-contract-customer-columns-v405{align-items:start;gap:12px}
#modal .guard-contract-customer-columns-v405 .job-col{display:flex;flex-direction:column;gap:8px}
#modal .guard-contract-postcode-v405 .postcode-results{
  max-height:180px;
  overflow:auto;
  margin-top:5px;
  border:1px solid #d8e2dc;
  border-radius:8px;
  background:#fff;
}
#modal .guard-contract-postcode-v405 .postcode-result{
  display:block;
  width:100%;
  min-height:31px;
  padding:7px 9px;
  border:0;
  border-bottom:1px solid #edf0ee;
  border-radius:0;
  background:#fff;
  color:#24342e;
  text-align:left;
  font-size:10px;
}
#modal .guard-contract-postcode-v405 .postcode-result:hover{background:#f4f8f5}
#modal .guard-contract-postcode-v405 .postcode-result:last-child{border-bottom:0}
#modal .guard-contract-radio-row-v405{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
#modal .guard-contract-radio-row-v405 label{position:relative;cursor:pointer}
#modal .guard-contract-radio-row-v405 input{position:absolute;opacity:0;pointer-events:none}
#modal .guard-contract-radio-row-v405 span{
  display:flex;
  min-height:31px;
  align-items:center;
  justify-content:center;
  border:1px solid #d8dfdc;
  border-radius:8px;
  background:#fff;
  color:#59635f;
  font-size:10px;
  font-weight:800;
}
#modal .guard-contract-radio-row-v405 input:checked+span{
  border-color:#85b6a6;
  background:#dff4e8;
  color:#1e604c;
}
#modal .guard-contract-info-section-v405 textarea{min-height:85px}
#modal .guard-contract-form-actions-v405,
#modal .guard-contract-agreement-actions-v405{
  margin-top:0;
  padding-top:11px;
  border-top:1px solid #e1e6e3;
}
#modal .guard-contract-error-v405{
  margin-top:-4px;
  padding:9px 11px;
  border:1px solid #fecaca;
  border-radius:9px;
  background:#fff1f2;
  color:#a42d2d;
  font-size:10px;
  font-weight:750;
}
#modal .guard-contract-payment-help-v405{display:block;margin-top:2px;color:#765653}
#modal .guard-contract-visit-count-v405{display:block;margin-top:4px;color:#5c7380}
#modal .guard-required-v405>label::after{content:" *";color:#b83b32}

/* Contract agreement and signatures */
#modal .guard-contract-agreement-screen-v405{display:flex;flex-direction:column;gap:13px}
#modal .guard-contract-document-v405{
  padding:14px;
  border:1px solid #d8e3de;
  border-radius:12px;
  background:#fbfdfb;
}
#modal .guard-contract-document-head-v405{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:11px;
  border-bottom:2px solid #286454;
}
#modal .guard-contract-document-head-v405 img{width:58px;height:58px;object-fit:contain}
#modal .guard-contract-document-head-v405 div{display:flex;flex-direction:column;gap:3px}
#modal .guard-contract-document-head-v405 strong{font-size:17px;color:#173f37}
#modal .guard-contract-document-head-v405 span{font-size:9px;color:#66736d}
#modal .guard-contract-summary-grid-v405{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:13px 0;
}
#modal .guard-contract-summary-grid-v405>div{
  min-width:0;
  padding:8px 9px;
  border:1px solid #e0e7e3;
  border-radius:8px;
  background:#fff;
}
#modal .guard-contract-summary-grid-v405 span,
#modal .guard-contract-summary-grid-v405 small{display:block;color:#7a8580;font-size:8px}
#modal .guard-contract-summary-grid-v405 strong{
  display:block;
  margin:3px 0 1px;
  color:#27352f;
  font-size:10px;
  overflow-wrap:anywhere;
}
#modal .guard-contract-document-section-v405{margin-top:12px}
#modal .guard-contract-document-section-v405 h3{
  margin:0 0 5px;
  padding-bottom:4px;
  border-bottom:1px solid #e0e7e3;
  color:#2f6257;
  font-size:10px;
  letter-spacing:.25px;
}
#modal .guard-contract-document-section-v405 p,
#modal .guard-contract-terms-v405{margin:0;color:#46544e;font-size:9px;line-height:1.5;white-space:pre-wrap}
#modal .guard-contract-terms-v405{padding-left:17px}
#modal .guard-contract-terms-v405 li{margin:0 0 4px}
#modal .guard-contract-signatures-v405{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#modal .guard-signature-block-v405{
  padding:10px;
  border:1px solid #d7dfdb;
  border-radius:11px;
  background:#fff;
}
#modal .guard-signature-head-v405{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
#modal .guard-signature-head-v405 strong{font-size:10px;color:#30413a}
#modal .guard-signature-head-v405 button{min-height:24px;padding:0 8px;border-radius:999px;font-size:8px}
#modal .guard-signature-block-v405 canvas{
  display:block;
  width:100%;
  height:105px;
  border:1px solid #dbe3df;
  border-radius:8px;
  background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(0deg,transparent,transparent 21px,#eff2f0 22px) border-box;
  cursor:crosshair;
}
#modal .guard-signature-block-v405 canvas.guard-signature-readonly-v405{cursor:default}
#modal .guard-signature-block-v405 small{display:block;margin-top:6px;color:#6c7772;font-size:9px}
#modal .guard-contract-agree-v405{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:10px 11px;
  border:1px solid #cfe2d8;
  border-radius:9px;
  background:#f0f8f3;
  color:#345349;
  font-size:9px;
  font-weight:700;
}
#modal .guard-contract-agree-v405 input{margin-top:1px}
#modal .guard-contract-agreement-status-v405{min-height:15px;color:#2d6556;font-size:9px;font-weight:750}

/* Signed contract access on the Contracts list. */
#view .guard-view-contract-v405{
  min-height:24px;
  padding:0 8px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:8px;
  font-weight:850;
}

/* Contract-generated visits use the contract blue palette in Calendar and Attention Needed. */
#attention-panel .guard-contract-visit-attention-v405{background:#eff6ff!important;border-top-color:#dbeafe!important}
#attention-panel .guard-contract-visit-attention-v405 .attn-type-cell strong,
#attention-panel .guard-contract-visit-attention-v405 .attn-status-cell>strong{
  background:#dbeafe!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
.guard-contract-visit-calendar-v405,
.guard-contract-visit-card-v405 .qcl-cs-type,
.guard-contract-visit-card-v405 .qcl-cs-time{
  color:#1d4ed8!important;
}
.qcm-event-job.guard-contract-visit-calendar-v405,
.qcw-event-job.guard-contract-visit-calendar-v405{
  background:#dbeafe!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}
.guard-contract-visit-card-v405 .qcl-cs-accent.job{background:#3b82f6!important}

/* Quick Calendar popup: selected-day panel above Week view. */
#modal .qcal-wrap .qcal-mode-week.qcal-mode-active>.guard-quick-week-day-panel-v405{
  order:-1!important;
  margin:0 0 14px!important;
}
#modal .guard-quick-week-day-panel-v405{display:block!important}

@media(max-width:760px){
  #modal .guard-contract-modal-v405{width:min(96vw,700px)}
  #modal .guard-contract-source-grid-v405,
  #modal .guard-contract-two-v405,
  #modal .guard-contract-three-v405,
  #modal .guard-contract-signatures-v405,
  #modal .guard-contract-summary-grid-v405{grid-template-columns:1fr}
  #modal .guard-contract-customer-columns-v405{grid-template-columns:1fr!important}
  #modal .guard-signature-block-v405 canvas{height:92px}
  #modal .guard-contract-agreement-actions-v405{flex-wrap:wrap}
  #modal .guard-contract-agreement-actions-v405 button{flex:1 1 150px}
}
