
/* KOVLEON unified large forms — applies only to selected CRM modals. */
.modal.kv-workflow-modal{
  width:min(920px,calc(100vw - 28px));max-width:none!important;
  height:min(88dvh,900px);max-height:calc(100dvh - 26px)!important;
  padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;
  border:1px solid #d8e0eb;border-radius:16px;background:#f7f9fc;
  box-shadow:0 24px 64px rgba(16,24,40,.26);
}
.modal.kv-workflow-modal.kv-small-modal{width:min(760px,calc(100vw - 28px));height:min(78dvh,760px)}
.modal.kv-workflow-modal.kv-medium-modal{width:min(840px,calc(100vw - 28px))}
.kv-form-header{flex:0 0 auto;position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 24px 17px;background:#fff;border-bottom:1px solid #e4e7ec}
.kv-form-eyebrow{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.09em;color:#175cd3;text-transform:uppercase}
.modal.kv-workflow-modal .kv-form-header h2{margin:0 0 5px;font-size:21px;line-height:1.25;color:#101828}
.kv-form-header p{margin:0;color:#667085;font-size:12px;line-height:1.5}
.kv-form-close{flex:0 0 auto;border:1px solid #e4e7ec;width:36px;height:36px;border-radius:9px;font-size:24px;line-height:28px;color:#475467;cursor:pointer;background:#fff}
.kv-form-close:hover,.kv-form-close:focus-visible{background:#f2f4f7;outline:2px solid #b2ccff}
.kv-form-nav{display:flex;gap:6px;flex:0 0 auto;padding:9px 24px;border-bottom:1px solid #e4e7ec;background:#fff;overflow-x:auto;scrollbar-width:thin}
.kv-form-nav button{flex:0 0 auto;padding:8px 12px;border:1px solid #e4e7ec;border-radius:999px;background:#fff;color:#344054;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
.kv-form-nav button:hover{border-color:#a4bcfd;background:#eef4ff}
.kv-form-body{min-height:0;flex:1 1 auto;padding:18px 24px 24px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.kv-form-section{background:#fff;border:1px solid #e1e7ef;border-radius:12px;margin-bottom:14px;padding:16px 18px;min-width:0}
.kv-form-section:last-child{margin-bottom:0}
.kv-form-section-heading{display:flex;gap:11px;align-items:flex-start;margin:0 0 14px;scroll-margin-top:12px}
.kv-form-section-heading .kv-form-step{flex:0 0 28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eaf2ff;color:#175cd3;font-size:11px;font-weight:800}
.kv-form-section-heading h3{margin:0 0 3px;color:#101828;font-size:15px;line-height:1.4}
.kv-form-section-heading p{margin:0;color:#667085;font-size:11px;line-height:1.5}
.kv-form-grid,.kv-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;align-items:start}
.kv-fields-grid>.kv-form-section-heading{grid-column:1/-1;margin:13px 0 2px;padding-top:11px;border-top:1px solid #e7edf4}
.kv-fields-grid>.kv-form-section-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.kv-field-wide{grid-column:1/-1}
.kv-workflow-modal .form-group{margin-bottom:0;min-width:0}
.kv-workflow-modal .form-group>label,.kv-workflow-modal .kv-form-grid label{display:block;margin-bottom:5px;color:#344054;font-size:11px;font-weight:700}
.kv-workflow-modal input:not([type=file]),.kv-workflow-modal select,.kv-workflow-modal textarea{width:100%;max-width:100%;min-width:0;min-height:40px;font-size:14px;padding:8px 11px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#101828}
.kv-workflow-modal input:focus,.kv-workflow-modal select:focus,.kv-workflow-modal textarea:focus{border-color:#84adff;outline:3px solid rgba(132,173,255,.2)}
.kv-workflow-modal textarea{min-height:90px;resize:vertical}
.kv-workflow-modal input[type=file]{width:100%;font-size:12px}
.kv-field-hint{font-size:11px;color:#667085;margin-top:6px;line-height:1.5}
.kv-workflow-modal .counterparty-card-grid{gap:12px!important}
.kv-workflow-modal .counterparty-card-grid>div[style*="grid-column"]{grid-column:1/-1}
.kv-workflow-modal .counterparty-contact-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f8fafc}
.kv-workflow-modal .counterparty-contact-row>.btn{align-self:end;min-height:40px}
.kv-workflow-modal .object-customer-line{grid-template-columns:minmax(0,1fr) auto}
.kv-workflow-modal .responsible-picker{max-height:180px}
.kv-workflow-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.kv-workflow-modal .form-row .form-group{min-width:0}
.kv-workflow-modal .deal-form-section.kv-loan-inner-section{border:0;margin:0;padding:0;background:transparent}
.kv-workflow-modal .loan-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kv-workflow-modal .loan-summary-item{padding:10px;min-width:0}
.kv-workflow-modal .loan-summary-item b{font-size:14px;overflow-wrap:anywhere}
.kv-workflow-modal .loan-repayment-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.kv-workflow-modal .loan-file-help{line-height:1.5}
.kv-form-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 24px;background:#fff;border-top:1px solid #d8e0eb;box-shadow:0 -4px 16px rgba(16,24,40,.04)}
.kv-form-footer-caption{font-size:11px;color:#667085;line-height:1.45}
.kv-form-footer-actions{display:flex;gap:9px;flex:0 0 auto}
.kv-form-footer .btn{min-height:42px;min-width:110px;padding:9px 15px;font-weight:700}
.kv-workflow-modal[data-kv-saving=true] .kv-form-close,.kv-workflow-modal[data-kv-saving=true] .kv-form-cancel{opacity:.55}
.kv-profile-modal{border-radius:14px}
.kv-profile-modal>.hr-section{border-color:#e1e7ef;background:#fff;border-radius:12px}
.kv-profile-modal>.hr-section>h3{color:#101828;font-size:15px;border-bottom:1px solid #eef0f4;padding-bottom:10px}
.kv-profile-modal .form-group label{color:#344054;font-size:11px;font-weight:700}
@media (max-width:768px){
  .modal-overlay:has(>.kv-workflow-modal){align-items:stretch!important;padding:0!important;overflow:hidden!important}
  .modal.kv-workflow-modal,.modal.kv-workflow-modal.kv-small-modal,.modal.kv-workflow-modal.kv-medium-modal{
    width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;
    margin:0!important;border:0!important;border-radius:0!important;padding:0!important;
  }
  .kv-form-header{padding:14px 16px 12px}
  .modal.kv-workflow-modal .kv-form-header h2{font-size:18px}
  .kv-form-header p{font-size:11px}
  .kv-form-nav{padding:8px 12px}
  .kv-form-nav button{min-height:36px}
  .kv-form-body{padding:12px 12px 24px}
  .kv-form-section{padding:14px 12px;margin-bottom:10px}
  .kv-form-grid,.kv-fields-grid{grid-template-columns:1fr!important;gap:10px!important}
  .kv-field-wide,.kv-fields-grid>div[style*="grid-column"]{grid-column:1!important}
  .kv-workflow-modal .form-row{grid-template-columns:1fr!important;gap:10px;margin-bottom:10px}
  .kv-workflow-modal input:not([type=file]),.kv-workflow-modal select,.kv-workflow-modal textarea{font-size:16px!important;min-height:46px!important;padding:10px!important}
  .kv-workflow-modal .counterparty-contact-row,.kv-workflow-modal .loan-repayment-row{grid-template-columns:1fr!important}
  .kv-workflow-modal .object-customer-line{grid-template-columns:1fr!important}
  .kv-workflow-modal .object-customer-line .btn{width:100%}
  .kv-workflow-modal .loan-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kv-form-footer{display:grid;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom))}
  .kv-form-footer-caption{text-align:center;font-size:10px}
  .kv-form-footer-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
  .kv-form-footer .btn{width:100%;min-width:0;min-height:46px}
  .kv-profile-modal .hr-grid,.kv-profile-modal .hr-grid.two{grid-template-columns:1fr!important}
  .kv-profile-modal .hr-header{grid-template-columns:1fr!important}
}

/* Destructive action is available only inside the existing counterparty card. */
#counterpartyModal .kv-form-footer{gap:14px}
#counterpartyModal .kv-form-delete{flex:0 0 auto;min-height:42px;padding:9px 13px;font-weight:700}
#counterpartyModal .kv-form-footer-caption{flex:1;min-width:0}
@media(max-width:768px){
  #counterpartyModal .kv-form-footer{grid-template-columns:1fr!important}
  #counterpartyModal .kv-form-delete{width:100%;order:3;min-height:44px}
  #counterpartyModal .kv-form-footer-caption{order:1}
  #counterpartyModal .kv-form-footer-actions{order:2}
}

/* Creating a contract requires only essential fields. Financial lines are edited from its workspace. */
#dealModal.deal-compact-create .deal-form-section,
#dealModal.deal-compact-create .deal-metrics,
#dealModal.deal-compact-create .form-row:has(#dealObligationSalary),
#dealModal.deal-compact-create .form-group:has(#dealComments){display:none!important}
#dealModal.deal-compact-create .modal{max-width:760px!important}
