.object-diagram-generator{max-width:var(--tool-container-max-width, 1600px);margin:0 auto;padding:2rem}.object-diagram-generator .tool-header{text-align:center;margin-bottom:2rem}.object-diagram-generator .tool-header h1{color:var(--primary-color);margin-bottom:.5rem}.object-diagram-generator .tool-header p{color:#666}.object-diagram-generator .generator-layout{display:grid;grid-template-columns:350px 1fr;gap:var(--tool-content-gap, 2rem)}.object-diagram-generator .controls-panel{display:flex;flex-direction:column;gap:1.5rem}.object-diagram-generator .control-section{background:var(--white);border-radius:8px;padding:1.25rem;box-shadow:0 2px 8px #00000014}.object-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}.object-diagram-generator .control-section h4{margin:1rem 0 .5rem;color:#555;font-size:.875rem}.object-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}.object-diagram-generator label{display:block;margin-bottom:.75rem;color:#444;font-size:.85rem}.object-diagram-generator label select,.object-diagram-generator label input[type=text],.object-diagram-generator label input[type=number]{display:block;width:100%;margin-top:.25rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.object-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}.object-diagram-generator .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.object-diagram-generator .checkbox-label input[type=checkbox]{width:auto;margin:0}.object-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}.object-diagram-generator .btn-add:hover{background:var(--primary-dark)}.object-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}.object-diagram-generator .objects-list,.object-diagram-generator .links-list{max-height:180px;overflow-y:auto;border:1px solid #eee;border-radius:4px;margin-bottom:.75rem}.object-diagram-generator .object-item,.object-diagram-generator .link-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid #eee;cursor:pointer;font-size:.85rem;transition:background .2s}.object-diagram-generator .object-item:last-child,.object-diagram-generator .link-item:last-child{border-bottom:none}.object-diagram-generator .object-item:hover,.object-diagram-generator .link-item:hover{background:#f5f5f5}.object-diagram-generator .object-item.editing,.object-diagram-generator .link-item.editing{background:#e3f2fd}.object-diagram-generator .obj-class{background:#3498db;color:var(--white);padding:.15rem .4rem;border-radius:3px;font-size:.7rem}.object-diagram-generator .obj-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;text-decoration:underline}.object-diagram-generator .link-name{color:#666;font-size:.75rem;font-style:italic}.object-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}.object-diagram-generator .btn-remove:hover{background:#c0392b}.object-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;flex-shrink:0}.object-diagram-generator .object-editor,.object-diagram-generator .link-editor{background:#f9f9f9;padding:.75rem;border-radius:4px;margin-top:.5rem}.object-diagram-generator .object-editor h4,.object-diagram-generator .link-editor h4{margin:0 0 .75rem;color:var(--primary-color);font-size:.85rem}.object-diagram-generator .dimension-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.object-diagram-generator .dimension-inputs label{margin-bottom:0}.object-diagram-generator .dimension-inputs input{width:100%}.object-diagram-generator .attributes-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee}.object-diagram-generator .attribute-item{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem}.object-diagram-generator .attribute-item input{flex:1;padding:.35rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.object-diagram-generator .attribute-item span{color:#666;font-weight:700}.object-diagram-generator .theme-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.object-diagram-generator .theme-btn{padding:.4rem;border:2px solid;border-radius:4px;cursor:pointer;font-size:.7rem;text-transform:capitalize;transition:transform .2s}.object-diagram-generator .theme-btn:hover{transform:scale(1.05)}.object-diagram-generator .theme-btn.active{outline:2px solid var(--primary-color);outline-offset:2px}.object-diagram-generator .color-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.object-diagram-generator .color-inputs label{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;margin-bottom:0}.object-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}.object-diagram-generator .preview-panel h3{margin:0 0 1rem;color:var(--primary-color)}.object-diagram-generator .diagram-preview{border:2px solid #d1d5db;border-radius:8px;padding:1rem;background:#f9fafb;overflow:auto;min-height:300px;box-shadow:0 1px 3px #0000001a}.object-diagram-generator .diagram-preview svg{display:block}.object-diagram-generator .export-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.object-diagram-generator .export-section h3{margin:0 0 1rem}.object-diagram-generator .export-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.object-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}.object-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){.object-diagram-generator .generator-layout{grid-template-columns:1fr}}@media (max-width: 600px){.object-diagram-generator{padding:1rem}.object-diagram-generator .theme-buttons,.object-diagram-generator .dimension-inputs{grid-template-columns:repeat(2,1fr)}}
