.cfs-announcements { display: grid; gap: 10px; max-width: 1280px; margin: 20px auto; padding: 0 clamp(16px, 4vw, 48px); }
.cfs-announcement { padding: 16px 18px; background: #e8f2ec; border-left: 4px solid #176345; border-radius: 4px; }
.cfs-announcement h2 { margin: 0 0 5px; color: #163b31; font: 700 16px 'Manrope', sans-serif; }
.cfs-announcement p { margin: 0; color: #364c41; font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.cfs-contact { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; padding: 38px clamp(18px, 6vw, 80px); color: #f0f5f1; background: #163b31; }
.cfs-contact-copy span { color: #e6b83f; font-size: 11px; font-weight: 700; }
.cfs-contact-copy h2 { max-width: 380px; margin: 9px 0; font: 800 24px 'Manrope', sans-serif; }
.cfs-contact-copy p { max-width: 360px; margin: 0; color: #c1d1c7; font-size: 13px; line-height: 1.6; }
.cfs-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cfs-contact-form label { display: grid; gap: 5px; color: #d7e4dc; font-size: 11px; font-weight: 700; }
.cfs-contact-form input, .cfs-contact-form textarea { width: 100%; padding: 10px 11px; color: #17241f; background: #fff; border: 1px solid #c9d5cd; border-radius: 4px; font: 13px 'DM Sans', sans-serif; }
.cfs-contact-form input:focus, .cfs-contact-form textarea:focus { outline: 2px solid #e6b83f; outline-offset: 1px; }
.cfs-contact-message { grid-column: 1 / -1; }
.cfs-contact-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
.cfs-contact-actions button { min-height: 40px; padding: 9px 14px; color: #163b31; background: #e6b83f; border: 0; border-radius: 4px; font-size: 12px; font-weight: 700; }
.cfs-contact-actions button:disabled { opacity: .6; }
.cfs-contact-status { color: #e2eee6; font-size: 12px; }
.cfs-client-credentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; padding:16px; background:#f3f6f2; border:1px solid #dce5df; border-radius:6px; }
.cfs-client-credentials label { display:grid; gap:6px; color:#26392f; font-size:12px; font-weight:700; }
.cfs-client-credentials input { width:100%; min-width:0; padding:10px 11px; color:#17241f; background:#fff; border:1px solid #c9d5cd; border-radius:4px; font:13px 'DM Sans',sans-serif; }
.cfs-client-credentials input:focus { outline:2px solid #17634535; border-color:#176345; }
.cfs-client-credentials small,.cfs-credentials-error { grid-column:1/-1; color:#64736c; font-size:11px; }
.cfs-credentials-error { color:#a32323; }
.cfs-notice { position: fixed; right: 18px; bottom: 18px; z-index: 99; max-width: min(390px, calc(100vw - 36px)); padding: 12px 15px; color: #fff; background: #163b31; border-radius: 4px; box-shadow: 0 8px 24px #17241f25; font: 13px 'DM Sans', sans-serif; }
.cfs-notice[hidden] { display: none; }
.cfs-notice[data-error="true"] { background: #a32323; }
@media (max-width: 700px) { .cfs-contact { grid-template-columns: 1fr; gap: 20px; padding: 28px 18px; } }
@media (max-width: 460px) { .cfs-contact-form,.cfs-client-credentials { grid-template-columns:1fr; } .cfs-contact-message, .cfs-contact-actions,.cfs-client-credentials small,.cfs-credentials-error { grid-column:1; } .cfs-contact-actions { align-items: flex-start; flex-direction: column; } }
