:root { font-family:Segoe UI,Arial,sans-serif; color:#162536; background:#eef3f6; line-height:1.45; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; }
.brand { height:96px; background:#fff; display:flex; align-items:center; justify-content:space-between; padding:12px max(24px,calc((100vw - 1040px)/2)); border-bottom:5px solid #239447; }
.brand img:first-child { width:210px; height:auto; }
.brand img:last-child { width:207px; height:auto; }
main { max-width:1040px; margin:36px auto; padding:0 20px; }
.card { background:white; border-radius:16px; padding:34px; box-shadow:0 12px 38px #16324d18; }
.narrow { max-width:500px; margin:70px auto; }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; color:#238b45; font-weight:700; font-size:.78rem; margin:0 0 6px; }
h1 { margin:0 0 10px; font-size:2rem; }
h2 { margin-top:0; }
label { display:block; font-weight:650; margin:18px 0 6px; }
input, select { display:block; width:100%; padding:12px; border:1px solid #aab7c4; border-radius:8px; margin-top:6px; font:inherit; background:#fff; }
button { background:#198754; color:white; border:0; border-radius:8px; padding:12px 20px; font:inherit; font-weight:700; cursor:pointer; }
button:disabled { opacity:.45; cursor:not-allowed; }
.secondary { background:#e8eef3; color:#18324a; }
.danger { background:#f6e4e4; color:#8d2525; }
.status { min-height:1.5em; color:#9b2f2f; }
.privacy { font-size:.9rem; color:#506070; border-top:1px solid #e0e7ed; padding-top:16px; }
.hidden { display:none!important; }
.topline { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.steps { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:28px 0; }
.picker { border:2px dashed #9cafbd; border-radius:12px; padding:22px; cursor:pointer; margin:0; background:#f7fafb; }
.picker span { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#1f4e78; color:white; margin-right:9px; }
.picker input { font-weight:400; border:0; padding:8px 0 0; }
.selection { background:#edf4f8; border-radius:8px; padding:13px; margin-bottom:18px; }
.result { margin-top:28px; border-top:1px solid #dce5eb; padding-top:24px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:20px; }
.metric { background:#f3f7f9; border-radius:10px; padding:14px; }
.metric strong { display:block; font-size:1.45rem; color:#1f4e78; }
.metric span { font-size:.82rem; color:#526575; }
.admin { margin-top:32px; padding-top:24px; border-top:1px solid #dce5eb; }
.admin-block { margin-top:22px; padding-top:18px; border-top:1px solid #e1e8ed; }
.admin-block h3 { margin:0 0 14px; }
.create-company { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
.create-company label, .create-user label, .filters label { margin:0; }
.create-user { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:12px; align-items:end; }
.filters { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.company-row, .user-row { display:grid; grid-template-columns:1.2fr .8fr auto; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #e3e9ee; }
.row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.row-actions button { padding:8px 11px; font-size:.86rem; }
.user-row small, .company-row small { color:#617080; }
footer { text-align:center; color:#607080; font-size:.85rem; padding:24px; }
@media(max-width:700px) {
  .brand img:first-child { width:145px; }
  .brand img:last-child { width:150px; }
  .steps, .metrics, .create-company, .create-user, .filters, .company-row, .user-row { grid-template-columns:1fr; }
  .card { padding:22px; }
  .topline { display:block; }
  .row-actions { justify-content:flex-start; }
}
