:root{--accent:#3ddc97;--accent2:#5eb1ff;--bg:#1a1a1a;--bg1:#2c2c2c;--bg2:#3a3a3a;--fg:#e0e0e0;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--line:#444;--muted:#bdbdbd;--primary:#e82127;--warn:#ffd166}
*{box-sizing:border-box;margin:0;padding:0}
a{color:#8ab4f8;text-decoration:none}
a:hover{text-decoration:underline}
body{background-color:#121212;color:#e0e0e0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
button{background-color:#007bff;border:none;border-radius:6px;color:#ffffff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease, transform .1s ease}
button.danger{background-color:#dc3545}
button.danger:hover{background-color:#c82333}
button.secondary{background-color:#4a4a4a;color:#e0e0e0}
button.secondary:hover{background-color:#5a5a5a}
button:active{transform:translateY(1px)}
button:hover{background-color:#0056b3}
header{background-color:#1f1f1f;box-shadow:0 2px 4px rgba(0,0,0,.5);color:#ffffff;flex-shrink:0;padding:1rem;z-index:10}
html,body{background:var(--bg);color:var(--fg);font:16px var(--font);height:100%;margin:0;overflow:hidden}
main{display:flex;flex-direction:column;flex-grow:1;min-height:0;padding:1rem}
table{border-collapse:collapse;width:100%}
td .actions{display:flex;float:right;gap:.5rem}
td .actions button{font-size:.8rem;padding:.25rem .5rem}
tfoot td{border-color:#666666;font-size:.9rem;font-weight:bold;padding-top:1rem}
th{color:#e0e0e0;font-size:.8rem;font-weight:600;text-transform:uppercase;user-select:none;-webkit-user-select:none}
th,td{border-bottom:1px solid #444444;padding:.5rem;text-align:left;white-space:nowrap}
th.sortable{cursor:pointer}
th:hover{background-color:#454545}
thead th{background-color:#333333;position:sticky;top:0;z-index:1}
tr.clickable-row:hover{background-color:#383838}
tr:last-child td{border-bottom:none}
#header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
#header-controls{display:flex;flex-wrap:wrap;gap:1rem}
#header-title{flex-grow:1;font-size:1.5rem;margin:0}
.align-end{align-self:flex-end}
.card{background:#2a2a2a;border:1px solid #333333;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2);display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:auto;padding:1.5rem 2rem}
.card.card-table{padding:0}
.clickable-row{cursor:pointer}
.form-group{display:flex;flex-direction:column}
.form-group .file-info{font-size:.9em;margin-top:.5rem;white-space:normal}
.form-group input,.form-group textarea,.form-group select{background-color:#333333;border:1px solid #555555;border-radius:6px;box-sizing:border-box;color:#e0e0e0;font-size:1rem;padding:.75rem;width:100%}
.form-group input[type="checkbox"]{align-self:flex-start;height:1.2rem;width:1.2rem}
.form-group input[type="file"]{padding:.45rem}
.form-group label{color:#bbbbbb;font-weight:500;margin-bottom:.5rem}
.form-group textarea:disabled{background-color:#444444;color:#888888;cursor:not-allowed}
.loading-overlay{align-items:center;background:rgba(0,0,0,.7);color:#ffffff;display:flex;font-size:1.5rem;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}
.record-form{display:grid;gap:1.5rem}
.schema-field{align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto;margin-bottom:1rem}
.schema-field .form-group{margin:0}
.text-center{text-align:center}
@media (max-width: 768px){
header,main{padding:1rem}
#header-content{align-items:flex-start;flex-direction:column}
#header-controls{width:100%}
.card{padding:1rem}
.schema-field{grid-template-columns:1fr}}