:root { font-family: Aptos, "Segoe UI", sans-serif; color: #172536; background: #f1f5f6; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(1120px, calc(100% - 32px)); margin: 60px auto; }
.login-card { width: min(430px, 100%); margin: 12vh auto; padding: 42px; background: white; border-radius: 14px; box-shadow: 0 16px 48px #0f35401c; }
h1 { margin: 4px 0 12px; letter-spacing: -.04em; }
.eyebrow { margin: 0; color: #075a70; font-size: .82rem; font-weight: 700; }
form, label { display: grid; gap: 9px; }
form { gap: 18px; }
input, select, textarea { width: 100%; padding: 11px; border: 1px solid #b7c4ca; border-radius: 6px; font: inherit; }
button { border: 0; border-radius: 6px; padding: 10px 15px; background: #075a70; color: white; cursor: pointer; font-weight: 700; }
button.secondary { background: white; color: #075a70; border: 1px solid #9ec1ca; }
header, .filters, .dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.filters { margin: 28px 0 12px; }
.filters input { flex: 1; }
.table-wrap { overflow-x: auto; background: white; border-radius: 10px; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 15px; text-align: left; border-bottom: 1px solid #e2e9eb; font-size: .9rem; }
th { color: #536474; font-size: .78rem; }
.status { padding: 4px 8px; border-radius: 99px; background: #e8f1f3; font-size: .76rem; }
.status-qualified { background: #d9f2e3; color: #075b38; }
.status-closed { background: #eceef0; color: #59636c; }
.error { color: #b42318; min-height: 1em; }
dialog { width: min(620px, calc(100% - 28px)); border: 0; border-radius: 12px; box-shadow: 0 25px 80px #0006; }
dialog::backdrop { background: #0f273466; }
#detail-content { line-height: 1.5; }
@media (max-width: 620px) { main { margin-top: 28px; } header, .filters { align-items: stretch; flex-direction: column; } }
