body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;background-color:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.app-header .btn{margin-left:auto}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:250px;background-color:#fff;border-right:1px solid #e1e8ed;padding:1rem}.main-content{flex:1;padding:2rem;overflow-y:auto}.actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.actions button{padding:.5rem 1rem;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.actions button:hover{background-color:#e1e8ed}.actions button:disabled{background-color:#ccc;cursor:not-allowed}.field-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.field-row button{margin-left:auto;background-color:#007bff;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease;width:auto}.field-row button:hover{background-color:#0056b3}.field-row button:disabled{background-color:#ccc;cursor:not-allowed}.sql-preview{background-color:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;padding:1rem;margin-top:1rem;white-space:pre-wrap;font-family:monospace;font-size:.9rem;color:#2c3e50;overflow-x:auto;max-height:300px;overflow-y:auto}.add-field-btn{background-color:#007bff;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease;margin-top:1rem;width:auto}.add-field-btn:hover{background-color:#0056b3}.add-field-btn:disabled{background-color:#ccc;cursor:not-allowed}.login-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in-out}.login-modal-content{background:#fff;padding:30px;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%;text-align:center;position:relative;animation:slideIn .3s ease-in-out}.login-modal-content h2{margin-bottom:20px;color:#333}.login-modal-content form{display:flex;flex-direction:column;gap:15px}.login-modal-content input{padding:12px;border:1px solid #ccc;border-radius:6px;font-size:16px}.login-modal-content button{padding:12px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:background .3s}.login-modal-content button:hover{background:#0056b3}.login-modal-content p{color:red;margin-top:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.app-content{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e1e8ed}.main-content{padding:1rem}.table-header{flex-direction:column;gap:1rem;align-items:flex-start}.data-table{overflow-x:auto}.modal{width:95%;margin:1rem}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh;max-width:90%;margin:0 auto;background-color:#fff;box-shadow:0 0 20px #0000001a;border-radius:0 0 12px 12px}.app-header{background-color:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100;border-radius:0}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.app-content{display:flex;flex:1;min-height:calc(90vh - 80px);overflow:hidden;background-color:#f8f9fa}.sidebar{width:250px;background-color:#fff;border-right:1px solid #e1e8ed;padding:1rem;min-height:100%}.table-selector h3{margin-bottom:1rem;color:#2c3e50}.table-selector ul{list-style:none}.table-selector li{padding:.75rem;cursor:pointer;border-radius:6px;margin-bottom:.25rem;transition:background-color .2s}.table-selector li:hover{background-color:#f8f9fa}.table-selector li.selected{background-color:#3498db;color:#fff}.main-content{flex:1;padding:2rem;overflow-y:auto;min-height:100%;background-color:#f8f9fa}.table-section{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.table-header h2{color:#2c3e50}.child-table-section{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;border-left:4px solid #3498db}.child-table-section h3{color:#2c3e50;margin-bottom:1rem}.data-table table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.75rem;border-bottom:1px solid #e1e8ed}.data-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.data-table tr:hover{background-color:#f8f9fa}.data-table tr.selected{background-color:#e3f2fd}.btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff;margin-right:.5rem}.btn-secondary:hover{background-color:#7f8c8d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-sm{padding:.25rem .5rem;font-size:.875rem;margin-right:.25rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e1e8ed}.modal-header h3{color:#2c3e50}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#95a5a6;padding:.25rem;border-radius:4px}.close-btn:hover{background-color:#f8f9fa}.record-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled{background-color:#f8f9fa;color:#6c757d}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e1e8ed}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.25rem;color:#2c3e50}.admin-table-creator button{background-color:#007bff;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer;font-size:14px}.admin-table-creator button:hover{background-color:#0056b3}.admin-table-creator button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 1200px){.app{max-width:95%}}@media (max-width: 768px){.app{max-width:98%}.app-content{flex-direction:column;min-height:calc(90vh - 60px)}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e1e8ed;min-height:auto}.main-content{padding:1rem}.table-header{flex-direction:column;gap:1rem;align-items:flex-start}.data-table{overflow-x:auto}.modal{width:95%;margin:1rem}.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.25rem}}@media (max-width: 480px){.app{max-width:100%;border-radius:0}.app-content{min-height:calc(90vh - 50px)}.app-header{padding:.5rem 1rem}}.empty-state{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;color:#6c757d;text-align:center}.empty-state h3{margin-bottom:1rem;color:#495057}.empty-state p{font-size:1.1rem;max-width:400px}
