body { font-family: sans-serif; margin: 2rem; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; flex-wrap:wrap; gap:.4rem; }
.nav-links { display:flex; gap:.5rem; flex-wrap:wrap; }
.nav-links a { font-size:.9rem; text-decoration:none; color:#468; }
.table-wrap { overflow-x:auto; }
table { border-collapse:collapse; width:100%; margin-bottom:1rem; }
th,td { border:1px solid #ccc; padding:.35rem .6rem; text-align:left; font-size:.9rem; }
th { background:#f0f0f0; }
.btn { display:inline-block; padding:.25rem .7rem; border-radius:3px; cursor:pointer; font-size:.85rem; background:#fff; text-decoration:none; border:1px solid #888; color:#000; font-family:inherit; }
.btn-edit { border-color:#555; color:#000; }
.btn-delete { border-color:#c00; color:#c00; }
.btn-add  { border-color:#555; color:#000; }
.btn-save { border-color:#555; color:#000; }
.btn-disabled { border-color:#ccc; color:#ccc; cursor:default; }
.bottom-bar { display:flex; flex-wrap:wrap; gap:.4rem; align-items:stretch; margin-top:.5rem; margin-bottom:1.2rem; }
.bottom-bar a,.bottom-bar span,.bottom-bar select,.bottom-bar .btn { display:inline-flex; align-items:center; padding:.35rem .8rem; border:1px solid #888; border-radius:3px; text-decoration:none; color:#000; background:#fff; font-size:.9rem; font-family:inherit; box-sizing:border-box; cursor:pointer; }
.bottom-bar span { color:#aaa; border-color:#ddd; cursor:default; }
.bottom-bar select { width:auto; max-width:none; margin-top:0; padding:.35rem .8rem; padding-right:1.6rem; appearance:auto; }
.error { color:red; margin:.5rem 0; }
.success { color:green; margin:.5rem 0; }
.warning { color:#b80; margin:.5rem 0; }
form.inline { display:inline; margin:0; }
label { display:block; margin-top:.8rem; font-weight:bold; }
input[type=text],input[type=email],input[type=number],input[type=date],input[type=password],select,textarea { width:100%; max-width:32rem; padding:.4rem; margin-top:.2rem; box-sizing:border-box; border:1px solid #ccc; border-radius:3px; font-family:inherit; font-size:.9rem; }
textarea { height:4rem; }
.hint { font-weight:normal; font-size:.85rem; color:#666; }
.form-actions { margin-top:1.2rem; display:flex; gap:.5rem; }
.readonly-field { padding:.4rem; background:#f5f5f5; border:1px solid #ddd; border-radius:3px; max-width:32rem; }
.closed-banner { background:#fff3cd; border:1px solid #ffc107; padding:.6rem 1rem; border-radius:4px; margin-bottom:1rem; }
.warn-banner { background:#fff8e1; border:1px solid #ffc107; padding:.6rem 1rem; border-radius:4px; margin-bottom:1rem; }
@media (max-width:640px) { body { margin:1rem; } input[type=text],input[type=email],input[type=number],input[type=date],input[type=password],select,textarea { max-width:100%; } }
