.nsm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 24px;
  background: rgb(15 23 42 / 45%);
}
.nsm-backdrop[hidden] { display: none !important; }
.nsm-dialog {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: min(1280px, 100%);
  height: min(90dvh, 960px);
  max-height: calc(100dvh - 48px);
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  box-shadow: 0 20px 60px rgb(15 23 42 / 24%);
  font-family: inherit;
  outline: none;
}
.nsm-header {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}
.nsm-header h2 {
  min-width: 0;
  margin: 0;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.nsm-title { min-width: 0; }
.nsm-summary { margin: 3px 0 0; color: #475569; font-size: 12px; line-height: 1.5; }
.nsm-close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #475569;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.nsm-close:hover { background: #f1f5f9; color: #0f172a; }
.nsm-close:focus-visible { outline: 2px solid #4338ca; outline-offset: 2px; }
.nsm-body {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f8fafc;
  scroll-padding-block: 16px;
}
.nsm-body > * { min-width: 0; }
.nsm-dialog ::selection { background: #c7d2fe; color: #1e1b4b; }
@media (max-width: 640px) {
  .nsm-backdrop { padding: 0; }
  .nsm-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .nsm-header {
    gap: 12px;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  }
  .nsm-header h2 { font-size: 18px; }
  .nsm-body { padding-bottom: env(safe-area-inset-bottom); }
}
@media (prefers-reduced-motion: reduce) { .nsm-close { transition: none; } }

.nms-settings{min-width:0;color:#0f172a;font-family:inherit}
.nms-launch-row{display:flex;align-items:center;gap:16px;padding:22px 0;border-top:1px solid #e2e8f0}
.nms-launch-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;color:#4338ca}
.nms-launch-copy{min-width:0;flex:1}.nms-launch-copy h3{margin:0;font-size:15px;line-height:1.4;font-weight:650}
.nms-launch-copy p{margin:4px 0 0;color:#475569;font-size:13px;line-height:1.5;max-width:65ch}
.nms-saved-state{display:block;margin-top:5px;color:#475569;font-size:12px;line-height:1.5}
.nms-button{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;gap:8px;min-height:44px;border-radius:9px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;white-space:normal;transition:background-color .15s ease,color .15s ease;flex-shrink:0}
.nms-button:focus-visible,.nms-details>summary:focus-visible{outline:2px solid #4338ca;outline-offset:3px}
.nms-secondary{background:transparent;color:#4338ca;border:1px solid transparent}.nms-secondary:hover{background:#eef2ff}
.nms-primary{background:#047857;color:#fff;border:1px solid #047857}.nms-primary:hover{background:#065f46}
.nms-danger{background:#fff;color:#991b1b;border:1px solid #fecaca}.nms-danger:hover{background:#fef2f2}
.nms-button:disabled{opacity:.5;cursor:not-allowed}
.nsm-dialog:has(.nms-form){width:min(1080px,100%)}
.nsm-dialog:has(.nms-form) .nsm-body{overflow:hidden;display:flex;flex-direction:column;padding:0}
.nms-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}
.nms-assistant-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:32px;flex:1;min-height:0;overflow:auto;padding:24px;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;scroll-padding-block:24px;overscroll-behavior:contain}
.nms-editor,.nms-preview{min-width:0}.nms-form-section h3,.nms-notice-group h3,.nms-empty h3{margin:0 0 16px;font-size:15px;font-weight:650;line-height:1.5}
.nms-field{display:block;min-width:0;margin-top:16px;color:#334155;font-size:13px;line-height:1.5;font-weight:600}
.nms-field input,.nms-field textarea,.nms-field select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin-top:8px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;background:#fff;color:#0f172a;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;caret-color:#047857}
.nms-field textarea{resize:vertical}.nms-field input:focus,.nms-field textarea:focus,.nms-field select:focus{outline:2px solid #047857;outline-offset:1px}
.nms-field input:disabled,.nms-field textarea:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}
.nms-caption{margin:8px 0 0;color:#475569;font-size:12px;line-height:1.6;max-width:65ch}
.nms-details{margin-top:24px;border-top:1px solid #e2e8f0}.nms-details>summary{padding:14px 0;min-height:44px;box-sizing:border-box;color:#334155;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}
.nms-details-body{padding-bottom:16px}.nms-details-body>.nms-field:first-child{margin-top:4px}
.nms-activation{margin-top:16px;padding-top:22px;border-top:1px solid #e2e8f0}.nms-activation h3{margin-bottom:8px}
.nms-switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;min-height:52px;padding:10px 0;color:#334155;font-size:14px;line-height:1.5;cursor:pointer}
.nms-switch-row input{appearance:none;position:relative;box-sizing:border-box;flex-shrink:0;width:40px;height:24px;margin:0;border:1px solid #94a3b8;border-radius:12px;background:#e2e8f0;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.nms-switch-row input::before{position:absolute;inset:3px auto auto 3px;width:16px;height:16px;border-radius:50%;background:#fff;content:'';box-shadow:0 1px 2px rgb(15 23 42 / 25%);transition:transform .15s ease}
.nms-switch-row input:checked{background:#047857;border-color:#047857}.nms-switch-row input:checked::before{transform:translateX(16px)}
.nms-switch-row input:focus-visible{outline:2px solid #4338ca;outline-offset:4px}.nms-switch-row input:disabled{opacity:.5;cursor:not-allowed}
.nms-preview{align-self:start;position:sticky;top:0;background:#f8fafc;border-radius:12px;padding:20px;box-sizing:border-box}
.nms-preview-heading strong,.nms-preview-heading span{display:block}.nms-preview-heading strong{font-size:14px;line-height:1.5;font-weight:650}.nms-preview-heading span{margin-top:3px;color:#475569;font-size:12px;line-height:1.5}
.nms-preview-select{margin-top:16px}.nms-preview-select select{font-size:14px}
.nms-chat{margin-top:16px;background:#efeae2;border-radius:12px;overflow:hidden}.nms-chat-heading{display:flex;align-items:center;gap:10px;padding:14px;background:#075e54;color:#fff}
.nms-chat-heading>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#d1fae5;color:#065f46}
.nms-chat-heading>div{min-width:0}.nms-chat-heading strong,.nms-chat-heading small{display:block;overflow-wrap:anywhere}.nms-chat-heading strong{font-size:14px;line-height:1.4;font-weight:650}.nms-chat-heading small{margin-top:2px;font-size:12px;line-height:1.4}
.nms-chat-body{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:18px 12px;min-height:180px}
.nms-chat-body p{box-sizing:border-box;max-width:100%;margin:0;padding:11px 12px;border-radius:9px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.nms-assistant-bubble{background:#fff;color:#0f172a}.nms-candidate-bubble{align-self:flex-end;background:#dcfce7;color:#14532d}
.nms-mobile-preview-toggle{display:none}
.nms-notices{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;padding:24px 32px;scroll-padding-block:24px}
.nms-lead{margin:0 0 24px;color:#475569;font-size:13px;line-height:1.6;max-width:65ch}
.nms-notice-group+.nms-notice-group{margin-top:26px;padding-top:24px;border-top:1px solid #e2e8f0}.nms-notice-group h3{margin-bottom:8px}.nms-notice-group .nms-switch-row+.nms-switch-row{border-top:1px solid #f1f5f9}
.nms-footer{flex-shrink:0;box-sizing:border-box;padding:16px 24px;border-top:1px solid #e2e8f0;background:#fff}
.nms-footer-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.nms-footer-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.nms-draft-status{color:#475569;font-size:12px;line-height:1.5}.nms-error{margin:0 0 12px;color:#991b1b;font-size:13px;line-height:1.5;max-width:70ch}.nms-error .nms-button{margin-left:4px;color:inherit}
.nms-success{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#065f46;font-size:13px;line-height:1.5}
.nms-discard{color:#334155;font-size:14px;line-height:1.5}.nms-discard p{margin:0 0 12px}.nms-empty,.nms-loading{flex:1;padding:32px;color:#475569;font-size:14px;line-height:1.6}.nms-empty p{margin:0 0 16px}
.nms-skeleton{height:44px;max-width:600px;border-radius:8px;background:#f1f5f9}.nms-skeleton-short{margin-top:16px;max-width:400px}.nms-loading p{margin-top:16px}
.nms-settings ::selection,.nsm-dialog ::selection{background:#c7d2fe;color:#1e1b4b}
@media(max-width:760px){
 .nms-assistant-layout{grid-template-columns:minmax(0,1fr);gap:20px}.nms-preview{position:static}.nms-preview-closed{display:none}.nms-mobile-preview-toggle{display:inline-flex;margin-top:20px;padding-left:0}.nms-caption{max-width:65ch}
}
@media(max-width:640px){
 .nms-launch-row{gap:10px;flex-wrap:wrap;padding:18px 0}.nms-launch-icon{width:30px;height:30px;align-self:flex-start}.nms-launch-copy{flex-basis:calc(100% - 40px)}.nms-launch-row>.nms-button{margin-left:40px;padding-left:0;justify-content:flex-start;text-align:left;min-height:44px}
 .nsm-dialog:has(.nms-form){width:100%;height:100dvh;max-height:100dvh}.nms-assistant-layout,.nms-notices{padding:20px 16px;scroll-padding-block:20px}.nms-preview{padding:16px}.nms-footer{padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.nms-footer-row{align-items:stretch;flex-direction:column;gap:8px}.nms-footer-buttons{flex-wrap:nowrap}.nms-footer-buttons .nms-primary{flex:1}.nms-draft-status{font-size:12px}.nms-switch-row{font-size:13px;gap:16px}.nms-empty,.nms-loading{padding:24px 16px}
}
@media(prefers-reduced-motion:reduce){.nms-button,.nms-switch-row input,.nms-switch-row input::before{transition:none}}
