
@font-face { font-family:"Equisuiza"; src:url("../fonts/Equisuiza-Light.woff2") format("woff2"); font-style:normal; font-weight:300; font-display:swap; }
@font-face { font-family:"Equisuiza"; src:url("../fonts/Equisuiza-Regular.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Equisuiza"; src:url("../fonts/Equisuiza-Medium.woff2") format("woff2"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Equisuiza"; src:url("../fonts/Equisuiza-Bold.woff2") format("woff2"); font-style:normal; font-weight:700 900; font-display:swap; }

:root { --ink:#173443; --muted:#647780; --brand:#078b75; --brand-dark:#036657; --mint:#e7f5f1; --line:#dce7e9; --danger:#bd2c2c; --paper:#fff; }
* { box-sizing:border-box; }
html { background:#f3f7f7; }
body { margin:0; color:var(--ink); font-family:"Equisuiza", Arial, Helvetica, sans-serif; background:radial-gradient(circle at 50% -10%, #dff3ee 0, #f4f7f7 34rem); }
button,input,select { font:inherit; }
button { cursor:pointer; }
.hero { padding:58px 20px 34px; }
.hero-inner { width:min(1080px,100%); margin:0 auto; }
.brand-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:48px; }
.brand { width:240px; height:74px; object-fit:contain; object-position:left center; display:block; }
.portal-name { color:var(--brand); font-size:20px; font-weight:700; margin:0; }
.eyebrow { color:var(--brand); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin:18px 0 8px; }
h1 { max-width:none; margin:0; font-size:clamp(34px,4vw,56px); line-height:1.06; letter-spacing:-.035em; color:#090d0e; }
.intro { color:var(--brand); font-size:20px; font-weight:500; margin:18px 0 0; }
.shell { width:min(1080px, calc(100% - 32px)); margin:0 auto; }
form { display:grid; gap:18px; }
.panel { background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:0 10px 35px rgba(23,52,67,.06); }
.section-heading,.executives-heading,.heading-copy,.card-top,.form-footer { display:flex; align-items:center; }
.section-heading { gap:14px; margin-bottom:24px; }
.section-heading h2 { font-size:21px; margin:0 0 4px; }
.section-heading p { color:var(--muted); margin:0; font-size:14px; }
.step { width:38px; height:38px; display:grid; place-items:center; color:var(--brand-dark); background:var(--mint); border-radius:11px; font-size:12px; font-weight:800; }
.broker-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; }
.field { min-width:0; }
.field label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.field label span,.form-footer p span { color:#d93434; }
.field input,.field select { width:100%; height:48px; border:1px solid #cbdadd; border-radius:10px; background:#fff; color:var(--ink); padding:0 13px; outline:none; transition:.18s; }
.field input:focus,.field select:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(7,139,117,.12); }
.field input[readonly] { background:#f3f6f6; color:#53686f; }
.field small { color:#71838a; display:block; font-size:12px; margin-top:6px; line-height:1.35; }
.field .field-error,.field-error { color:var(--danger); font-weight:700; }
.search-wrap { position:relative; }
.suggestions { position:absolute; z-index:20; left:0; right:0; top:53px; max-height:300px; overflow:auto; background:white; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 40px rgba(23,52,67,.16); padding:6px; }
.suggestions button { width:100%; border:0; background:transparent; padding:10px; border-radius:8px; text-align:left; display:grid; gap:3px; color:var(--ink); }
.suggestions button:hover,.suggestions button:focus { background:var(--mint); }
.suggestions strong { color:var(--brand-dark); font-size:12px; }.suggestions span { font-size:13px; }
.executives-heading { justify-content:space-between; }
.heading-copy { gap:14px; }
.count { border:1px solid var(--line); border-radius:99px; padding:7px 12px; color:var(--muted); font-size:12px; }.count strong { color:var(--brand); }
.executive-list { display:grid; gap:14px; }
.executive-card { padding:22px; border:1px solid var(--line); border-radius:14px; background:#fbfdfd; }
.card-top { justify-content:space-between; margin-bottom:18px; }.card-top h3 { margin:0; font-size:15px; }.remove { border:0; color:#9c3333; background:#faeeee; padding:7px 10px; border-radius:8px; font-size:12px; font-weight:700; }
.fields-grid { display:grid; grid-template-columns:1.15fr .85fr .75fr; gap:18px; }.wide { grid-column:span 2; }
.add-button { margin:16px auto 0; display:flex; align-items:center; gap:8px; border:1px dashed #75bdae; color:var(--brand-dark); background:#f1fbf8; border-radius:10px; padding:11px 16px; font-weight:700; }
.add-button:disabled { opacity:.58; cursor:not-allowed; }
.privacy-panel { background:linear-gradient(135deg,#fff,#f7fbfa); }.privacy-check { display:flex; gap:13px; color:#4e626a; font-size:13px; line-height:1.6; padding:16px; border:1px solid var(--line); border-radius:12px; }.privacy-check.invalid { border-color:#dc7777; background:#fffafa; }.privacy-check input { width:18px; height:18px; margin-top:2px; accent-color:var(--brand); flex:none; }.privacy-check a { color:var(--brand-dark); font-weight:700; }
.form-footer { justify-content:space-between; padding:10px 2px 34px; }.form-footer p { color:var(--muted); font-size:12px; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:11px; background:var(--brand); color:white; min-height:50px; padding:0 23px; font-weight:800; box-shadow:0 9px 22px rgba(7,139,117,.22); }.primary-button:hover { background:var(--brand-dark); }.primary-button:disabled { opacity:.65; }
.form-alert { background:#fff0f0; border:1px solid #edbaba; color:#932727; padding:13px 16px; border-radius:10px; margin-top:-26px; }
.success-card { background:#fff; border:1px solid var(--line); box-shadow:0 16px 45px rgba(23,52,67,.09); border-radius:20px; padding:55px 24px; text-align:center; }.success-card h2 { font-size:28px; margin:8px 0; }.success-card p:not(.eyebrow) { color:var(--muted); }.success-icon { margin:auto; width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:var(--brand); color:#fff; font-size:30px; }.success-card .primary-button { margin-top:18px; }
footer { text-align:center; color:#7c8e94; font-size:12px; padding:28px 20px 35px; }
footer a { color:var(--brand-dark); font-weight:700; }

.admin-page { min-height:100vh; background:#f3f7f7; }
.restricted-page { min-height:100vh; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; padding:30px; background:#f3f7f7; }.restricted-page img { width:190px; margin-bottom:35px; }.restricted-page h1 { font-size:42px; }.restricted-page>p:not(.admin-kicker) { color:var(--muted); max-width:520px; line-height:1.55; }.restricted-page .filter-button { display:inline-flex; align-items:center; margin-top:18px; text-decoration:none; }
.admin-topbar { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 max(24px,calc((100% - 1240px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.admin-topbar img { display:block; width:155px; height:46px; object-fit:contain; object-position:left; }
.admin-topbar div { display:grid; text-align:right; gap:3px; }.admin-topbar span { color:var(--brand); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }.admin-topbar strong { font-size:13px; }
.admin-shell { width:min(1240px,calc(100% - 36px)); margin:0 auto; padding:44px 0; }
.admin-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }.admin-title-row h1 { font-size:clamp(34px,4vw,50px); }.admin-title-row p:not(.admin-kicker) { color:var(--muted); margin:10px 0 0; }.admin-kicker { color:var(--brand); text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; margin:0 0 8px; }.back-link { color:var(--brand-dark); font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:18px; }.metric-grid article { background:#fff; border:1px solid var(--line); border-radius:15px; padding:20px 22px; display:grid; gap:4px; box-shadow:0 8px 25px rgba(23,52,67,.04); }.metric-grid span,.metric-grid small { color:var(--muted); font-size:12px; }.metric-grid strong { color:var(--brand-dark); font-size:32px; }
.admin-panel { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 8px 25px rgba(23,52,67,.04); }.filters-panel { padding:18px; margin-bottom:18px; }.filters { display:grid; grid-template-columns:2fr repeat(3,1fr) auto auto; gap:12px; align-items:end; }.admin-field label { display:block; font-size:12px; font-weight:700; margin-bottom:7px; }.admin-field input,.admin-field select { width:100%; height:44px; border:1px solid #cbdadd; border-radius:9px; padding:0 11px; color:var(--ink); background:#fff; outline:none; }.admin-field input:focus,.admin-field select:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(7,139,117,.1); }
.filter-button,.download-button { border:0; height:44px; border-radius:9px; padding:0 16px; color:#fff; background:var(--brand); font-weight:700; white-space:nowrap; }.filter-button:hover,.download-button:hover { background:var(--brand-dark); }.clear-button { border:1px solid var(--line); height:44px; border-radius:9px; padding:0 14px; background:#fff; color:var(--muted); font-weight:700; }.download-button:disabled { opacity:.5; cursor:not-allowed; }
.records-panel { overflow:hidden; }.records-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; border-bottom:1px solid var(--line); }.records-head h2 { margin:0 0 3px; font-size:20px; }.records-head p { margin:0; color:var(--muted); font-size:12px; }.table-wrap { overflow:auto; }.table-wrap table { width:100%; border-collapse:collapse; min-width:1050px; }.table-wrap th { color:#62757c; background:#f7fafa; font-size:11px; text-transform:uppercase; letter-spacing:.08em; text-align:left; padding:12px 16px; }.table-wrap td { padding:15px 16px; border-top:1px solid #edf2f2; vertical-align:top; font-size:13px; }.table-wrap td strong,.table-wrap td span { display:block; }.table-wrap td span { color:var(--muted); margin-top:3px; font-size:12px; }.table-wrap code { color:var(--brand-dark); font-family:monospace; font-size:12px; }.plaza-tag { display:inline-block!important; color:var(--brand-dark)!important; background:var(--mint); border-radius:99px; padding:6px 9px; margin:0!important; font-weight:700; }
.table-state { min-height:230px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:7px; color:var(--muted); }.table-state strong { color:var(--ink); }.admin-notice,.admin-error { margin:14px 20px 0; padding:11px 13px; border-radius:9px; font-size:12px; }.admin-notice { color:#765700; background:#fff8dc; }.admin-error { color:#972b2b; background:#fff0f0; }.admin-footnote { color:#7c8e94; text-align:center; font-size:11px; margin:18px 0 0; }
@media (max-width:760px) { .hero { padding-top:30px; }.brand-row { margin-bottom:30px; }.brand { width:175px; height:55px; }.portal-name { font-size:16px; }.intro { font-size:17px; }.panel { padding:20px; border-radius:14px; }.broker-grid,.fields-grid { grid-template-columns:1fr; }.wide { grid-column:span 1; }.executives-heading { align-items:flex-start; gap:12px; }.count { white-space:nowrap; }.form-footer { align-items:stretch; flex-direction:column; }.primary-button { width:100%; }.privacy-check { font-size:12px; } }
@media (max-width:520px) { .brand-row { align-items:flex-start; flex-direction:column; gap:14px; }.portal-name { align-self:flex-end; } }
@media (max-width:980px) { .filters { grid-template-columns:repeat(2,1fr); }.search-field { grid-column:span 2; }.metric-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px) { .admin-topbar { padding:0 18px; }.admin-topbar img { width:130px; }.admin-topbar strong { max-width:160px; overflow:hidden; text-overflow:ellipsis; }.admin-shell { padding-top:30px; }.admin-title-row { align-items:flex-start; flex-direction:column; }.metric-grid { grid-template-columns:1fr; }.filters { grid-template-columns:1fr; }.search-field { grid-column:span 1; }.records-head { align-items:stretch; flex-direction:column; }.download-button { width:100%; } }
@media (max-width:480px) { .shell { width:min(100% - 20px,1080px); }.heading-copy { align-items:flex-start; }.executive-card { padding:17px; }.section-heading h2 { font-size:19px; } }
.notice{padding:13px 16px;border-radius:10px;margin:0 0 18px}.notice.error{background:#fff0f0;border:1px solid #edbaba;color:#932727}.login-card{width:min(440px,calc(100% - 30px));margin:9vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 10px 35px rgba(23,52,67,.08)}.login-card img{width:180px}.login-card .field{margin:18px 0}.logout{font-size:12px;color:var(--brand-dark)}
