.panel{display:flex;flex-direction:column;width:var(--panel-width);background-color:var(--bg-primary);border-right:1px solid var(--border-color);flex-shrink:0;position:relative;transition:width .2s,min-width .2s;min-width:200px;max-width:500px}.panel-left{width:280px}.panel-right{width:280px;border-right:none;border-left:1px solid var(--border-color)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color)}.panel-header h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex:1}.panel-header-actions{display:flex;align-items:center;gap:4px}.panel-content{flex:1;overflow-y:auto;padding:12px}.panel.collapsed{width:40px!important;min-width:40px!important;overflow:hidden}.panel.collapsed .file-toolbar,.panel.collapsed .folder-breadcrumb,.panel.collapsed .panel-content,.panel.collapsed .panel-header h2,.panel.collapsed .panel-header-actions .btn:not([id*=collapse]){display:none}.panel.collapsed .panel-header{flex-direction:column;padding:12px 8px;height:100%;justify-content:flex-start}.panel-left.collapsed #btn-collapse-left .icon,.panel-right.collapsed #btn-collapse-right .icon{transform:rotate(180deg)}.panel-resizer{width:6px;cursor:col-resize;background-color:transparent;transition:background-color .2s;flex-shrink:0;z-index:10;position:relative}.panel-resizer.resizing,.panel-resizer:hover{background-color:var(--color-primary)}.panel-resizer-horizontal{height:6px;cursor:row-resize;background-color:transparent;transition:background-color .2s;flex-shrink:0;z-index:10}.panel-resizer-horizontal.resizing,.panel-resizer-horizontal:hover{background-color:var(--color-primary)}.property-editor{height:100%}.property-form{display:flex;flex-direction:column;gap:16px}.property-form.hidden{display:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-input,.form-select,.form-textarea{padding:10px 12px;font-size:13px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-textarea{resize:vertical;min-height:60px;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',monospace}.attributes-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.attribute-row{display:flex;gap:8px;align-items:center}.attribute-row .form-input{flex:1;padding:8px 10px}.attribute-row .btn-remove-attr{padding:6px;color:var(--color-danger);background:0 0}.attribute-row .btn-remove-attr:hover{background-color:#fee2e2}.form-actions{padding-top:8px;border-top:1px solid var(--border-color)}.collapsible-section{margin-top:12px;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.collapsible-section:first-child{margin-top:0}.collapsible-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background-color:var(--bg-tertiary);border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary);text-align:left;transition:background-color var(--transition-fast)}.collapsible-header:hover{background-color:var(--bg-secondary)}.collapsible-header .collapsible-icon{width:16px;height:16px;stroke:var(--text-muted);transition:transform var(--transition-fast)}[data-theme=dark] .collapsible-header .collapsible-icon{stroke:#ffffff;fill:#ffffff}.collapsible-section.collapsed .collapsible-header .collapsible-icon{transform:rotate(-90deg)}.collapsible-content{padding:12px;background-color:var(--bg-primary);border-top:1px solid var(--border-color)}.collapsible-section.collapsed .collapsible-content{display:none}.collapsible-content .form-group{margin-bottom:12px}.collapsible-content .form-group:last-of-type{margin-bottom:14px}.collapsible-content .form-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color)}.shape-config-group{margin-bottom:14px}.shape-config-group:last-of-type{margin-bottom:12px}.shape-config-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.shape-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.shape-picker-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;background-color:var(--bg-tertiary);transition:all var(--transition-fast)}.shape-picker-item:hover{background-color:var(--bg-secondary);border-color:var(--border-color-dark)}.shape-picker-item.selected{border-color:var(--color-primary);background-color:var(--color-primary-light)}.shape-picker-item .shape-icon{width:20px;height:20px}.shape-picker-item .shape-icon ellipse,.shape-picker-item .shape-icon path,.shape-picker-item .shape-icon polygon,.shape-picker-item .shape-icon rect{fill:var(--bg-primary);stroke:var(--text-secondary)}.shape-picker-item:hover .shape-icon ellipse,.shape-picker-item:hover .shape-icon path,.shape-picker-item:hover .shape-icon polygon,.shape-picker-item:hover .shape-icon rect{stroke:var(--text-primary)}.shape-picker-item.selected .shape-icon ellipse,.shape-picker-item.selected .shape-icon path,.shape-picker-item.selected .shape-icon polygon,.shape-picker-item.selected .shape-icon rect{stroke:var(--color-primary)}.color-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:10px}.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.custom-color-row{display:flex;align-items:center;gap:8px}.custom-color-input{flex:1;height:32px;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;padding:2px}.custom-color-input::-webkit-color-swatch-wrapper{padding:0}.custom-color-input::-webkit-color-swatch{border:none;border-radius:4px}#property-shape-picker{grid-template-columns:repeat(5,1fr)}#property-color-picker{grid-template-columns:repeat(6,1fr)}.btn-full-width{width:100%;justify-content:center}[data-theme=dark] .shape-picker-item{background-color:var(--bg-tertiary)}[data-theme=dark] .shape-picker-item:hover{background-color:var(--bg-secondary)}[data-theme=dark] .shape-picker-item .shape-icon ellipse,[data-theme=dark] .shape-picker-item .shape-icon path,[data-theme=dark] .shape-picker-item .shape-icon polygon,[data-theme=dark] .shape-picker-item .shape-icon rect{fill:var(--bg-tertiary);stroke:var(--text-secondary)}[data-theme=dark] .color-swatch.selected{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-secondary)}[data-theme=dark] .attribute-row .btn-remove-attr:hover{background-color:rgba(248,113,113,.2)}.panel-xml-bottom{display:flex;flex-direction:column;height:250px;min-height:100px;max-height:50vh;background-color:var(--bg-primary);border-top:1px solid var(--border-color);flex-shrink:0}.panel-xml-bottom .panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.panel-xml-bottom .panel-header h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0}.panel-xml-bottom .panel-header-actions{display:flex;align-items:center;gap:8px}.panel-xml-right{display:flex;flex-direction:column;width:350px;min-width:200px;max-width:600px;background-color:var(--bg-primary);border-left:1px solid var(--border-color);flex-shrink:0}.panel-xml-right .panel-header{padding:12px 16px}.panel-xml-right .panel-header h2{flex:1}.xml-preview-toolbar{padding:8px 12px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.xml-view-toggle{display:flex;background-color:var(--bg-tertiary);border-radius:var(--border-radius);padding:2px}.xml-view-btn{flex:1;padding:4px 12px;font-size:11px;font-weight:500;border:none;background:0 0;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all var(--transition-fast);white-space:nowrap}.xml-view-btn:hover{color:var(--text-primary)}.xml-view-btn.active{background-color:var(--bg-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.xml-preview-content{flex:1;overflow:hidden;padding:0;background-color:var(--bg-secondary);min-height:0}.xml-code{margin:0;padding:12px;height:100%;font-family:'SF Mono',Monaco,Inconsolata,'Fira Code',Consolas,monospace;font-size:12px;line-height:8px;tab-size:2;white-space:pre;overflow:auto;counter-reset:line;box-sizing:border-box}.xml-code code{display:block;width:fit-content;min-width:100%}.xml-code::-webkit-scrollbar{width:10px;height:10px}.xml-code::-webkit-scrollbar-track{background:var(--bg-tertiary)}.xml-code::-webkit-scrollbar-thumb{background-color:var(--border-color-dark);border-radius:5px;border:2px solid var(--bg-tertiary)}.xml-code::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.xml-code::-webkit-scrollbar-corner{background:var(--bg-tertiary)}.xml-line{display:block;padding-left:50px;position:relative;min-height:9px}.xml-line::before{content:counter(line);counter-increment:line;position:absolute;left:0;width:40px;padding-right:10px;text-align:right;color:var(--text-muted);font-size:11px;user-select:none;border-right:1px solid var(--border-color);margin-right:10px}.xml-line.highlighted{background-color:var(--color-primary-light);margin:0 -12px;padding-left:62px;padding-right:12px}.xml-line.highlighted::before{background-color:var(--color-primary-light);left:12px}.xml-tag{color:#22863a}.xml-attr-name{color:#6f42c1}.xml-attr-value{color:#032f62}.xml-text{color:var(--text-primary)}.xml-comment{color:#6a737d;font-style:italic}.xml-declaration{color:#6a737d}[data-theme=dark] .xml-tag{color:#7ee787}[data-theme=dark] .xml-attr-name{color:#d2a8ff}[data-theme=dark] .xml-attr-value{color:#a5d6ff}[data-theme=dark] .xml-comment,[data-theme=dark] .xml-declaration{color:#8b949e}.xml-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.xml-preview-empty .icon{width:32px;height:32px;stroke:var(--border-color-dark);stroke-width:1.5;fill:none;margin-bottom:8px}.diff-stat-added{color:#22c55e;font-weight:600}.diff-stat-removed{color:#ef4444;font-weight:600}.xml-line.diff-added::before,.xml-line.diff-removed::before,.xml-line.diff-unchanged::before{display:none}.xml-line.diff-added,.xml-line.diff-removed,.xml-line.diff-unchanged{padding-left:0}.xml-line.diff-added{background-color:rgba(34,197,94,.15);border-left:3px solid #22c55e}.xml-line.diff-removed{background-color:rgba(239,68,68,.15);border-left:3px solid #ef4444;text-decoration:line-through;text-decoration-color:rgba(239,68,68,0.5)}.xml-line.diff-unchanged{border-left:3px solid transparent}.diff-prefix{display:inline-block;width:16px;text-align:center;color:var(--text-muted);font-weight:600;user-select:none;flex-shrink:0}.diff-added .diff-prefix{color:#22c55e}.diff-removed .diff-prefix{color:#ef4444}.diff-line-num{display:inline-block;width:35px;padding-right:8px;text-align:right;color:var(--text-muted);font-size:11px;user-select:none;flex-shrink:0;border-right:1px solid var(--border-color);margin-right:8px}.diff-line-old{color:#ef4444}.diff-line-new{color:#22c55e}.diff-content{flex:1}[data-theme=dark] .xml-line.diff-added{background-color:rgba(34,197,94,.1)}[data-theme=dark] .xml-line.diff-removed{background-color:rgba(239,68,68,.1)}[data-theme=dark] .diff-added .diff-prefix{color:#4ade80}[data-theme=dark] .diff-line-old,[data-theme=dark] .diff-removed .diff-prefix{color:#f87171}[data-theme=dark] .diff-line-new,[data-theme=dark] .diff-stat-added{color:#4ade80}[data-theme=dark] .diff-stat-removed{color:#f87171}