:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: #f5f7fb; color: #172033; }
main { max-width: 1050px; margin: 3rem auto; padding: 0 1.2rem 3rem; }
section { background: white; margin-top: 1rem; padding: 1.5rem; border-radius: 12px; box-shadow: 0 8px 30px #1d294012; }
nav, .toolbar { display: flex; gap: 1rem; justify-content: space-between; align-items: center; flex-wrap: wrap; }
nav div { display: flex; gap: 1rem; }
a { color: #3157c8; }
button { background: #3157c8; color: white; border: 0; border-radius: 6px; padding: .7rem 1rem; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
button.secondary { color: #3157c8; background: #e9eefc; }
input, select { width: 100%; margin-top: .35rem; border: 1px solid #cbd3e1; border-radius: 6px; padding: .65rem; }
input[type=file] { width: auto; margin: 1rem 0; }
label { display: block; font-weight: 600; }
.login-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 1rem; align-items: end; }
.field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.muted { color: #5f6878; }
.error { color: #a52121; }
.success { color: #14733b; }
[hidden] { display: none !important; }
table { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: .9rem; }
th, td { text-align: left; border-bottom: 1px solid #e4e8f0; padding: .55rem; }
pre { max-height: 16rem; overflow: auto; background: #f5f7fb; padding: .8rem; white-space: pre-wrap; }
@media (max-width: 680px) { .login-grid { grid-template-columns: 1fr; } }
