/** * JSON Editor Dialog Styles * JSON editor with syntax highlighting and Undo/Redo * Note: Variables are defined in css-variables.css * Common styles (overlay, dialog, header, title, close button, footer, buttons, validation) are in common-components.css */ /* Dialog Container - Component-specific sizing */ .resolution-master-json-editor-dialog { width: 90vw; height: 90vh; display: flex; flex-direction: column; z-index: var(--z-json-editor); } /* Overlay - Component-specific z-index */ .resolution-master-json-editor-overlay { z-index: var(--z-rename-dialog); } /* Info Message */ .resolution-master-json-editor-info { padding: var(--spacing-12) var(--spacing-20); background: var(--bg-primary-10); border-bottom: 1px solid var(--bg-primary-30); color: var(--color-primary); font-size: var(--font-md); line-height: 1.5; } /* Content Area */ .resolution-master-json-editor-content { flex: 1; padding: var(--spacing-20); overflow: hidden; display: flex; flex-direction: column; } /* Editor Container */ .resolution-master-json-editor-container { flex: 1; display: flex; border: 1px solid var(--color-gray-700); border-radius: var(--radius-lg); overflow: hidden; background: var(--color-bg-dark-3); transition: all 0.2s ease; } .resolution-master-json-editor-container:focus-within { border-color: var(--color-primary); } /* Drag and Drop States */ .resolution-master-json-editor-container.drag-over { border-color: var(--color-primary); border-width: 2px; background: rgba(var(--color-primary-rgb, 88, 166, 255), 0.05); box-shadow: 0 0 20px rgba(var(--color-primary-rgb, 88, 166, 255), 0.3); } .resolution-master-json-editor-container.drag-over::before { content: '📄 Drop JSON file here'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 18px; color: var(--color-primary); background: rgba(0, 0, 0, 0.8); padding: 20px 40px; border-radius: var(--radius-lg); border: 2px dashed var(--color-primary); pointer-events: none; z-index: 1000; } /* Line Numbers */ .resolution-master-json-editor-line-numbers { padding: var(--spacing-12) var(--spacing-8) var(--spacing-12) var(--spacing-4); background: var(--color-bg-dark-4); color: var(--color-gray-600); font-family: 'Courier New', monospace; font-size: var(--font-base); line-height: var(--line-height-normal); text-align: right; user-select: none; border-right: 1px solid var(--color-gray-900); overflow: hidden; min-width: 50px; } .resolution-master-json-editor-line-number { height: var(--line-height-editor); } /* Editor Wrapper */ .resolution-master-json-editor-wrapper { flex: 1; overflow: auto; position: relative; } /* Code Editor */ .resolution-master-json-editor-pre { margin: 0; padding: var(--spacing-12); background: transparent; font-family: 'Courier New', monospace; font-size: var(--font-base); line-height: var(--line-height-normal); overflow: visible; } .resolution-master-json-editor-code { outline: none; display: block; white-space: pre; color: var(--color-gray-100); } /* Validation States - border colors for container */ .resolution-master-json-editor-container.valid { color: var(--color-success); border-color: var(--color-success); } .resolution-master-json-editor-container.invalid { border-color: var(--color-error-light); } /* Footer Sections */ .resolution-master-json-editor-footer-left, .resolution-master-json-editor-footer-right { display: flex; gap: var(--spacing-12); }