.dpbc-ai{position:fixed;z-index:999999;bottom:max(22px,env(safe-area-inset-bottom));font-family:inherit;line-height:1.45}.dpbc-ai-right{right:max(22px,env(safe-area-inset-right))}.dpbc-ai-left{left:max(22px,env(safe-area-inset-left))}.dpbc-ai *{box-sizing:border-box}.dpbc-ai-bubble{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:13px 17px;background:var(--dpbc-ai-accent,#1684ff);color:#fff;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.32);cursor:pointer;min-height:50px}.dpbc-ai-bubble:hover{transform:translateY(-1px);filter:brightness(1.06)}.dpbc-ai-bubble-icon{display:grid;place-items:center}.dpbc-ai-panel{position:absolute;bottom:64px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 120px));background:#071321;color:#edf6ff;border:1px solid rgba(109,174,238,.28);border-radius:18px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.46);display:flex;flex-direction:column}.dpbc-ai-right .dpbc-ai-panel{right:0}.dpbc-ai-left .dpbc-ai-panel{left:0}.dpbc-ai-panel[hidden]{display:none}.dpbc-ai-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:linear-gradient(135deg,#0a1a2d,#0c2746);border-bottom:1px solid rgba(109,174,238,.2)}.dpbc-ai-head strong{display:block;color:#fff;font-size:15px}.dpbc-ai-head span{display:block;color:#9fb8cf;font-size:12px;margin-top:1px}.dpbc-ai-close{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer}.dpbc-ai-messages{flex:1;overflow:auto;padding:16px;background:radial-gradient(circle at 90% 0,rgba(22,132,255,.10),transparent 35%),#071321}.dpbc-ai-msg{max-width:88%;margin:0 0 11px;padding:10px 12px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.dpbc-ai-msg-assistant{background:#10263d;border:1px solid rgba(117,178,237,.18);color:#eaf5ff;border-top-left-radius:5px}.dpbc-ai-msg-user{margin-left:auto;background:var(--dpbc-ai-accent,#1684ff);color:#fff;border-top-right-radius:5px}.dpbc-ai-msg-system{background:#2b2110;color:#ffd99b;border:1px solid rgba(255,190,76,.25);font-size:13px}.dpbc-ai-msg-typing{opacity:.7;font-style:italic}.dpbc-ai-lead-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px 12px 0;background:#0a1726}.dpbc-ai-lead-fields input,.dpbc-ai-input{width:100%;border:1px solid rgba(120,178,232,.25)!important;background:#0c1c2d!important;color:#fff!important;border-radius:10px!important;box-shadow:none!important}.dpbc-ai-lead-fields input{height:38px;padding:7px 9px!important;font-size:12px!important}.dpbc-ai-lead-fields input::placeholder,.dpbc-ai-input::placeholder{color:#829ab0!important}.dpbc-ai-turnstile-wrap{padding:8px 12px 0;background:#0a1726}.dpbc-ai-turnstile-wrap .dpbc-turnstile{margin:0}.dpbc-ai-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px;background:#0a1726;border-top:1px solid rgba(109,174,238,.15)}.dpbc-ai-input{resize:none;min-height:44px;max-height:100px;padding:10px!important;font-size:14px!important}.dpbc-ai-input:focus{border-color:var(--dpbc-ai-accent,#1684ff)!important;outline:2px solid color-mix(in srgb,var(--dpbc-ai-accent,#1684ff) 22%,transparent)!important}.dpbc-ai-send{align-self:end;border:0;border-radius:10px;background:var(--dpbc-ai-accent,#1684ff);color:#fff;font-weight:800;height:44px;padding:0 15px;cursor:pointer}.dpbc-ai-send:disabled{opacity:.55;cursor:wait}.dpbc-ai-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px 10px;background:#0a1726;color:#7f98ad;font-size:10px}.dpbc-ai-foot a{color:#64b1ff;font-weight:800;text-decoration:none;white-space:nowrap}.dpbc-ai-foot span{text-align:right}.dpbc-ai-bubble:focus-visible,.dpbc-ai-close:focus-visible,.dpbc-ai-send:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:600px){.dpbc-ai{bottom:max(16px,env(safe-area-inset-bottom))}.dpbc-ai-right{right:max(14px,env(safe-area-inset-right))}.dpbc-ai-left{left:max(14px,env(safe-area-inset-left))}.dpbc-ai-bubble{width:52px;height:52px;padding:0;justify-content:center}.dpbc-ai-bubble-label{display:none}.dpbc-ai-panel{position:fixed;left:12px!important;right:12px!important;bottom:78px;width:auto;height:min(600px,calc(100dvh - 105px));border-radius:16px}.dpbc-ai-lead-fields{grid-template-columns:1fr}.dpbc-ai-foot{align-items:flex-start}.dpbc-ai-foot span{max-width:70%}}
@media(prefers-reduced-motion:no-preference){.dpbc-ai-bubble,.dpbc-ai-panel{transition:transform .18s ease,opacity .18s ease,filter .18s ease}.dpbc-ai-panel:not([hidden]){animation:dpbcAiPop .18s ease-out}@keyframes dpbcAiPop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}}


.dpbc-ai-actions{padding:8px 12px 0;background:#0a1726}
.dpbc-ai-chat-file-button{display:flex!important;align-items:center;justify-content:center;min-height:38px;border:1px dashed rgba(120,178,232,.34);border-radius:10px;background:#0b1c2c;color:#cfe8ff!important;font-size:11px!important;font-weight:800!important;cursor:pointer;margin:0}
.dpbc-ai-chat-file-button:hover{border-color:var(--dpbc-ai-accent,#1684ff);background:#0d2237}
.dpbc-ai-chat-file-status{display:block;margin:6px 1px 0;color:#9fc6e8;font-size:10px;overflow-wrap:anywhere}
.dpbc-ai-chat-file-button:focus-within{outline:2px solid var(--dpbc-ai-accent,#1684ff);outline-offset:2px}

/* Layer human-contact handoff — isolated to the AI widget. */
.dpbc-ai-handoff-offer{margin:2px 0 12px;max-width:92%;padding:10px 11px;border:1px solid rgba(78,164,255,.35);border-radius:13px;background:linear-gradient(135deg,rgba(22,132,255,.15),rgba(10,39,70,.55));display:grid;gap:8px;color:#dceeff;font-size:12px}
.dpbc-ai-handoff-offer span{font-weight:700}
.dpbc-ai-handoff-button{width:100%;min-height:39px;border:0;border-radius:10px;background:var(--dpbc-ai-accent,#1684ff);color:#fff;font-weight:900;font-size:12px;padding:9px 12px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.dpbc-ai-handoff-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.dpbc-ai-handoff-button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.dpbc-ai-contact{position:absolute;inset:0;z-index:20;background:rgba(2,9,17,.82);backdrop-filter:blur(3px);padding:10px;display:grid;place-items:center}
.dpbc-ai-contact[hidden]{display:none}
.dpbc-ai-contact-card{width:100%;max-height:100%;overflow:auto;background:#081827;border:1px solid rgba(103,177,247,.32);border-radius:15px;box-shadow:0 24px 64px rgba(0,0,0,.58)}
.dpbc-ai-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 15px 12px;background:linear-gradient(135deg,#0b2037,#0d3158);border-bottom:1px solid rgba(109,174,238,.2)}
.dpbc-ai-contact-head strong{display:block;color:#fff;font-size:15px;line-height:1.25}
.dpbc-ai-contact-head span{display:block;color:#b7cde1;font-size:11px;line-height:1.45;margin-top:4px;max-width:280px}
.dpbc-ai-contact-close{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:9px;background:rgba(255,255,255,.09);color:#fff;font-size:23px;line-height:1;cursor:pointer}
.dpbc-ai-contact-form{padding:13px 15px 15px;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#081827}
.dpbc-ai-contact-form label{display:grid;gap:5px;color:#dcecff;font-size:11px;font-weight:800}
.dpbc-ai-contact-form label>span{font-weight:500;color:#89a3ba}
.dpbc-ai-contact-form input,.dpbc-ai-contact-form select,.dpbc-ai-contact-form textarea{width:100%;border:1px solid rgba(120,178,232,.27)!important;background:#0d2033!important;color:#fff!important;border-radius:9px!important;box-shadow:none!important;padding:9px!important;font:inherit!important;font-size:12px!important}
.dpbc-ai-contact-form input,.dpbc-ai-contact-form select{height:39px}
.dpbc-ai-contact-form textarea{resize:vertical;min-height:82px;max-height:150px}
.dpbc-ai-contact-form input:focus,.dpbc-ai-contact-form select:focus,.dpbc-ai-contact-form textarea:focus{border-color:var(--dpbc-ai-accent,#1684ff)!important;outline:2px solid color-mix(in srgb,var(--dpbc-ai-accent,#1684ff) 22%,transparent)!important}
.dpbc-ai-contact-message-label,.dpbc-ai-contact-note,.dpbc-ai-contact-actions,.dpbc-ai-contact-status{grid-column:1/-1}
.dpbc-ai-contact-note{margin:0;color:#8eabc4;font-size:10px;line-height:1.45}
.dpbc-ai-contact-actions{display:grid;grid-template-columns:auto 1fr;gap:8px}
.dpbc-ai-contact-cancel,.dpbc-ai-contact-submit{min-height:40px;border:0;border-radius:9px;padding:8px 12px;font-weight:900;font-size:11px;cursor:pointer}
.dpbc-ai-contact-cancel{background:#172b3e;color:#c9dced}
.dpbc-ai-contact-submit{background:var(--dpbc-ai-accent,#1684ff);color:#fff}
.dpbc-ai-contact-submit:disabled{opacity:.58;cursor:wait}
.dpbc-ai-contact-status{min-height:0;color:#a8bed1;font-size:10px;line-height:1.4}
.dpbc-ai-contact-status.is-error{color:#ffb2aa}
.dpbc-ai-contact-status.is-success{color:#9ee7bd}
.dpbc-ai-contact-close:focus-visible,.dpbc-ai-contact-cancel:focus-visible,.dpbc-ai-contact-submit:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:600px){.dpbc-ai-contact{position:fixed;inset:0;padding:12px;place-items:end center;background:rgba(2,9,17,.88)}.dpbc-ai-contact-card{max-height:calc(100dvh - 24px);border-radius:16px}.dpbc-ai-contact-form{grid-template-columns:1fr}.dpbc-ai-contact-message-label,.dpbc-ai-contact-note,.dpbc-ai-contact-actions,.dpbc-ai-contact-status{grid-column:1}.dpbc-ai-contact-actions{grid-template-columns:1fr 1.35fr}.dpbc-ai-contact-head span{max-width:240px}}

/* Layer human handoff — optional 3D/CAD attachment */
.dpbc-ai-contact-file-label{grid-column:1/-1;border:1px dashed rgba(103,177,247,.38);background:#0b2033;border-radius:10px;padding:10px!important}
.dpbc-ai-contact-file-label input[type=file]{height:auto!important;padding:7px!important;background:#091a2a!important;cursor:pointer}
.dpbc-ai-contact-file-help,.dpbc-ai-contact-file-status{grid-column:1/-1;margin:0;color:#9bb6cc;font-size:10px;line-height:1.5}
.dpbc-ai-contact-file-help strong{color:#dcecff}
.dpbc-ai-contact-file-status{padding:7px 9px;border-radius:8px;background:#0d2337}
.dpbc-ai-contact-file-status.is-error{color:#ffb2aa;border:1px solid rgba(255,120,110,.25)}
.dpbc-ai-contact-file-status.is-ready{color:#9ee7bd;border:1px solid rgba(100,220,155,.22)}
@media(max-width:600px){.dpbc-ai-contact-file-label,.dpbc-ai-contact-file-help,.dpbc-ai-contact-file-status{grid-column:1}}


/* Layer human-handoff file attachment: prominent on mobile/desktop, contact popup only */
.dpbc-ai-contact-file-label{
  display:block;
  grid-column:1/-1;
  border:1px solid rgba(70,165,255,.58);
  background:linear-gradient(180deg,#0d2740,#0a1d30);
  border-radius:12px;
  padding:12px!important;
}
.dpbc-ai-contact-file-label>strong{display:block;color:#fff;font-size:14px;margin-bottom:8px}
.dpbc-ai-contact-file-label>span{color:#91abc2;font-size:11px}
.dpbc-ai-contact-file-label input[type=file]{
  display:block;width:100%;margin-top:8px;height:auto!important;
  padding:8px!important;background:#071827!important;color:#ddecfa!important;
  border:1px solid rgba(103,177,247,.32)!important;border-radius:9px!important;
}
.dpbc-ai-contact-file-label input[type=file]::file-selector-button{
  border:0;border-radius:8px;padding:9px 12px;margin-right:10px;
  background:#1684ff;color:#fff;font-weight:800;cursor:pointer;
}
.dpbc-ai-contact-file-help{font-size:11px!important;line-height:1.45!important}
@media(max-width:600px){
  .dpbc-ai-contact-file-label{padding:12px!important}
  .dpbc-ai-contact-file-label input[type=file]::file-selector-button{padding:10px 12px}
}
