/* Client Master modal must win the shared design-system modal cascade.
   Keep its shell and scrolling model consistent with Add Engagement. */
body .modal-card.client-master-modal {
  width: 75vw;
  max-width: 1100px;
  height: 75vh;
  max-height: 760px;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
}

body .modal-card.client-master-modal > #modalBody {
  height: 100%;
  max-height: none;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
  scrollbar-gutter: auto;
}

body .modal-card.client-master-modal .client-form-footer {
  position: relative;
  bottom: auto;
  margin: 0;
  padding: 13px 24px;
}

@media (max-width: 760px) {
  body .modal-card.client-master-modal {
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
    height: calc(100svh - 12px);
    max-height: calc(100svh - 12px);
    border-radius: 15px;
  }

  body .modal-card.client-master-modal .client-form-footer {
    padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
  }
}

/* New client / inward entry: reuse the standard client and receipt forms. */
body .modal-card.new-client-receipt-modal{border:2px solid #8daac0;background:#f4f8fc;box-shadow:0 24px 75px rgba(19,49,74,.25)}
.new-client-receipt-modal .client-modal-header{padding:22px 65px 18px 24px;border-bottom:2px solid #b5cddd;background:linear-gradient(110deg,#eaf3fc,#f3fbfb)}
.new-client-receipt-modal .client-modal-header h2{font-size:25px;font-weight:800;color:#173d5c}
.new-client-receipt-modal .client-modal-header p{color:#48657b;line-height:1.5;font-size:13px}
.new-client-receipt-modal .client-master-form.eng-form .client-form-section{border:1.5px solid #9eb9ce;border-radius:12px;background:#fff;padding:16px;margin-bottom:10px}
.new-client-receipt-modal .client-form-section legend{padding:5px 12px;border:1px solid #a9c4d8;border-radius:8px;background:#e7f1fa;color:#204c6d;font-size:14px;font-weight:800}
.new-client-receipt-modal .client-form-section .field>label{color:#31516a;font-weight:800}
.new-client-receipt-modal .client-form-section input:not([type=checkbox]),.new-client-receipt-modal .client-form-section select,.new-client-receipt-modal .client-form-section textarea{border-color:#a7bfd2}
body .new-client-receipt-modal .client-form-footer{border-top:2px solid #b5cddd;background:#f1f6fb;gap:10px}
@media(max-width:760px){.new-client-receipt-modal .client-modal-header{padding:16px 52px 12px 14px}.new-client-receipt-modal .client-modal-header h2{font-size:20px}.new-client-receipt-modal .client-master-form.eng-form .client-form-section{padding:12px}.new-client-receipt-modal .client-form-footer button{white-space:normal}}

/* Modern Client Master workspace */
body .modal-card.client-master-modal{width:min(1280px,calc(100vw - 40px));max-width:1280px;height:min(900px,calc(100svh - 34px));max-height:calc(100svh - 34px);border:1px solid rgba(148,163,184,.28);border-radius:24px;background:#f4f7fb;box-shadow:0 32px 90px rgba(15,35,52,.32)}
body .modal-card.client-master-modal .modal-close{top:18px;right:20px;width:42px;height:42px;border:1px solid #d7e1ea;border-radius:13px;background:rgba(255,255,255,.92);color:#27445d;box-shadow:0 5px 16px rgba(28,55,77,.08);transition:.18s ease}
body .modal-card.client-master-modal .modal-close:hover{border-color:#9ebbd0;background:#eef6fb;color:#0d67a5;transform:translateY(-1px)}
.client-master-modal .client-modal-header{position:relative;min-height:92px;padding:22px 82px 18px 30px;overflow:hidden;border-bottom:1px solid #dce6ee;background:radial-gradient(circle at 92% 0%,rgba(41,142,201,.12),transparent 34%),linear-gradient(135deg,#fff 0%,#f7fbff 68%,#eef7fc 100%)}
.client-master-modal .client-modal-header::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#0c78b9,#21a3a3)}
.client-master-modal .client-modal-header h2{display:flex;align-items:center;gap:12px;margin:0;color:#142b40;font-size:26px;font-weight:800;letter-spacing:-.5px}
.client-master-modal .client-modal-header h2::before{content:"+";display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#0e78b5,#159b9a);color:#fff;font:500 24px/1 Manrope,sans-serif;box-shadow:0 7px 18px rgba(14,120,181,.22)}
.client-master-modal .client-modal-header p{margin:7px 0 0 47px;color:#60798b;font-size:12px;line-height:1.5}
.client-master-modal .client-master-form{background:#f4f7fb}
.client-master-modal .client-form-body{padding:22px 26px 26px;scrollbar-color:#b3c5d3 transparent;scrollbar-width:thin}
.client-master-modal .client-form-body::-webkit-scrollbar{width:8px}.client-master-modal .client-form-body::-webkit-scrollbar-track{background:transparent}.client-master-modal .client-form-body::-webkit-scrollbar-thumb{border:2px solid #f4f7fb;border-radius:999px;background:#b3c5d3}
.client-master-modal .client-form-sections{counter-reset:client-section;gap:16px}
.client-master-modal .client-master-form.eng-form .client-form-section{counter-increment:client-section;margin:0;padding:19px 20px 21px;border:1px solid #dbe5ed;border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(25,54,76,.055);transition:.2s ease}
.client-master-modal .client-master-form.eng-form .client-form-section:focus-within{border-color:#b6d3e6;box-shadow:0 10px 28px rgba(25,91,135,.09)}
.client-master-modal .client-master-form.eng-form .client-form-section legend{display:inline-flex;align-items:center;gap:9px;margin-left:-4px;padding:0 10px 0 4px;border:0;background:#fff;color:#173a59;font-size:13px;font-weight:800;letter-spacing:-.1px}
.client-master-modal .client-form-section legend::before{content:counter(client-section,decimal-leading-zero);display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e8f4fb;color:#0878b5;font-size:9px;font-weight:900;letter-spacing:.35px}
.client-master-modal .client-row{gap:16px 18px;margin-top:15px}
.client-master-modal .client-master-form .field>label{min-height:20px;color:#3e5b70;font-size:10px;font-weight:800;letter-spacing:.12px}
.client-master-modal .required,.client-master-modal .optional{margin-left:2px;padding:3px 7px;border:1px solid transparent;font-size:7px;font-weight:900;letter-spacing:.55px}
.client-master-modal .required{border-color:#ffd9dd;background:#fff0f2;color:#b73343}.client-master-modal .optional{border-color:#e2e9ee;background:#f1f5f7;color:#6b808d}
.client-master-modal .client-master-form .field input,.client-master-modal .client-master-form .field select,.client-master-modal .client-master-form textarea{border:1px solid #ccd9e3;border-radius:11px;background:#fff;color:#183247;box-shadow:0 1px 2px rgba(28,55,77,.025);transition:.18s ease}
.client-master-modal .client-master-form .field input,.client-master-modal .client-master-form .field select{height:48px}
.client-master-modal .client-master-form .field input:hover,.client-master-modal .client-master-form .field select:hover,.client-master-modal .client-master-form textarea:hover{border-color:#a9bfce}
.client-master-modal .client-master-form .field input:focus,.client-master-modal .client-master-form .field select:focus,.client-master-modal .client-master-form textarea:focus{border-color:#1683bd;background:#fff;box-shadow:0 0 0 3px rgba(22,131,189,.13)}
.client-master-modal .mini-add{margin-left:auto;padding:3px 7px;border-radius:6px;background:#eaf8f6;color:#087e75;line-height:1.2}.client-master-modal .client-field-note{margin-top:3px;color:#718694}
body .modal-card.client-master-modal .client-form-footer{min-height:70px;padding:13px 26px;border-top:1px solid #d8e3eb;background:rgba(255,255,255,.96);box-shadow:0 -10px 28px rgba(22,48,67,.065);backdrop-filter:blur(12px)}
.client-master-modal .client-form-footer button{min-width:132px;min-height:44px;border-radius:11px;font-weight:800}.client-master-modal .client-form-footer .primary{border-color:#10233b;background:linear-gradient(135deg,#142a43,#0c1b30);box-shadow:0 7px 18px rgba(15,35,58,.19)}
@media(max-width:1100px){body .modal-card.client-master-modal{width:calc(100vw - 24px);height:calc(100svh - 24px);max-height:calc(100svh - 24px)}.client-master-modal .client-form-body{padding:18px}}
@media(max-width:760px){body .modal-card.client-master-modal{width:calc(100vw - 10px);max-width:calc(100vw - 10px);height:calc(100svh - 10px);max-height:calc(100svh - 10px);border-radius:18px}.client-master-modal .client-modal-header{min-height:80px;padding:16px 58px 13px 18px}.client-master-modal .client-modal-header h2{gap:9px;font-size:21px}.client-master-modal .client-modal-header h2::before{width:30px;height:30px;border-radius:9px;font-size:21px}.client-master-modal .client-modal-header p{margin:6px 0 0 39px;font-size:10px}.client-master-modal .client-form-body{padding:13px 11px 18px}.client-master-modal .client-form-sections{gap:12px}.client-master-modal .client-master-form.eng-form .client-form-section{padding:14px 12px 16px;border-radius:14px}.client-master-modal .client-master-form.eng-form .client-form-section legend{font-size:12px}.client-master-modal .client-row{gap:12px;margin-top:12px}body .modal-card.client-master-modal .client-form-footer{min-height:66px;padding:10px 11px calc(10px + env(safe-area-inset-bottom))}.client-master-modal .client-form-footer button{min-width:0;min-height:44px}}

/* Six-section Add Client workspace. */
body .modal-card.client-master-modal{width:min(1240px,92vw);max-width:1240px;height:min(90dvh,860px);max-height:min(90vh,860px);border:1px solid #cad9e2;border-radius:20px;background:#fff;box-shadow:0 26px 76px rgba(13,39,58,.25);transform:none}
body .modal-card.client-master-modal>#modalBody{grid-template-rows:auto auto minmax(0,1fr);background:#fff}
.client-master-modal .client-modal-header{display:flex;align-items:center;gap:13px;min-height:78px;padding:15px 72px 13px 22px;border-bottom:1px solid #e0e8ed;background:#fff}
.client-master-modal .client-modal-header::before,.client-master-modal .client-modal-header h2::before{display:none}
.client-master-modal .client-header-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#e4f4f2;color:#087d76}
.client-master-modal .client-header-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.client-master-modal .client-modal-header h2{display:block;margin:0;color:#132f43;font-size:21px;line-height:1.2;letter-spacing:-.25px}
.client-master-modal .client-modal-header p{margin:3px 0 0;color:#647b88;font-size:11px}
.client-master-modal .client-modal-header small{display:block;margin-top:3px;color:#778b95;font-size:9px}
.client-master-modal .client-modal-header small span,.client-master-modal .client-required-marker{color:#d33b4a;font-weight:900}
.client-master-modal .client-form-tabs{display:flex;flex:0 0 auto;gap:5px;padding:9px 18px;border-bottom:1px solid #dce6eb;background:#f8fafb;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.client-master-modal .client-form-tabs button{position:relative;display:flex;align-items:center;gap:8px;flex:1 0 auto;min-width:126px;min-height:42px;padding:7px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#516b78;text-align:left}
.client-master-modal .client-form-tabs button>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:#e9eff2;color:#69808b;font-size:9px;font-weight:900}
.client-master-modal .client-form-tabs button>b{font-size:10px;white-space:nowrap}
.client-master-modal .client-form-tabs button:hover{background:#edf5f5;color:#176861}
.client-master-modal .client-form-tabs button.active{border-color:#9ed4cf;background:#e6f5f2;color:#087a73}
.client-master-modal .client-form-tabs button.active>span{background:#07877f;color:#fff}
.client-master-modal .client-form-tabs button:focus-visible{outline:3px solid rgba(8,135,127,.2);outline-offset:1px}
.client-master-modal .client-form-tabs button.has-error::after{content:"";position:absolute;top:6px;right:7px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#d43b49;box-shadow:0 0 0 1px #d43b49}
.client-master-modal .client-master-form{grid-template-rows:minmax(0,1fr) auto;background:#f5f8fa}
.client-master-modal .client-form-body{padding:18px 22px 22px;background:#f5f8fa}
.client-master-modal .client-form-sections{display:block}
.client-master-modal .client-master-form.eng-form .client-form-section{margin:0;padding:18px 19px 21px;border:1px solid #d7e3e9;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(22,55,76,.045)}
.client-master-modal .client-master-form.eng-form .client-form-section[hidden]{display:none!important}
.client-master-modal .client-master-form.eng-form .client-form-section legend{margin:0;padding:0 8px;color:#173950;font-size:14px}
.client-master-modal .client-form-section legend::before{display:none}
.client-master-modal .client-section-heading{margin:5px 0 2px;color:#68808c;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.client-master-modal .client-service-heading{margin-top:20px;padding-top:15px;border-top:1px solid #e2eaee}
.client-master-modal .client-row,.client-master-modal .client-basic-row,.client-master-modal .client-basic-row-one,.client-master-modal .client-basic-row-two,.client-master-modal .client-contact-row,.client-master-modal .client-form-section:nth-of-type(4)>.client-row:first-of-type{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 17px;margin-top:13px}
.client-master-modal .client-basic-row-one .field:nth-child(2),.client-master-modal .client-basic-row-one .field:nth-child(3),.client-master-modal .client-basic-row-two .field:nth-child(3){min-width:220px}
.client-master-modal .client-control-field input{max-width:none}
.client-master-modal .client-master-form .field>label{min-height:18px;color:#36566a;font-size:10px;font-weight:800}
.client-master-modal .client-master-form .field input,.client-master-modal .client-master-form .field select{height:44px;border-color:#bdced8;border-radius:9px}
.client-master-modal .client-master-form textarea{border-color:#bdced8;border-radius:9px}
.client-master-modal .required,.client-master-modal .optional{display:none!important}
.client-master-modal .client-required-marker{margin-left:1px;font-size:12px}
.client-master-modal .client-field-error{display:block;margin-top:5px;color:#b62c39;font-size:9px;font-weight:700}
.client-master-modal [aria-invalid=true]{border-color:#d64a55!important;background:#fffafb!important;box-shadow:0 0 0 3px rgba(214,74,85,.1)!important}
.client-master-modal .client-location-review{margin-top:12px}
.client-master-modal .client-form-footer{justify-content:space-between!important;gap:16px;min-height:68px!important;padding:11px 22px!important;background:#fff!important;backdrop-filter:none!important}
.client-master-modal .client-footer-progress{display:grid;gap:2px;min-width:130px}
.client-master-modal .client-footer-progress b{color:#173b53;font-size:10px}.client-master-modal .client-footer-progress span{color:#70848e;font-size:9px}
.client-master-modal .client-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.client-master-modal .client-form-footer button{min-width:104px;min-height:44px;border-radius:9px}
.client-master-modal .client-form-footer .primary{border-color:#087f79;background:linear-gradient(135deg,#0a8e86,#08746f);box-shadow:0 6px 15px rgba(8,127,121,.2);color:#fff}
.client-master-modal .client-form-footer .primary:hover{background:#076d68}
.client-master-modal .client-form-footer .secondary{border:1px solid #9bc9c5;background:#e8f6f3;color:#08766f}
.client-master-modal .client-form-footer [hidden]{display:none!important}
@media(max-width:960px){body .modal-card.client-master-modal{width:94vw;height:90dvh}.client-master-modal .client-row,.client-master-modal .client-basic-row,.client-master-modal .client-basic-row-one,.client-master-modal .client-basic-row-two,.client-master-modal .client-contact-row,.client-master-modal .client-form-section:nth-of-type(4)>.client-row:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}.client-master-modal .client-basic-row-one .field:nth-child(2),.client-master-modal .client-basic-row-one .field:nth-child(3),.client-master-modal .client-basic-row-two .field:nth-child(3){min-width:0}}
@media(max-width:620px){body .modal-card.client-master-modal{width:94vw;max-width:94vw;height:min(94dvh,calc(100svh - 12px));max-height:calc(100svh - 12px);margin:max(env(safe-area-inset-top),6px) auto max(env(safe-area-inset-bottom),6px);border-radius:16px}.client-master-modal .client-modal-header{min-height:72px;padding:12px 58px 10px 13px;gap:10px}.client-master-modal .client-header-icon{flex-basis:38px;width:38px;height:38px}.client-master-modal .client-modal-header h2{font-size:18px}.client-master-modal .client-modal-header p{font-size:10px}.client-master-modal .client-form-tabs{gap:4px;padding:7px 9px}.client-master-modal .client-form-tabs button{min-width:112px;min-height:44px;padding:7px 9px}.client-master-modal .client-form-tabs button>b{font-size:9px}.client-master-modal .client-form-body{padding:10px 9px 14px}.client-master-modal .client-master-form.eng-form .client-form-section{padding:13px 11px 16px}.client-master-modal .client-row,.client-master-modal .client-basic-row,.client-master-modal .client-basic-row-one,.client-master-modal .client-basic-row-two,.client-master-modal .client-contact-row,.client-master-modal .client-form-section:nth-of-type(4)>.client-row:first-of-type{grid-template-columns:1fr}.client-master-modal .client-form-footer{display:grid!important;grid-template-columns:1fr;gap:8px!important;padding:8px 9px calc(8px + env(safe-area-inset-bottom))!important}.client-master-modal .client-footer-progress{display:flex;align-items:center;justify-content:space-between}.client-master-modal .client-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.client-master-modal .client-form-footer button{width:100%;min-width:0;min-height:44px;padding:8px 6px;font-size:10px}.client-master-modal .client-photo-field{grid-template-columns:1fr}.client-master-modal .client-map-field .inline-field{grid-template-columns:1fr 1fr}.client-master-modal .client-map-field .inline-field input{grid-column:1/-1}}
