.nm-widget{--nm-accent:#176b56;--nm-bottom:24px;position:fixed;bottom:var(--nm-bottom);right:24px;z-index:1045;font:14px/1.45 Arial,sans-serif;color:#1d3039;text-align:left}.nm-widget.nm-left{right:auto;left:24px}.nm-widget *{box-sizing:border-box}.nm-widget [hidden]{display:none!important}.nm-widget button,.nm-widget input,.nm-widget textarea,.nm-widget select{font:inherit}.nm-widget button{cursor:pointer}.nm-widget button:focus-visible,.nm-widget input:focus-visible,.nm-widget textarea:focus-visible,.nm-widget select:focus-visible,.nm-widget a:focus-visible{outline:3px solid #72c7b1!important;outline-offset:2px}.nm-widget .nm-launch{display:flex;align-items:center;gap:10px;border:0;border-radius:28px;background:var(--nm-accent);color:#fff;padding:13px 18px;box-shadow:0 4px 18px #1a3d3533;min-height:48px}.nm-widget .nm-launch svg{width:24px;height:24px}.nm-widget .nm-badge{border-radius:20px;background:#fff;color:#176b56;min-width:22px;text-align:center}.nm-widget .nm-panel{position:absolute;bottom:62px;right:0;width:380px;max-width:calc(100vw - 24px);max-height:min(740px,calc(100dvh - var(--nm-bottom) - 86px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce5e1;border-radius:16px;box-shadow:0 12px 50px #142f3b33;overflow:hidden}.nm-widget.nm-left .nm-panel{right:auto;left:0}.nm-widget .nm-panel-head{padding:15px 17px;background:var(--nm-accent);color:#fff;display:flex;justify-content:space-between;align-items:center}.nm-widget .nm-panel-head strong{font-size:16px}.nm-widget .nm-panel-head small{display:block;margin-top:3px;color:#e0eee9}.nm-widget .nm-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;width:36px;height:36px}.nm-widget .nm-notice{padding:10px 16px;background:#edf5f2;font-size:12px}.nm-widget .nm-history{min-height:100px;max-height:300px;overflow-y:auto;padding:14px 16px;flex:1;overscroll-behavior:contain;background:#f8faf9}.nm-widget .nm-bubble{padding:10px 12px;background:#fff;border:1px solid #e0e9e4;border-radius:10px;margin:0 24px 10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.nm-widget .nm-bubble.nm-own{margin:0 0 10px 24px;background:#e8f3ee;border-color:#d4e9df}.nm-widget .nm-bubble small{display:block;font-size:10px;color:#627870;margin-top:5px}.nm-widget .nm-bubble a{color:#155c91;text-decoration:underline}.nm-widget .nm-compose{padding:12px 16px;border-top:1px solid #e0e8e4;margin:0;max-height:55dvh;overflow-y:auto}.nm-widget label{display:block;font-weight:600;font-size:12px;margin:0 0 8px}.nm-widget input:not([type=checkbox]),.nm-widget select,.nm-widget textarea{display:block;width:100%;border:1px solid #c6d4ce;border-radius:7px;padding:8px;background:#fff;color:#1d3039;margin-top:4px}.nm-widget textarea{resize:vertical;min-height:65px;max-height:150px}.nm-widget .nm-contact-row{display:grid;grid-template-columns:100px 1fr;gap:8px}.nm-widget .nm-contact-row span{font-weight:400}.nm-widget .nm-identity>small{display:block;color:#607269;font-size:11px;margin-bottom:8px}.nm-widget .nm-consent{display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:400}.nm-widget .nm-consent input{margin:3px 0 0;flex-shrink:0}.nm-widget .nm-consent a{color:#155c91;text-decoration:underline}.nm-widget .nm-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.nm-widget .nm-send{border:0;border-radius:7px;background:var(--nm-accent);color:#fff;padding:10px 17px;min-height:40px}.nm-widget button:disabled{opacity:.55;cursor:default}.nm-widget .nm-send-status{font-size:11px;max-width:210px;color:#62746b}.nm-widget .nm-send-status.nm-error{color:#a02d2d}.nm-widget .nm-profile-tools button{padding:0;background:none;border:0;color:#176b56;font-size:12px;text-decoration:underline;margin-bottom:8px;margin-right:15px}.nm-widget .nm-profile-edit button{margin:0 0 10px;border:1px solid #c6d4ce;border-radius:5px;padding:6px 12px;background:#edf5f2}
@media(max-width:600px){.nm-widget{right:12px;bottom:max(12px,var(--nm-bottom));max-width:calc(100vw - 24px)}.nm-widget.nm-left{left:12px}.nm-widget .nm-launch{padding:12px 15px}.nm-widget .nm-panel,.nm-widget.nm-left .nm-panel{position:fixed;inset:8px 8px auto;width:auto;max-width:none;height:calc(100dvh - 16px);max-height:none;border-radius:12px}.nm-widget .nm-history{max-height:none}.nm-widget .nm-compose{padding-bottom:max(12px,env(safe-area-inset-bottom));max-height:65dvh}.nm-widget .nm-panel-head{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.nm-widget *{scroll-behavior:auto!important}}

/* Layout clearance is supplied by the generic controller; theme selectors live in the site binding. */
.nm-widget{bottom:max(var(--nm-bottom),var(--nm-layout-bottom,0px),calc(var(--nm-vv-gap,0px) + 12px + env(safe-area-inset-bottom)))}
.nm-widget.nm-compact{right:max(12px,env(safe-area-inset-right));max-width:calc(100vw - 24px)}
.nm-widget.nm-compact.nm-left{right:auto;left:max(12px,env(safe-area-inset-left))}
.nm-widget .nm-launch{position:relative}
.nm-widget.nm-compact .nm-launch{width:48px;height:48px;min-height:48px;padding:12px;justify-content:center;border-radius:50%}
.nm-widget.nm-compact .nm-launch-label{display:none}
.nm-widget.nm-compact .nm-badge{position:absolute;top:-4px;right:-4px;min-width:20px;padding:0 4px;font-size:11px;line-height:20px;border:1px solid var(--nm-accent)}
.nm-widget.nm-suppressed{visibility:hidden;pointer-events:none}
html.nm-dialog-open,body.nm-dialog-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:600px){
  .nm-widget .nm-launch{width:48px;height:48px;min-height:48px;padding:12px;justify-content:center;border-radius:50%}
  .nm-widget .nm-launch-label{display:none}
  .nm-widget.nm-open::before{content:"";position:fixed;inset:0;background:#142f3b40;z-index:0}
  .nm-widget.nm-open .nm-launch{visibility:hidden}
  .nm-widget .nm-panel,.nm-widget.nm-left .nm-panel{inset:auto;top:var(--nm-vv-top,8px);left:var(--nm-vv-left,8px);width:var(--nm-vv-width,calc(100vw - 16px));height:var(--nm-vv-height,calc(100dvh - 16px));max-height:var(--nm-vv-height,calc(100dvh - 16px));z-index:1}
  .nm-widget .nm-panel-head,.nm-widget .nm-notice{flex-shrink:0}
  .nm-widget .nm-close{width:44px;height:44px;flex-shrink:0}
  .nm-widget .nm-history{min-height:0}
  .nm-widget .nm-history:empty{display:none}
  .nm-widget .nm-compose{min-height:0;max-height:75%;flex:0 1 auto;overscroll-behavior:contain}
  .nm-widget input:not([type=checkbox]),.nm-widget select,.nm-widget textarea{font-size:16px}
}
