:root {
    color-scheme: light;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
    color: #1f2937;
    background: #f3f4f6;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
a { color: #0f4c81; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.container { width: min(100% - 2rem, 70rem); margin-inline: auto; }
.site-header { background: #0f4c81; color: #fff; }
.site-header__content { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; }
.brand { color: #fff; font-size: 1.2rem; font-weight: 700; text-decoration: none; }
.nav-list { display: flex; gap: 0.5rem; margin: 0; padding: 0; list-style: none; align-items: center; }
.nav-list > li > a { color: #fff; padding: 0.5rem; display: block; }
.nav-list .dropdown-menu { font-size: 0.9rem; background: #fff; border: 1px solid #d1d5db; box-shadow: 0 4px 6px rgb(0 0 0 / .1); }
.nav-list .dropdown-item { color: #1f2937; padding: 0.5rem 1rem; }
.nav-list .dropdown-item:hover, .nav-list .dropdown-item:focus { background: #e5e7eb; color: #1f2937; }
.nav-list .dropdown-divider { margin: 0.5rem 0; }
.inline-form { display: inline; }
.nav-button { padding: 0; background: transparent; color: #fff; text-decoration: underline; }
.muted { color: #4b5563; }
.page-content { padding-block: 2rem; }
.card { width: 100%; max-width: none; padding: 1.5rem; background: #fff; border-radius: .5rem; box-shadow: 0 1px 3px rgb(0 0 0 / .15); }
.alert { margin-bottom: 1rem; padding: .75rem 1rem; border-radius: .25rem; }
.alert--warning { color: #6b3e00; background: #fef3c7; }
.alert--success { color: #14532d; background: #dcfce7; }
.alert--error { color: #7f1d1d; background: #fee2e2; }
.form-field { display: grid; gap: .35rem; margin-bottom: 1rem; }
input { width: 100%; padding: .6rem; border: 1px solid #9ca3af; border-radius: .25rem; }
button { padding: .6rem 1rem; border: 0; border-radius: .25rem; background: #0f4c81; color: #fff; cursor: pointer; }
.site-footer { padding-block: 1rem; color: #4b5563; font-size: .875rem; }
