.db-schema-generator{max-width:var(--tool-container-max-width, 1600px);margin:0 auto;padding:20px}.db-schema-generator .tool-header{text-align:center;margin-bottom:30px}.db-schema-generator .tool-header h1{color:var(--primary-color);margin-bottom:10px}.db-schema-generator .tool-header p{color:#666}.db-schema-generator .generator-layout{display:grid;grid-template-columns:420px 1fr;gap:30px;margin-bottom:40px}.db-schema-generator .controls-panel{background:#f8f9fa;border-radius:12px;padding:20px;max-height:900px;overflow-y:auto}.db-schema-generator .control-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.db-schema-generator .control-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.db-schema-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}.db-schema-generator .control-section>select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.db-schema-generator .preset-buttons{display:flex;flex-wrap:wrap;gap:8px}.db-schema-generator .preset-btn{padding:8px 12px;background:var(--white);border:1px solid #ddd;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.db-schema-generator .preset-btn:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.db-schema-generator .add-btn{width:100%;padding:10px;background:var(--primary-color);color:var(--white);border:none;border-radius:6px;cursor:pointer;font-weight:500;margin-bottom:15px}.db-schema-generator .add-btn:hover{opacity:.9}.db-schema-generator .add-btn:disabled{background:#ccc;cursor:not-allowed}.db-schema-generator .tables-list{display:flex;flex-direction:column;gap:10px;max-height:250px;overflow-y:auto}.db-schema-generator .table-editor{background:var(--white);border:1px solid #e0e0e0;border-radius:8px;padding:10px}.db-schema-generator .table-header-row{display:flex;gap:8px;align-items:center}.db-schema-generator .table-header-row input{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-weight:500}.db-schema-generator .expand-btn{width:30px;height:30px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:10px}.db-schema-generator .remove-btn{width:30px;height:30px;background:#ff5252;color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:18px;flex-shrink:0}.db-schema-generator .columns-editor{margin-top:10px;padding-top:10px;border-top:1px solid #e0e0e0}.db-schema-generator .column-editor{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.db-schema-generator .column-editor input[type=text]{width:100px;padding:6px;border:1px solid #ddd;border-radius:4px;font-size:12px}.db-schema-generator .column-editor select{width:120px;padding:6px;border:1px solid #ddd;border-radius:4px;font-size:11px}.db-schema-generator .column-flags{display:flex;gap:8px}.db-schema-generator .column-flags label{display:flex;align-items:center;gap:3px;font-size:10px;color:#666}.db-schema-generator .column-flags input{width:12px;height:12px}.db-schema-generator .remove-col-btn{width:24px;height:24px;background:#ffcdd2;color:#c62828;border:none;border-radius:4px;cursor:pointer;font-size:14px}.db-schema-generator .add-col-btn{width:100%;padding:6px;background:#e3f2fd;color:var(--primary-color);border:1px dashed var(--primary-color);border-radius:4px;cursor:pointer;font-size:12px}.db-schema-generator .relations-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.db-schema-generator .relation-editor{background:var(--white);border:1px solid #e0e0e0;border-radius:8px;padding:10px}.db-schema-generator .relation-row{display:flex;gap:6px;margin-bottom:6px}.db-schema-generator .relation-row select{flex:1;padding:6px;border:1px solid #ddd;border-radius:4px;font-size:12px}.db-schema-generator .relation-arrow{text-align:center;color:#666;font-size:16px;margin-bottom:6px}.db-schema-generator .relation-type{width:100%;padding:6px;border:1px solid #ddd;border-radius:4px;font-size:12px;margin-bottom:8px}.db-schema-generator .checkbox-label{display:flex;align-items:center;gap:8px;margin-bottom:.5rem;font-size:1rem;cursor:pointer}.db-schema-generator .checkbox-label input{width:16px;height:16px}.db-schema-generator .theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.db-schema-generator .theme-btn{padding:8px;border:2px solid;border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s}.db-schema-generator .theme-btn.active{box-shadow:0 0 0 3px #1976d24d}.db-schema-generator .save-controls{display:flex;gap:8px;margin-bottom:10px}.db-schema-generator .save-controls input{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px}.db-schema-generator .save-btn{padding:8px 16px;background:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer}.db-schema-generator .saved-list{display:flex;flex-direction:column;gap:6px}.db-schema-generator .saved-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--white);border:1px solid #e0e0e0;border-radius:4px}.db-schema-generator .saved-item span{cursor:pointer;font-size:13px}.db-schema-generator .saved-item span:hover{color:var(--primary-color)}.db-schema-generator .saved-item button{background:none;border:none;color:#999;cursor:pointer;font-size:16px}.db-schema-generator .saved-item button:hover{color:#ff5252}.db-schema-generator .export-buttons{display:flex;flex-direction:column;gap:8px}.db-schema-generator .export-btn{padding:10px;background:var(--white);border:1px solid var(--primary-color);color:var(--primary-color);border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.db-schema-generator .export-btn:hover{background:var(--primary-color);color:var(--white)}.db-schema-generator .preview-panel{background:#f8f9fa;border:2px solid #d1d5db;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.db-schema-generator .preview-panel h3{font-size:14px;font-weight:600;color:#333;margin-bottom:15px}.db-schema-generator .schema-preview{border:2px solid #d1d5db;border-radius:8px;padding:20px;background:#f9fafb;min-height:300px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.db-schema-generator .tables-visual{display:flex;flex-wrap:wrap;gap:20px}.db-schema-generator .table-visual{border:2px solid;border-radius:8px;min-width:200px;overflow:hidden}.db-schema-generator .table-name{padding:10px 15px;color:var(--white);font-weight:600;font-size:14px}.db-schema-generator .table-columns{padding:8px 0}.db-schema-generator .column-visual{display:flex;align-items:center;gap:8px;padding:5px 15px;font-size:13px}.db-schema-generator .col-name{font-weight:500}.db-schema-generator .col-type{font-family:monospace;font-size:11px}.db-schema-generator .col-constraints{display:flex;gap:4px;margin-left:auto}.db-schema-generator .pk-badge,.db-schema-generator .fk-badge{padding:2px 6px;border-radius:3px;font-size:9px;font-weight:600;color:var(--white)}.db-schema-generator .relations-visual{margin-top:20px;padding-top:20px;border-top:1px dashed #ccc}.db-schema-generator .relations-visual h4{margin-bottom:10px;font-size:13px}.db-schema-generator .relation-visual{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.db-schema-generator .rel-arrow{font-weight:700}.db-schema-generator .rel-type{font-size:11px}.db-schema-generator .sql-preview{background:#1e1e1e;border:2px solid #d1d5db;border-radius:8px;padding:15px;box-shadow:0 1px 3px #0000001a}.db-schema-generator .sql-preview h4{color:#fff;font-size:13px;margin-bottom:10px}.db-schema-generator .sql-preview pre{color:#9cdcfe;font-family:Consolas,Monaco,monospace;font-size:12px;white-space:pre-wrap;max-height:300px;overflow-y:auto}.db-schema-generator .tips-section{background:#f0f7ff;border-radius:12px;padding:30px;margin-bottom:30px}.db-schema-generator .tips-section h3{text-align:center;color:var(--primary-color);margin-bottom:20px}.db-schema-generator .tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.db-schema-generator .tip{background:var(--white);padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000000d}.db-schema-generator .tip h4{color:#333;margin-bottom:8px;font-size:14px}.db-schema-generator .tip p{color:#666;font-size:13px;line-height:1.6}.db-schema-generator .cta-section{background:linear-gradient(135deg,var(--primary-color),#1565c0);color:var(--white);padding:40px;border-radius:12px;text-align:center}.db-schema-generator .cta-section h3{margin-bottom:10px}.db-schema-generator .cta-section p{opacity:.9;margin-bottom:20px}.db-schema-generator .cta-button{display:inline-block;padding:12px 30px;background:var(--white);color:var(--primary-color);text-decoration:none;border-radius:6px;font-weight:600;transition:transform .2s}.db-schema-generator .cta-button:hover{transform:translateY(-2px)}.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: 900px){.db-schema-generator .generator-layout{grid-template-columns:1fr}.db-schema-generator .controls-panel{max-height:none}}
