:root { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #18212f; background: #f3f6f9; }
* { box-sizing: border-box; }
body { margin: 0; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.container { max-width: 1180px; margin: 2rem auto; padding: 0 1rem; }
.card { background: #fff; border: 1px solid #dfe6ee; border-radius: 12px; box-shadow: 0 8px 24px rgba(24,33,47,.06); padding: 1.4rem; margin-bottom: 1rem; }
.login-card { width: min(420px, 100%); }
h1, h2 { margin-top: 0; }
label { display: grid; gap: .4rem; margin: .9rem 0; font-weight: 600; }
.inline { display: inline-flex; grid-template-columns: auto 1fr; align-items: center; margin-right: 1.2rem; font-weight: 500; }
input { width: 100%; padding: .75rem .85rem; border: 1px solid #b9c6d4; border-radius: 8px; font: inherit; }
input:focus { outline: 3px solid rgba(30,102,191,.18); border-color: #1e66bf; }
button { border: 0; border-radius: 8px; padding: .72rem 1rem; background: #1559a6; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.button-secondary { background: #e7edf4; color: #18212f; padding: .5rem .75rem; }
.topbar { background: #16283d; color: #fff; min-height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 1.25rem; }
.topbar-user { display: flex; align-items: center; gap: .8rem; }
.topbar form { margin: 0; }
.search-form fieldset { border: 0; padding: 0; margin: 0; }
.search-form legend { font-weight: 700; margin-bottom: .25rem; }
.muted { color: #617086; }
.alert { padding: .85rem 1rem; margin: 1rem 0; border-radius: 8px; background: #fff4d6; border: 1px solid #ead48e; }
.alert-error { background: #fdeaea; border-color: #efb5b5; color: #7b1e1e; }
.results-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .94rem; }
th, td { text-align: left; border-bottom: 1px solid #e2e8ef; padding: .7rem .65rem; vertical-align: top; }
th { background: #f6f8fb; white-space: nowrap; }
@media (max-width: 640px) { .topbar { align-items: flex-start; padding: .9rem; gap: .8rem; } .topbar-user { align-items: flex-end; flex-direction: column; } }
