.nested-editor { color: #1e293b; --wm-primary: #2563eb; --wm-primary-dark: #1d4ed8; --wm-border: #e2e8f0; --wm-card: #fff; --wm-text: #1e293b; --wm-muted: #64748b; --wm-danger: #ef4444; --wm-success: #10b981; overflow-anchor: none; }
.nested-editor .wm-button { appearance:none; background:#fff; border:1px solid var(--wm-border); border-radius:9px; color:#334155; cursor:pointer; font:inherit; font-weight:700; min-height:40px; padding:8px 13px; max-width:100%; white-space:normal; }
.nested-editor .wm-button:disabled { opacity:.48; cursor:not-allowed; }
.nested-editor .wm-button.is-primary { background:var(--wm-primary); border-color:var(--wm-primary); color:white; }
.nested-editor .wm-button:focus-visible { outline:3px solid #93c5fd; }
.nested-editor .nt-empty { color:#64748b; padding:24px 8px; }
.nested-editor .wm-merge-dialog { border:0; border-radius:16px; max-width:calc(100vw - 28px); width:520px; max-height:80vh; margin:auto; padding:22px; box-sizing:border-box; overflow:auto; }
.nt-toolbar { position: sticky; top: 0; z-index: 10; background: #f8fafc; padding: 10px 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; min-height: 64px; }
.nt-toolbar h2 { margin: 0; font-size: 18px; }
.nt-actions { display: flex; gap: 6px; }
.nt-actions .wm-button { padding: 8px 10px; font-size: 12px; min-height: 40px; }
/* A fixed slot prevents changing guidance from moving every schedule. */
.nt-live { height: 44px; line-height: 18px; padding: 4px 0; font-size: 12px; color: #64748b; margin: 0 0 10px; overflow: hidden; }
.nt-live.nt-save-error { height: auto; min-height: 44px; overflow: visible; color: #b91c1c; font-weight: 700; }
.nt-group { background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #3b82f6; border-radius: 12px; padding: 10px 16px; margin-bottom: 14px; box-shadow: 0 1px 2px #0000000d; }
.nt-editing .nt-group { margin-bottom: 0; }
.nt-row { position: relative; display: flex; align-items: center; gap: 10px; min-height: 58px; border-radius: 6px; }
.nt-copy { display: grid; flex: 1; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.nested-editor:not(.nt-editing) .nt-row::after { content: ''; width: 44px; flex-shrink: 0; }
.nt-card-top { display: flex; gap: 6px; align-items: center; }
.nt-assignee { color: #3b82f6; background: #eff6ff; border: 1px solid #3b82f626; border-radius: 8px; padding: 3px 8px; font-size: 11px; font-weight: 700; }
.nt-status { color: #ea580c; background: #fff7ed; border: 1px solid #fb923c; border-radius: 6px; padding: 3px 8px; font-size: 11px; font-weight: 700; }
.nt-copy .card-title-text { font-size: 14px; font-weight: 600; line-height: 1.4; white-space: pre-wrap; }
.nt-copy .card-memo-box { color: #64748b; font-size: 12px; line-height: 1.4; white-space: pre-wrap; padding: 6px 10px; border: 1px solid #f1f5f9; border-radius: 6px; background: #f8fafc; }
.nt-handle { flex-shrink: 0; width: 44px; min-height: 44px; padding: 0; font-size: 20px; touch-action: none; cursor: grab; }
.nt-children { margin: 8px 0 0 20px; border-left: 2px solid #dbeafe; padding-left: 10px; }
.nt-child-row { border-bottom: 1px solid #f1f5f9; padding: 6px 0; }
.nt-child-row:last-child { border-bottom-color: transparent; }
.nt-child-row .nt-copy strong { font-weight: 500; }
.nt-drop { box-sizing: border-box; border-radius: 7px; font-size: 12px; }
.nt-gap, .nt-child-gap { position: relative; height: 14px; }
.nt-gap:first-child, .nt-child-gap { height: 0; }
.nt-gap::before, .nt-child-gap::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 3px; border-radius: 3px; background: transparent; pointer-events: none; }
.nt-nest { position: absolute; inset: 0; pointer-events: none; border: 2px solid transparent; }
.nt-gap.nt-drop-active::before, .nt-child-gap.nt-drop-active::before { background: #2563eb; }
.nt-nest.nt-drop-waiting { border-color: #fdba74; background: #f59e0b0a; }
.nt-nest.nt-drop-active { border-color: #f59e0b; background: #f59e0b18; box-shadow: 0 0 0 2px #f59e0b33; }
.nt-nest.nt-drop-active::after { content: '여기에 넣기'; position: absolute; right: 8px; top: -12px; padding: 3px 7px; background: #c2410c; color: white; border-radius: 5px; font-size: 11px; }
.nt-drop-blocked { outline: 2px solid #ef4444; }
.nt-drop:focus-visible { outline: 3px solid #2563eb; }
.nt-drag-origin { opacity: .28; outline: 1px dashed #94a3b8; }
.nt-ghost { position: fixed; z-index: 10000; box-sizing: border-box; margin: 0; padding: 0; background: #fff; outline: 2px solid #2563eb; border-radius: 8px; box-shadow: 0 10px 24px #0f172a33; pointer-events: none; will-change: transform; opacity: .88; font-family: var(--font-family); }
.nt-ghost .nt-handle { visibility: hidden; }
.nt-list { position: relative; }
.nt-preview-card { transition: transform 180ms ease-out; will-change: transform; }
.nt-preview-source { visibility: hidden; }
.nt-order-slot { position: absolute; left: 0; right: 0; box-sizing: border-box; border: 2px dashed #93c5fd; border-radius: 12px; background: #eff6ff; pointer-events: none; }
.nt-group.nt-order-ghost { padding: 10px 16px; border-left: 4px solid #3b82f6; opacity: .96; }
.nt-ghost.nt-ghost-nesting { opacity: .22; }
@media (prefers-reduced-motion: reduce) { .nt-preview-card { transition: none; } }
.nt-memo { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.nt-editing, .nt-editing *, .nt-ghost, html.nt-native-lock, html.nt-native-lock * { -webkit-user-select: none !important; user-select: none !important; -webkit-touch-callout: none !important; -webkit-user-drag: none; }
html.nt-native-lock { scroll-behavior: auto !important; overflow-anchor: none; overflow-x: clip; }
@media (max-width: 600px) {
  .nt-group { padding: 6px 10px; }
  .nt-group.nt-order-ghost { padding: 6px 10px; }
  .nt-toolbar { min-height: 96px; align-content: center; }
  .nt-toolbar h2 { width: 100%; font-size: 17px; }
  .nt-actions { width: 100%; }
  .nt-actions .wm-button { flex: 1; }
}
