:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #17202a; background: #f2f5f7; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #075985; }
.site-header { min-height: 64px; padding: 0 4vw; display: flex; align-items: center; gap: 20px; color: white; background: #0b2638; }
.site-header .brand { color: white; font-weight: 800; font-size: 1.3rem; text-decoration: none; }
.site-header nav { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.site-header nav a, .link-button { color: white; background: none; border: 0; padding: 0; font: inherit; text-decoration: none; cursor: pointer; }
.site-header form { margin: 0; }
.container { width: min(1180px, 92vw); margin: 38px auto; }
.page-heading, .pob-card-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
h1, h2, h3 { margin-top: 0; }
.timestamp { color: #52606d; }
.auth-card, .pob-card, .admin-card, .empty-state { background: white; border: 1px solid #d9e2e8; border-radius: 12px; padding: 26px; margin-bottom: 22px; box-shadow: 0 2px 8px rgb(15 35 50 / 5%); }
.auth-card { max-width: 480px; margin: 10vh auto; }
label { display: grid; gap: 7px; font-weight: 650; }
input, select, button { min-height: 44px; border: 1px solid #aebbc4; border-radius: 7px; padding: 9px 12px; font: inherit; }
button { border-color: #0877a8; background: #0877a8; color: white; font-weight: 700; cursor: pointer; }
.auth-card form { display: grid; gap: 16px; margin: 22px 0; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; align-items: end; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 10px; text-align: left; border-bottom: 1px solid #e3e9ed; }
th { color: #52606d; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; }
.warning, .notice { padding: 12px 15px; border-radius: 7px; background: #fff4cf; color: #684d00; }
.error { color: #a61b1b; }
.inline-form, .actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.inline-form input { min-width: 250px; }
.actions { justify-content: space-between; margin-top: 22px; }
button.secondary { background: #435b69; border-color: #435b69; }
button.danger { background: #a61b1b; border-color: #a61b1b; }
.grant-list { padding: 0; list-style: none; }
.grant-list li { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid #e3e9ed; }
.link-danger { min-height: auto; border: 0; padding: 0; background: none; color: #a61b1b; }
.link-secondary { min-height: auto; border: 0; padding: 0; background: none; color: #075985; }
.grant-actions { display: flex; gap: 16px; }
.status { padding: 5px 10px; border-radius: 999px; background: #dceaf1; font-weight: 700; }
.status.active { background: #d9f7e5; color: #126332; }
.status.ended { background: #eceff1; color: #52606d; }
@media (max-width: 700px) { .site-header > span { display: none; } .page-heading, .pob-card-header { align-items: flex-start; flex-direction: column; } }
