:root { --ink:#18252b; --muted:#718087; --line:#dfe7e5; --soft:#f3f7f5; --teal:#087f78; --teal-dark:#075c59; --gold:#d7a532; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:linear-gradient(135deg,#f7faf8 0%,#edf5f1 55%,#eaf2f0 100%); }
.shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:28px 0 48px; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:0 2px 32px; }
.brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:750; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; color:#fff; background:var(--teal); border-radius:9px 9px 9px 2px; font:800 21px Georgia,serif; }
.pill { padding:8px 12px; border:1px solid #d7e6e1; border-radius:999px; color:#537069; font-size:12px; font-weight:650; background:#f8fcfa; }
.dot { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#45ae75; }
.hero { max-width:720px; margin:34px 0 28px; }
.eyebrow { margin:0 0 13px; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.16em; }
h1 { margin:0; font:800 clamp(38px,6vw,66px)/.98 Georgia,serif; letter-spacing:-.045em; }
.lead { max-width:590px; margin:20px 0 0; color:var(--muted); font-size:17px; line-height:1.55; }
.search-card,.contracts-card { border:1px solid rgba(205,220,215,.9); border-radius:20px; background:rgba(255,255,255,.88); box-shadow:0 18px 50px rgba(25,62,55,.08); }
.search-card { padding:26px; }
.section-label { display:flex; align-items:center; gap:10px; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.section-label:first-letter { display:grid; }
.section-label span { color:#75847f; }
label { display:block; margin:22px 0 8px; color:#53645f; font-size:13px; font-weight:700; }
.search-row { display:flex; gap:10px; }
.input-wrap { display:flex; flex:1; align-items:center; border:1px solid #cddbd7; border-radius:11px; background:#fff; transition:.2s; }
.input-wrap:focus-within { border-color:var(--teal); box-shadow:0 0 0 4px rgba(8,127,120,.1); }
.search-icon { padding-left:14px; color:var(--teal); font-size:23px; line-height:1; transform:rotate(-20deg); }
input,select { width:100%; border:0; outline:0; color:var(--ink); font:inherit; background:transparent; }
.input-wrap input { padding:14px 14px 14px 9px; }
button { border:0; border-radius:10px; padding:0 22px; cursor:pointer; font:700 14px inherit; transition:.2s; }
.primary { color:#fff; background:var(--teal); box-shadow:0 6px 16px rgba(8,127,120,.22); }
.primary:hover { background:var(--teal-dark); transform:translateY(-1px); }
.secondary { min-height:40px; color:var(--teal-dark); border:1px solid #c8dad5; background:#f5faf8; }
.status { min-height:20px; margin-top:12px; color:var(--muted); font-size:13px; }
.status.error { color:#a04435; }
.results { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; margin-top:4px; }
.result { width:100%; padding:15px 16px; text-align:left; border:1px solid var(--line); color:var(--ink); background:#fbfdfc; }
.result:hover { border-color:var(--teal); background:#f3fbf8; }
.result strong { display:block; margin-bottom:5px; font-size:14px; }
.result small { color:var(--muted); font-size:12px; }
.contracts-card { margin-top:20px; overflow:hidden; }
.contracts-head { display:flex; justify-content:space-between; gap:24px; padding:26px; border-bottom:1px solid var(--line); }
h2 { margin:9px 0 4px; font:700 25px Georgia,serif; letter-spacing:-.025em; }
.contracts-head p { margin:0; color:var(--muted); font-size:13px; }
.filters { display:flex; align-items:end; gap:10px; }
.filters label { margin:0; min-width:145px; }
.filters input,.filters select { display:block; height:40px; margin-top:7px; padding:0 10px; border:1px solid #cddbd7; border-radius:9px; font-size:13px; background:#fff; }
.filters input { width:145px; }
.filters select { width:180px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { padding:13px 18px; color:#798984; background:#f7faf8; font-size:10px; letter-spacing:.1em; text-align:left; text-transform:uppercase; }
td { padding:16px 18px; border-top:1px solid #edf1ef; vertical-align:top; }
td strong { display:block; margin-bottom:3px; }
.muted { color:var(--muted); }
.badge { display:inline-block; padding:5px 8px; border-radius:999px; color:#20734d; background:#e7f5e9; font-size:11px; font-weight:750; }
.badge.vacant { color:#99701c; background:#fff4d8; }
.login-overlay { position:fixed; inset:0; z-index:10; display:grid; place-items:center; padding:20px; background:rgba(237,245,241,.96); }
.login-card { width:min(420px,100%); padding:32px; border:1px solid rgba(205,220,215,.9); border-radius:20px; background:#fff; box-shadow:0 18px 50px rgba(25,62,55,.12); }
.login-card h1 { margin:34px 0 8px; font-size:38px; }
.login-card p { margin:0 0 24px; color:var(--muted); line-height:1.5; }
.login-card input { display:block; width:100%; margin:0 0 14px; padding:13px; border:1px solid #cddbd7; border-radius:9px; background:#fff; }
.login-card .primary { min-height:44px; width:100%; }
.inline-filters { display:flex; gap:12px; align-items:end; }
.inline-filters label { margin:12px 0 0; min-width:170px; }
.inline-filters input,.inline-filters select { display:block; height:40px; margin-top:7px; padding:0 10px; border:1px solid #cddbd7; border-radius:9px; font-size:13px; background:#fff; }
.compact-head { padding-bottom:20px; }
 { margin-top:22px; color:#8a9894; font-size:12px; text-align:center; }
@media (max-width:760px) { .shell { width:min(100% - 24px,1160px); padding-top:18px; } .search-row { flex-direction:column; } .primary { min-height:46px; } .contracts-head { flex-direction:column; } .filters { flex-wrap:wrap; } .filters label { flex:1; min-width:130px; } .filters select,.filters input { width:100%; } }
