/* Approved Contact B and public reply lookup. Scoped away from staff pages. */
.auth-contact { display:flex; flex-direction:column; }
.auth-contact .auth-backdrop { background-image:linear-gradient(rgba(2,9,17,.3),rgba(2,9,17,.3)),url('../images/contact-lake-background.png'); background-position:center; filter:blur(2px); }
.contact-public-header { position:relative; min-height:90px; flex-shrink:0; }
.contact-public-header .auth-brand { top:28px; left:4%; }
.contact-public-header .site-brand { font-size:27px; }
.contact-public-header .site-brand-mark { width:34px; height:34px; }
.contact-public-header .auth-appearance { top:26px; right:4%; }
.contact-public-main { flex:1; width:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:30px 24px 20px; }
.contact-public-card { width:100%; max-width:1020px; padding:34px 42px; border:1px solid var(--auth-border); border-radius:9px; background:color-mix(in srgb,var(--auth-panel) 96%,transparent); box-shadow:0 14px 45px rgba(0,0,0,.15); }
.contact-public-heading { margin-bottom:26px; }
.contact-public-heading h1 { font-size:40px; margin:0 0 8px; }
.contact-public-heading p { margin:0; font-size:18px; color:var(--auth-muted); }
.contact-public-tabs { display:flex; gap:26px; border-bottom:1px solid var(--auth-border); margin-bottom:26px; }
.contact-public-tabs a { color:var(--auth-muted); text-decoration:none; font-size:14px; padding:0 10px 14px; border-bottom:3px solid transparent; }
.contact-public-tabs a[aria-current=page] { color:var(--auth-mint); border-bottom-color:var(--auth-mint); font-weight:600; }
.contact-public-layout { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(210px,1fr); gap:26px; }
.contact-public-form { min-width:0; }
.contact-public-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 18px; }
.contact-public-full { grid-column:1/-1; }
.auth-contact .contact-public-fields .auth-field label { font-size:13px; margin-bottom:7px; }
.auth-contact .contact-public-fields .auth-field > input { min-height:46px; }
.contact-public-fields textarea { display:block; width:100%; min-width:0; min-height:165px; padding:12px 15px; border:1px solid var(--auth-border); border-radius:6px; background:var(--auth-control); color:var(--auth-text); font:inherit; font-size:14px; resize:vertical; line-height:1.6; }
.contact-public-fields textarea::placeholder { color:var(--auth-muted); }
.contact-public-form .auth-primary { width:100%; margin-top:20px; min-height:46px; }
.contact-public-guide { min-width:0; border-left:1px solid var(--auth-border); padding-left:26px; }
.contact-public-guide > i { display:block; color:var(--auth-mint); font-size:41px; line-height:1; margin-bottom:12px; }
.contact-public-guide h2 { font-size:21px; line-height:1.3; margin:0 0 20px; }
.contact-public-guide ol { padding:0; margin:0; list-style:none; counter-reset:contact; display:grid; gap:20px; }
.contact-public-guide li { display:flex; gap:14px; align-items:flex-start; counter-increment:contact; }
.contact-public-guide li::before { content:counter(contact); width:29px; height:29px; display:grid; place-items:center; flex-shrink:0; border-radius:50%; color:var(--auth-muted); background:var(--auth-control); font-size:13px; }
.contact-public-guide strong { display:block; font-size:12px; font-weight:600; }
.contact-public-guide p { font-size:12px; line-height:1.55; color:var(--auth-muted); margin:5px 0 0; }
.contact-public-existing { border-top:1px solid var(--auth-border); margin-top:25px; padding-top:20px; }
.contact-public-existing h3 { font-size:13px; margin:0 0 5px; }
.contact-public-existing a { font-size:13px; }
.contact-public-existing p { margin-top:18px; }
.contact-public-back { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; margin-top:28px; text-decoration:none; }
.contact-public-card > .contact-public-back { border-top:1px solid var(--auth-border); padding-top:22px; display:flex; }
.contact-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; border-top:1px solid var(--auth-border); margin-top:22px; padding-top:18px; }
.contact-card-footer .contact-public-back { margin:0; }
.contact-card-footer .contact-card-legal { padding:0; gap:12px; }
.legal-public-card { max-width:960px; }
.legal-public-content { font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.legal-public-content h2 { font-size:22px; line-height:1.4; margin:30px 0 10px; scroll-margin-top:24px; }
.legal-public-content p,.legal-public-content ul { color:var(--auth-muted); margin:0 0 16px; }
.legal-public-content ul { padding-left:24px; }
.legal-public-content li + li { margin-top:7px; }
.legal-public-contents { display:flex; flex-wrap:wrap; gap:10px 20px; border:1px solid var(--auth-border); border-radius:6px; padding:16px; font-size:14px; }
.legal-public-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-top:22px; margin-top:30px; border-top:1px solid var(--auth-border); font-size:14px; }
.contact-public-legal { padding:22px 15px 28px; }
.auth-contact .d-none { display:none!important; }
.auth-contact .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.auth-contact .alert { border:1px solid var(--auth-border); border-radius:4px; padding:10px 12px; font-size:13px; margin-bottom:16px; }
.auth-contact .alert-warning { color:var(--auth-error); border-color:var(--auth-error); }
.auth-contact .alert-success,.auth-contact .alert-info { color:var(--auth-success); }
.auth-contact .invalid-feedback { display:block; color:var(--auth-error); font-size:12px; margin-top:6px; }
.auth-contact .is-invalid { border-color:var(--auth-error); }
.auth-contact .small { font-size:12px; }
.auth-contact-check .contact-public-card { padding:42px; }
.auth-contact-check .contact-public-heading { margin-bottom:42px; }
.auth-contact-check .contact-public-tabs { margin-bottom:30px; }
.auth-contact-check .contact-public-layout { grid-template-columns:minmax(0,1.9fr) minmax(210px,1fr); gap:32px; }
.auth-contact-check .contact-public-form h2 { font-size:27px; margin:0 0 8px; }
.contact-check-description { color:var(--auth-muted); font-size:15px; line-height:1.5; margin:0 0 26px; }
.auth-contact-check .auth-field label { font-size:14px; }
.auth-contact-check .auth-input input { min-height:50px; }
.auth-contact-check .auth-primary { min-height:50px; margin-top:28px; }
.contact-check-new { display:inline-flex; align-items:center; gap:12px; font-size:15px; margin-top:30px; }
.auth-contact-check .contact-public-guide { padding-left:32px; }
.auth-contact-check .contact-public-guide h2 { margin:3px 0 24px; }
.auth-contact-check .contact-public-guide li { align-items:center; font-size:15px; line-height:1.6; }
.auth-contact-check .contact-public-guide li::before { width:38px; height:38px; border:1px solid var(--auth-border); background:transparent; font-size:17px; }
.auth-contact-check .contact-public-existing { margin-top:36px; }
.auth-contact-check .contact-public-existing p { font-size:13px; margin:0; }
@media(min-width:901px) {
    :is(.auth-contact-create,.auth-contact-check) .contact-public-header .auth-brand { top:44px; }
    :is(.auth-contact-create,.auth-contact-check) .contact-public-header .auth-appearance { top:42px; }
}
@media(min-width:901px) and (max-height:900px) {
    .auth-contact-create .contact-public-layout { grid-template-columns:minmax(0,2fr) minmax(230px,1fr); }
    .auth-contact-create .contact-public-guide > i { font-size:30px; margin-bottom:8px; }
    .auth-contact-create .contact-public-guide h2 { font-size:19px; margin-bottom:14px; }
    .auth-contact-create .contact-public-guide ol { gap:12px; }
    .auth-contact-create .contact-public-existing { margin-top:18px; padding-top:14px; }
    .auth-contact-create .contact-public-existing p { margin-top:8px; }
    .auth-contact-create .contact-public-main { padding-block:0; }
    .auth-contact-create .contact-public-card { padding:20px 36px; }
    .auth-contact-create .contact-public-heading { margin-bottom:16px; }
    .auth-contact-create .contact-public-heading h1 { font-size:34px; }
    .auth-contact-create .contact-public-heading p { font-size:16px; }
    .auth-contact-create .contact-public-tabs { margin-bottom:18px; }
    .auth-contact-create .contact-public-tabs a { padding-bottom:10px; }
    .auth-contact-create .contact-public-fields { gap:14px 18px; }
    .auth-contact-create .contact-public-fields .auth-field > input { min-height:42px; }
    .auth-contact-create .contact-public-fields textarea { height:120px; min-height:120px; }
    .auth-contact-create .contact-public-form .auth-primary { margin-top:16px; }
    .auth-contact-create .contact-public-card > .contact-public-back { margin-top:18px; padding-top:16px; }
    .auth-contact-create .contact-public-legal { padding-block:12px; }
    .auth-contact-check .contact-public-main { padding-block:8px; }
    .auth-contact-check .contact-public-card { padding:28px 36px; }
    .auth-contact-check .contact-public-heading { margin-bottom:24px; }
    .auth-contact-check .contact-public-tabs { margin-bottom:22px; }
    .auth-contact-check .contact-public-card > .contact-public-back { margin-top:20px; padding-top:16px; }
    .auth-contact-check .contact-public-legal { padding-block:12px; }
}
@media(max-width:900px) {
    .contact-public-card { padding:28px; }
    .contact-public-layout { grid-template-columns:minmax(0,1fr) 210px; gap:22px; }
    .contact-public-guide { padding-left:22px; }
    .contact-public-heading h1 { font-size:33px; }
    .contact-public-heading p { font-size:16px; }
}
@media(max-width:650px) {
    .auth-contact-check .contact-public-card { padding:26px 20px; }
    .auth-contact-check .contact-public-heading { margin-bottom:28px; }
    .auth-contact-check .contact-public-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
    .auth-contact-check .contact-public-guide { padding:24px 0 0; }
    .auth-contact-check .contact-public-form h2 { font-size:23px; }
    .contact-public-header { min-height:80px; }
    .contact-public-header .auth-brand { left:22px; }
    .contact-public-header .site-brand { font-size:23px; }
    .contact-public-main { padding:18px 14px; }
    .contact-public-card { padding:24px 20px; }
    .contact-public-heading h1 { font-size:29px; }
    .contact-public-heading p { font-size:14px; }
    .contact-public-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
    .contact-public-guide { border-left:0; border-top:1px solid var(--auth-border); padding:22px 0 0; }
    .contact-public-guide ol { gap:15px; }
    .contact-public-tabs { gap:10px; }
    .contact-public-tabs a { font-size:12px; padding-inline:4px; }
}
@media(max-width:420px) {
    .contact-public-fields { grid-template-columns:minmax(0,1fr); gap:18px; }
    .contact-public-card { padding-inline:16px; }
}
