.deployment-diagram-generator{max-width:var(--tool-container-max-width, 1600px);margin:0 auto;padding:2rem}.deployment-diagram-generator .tool-header{text-align:center;margin-bottom:2rem}.deployment-diagram-generator .tool-header h1{color:var(--primary-color);margin-bottom:.5rem}.deployment-diagram-generator .tool-header p{color:#666}.deployment-diagram-generator .generator-layout{display:grid;grid-template-columns:350px 1fr;gap:var(--tool-content-gap, 2rem)}.deployment-diagram-generator .controls-panel{display:flex;flex-direction:column;gap:1.5rem}.deployment-diagram-generator .control-section{background:var(--white);border-radius:8px;padding:1.25rem;box-shadow:0 2px 8px #00000014}.deployment-diagram-generator .control-section h3{font-size:1.15rem;font-weight:700;color:var(--gray-900);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary);letter-spacing:.03em}.deployment-diagram-generator .control-section h4{margin:1rem 0 .5rem;color:#555;font-size:.9rem}.deployment-diagram-generator .control-section h5{margin:.75rem 0 .5rem;color:#666;font-size:.85rem}.control-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.deployment-diagram-generator label{display:block;margin-bottom:.75rem;color:#444;font-size:.85rem}.deployment-diagram-generator label select,.deployment-diagram-generator label input[type=text],.deployment-diagram-generator label input[type=number]{display:block;width:100%;margin-top:.25rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.deployment-diagram-generator label input[type=color]{width:40px;height:30px;padding:0;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-left:.5rem;vertical-align:middle}.deployment-diagram-generator .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.deployment-diagram-generator .checkbox-label input[type=checkbox]{width:auto;margin:0}.deployment-diagram-generator .btn-add{width:100%;padding:.5rem;background:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.85rem;margin-bottom:.75rem}.deployment-diagram-generator .btn-add:hover{background:var(--primary-dark)}.deployment-diagram-generator .btn-add-small{padding:.35rem .75rem;background:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.75rem;margin-top:.5rem}.deployment-diagram-generator .nodes-list,.deployment-diagram-generator .connections-list{max-height:180px;overflow-y:auto;border:1px solid #eee;border-radius:4px;margin-bottom:.75rem}.deployment-diagram-generator .node-item,.deployment-diagram-generator .connection-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid #eee;cursor:pointer;font-size:.85rem;transition:background .2s}.deployment-diagram-generator .node-item:last-child,.deployment-diagram-generator .connection-item:last-child{border-bottom:none}.deployment-diagram-generator .node-item:hover,.deployment-diagram-generator .connection-item:hover{background:#f5f5f5}.deployment-diagram-generator .node-item.editing,.deployment-diagram-generator .connection-item.editing{background:#e3f2fd}.deployment-diagram-generator .node-stereotype{background:#27ae60;color:var(--white);padding:.15rem .4rem;border-radius:3px;font-size:.65rem;text-transform:lowercase}.deployment-diagram-generator .node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deployment-diagram-generator .conn-label{color:#666;font-size:.75rem;background:#f0f0f0;padding:.1rem .3rem;border-radius:3px}.deployment-diagram-generator .btn-remove{background:#e74c3c;color:var(--white);border:none;border-radius:50%;width:20px;height:20px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.deployment-diagram-generator .btn-remove:hover{background:#c0392b}.deployment-diagram-generator .btn-remove-small{background:#e74c3c;color:var(--white);border:none;border-radius:3px;width:22px;height:22px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.deployment-diagram-generator .node-editor,.deployment-diagram-generator .connection-editor{background:#f9f9f9;padding:.75rem;border-radius:4px;margin-top:.5rem}.deployment-diagram-generator .node-editor h4,.deployment-diagram-generator .connection-editor h4{margin:0 0 .75rem;color:var(--primary-color);font-size:.85rem}.deployment-diagram-generator .dimension-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.deployment-diagram-generator .dimension-inputs label{margin-bottom:0}.deployment-diagram-generator .dimension-inputs input{width:100%}.deployment-diagram-generator .artifacts-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee}.deployment-diagram-generator .artifact-item{display:flex;gap:.5rem;margin-bottom:.5rem}.deployment-diagram-generator .artifact-item input{flex:1;padding:.35rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.deployment-diagram-generator .theme-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.deployment-diagram-generator .theme-btn{padding:.4rem;border:2px solid;border-radius:4px;cursor:pointer;font-size:.7rem;text-transform:capitalize;transition:transform .2s}.deployment-diagram-generator .theme-btn:hover{transform:scale(1.05)}.deployment-diagram-generator .theme-btn.active{outline:2px solid var(--primary-color);outline-offset:2px}.deployment-diagram-generator .color-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.deployment-diagram-generator .color-inputs label{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;margin-bottom:0}.deployment-diagram-generator .preview-panel{background:var(--white);border:2px solid #d1d5db;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000014;box-shadow:0 1px 3px #0000001a}.deployment-diagram-generator .preview-panel h3{margin:0 0 1rem;color:var(--primary-color)}.deployment-diagram-generator .diagram-preview{border:2px solid #d1d5db;border-radius:8px;padding:1rem;background:#f9fafb;overflow:auto;min-height:400px;box-shadow:0 1px 3px #0000001a}.deployment-diagram-generator .diagram-preview svg{display:block}.deployment-diagram-generator .export-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.deployment-diagram-generator .export-section h3{margin:0 0 1rem}.deployment-diagram-generator .export-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.deployment-diagram-generator .export-buttons button{padding:.5rem 1rem;background:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.deployment-diagram-generator .export-buttons button:hover{background:var(--primary-dark)}.control-panel{background-color:#1f2937f2!important;border:2px solid var(--gray-400)!important;border-radius:6px}[data-theme=dark] .control-section{background-color:#1f2937e6!important;border-color:var(--gray-400)!important;border-width:2px}[data-theme=dark] .control-group input,[data-theme=dark] .control-group select,[data-theme=dark] .control-group textarea{background-color:#0f172acc!important;border:2px solid var(--gray-500)!important;color:var(--text-primary)}[data-theme=dark] .control-group label{display:block;color:var(--gray-900);font-size:1rem;margin-bottom:.5rem;font-weight:600;line-height:1.5;letter-spacing:.3px}@media (max-width: 1023px){.deployment-diagram-generator .generator-layout{grid-template-columns:1fr}}@media (max-width: 600px){.deployment-diagram-generator{padding:1rem}.deployment-diagram-generator .theme-buttons,.deployment-diagram-generator .dimension-inputs{grid-template-columns:repeat(2,1fr)}}
