/* FieldCosts cookie consent banner + settings modal (loaded on public pages). */
:root{
    --fc-consent-bg:#0d1830;
    --fc-consent-panel:#14213d;
    --fc-consent-text:#f7f9fc;
    --fc-consent-muted:#b5bfd3;
    --fc-consent-line:rgba(255,255,255,.14);
    --fc-consent-primary:#087a4a;
    --fc-consent-primary-hover:#065f3a;
    --fc-consent-focus:#37b985;
}

.fc-cookie-banner[hidden],
.fc-cookie-modal[hidden],
.fc-cookie-backdrop[hidden]{display:none!important}

.fc-cookie-banner{
    position:fixed;z-index:99990;left:20px;right:20px;bottom:20px;max-width:1160px;margin:auto;
    display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:24px;
    border:1px solid var(--fc-consent-line);border-radius:20px;color:var(--fc-consent-text);
    background:rgba(13,24,48,.97);box-shadow:0 24px 70px rgba(4,10,25,.32);backdrop-filter:blur(16px);
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.fc-cookie-banner h2{margin:0 0 7px;font-size:1.06rem}
.fc-cookie-banner p{max-width:760px;margin:0;color:var(--fc-consent-muted);font-size:.9rem;line-height:1.55}
.fc-cookie-banner a{color:#a6e6cd}

.fc-cookie-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.fc-cookie-btn{min-height:44px;padding:0 16px;border:1px solid var(--fc-consent-line);border-radius:11px;cursor:pointer;font-weight:700;font:inherit;font-weight:700}
.fc-cookie-btn--primary{border-color:var(--fc-consent-primary);color:#fff;background:var(--fc-consent-primary)}
.fc-cookie-btn--primary:hover{background:var(--fc-consent-primary-hover)}
.fc-cookie-btn--secondary{color:#fff;background:transparent}
.fc-cookie-btn--secondary:hover{background:rgba(255,255,255,.07)}
.fc-cookie-btn:focus-visible,.fc-cookie-toggle:focus-visible,.fc-cookie-close:focus-visible{outline:3px solid var(--fc-consent-focus);outline-offset:3px}

.fc-cookie-backdrop{position:fixed;z-index:99991;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,8,19,.7);backdrop-filter:blur(7px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.fc-cookie-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid var(--fc-consent-line);border-radius:22px;color:var(--fc-consent-text);background:var(--fc-consent-bg);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.fc-cookie-modal__head{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--fc-consent-line);background:rgba(13,24,48,.98)}
.fc-cookie-modal h2{margin:0 0 6px;font-size:1.35rem}
.fc-cookie-modal p{margin:0;color:var(--fc-consent-muted);line-height:1.55}
.fc-cookie-close{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--fc-consent-line);border-radius:11px;color:#fff;background:transparent;cursor:pointer;font-size:1.2rem}
.fc-cookie-body{padding:12px 24px 24px}
.fc-cookie-category{display:grid;grid-template-columns:1fr auto;gap:22px;padding:20px 0;border-bottom:1px solid var(--fc-consent-line)}
.fc-cookie-category:last-child{border-bottom:0}
.fc-cookie-category h3{margin:0 0 6px;font-size:1rem}
.fc-cookie-category p{font-size:.86rem;color:var(--fc-consent-muted)}
.fc-cookie-always{color:#7fe0b6;font-size:.8rem;font-weight:800}

.fc-cookie-switch{position:relative;width:48px;height:28px;margin-top:3px;display:inline-block}
.fc-cookie-switch input{position:absolute;opacity:0;width:1px;height:1px}
.fc-cookie-toggle{position:absolute;inset:0;border:1px solid var(--fc-consent-line);border-radius:999px;cursor:pointer;background:#34415d;transition:.2s}
.fc-cookie-toggle::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.fc-cookie-switch input:checked + .fc-cookie-toggle{background:var(--fc-consent-primary)}
.fc-cookie-switch input:checked + .fc-cookie-toggle::after{transform:translateX(20px)}
.fc-cookie-switch input:disabled + .fc-cookie-toggle{cursor:not-allowed;opacity:.78}

.fc-cookie-modal__foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--fc-consent-line);background:rgba(13,24,48,.98)}
.fc-cookie-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media(max-width:760px){
    .fc-cookie-banner{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;padding:19px}
    .fc-cookie-actions{justify-content:stretch}
    .fc-cookie-btn{flex:1 1 140px}
}
