/* Contact add/edit uses the original form controls and save callbacks. */
#frm_Contact,#frm_Contact *{box-sizing:border-box}
#frm_Contact div{float:none!important}
.portal-drawer #frm_Contact.portal-contact-form{width:100%;max-width:1200px;margin:0 auto;padding:0;border:0;background:transparent;box-shadow:none}
#frm_Contact .contact-heading{margin:0 0 22px;padding:0 2px;text-align:start}
#frm_Contact .contact-heading h1{margin:0 0 7px;font-size:22px;line-height:1.6}
#frm_Contact .contact-heading p{margin:0;color:#71808e;font-size:13px;line-height:1.9}
#frm_Contact .contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}
#frm_Contact .contact-card{min-width:0;padding:22px;background:#fff;border:1px solid #dce5eb;border-radius:14px;box-shadow:0 3px 12px rgba(28,55,70,.025)}
#frm_Contact .contact-personal{grid-row:span 2}
#frm_Contact .contact-card h2{margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid #e8eef2;font-size:15px;line-height:1.6;text-align:start}
#frm_Contact .contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
#frm_Contact .contact-field{min-width:0;text-align:start}
#frm_Contact .contact-wide{grid-column:1 / -1}
#frm_Contact .contact-field-label{display:flex;align-items:baseline;gap:5px;min-height:22px;margin-bottom:7px;font-size:12px;line-height:1.7}
#frm_Contact .contact-required{color:#b25b4d;font-size:14px}
.portal-drawer #frm_Contact input:not([type=hidden]):not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]),
.portal-drawer #frm_Contact select,
.portal-drawer #frm_Contact textarea{display:block;width:100%!important;max-width:100%;min-width:0;min-height:42px;padding:9px 11px;font-size:13px;line-height:1.6;border-radius:8px;background:#fff}
.portal-drawer #frm_Contact textarea{min-height:88px;resize:vertical}
.portal-drawer #frm_Contact #fld_Contact_Log{min-height:128px}
#frm_Contact input[dir=ltr],#frm_Contact textarea[dir=ltr]{text-align:left}
#frm_Contact input[dir=rtl],#frm_Contact textarea[dir=rtl]{text-align:right}
#frm_Contact .contact-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#frm_Contact .contact-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:42px}
#frm_Contact .contact-options label{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:6px 14px;border:1px solid #dce5eb;border-radius:8px;cursor:pointer;line-height:1.6;font-size:13px}
#frm_Contact .contact-options label:has(input:checked){background:#edf7f6;border-color:#9dc9c6}
#frm_Contact .contact-options input{margin:0;width:15px;height:15px;accent-color:#146b70;flex-shrink:0}
#frm_Contact .contact-with-extra{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:7px}
.portal-drawer #frm_Contact .contact-add-number{width:36px;height:40px;min-height:40px;padding:0;margin:0;border:1px solid #cee3e0;border-radius:8px;background:#edf7f6;color:#146b70;font:23px/1 sans-serif;cursor:pointer}
#frm_Contact .contact-add-number:hover{background:#dfeeed}
#frm_Contact .contact-unit{position:relative}
.portal-drawer #frm_Contact .contact-unit input{padding-right:32px}
#frm_Contact .contact-unit>span{position:absolute;right:12px;top:10px;color:#7b8086;font-size:13px;pointer-events:none}
#frm_Contact .contact-datetime{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:12px}
#frm_Contact .contact-clock{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px}
.portal-drawer #frm_Contact .contact-clock input{text-align:center;padding-inline:4px}
#frm_Contact .contact-clock>span{color:#7b8086}
#frm_Contact .contact-datetime input[readonly]{cursor:pointer;background:#f9fbfc}
#frm_Contact .contact-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:20px}
.portal-drawer:has(#frm_Contact) .portal-action{min-height:38px;padding:7px 16px;border-radius:8px;font-size:13px}
.portal-drawer:has(#frm_Contact) .portal-action-secondary{background:#fff;color:#5a6c7d;border-color:#d5e0e7}
@media(max-width:1000px){#frm_Contact .contact-layout{grid-template-columns:minmax(0,1fr)}#frm_Contact .contact-personal{grid-row:auto}}
@media(max-width:580px){
    .portal-drawer:has(#frm_Contact) .portal-drawer-scroll{padding:14px}
    #frm_Contact .contact-heading{margin-bottom:16px}
    #frm_Contact .contact-heading h1{font-size:20px}
    #frm_Contact .contact-heading p{font-size:12px}
    #frm_Contact .contact-layout{gap:14px}
    #frm_Contact .contact-card{padding:16px;border-radius:12px}
    #frm_Contact .contact-card h2{margin-bottom:16px;font-size:14px}
    #frm_Contact .contact-fields{grid-template-columns:minmax(0,1fr);gap:16px}
    #frm_Contact .contact-datetime{grid-template-columns:minmax(0,1fr) 112px;gap:8px}
    .portal-drawer #frm_Contact input:not([type=hidden]):not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]),
    .portal-drawer #frm_Contact select,.portal-drawer #frm_Contact textarea{font-size:16px}
    .portal-drawer:has(#frm_Contact) .portal-drawer-bar{gap:8px;padding:10px 12px;flex-wrap:wrap}
    .portal-drawer:has(#frm_Contact) .portal-drawer-actions{gap:6px;order:3;flex-basis:100%;justify-content:stretch}
    .portal-drawer:has(#frm_Contact) .portal-action{flex:1;padding-inline:8px}
}
