:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}.card{width:min(92%,480px);margin:7vh auto;background:#fff;padding:30px;border-radius:14px;box-shadow:0 8px 30px #1a31521a}.wide{width:min(1180px,94%);margin:38px auto}h1{margin-top:0}label{display:block;margin:15px 0;font-weight:600}input,select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b9c3d1;border-radius:8px;background:#fff;font:inherit}button,.button-link{padding:13px;border:0;border-radius:8px;background:#155eef;color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}form:not(.filters) button{width:100%}hr{border:0;border-top:1px solid #dde3eb;margin:24px 0}.error,.success,.notice{padding:12px;border-radius:8px;margin:16px 0}.error{background:#ffe8e8;color:#8b1515}.success{background:#e4f7ec;color:#12633b}.notice{background:#e9f0fb;color:#294b7a}header{display:flex;justify-content:space-between;align-items:center;padding:18px 4%;background:#172033;color:white}header nav{display:flex;gap:18px;flex-wrap:wrap}header a{color:white}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:22px}.grid article{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 18px #1a315214}.grid span{display:block;color:#596579}.grid strong{display:block;font-size:1.7rem;margin-top:8px}.muted{color:#657184;margin-top:25px}.filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:0 16px;background:#fff;padding:20px;border-radius:12px}.filter-actions{display:flex;align-items:center;gap:16px}.filter-actions button{width:auto}.table-wrap{overflow:auto;background:#fff;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.93rem}th,td{padding:12px;text-align:left;border-bottom:1px solid #e2e7ef;vertical-align:top}th{background:#e9eef6;white-space:nowrap}.pager{display:flex;justify-content:center;gap:24px;margin:24px}.pager a{font-weight:700}@media(max-width:760px){.filters{grid-template-columns:1fr}header{align-items:flex-start;gap:12px;flex-direction:column}.wide{margin-top:22px}}
