.xml-tool-wrapper { --p-bg: #ffffff; --p-border: #e2e8f0; --p-primary: #3b82f6; --p-text: #0f172a; width: 100%; max-width: 1400px; margin: 0 auto; background: var(--p-bg); border-radius: 20px; padding: 24px; border: 1px solid var(--p-border); box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); box-sizing: border-box;}
.xml-header-main { font-size: 1.5rem; font-weight: 800; color: var(--p-text); margin-bottom: 8px; text-align: center; }
.xml-subtitle { color: #64748b; font-size: 0.95rem; padding-bottom: 20px; border-bottom: 1px solid var(--p-border); margin-bottom: 20px; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.6; }

.xml-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; background: #f8fafc; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--p-border); box-sizing: border-box; }
.xml-btn-group { display: flex; gap: 8px; flex-wrap: wrap; }
.xml-action-btn { padding: 8px 16px; border-radius: 8px; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: 0.2s; border: 1px solid #cbd5e1; background: #ffffff; color: #334155; display: flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; white-space: nowrap;}
.xml-action-btn:hover { background: #f1f5f9; border-color: #94a3b8; }
.xml-btn-primary { background: var(--p-primary); color: white; border-color: var(--p-primary); }
.xml-btn-primary:hover { background: #2563eb; border-color: #2563eb; color: white; }
.xml-btn-special { background: #f59e0b; color: white; border-color: #f59e0b; }
.xml-btn-special:hover { background: #ea580c; border-color: #ea580c; color: white; }

.xml-status-bar { padding: 12px 16px; border-radius: 8px; font-size: 0.95rem; font-weight: 600; font-family: monospace; margin-bottom: 20px; word-break: break-all; line-height: 1.5; }
.xml-status-success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #047857; }
.xml-status-error { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }

.xml-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
@media(max-width: 900px) { .xml-editor-grid { grid-template-columns: 1fr; } }

.xml-panel { display: flex; flex-direction: column; background: #ffffff; border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; min-width: 0;}
.xml-panel-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: #f1f5f9; border-bottom: 1px solid var(--p-border); }
.xml-panel-title { font-size: 0.9rem; font-weight: 700; color: #475569; }
.xml-text-btn { background: none; border: none; font-size: 0.85rem; font-weight: 600; color: var(--p-primary); cursor: pointer; transition: 0.2s; padding: 0; }
.xml-text-btn:hover { text-decoration: underline; color: #2563eb; }

.xml-textarea { flex: 1; min-height: 500px; width: 100%; min-width: 0; border: none; padding: 16px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.9rem; line-height: 1.6; color: #1e293b; outline: none; resize: vertical; background: #ffffff; box-sizing: border-box;}
.xml-textarea:focus { box-shadow: inset 0 0 0 2px rgba(59,130,246,0.2); }
#xmlOutputBox { background: #f8fafc; color: #0f172a; }

@media(max-width: 640px) {
    .xml-tool-wrapper { padding: 16px; }
    .xml-header-main { font-size: 1.25rem; line-height: 1.4; gap: 8px; }
    .xml-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
    .xml-btn-group { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; }
    .xml-action-btn { width: 100%; padding: 10px 4px; }
    .xml-textarea { min-height: 300px; }
}

[data-theme="dark"] .xml-tool-wrapper { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .xml-header-main { color: #f8fafc; }
[data-theme="dark"] .xml-toolbar { background: #0f172a; border-color: #475569; }
[data-theme="dark"] .xml-action-btn { background: #1e293b; border-color: #475569; color: #cbd5e1; }
[data-theme="dark"] .xml-action-btn:hover { background: #334155; border-color: #64748b; }
[data-theme="dark"] .xml-btn-primary { background: var(--p-primary); color: white; border-color: var(--p-primary); }
[data-theme="dark"] .xml-btn-special { background: #ea580c; color: white; border-color: #ea580c; }
[data-theme="dark"] .xml-panel { background: #0f172a; border-color: #475569; }
[data-theme="dark"] .xml-panel-header { background: #1e293b; border-bottom-color: #475569; }
[data-theme="dark"] .xml-panel-title { color: #cbd5e1; }
[data-theme="dark"] .xml-textarea { background: #020617; color: #e2e8f0; }
[data-theme="dark"] #xmlOutputBox { background: #0f172a; }
[data-theme="dark"] .xml-status-success { background: rgba(16,185,129,0.1); border-color: #059669; color: #34d399; }
[data-theme="dark"] .xml-status-error { background: rgba(220,38,38,0.1); border-color: #b91c1c; color: #fca5a5; }