.nginx-formatter-tool .nginx-workspace{display: grid;grid-template-columns: minmax(0,1fr) minmax(300px,360px);gap: 16px;align-items: stretch}.nginx-editor-panel,.nginx-editor-column,.nginx-side-panel{min-width: 0}.nginx-editor-panel{height: 100%}.nginx-editor-header{flex: 0 0 auto;padding-top: 6px;padding-bottom: 6px}.nginx-editor-header>span{flex: 1;min-width: 0}.nginx-editor-actions{display: flex;flex: 0 0 auto;gap: 8px;align-items: center}.nginx-editor-actions .btn-sm{min-height: 28px;padding-top: 4px;padding-bottom: 4px}.nginx-editor-body{display: flex;min-height: 560px}.nginx-editor-body .CodeMirror{width: 100%;min-height: 560px;height: 560px;border-color: var(--border);border-radius: var(--radius);background: var(--bg);color: var(--text)}.nginx-editor-body .CodeMirror-gutters{border-right-color: var(--border);background: var(--bg-soft)}.nginx-editor-body .CodeMirror-linenumber{color: var(--text-3)}.nginx-side-panel{display: flex;flex-direction: column;gap: 16px}.nginx-action-panel,.nginx-validation-note{border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg)}.nginx-action-heading{display: flex;align-items: center;gap: 8px;padding: 12px 14px;border-bottom: 1px solid var(--border);color: var(--text);font-weight: 650}.nginx-action-grid{display: grid;grid-template-columns: 1fr;gap: 8px;padding: 14px}.nginx-action-grid .btn{width: 100%;justify-content: center}.nginx-options-panel{margin-top: 0}.nginx-option-grid{grid-template-columns: 1fr}.nginx-validation-note{display: flex;align-items: flex-start;gap: 9px;padding: 12px 14px;color: var(--text-2);font-size: 13.5px;line-height: 1.45}.nginx-validation-note i{flex: 0 0 auto;color: var(--success)}.nginx-validation-note code{white-space: nowrap}.nginx-formatter-message{display: flex;align-items: flex-start;gap: 8px;margin-top: 16px;padding: 10px 12px;border: 1px solid #fecaca;border-radius: var(--radius);background: var(--danger-soft);color: var(--danger);font-size: 13.5px;line-height: 1.45}.nginx-formatter-stats{display: grid;grid-template-columns: minmax(180px,1.4fr) repeat(4,minmax(120px,1fr));gap: 10px;margin-top: 16px;padding: 12px;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg-soft)}.nginx-stat-card{display: flex;flex-direction: column;gap: 3px;min-width: 0;padding: 10px 12px;border: 1px solid var(--border);border-radius: var(--radius);background: var(--bg)}.nginx-stat-card strong{overflow: hidden;color: var(--text);font-size: 15px;line-height: 1.3;text-overflow: ellipsis;white-space: nowrap}.nginx-stat-card span{color: var(--text-2);font-size: 12.5px;line-height: 1.35}.nginx-stat-primary{border-color: rgba(37,99,235,.28);background: var(--primary-soft)}.nginx-stat-primary strong{color: var(--primary)}:root[data-theme="dark"] .nginx-editor-body .CodeMirror{background: #111827;color: #e5e7eb}:root[data-theme="dark"] .nginx-editor-body .CodeMirror-gutters{background: #0f172a}:root[data-theme="dark"] .nginx-formatter-message{border-color: #7f1d1d;background: rgba(127,29,29,.18)}@media (max-width: 991px){.nginx-formatter-tool .nginx-workspace{grid-template-columns: 1fr}.nginx-side-panel{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr)}.nginx-validation-note{grid-column: 1 / -1}.nginx-editor-body,.nginx-editor-body .CodeMirror{min-height: 440px;height: 440px}.nginx-formatter-stats{grid-template-columns: repeat(2,minmax(0,1fr))}.nginx-stat-primary{grid-column: 1 / -1}}@media (max-width: 640px){.nginx-formatter-tool .form-control-group-body{padding: 14px}.nginx-editor-header{display: grid;grid-template-columns: minmax(0,1fr);row-gap: 8px;align-items: center}.nginx-editor-header>span{display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.nginx-editor-actions{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 6px}.nginx-editor-actions .btn{min-width: 0;width: 100%;justify-content: center;white-space: nowrap}.nginx-side-panel,.nginx-action-grid,.nginx-formatter-stats{grid-template-columns: 1fr}.nginx-stat-primary{grid-column: auto}.nginx-editor-body,.nginx-editor-body .CodeMirror{min-height: 380px;height: 380px}}