/* Contact workspace. Shared typography, layout and motion for both panels. */
.contact-drawer-shell{--contact-width:460px;--edit-width:440px;--panel-motion:320ms;--panel-ease:cubic-bezier(.22,.68,0,1);color:#20332b;font-family:Standerd,Inter,Arial,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}
body.drawer-open{overflow:hidden}
.contact-drawer-shell .contact-drawer-backdrop{background:rgba(23,35,29,.18);backdrop-filter:blur(3px)}
.contact-drawer-shell .contact-drawer-panel{z-index:5!important;width:var(--contact-width)!important;background:#fff;transform:translateX(100%)!important;transition:transform var(--panel-motion) var(--panel-ease)}
.contact-drawer-shell.is-open .contact-drawer-panel{transform:translateX(0)!important}
.contact-drawer-shell .contact-edit-panel{z-index:4!important;right:var(--contact-width)!important;width:var(--edit-width)!important;min-width:0!important;overflow:hidden;background:#fff;border:0;box-shadow:-12px 0 40px #10271a12;transform:translateX(100%)!important;transition:transform var(--panel-motion) var(--panel-ease);will-change:transform}
.contact-drawer-shell .contact-edit-panel.is-open{transform:translateX(0)!important}
.contact-drawer-shell.is-closing .contact-edit-panel{transform:translateX(calc(100% + var(--contact-width)))!important}
.contact-drawer-shell .contact-drawer,.contact-drawer-shell .contact-edit-drawer{height:100%;min-height:0;display:flex;flex-direction:column}
.contact-drawer-shell .contact-drawer-scroll{flex:1;min-height:0;padding:0 24px 20px;overflow:auto;overscroll-behavior:contain}
.contact-drawer-shell .contact-detail-bar,.contact-drawer-shell .contact-edit-drawer>header{position:relative;flex:none;min-height:72px;height:auto;margin:0;padding:14px 24px!important;border-bottom:1px solid #e8eeea;background:#fff!important;font-size:14px!important}
.contact-drawer-shell .contact-detail-bar strong{font-weight:600}
.contact-drawer-shell .contact-edit-drawer header span{font-size:12px;letter-spacing:0;color:#66796f}
.contact-drawer-shell .contact-edit-drawer header h2{font-size:19px!important;font-weight:600;margin:2px 0 0;line-height:1.35;overflow-wrap:anywhere}
.contact-drawer-shell button{font-weight:400!important}
.contact-drawer-shell .contact-drawer-close,.contact-drawer-shell .contact-edit-drawer header button{flex:none;width:40px;height:40px;min-height:40px!important;padding:0!important;background:#f5f7f6!important;border:0!important;border-radius:10px!important;color:#40594c!important;box-shadow:none!important;font-size:20px}
.contact-drawer-shell .ui-icon{width:16px;height:16px;stroke-width:1.6}
.contact-drawer-shell header button .ui-icon{margin:0;width:18px;height:18px}
.contact-drawer-shell :is(button,a,input,select,textarea):focus-visible{outline:2px solid #278360;outline-offset:3px}
.contact-drawer-shell .contact-summary{padding:24px 0 20px!important;display:flex;flex-wrap:wrap;gap:14px 10px;border-color:#e8eeea}
.contact-drawer-shell .contact-summary-main{padding:0;flex:1 1 215px;gap:8px;min-width:0}
.contact-drawer-shell .contact-summary-main h2{font-size:21px!important;font-weight:600;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.contact-drawer-shell .contact-summary-main>a{flex:none;width:32px;height:32px}
.contact-drawer-shell .lead-type{flex:none;font-size:10px;font-weight:500;color:#526a5e;border-color:#dfe8e2;background:#f4f7f5}
.contact-drawer-shell .contact-summary .drawer-status-form{position:static;margin:0;align-self:center;flex:0 0 auto}
.contact-drawer-shell .status-picker-trigger{height:34px!important;min-width:128px;font-size:13px!important;font-weight:400;cursor:pointer}
.contact-drawer-shell .status-picker-option{min-height:38px;font-size:14px!important}
.contact-drawer-shell .status-picker-menu{top:40px;max-height:min(440px,65dvh);overflow:auto}
.contact-drawer-shell [data-status-feedback]:empty{display:none}
.contact-drawer-shell .contact-inline-facts{width:100%;grid-template-columns:1fr;gap:9px;margin:0!important;font-size:14px!important;color:#52665b}
.contact-drawer-shell .contact-inline-facts span{min-width:0;overflow-wrap:anywhere}
.contact-drawer-shell .contact-inline-facts span:last-child{font-size:12px;color:#738078}
.contact-drawer-shell .contact-agenda,.contact-drawer-shell .contact-project-detail,.contact-drawer-shell .contact-notes{padding:20px 0!important;border-color:#e8eeea}
.contact-drawer-shell .detail-section-title{margin:0 0 12px;gap:12px;font-size:14px!important;font-weight:600}
.contact-drawer-shell .detail-section-title a{display:inline-flex;align-items:center;min-height:32px;font-size:13px;color:#197657;font-weight:400;text-decoration:none}
.contact-drawer-shell .drawer-empty-action{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:12px 14px;border-radius:9px;background:#f5f8f6;color:#476354;font-size:14px;text-decoration:none}
.contact-drawer-shell .drawer-empty-action:hover{background:#eaf2ed}
.contact-drawer-shell .drawer-empty-action span{font-size:20px}
.contact-drawer-shell .agenda-row{background:#f6f7fb;padding:12px}
.contact-drawer-shell .agenda-row strong{font-size:14px!important;font-weight:500}
.contact-drawer-shell .agenda-row small,.contact-drawer-shell .agenda-row time{font-size:12px!important}
.contact-drawer-shell .contact-project-detail .drawer-map-wrap{height:190px;border-radius:12px;box-shadow:none;transition:height var(--panel-motion) var(--panel-ease)}
.contact-drawer-shell .contact-project-detail .drawer-map-wrap.is-expanded{height:min(58dvh,520px)}
.contact-drawer-shell .drawer-map-expand{display:grid!important;place-items:center;top:10px;right:10px;width:38px;height:38px;min-height:38px!important;padding:0!important;border:0;border-radius:8px!important;background:#fff!important;color:#263d30!important;box-shadow:0 2px 8px #172b2526}
.contact-drawer-shell .drawer-map-expand svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-drawer-shell .drawer-map-expand .map-expand-close,.contact-drawer-shell .drawer-map-expand[aria-pressed=true] .map-expand-open{display:none}
.contact-drawer-shell .drawer-map-expand[aria-pressed=true] .map-expand-close{display:block}
.contact-drawer-shell .map-unavailable{display:grid;place-content:center;padding:24px;color:#63776a;background:#f1f5f2;font-size:14px;text-align:center}
.contact-drawer-shell .leaflet-control-zoom{border:0!important;box-shadow:0 2px 8px #172b2526;border-radius:8px;overflow:hidden}
.contact-drawer-shell .leaflet-control-zoom a{width:32px;height:32px;line-height:32px;color:#263d30;font-size:20px}
.contact-drawer-shell .drawer-location-icon>span{display:grid;place-items:center;width:30px;height:30px;background:#fff;border-radius:50%;box-shadow:0 2px 12px #173a3740}
.contact-drawer-shell .drawer-location-icon i{width:18px;height:18px;border-radius:50%;background:#197657}
.contact-drawer-shell .drawer-route{display:block;min-height:0!important;margin-top:10px;padding:12px!important;background:#f5f8f6;border-radius:10px}
.contact-drawer-shell .route-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.contact-drawer-shell .route-actions button{min-height:36px!important;padding:7px 10px!important;font-size:13px;color:#196746!important;background:#e5f0e9!important;border-radius:7px}
.contact-drawer-shell .route-actions a{display:inline-flex;align-items:center;gap:4px;min-height:36px;color:#496156;font-size:12px;text-decoration:none}
.contact-drawer-shell .route-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
.contact-drawer-shell .route-result{display:flex;gap:24px;padding:0 0 10px}
.contact-drawer-shell .route-result strong{font-size:18px;font-weight:600;color:#1d654a}
.contact-drawer-shell .route-result small{font-size:11px;color:#60766a}
.contact-drawer-shell [data-route-message]{margin:0 0 8px;font-size:13px;color:#66766d}
.contact-drawer-shell [hidden]{display:none!important}
.contact-drawer-shell .project-facts{margin:14px 0 0;gap:6px}
.contact-drawer-shell .project-facts>div{grid-template-columns:110px minmax(0,1fr);padding:5px 0;gap:14px}
.contact-drawer-shell .project-facts dt,.contact-drawer-shell .project-facts dd{font-size:14px!important;line-height:1.55}
.contact-drawer-shell .project-facts dt{color:#6d7c72}
.contact-drawer-shell .project-facts dd{font-weight:400;text-align:left;overflow-wrap:anywhere}
.contact-drawer-shell .address-lines{display:block}
.contact-drawer-shell .copy-address{min-height:28px!important;padding:0!important;background:transparent!important;color:#197657!important;font-size:12px}
.contact-drawer-shell .contact-notes .drawer-note{min-height:0;padding:0!important;text-align:left;background:none;font-size:14px!important;white-space:normal;overflow-wrap:anywhere}
.contact-drawer-shell .contact-drawer-footer{flex:none;display:flex;justify-content:stretch;gap:10px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));border-color:#e8eeea}
.contact-drawer-shell .contact-drawer-footer a{flex:1;height:44px!important;font-size:14px!important;font-weight:400}
.contact-drawer-shell .contact-drawer-footer .drawer-call{background:#197657}
.contact-drawer-shell .contact-edit-drawer form{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0!important}
.contact-drawer-shell .edit-fields{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 24px}
.contact-drawer-shell .edit-fields fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.contact-drawer-shell .edit-fields fieldset>label:last-child,.contact-drawer-shell .edit-fields fieldset>.edit-grid:last-child label{margin-bottom:0!important}
.contact-drawer-shell .edit-fields legend{display:block;padding:0;margin:0 0 14px;color:#304c3d;font-size:14px;font-weight:600}
.contact-drawer-shell .contact-edit-drawer label{margin:0 0 16px!important;font-size:13px!important;line-height:1.5;font-weight:400;color:#55695d}
.contact-drawer-shell .contact-edit-drawer input,.contact-drawer-shell .contact-edit-drawer select,.contact-drawer-shell .contact-edit-drawer textarea{margin:6px 0 0!important;padding:10px 12px!important;min-height:44px!important;background:#fff!important;border:1px solid #d8e1db!important;border-radius:8px!important;color:#21382a;font-size:16px!important;font-weight:400!important;line-height:1.45}
.contact-drawer-shell .contact-edit-drawer input:hover,.contact-drawer-shell .contact-edit-drawer select:hover,.contact-drawer-shell .contact-edit-drawer textarea:hover{border-color:#aebfb4!important}
.contact-drawer-shell .edit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.contact-drawer-shell .edit-grid--address{grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}
.contact-drawer-shell .field-optional{color:#88978d;font-size:12px;margin-left:4px}
.contact-drawer-shell .input-unit{display:block;position:relative}
.contact-drawer-shell .input-unit input{padding-right:80px!important}
.contact-drawer-shell .input-unit>span{position:absolute;right:13px;top:12px;font-size:13px;color:#738578;pointer-events:none}
.contact-drawer-shell .contact-edit-drawer .check{align-items:flex-start;line-height:1.5;font-size:13px!important}
.contact-drawer-shell .contact-edit-drawer .check input{flex:none;width:17px;height:17px;min-height:17px!important;margin:2px 0 0!important;padding:0!important;accent-color:#197657}
.contact-drawer-shell .contact-edit-drawer form>footer{position:static;flex:none;display:block;margin:0!important;padding:14px 24px calc(14px + env(safe-area-inset-bottom))!important;border-color:#e8eeea;box-shadow:0 -8px 24px #243c2b05}
.contact-drawer-shell .edit-footer-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.contact-drawer-shell .edit-footer-actions button{min-height:44px!important;font-size:14px!important;font-weight:400}
.contact-drawer-shell [data-edit-feedback]{margin:0 0 10px;font-size:13px!important;line-height:1.5;color:#47705f}
.contact-drawer-shell [data-edit-feedback]:empty{display:none}
.contact-drawer-shell [data-edit-feedback].is-error{color:#a03f32}
.contact-drawer-shell .contact-edit-drawer form[aria-busy=true]{opacity:1;pointer-events:auto}
.contact-drawer-shell button:disabled{opacity:.5;cursor:wait}
.contact-drawer-shell .edit-discard{padding:12px;margin-bottom:12px;background:#faf4ec;border-radius:10px;color:#604e35;font-size:13px}
.contact-drawer-shell .edit-discard p{margin:4px 0 10px}
.contact-drawer-shell .edit-discard>div{display:flex;flex-wrap:wrap;gap:8px}
.contact-drawer-shell .edit-discard button{font-size:12px;min-height:36px!important;padding:6px 10px!important}
.contact-drawer-shell .edit-discard [data-edit-abandon]{background:#fff!important;color:#984435!important}
.contact-drawer-shell .drawer-loading,.contact-drawer-shell .drawer-error{display:flex;flex-direction:column;gap:12px;padding:28px;font-size:14px}
@media(min-width:960px){.contact-drawer-shell .contact-detail-bar,.contact-drawer-shell .contact-edit-drawer>header{height:80px;min-height:80px}}
@media(max-width:959px){
 .contact-drawer-shell{--contact-width:min(460px,100vw);--edit-width:min(460px,100vw)}
 .contact-drawer-shell .contact-edit-panel{z-index:6!important;right:0!important;width:var(--edit-width)!important}
 .contact-drawer-shell.has-edit-panel .contact-drawer-panel{transform:translateX(0)!important}
 .contact-drawer-shell .contact-edit-panel{box-shadow:none}
}
@media(max-width:480px){
 .contact-drawer-shell .contact-drawer-scroll{padding:0 18px 18px}
 .contact-drawer-shell .contact-detail-bar,.contact-drawer-shell .contact-edit-drawer>header{padding:12px 18px!important;min-height:68px}
 .contact-drawer-shell .edit-fields{padding:20px 18px}
 .contact-drawer-shell .contact-edit-drawer form>footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom))!important}
 .contact-drawer-shell .contact-drawer-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
 .contact-drawer-shell .project-facts>div{grid-template-columns:95px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.contact-drawer-shell{--panel-motion:1ms}.contact-drawer-shell *{scroll-behavior:auto!important}}
