
:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#111827}
@media(prefers-color-scheme:dark){body{background:#111827;color:#f3f4f6}input,select,button{background:#1f2937;color:inherit;border-color:#374151}table{border-color:#374151}th,td{border-color:#374151}}
main{width:100%;max-width:26rem;padding:2rem 1.5rem}
main.wide{max-width:70rem}
h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:2rem 0 .5rem}
label{display:block;margin:.8rem 0 .25rem;font-size:.9rem}
input,select{width:100%;box-sizing:border-box;padding:.6rem;border:1px solid #9ca3af;border-radius:.4rem;font-size:1rem}
button{margin-top:1rem;padding:.6rem 1rem;border:0;border-radius:.4rem;background:#2563eb;color:#fff;font-size:1rem;cursor:pointer}
button.secondary{background:#6b7280}button.danger{background:#b91c1c}
.error{background:#fee2e2;color:#7f1d1d;padding:.6rem .8rem;border-radius:.4rem;margin-bottom:1rem}
.ok{background:#dcfce7;color:#14532d;padding:.6rem .8rem;border-radius:.4rem;margin-bottom:1rem}
.muted{color:#6b7280;font-size:.9rem}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid #e5e7eb;padding:.4rem;text-align:left;vertical-align:middle}
form.inline{display:inline}form.inline button{margin:.1rem;padding:.3rem .6rem;font-size:.8rem}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end}.row>div{flex:1;min-width:10rem}
.top{display:flex;justify-content:space-between;align-items:center}
