* { box-sizing: border-box; }
body { margin: 0; color: #192c2b; background: #f4f6f2; font: 16px/1.6 system-ui, sans-serif; }
main { max-width: 960px; margin: 56px auto; padding: 0 24px; }
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; gap: 20px; }
h1 { font-size: 32px; line-height: 1.2; letter-spacing: -1px; margin: 6px 0 18px; }
h2 { font-size: 23px; margin-top: 0; }
.eyebrow { font-size: 12px; letter-spacing: 2px; font-weight: 700; color: #396d60; margin: 0; }
.card { padding: 32px; background: white; border: 1px solid #dbe2da; border-radius: 14px; margin-bottom: 24px; }
.login { max-width: 520px; margin: 100px auto; }
.muted, small { color: #65736a; }
label { display: block; font-weight: 600; margin-top: 16px; }
input { font: inherit; }
input:not([type=submit]) { display: block; width: 100%; max-width: 440px; padding: 10px 14px; border: 1px solid #bac8bd; border-radius: 6px; }
button, input[type=submit] { color: white; background: #245d4f; border: 1px solid #245d4f; border-radius: 6px; padding: 11px 20px; cursor: pointer; font: inherit; font-weight: 600; }
form input[type=submit] { margin-top: 24px; }
.secondary { color: #245d4f; background: transparent; border-color: #bac8bd; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.flash { padding: 16px; border-radius: 6px; background: #e0ece3; }
.alert { color: #8c3b20; background: #fff0e6; padding: 12px; border-radius: 6px; }
dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-block: 1px solid #e2e8e0; padding: 18px 0; }
dt { color: #65736a; } dd { margin: 0; }
table { width: 100%; text-align: left; border-collapse: collapse; font-size: 14px; } th, td { padding: 12px 6px; border-bottom: 1px solid #e2e8e0; }
a { color: #245d4f; }
@media(max-width:600px) { main { margin-top: 24px; padding: 0 16px; } .card { padding: 20px; } .login { margin-top: 40px; } h1 { font-size: 26px; } table { display: block; overflow: auto; } }
