.sig-cookie-banner[hidden], .sig-cookie-reopen[hidden], .sig-cookie-dialog [hidden] { display: none !important; }
.sig-cookie-banner, .sig-cookie-dialog, .sig-cookie-reopen { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; box-sizing: border-box; }
.sig-cookie-banner *, .sig-cookie-dialog * { box-sizing: border-box; }
.sig-cookie-banner {
    position: fixed; z-index: 2147483000; inset: auto 24px 20px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    padding: 20px; color: #102b20; background: #fff; border: 1px solid #dbe7df;
    border-radius: 12px; box-shadow: 0 16px 48px rgba(6, 34, 23, .22);
}
.sig-cookie-banner__copy { flex: 1; min-width: 0; max-width: 850px; }
.sig-cookie-banner h2, .sig-cookie-dialog h2 { margin: 0 0 10px; color: #082c1e; font-size: 1rem; font-weight: 750; }
.sig-cookie-banner p { margin: 0; font-size: .91rem; line-height: 1.5; }
.sig-cookie-banner__actions, .sig-cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sig-cookie-banner__actions { flex: 0 0 auto; flex-wrap: nowrap; }
.sig-cookie-button { min-height: 44px; padding: 10px 15px; border-radius: 8px; font-size: .86rem; font-weight: 700; line-height: 1.2; cursor: pointer; }
.sig-cookie-button--primary { border: 1px solid #073b28; color: #fff; background: #073b28; }
.sig-cookie-button--outline { border: 2px solid #073b28; color: #073b28; background: #fff; }
.sig-cookie-button--soft { border: 1px solid #dbe5de; color: #143b2b; background: #f3f7f4; }
.sig-cookie-button:hover, .sig-cookie-reopen:hover { filter: brightness(.94); }
.sig-cookie-button:focus-visible, .sig-cookie-reopen:focus-visible, .sig-cookie-dialog__close:focus-visible, .sig-cookie-category input:focus-visible { outline: 3px solid #e5aa1a; outline-offset: 2px; }
.sig-cookie-reopen { position: fixed; z-index: 2147482999; left: 16px; bottom: 16px; padding: 9px 13px; color: #073b28; background: #fff; border: 1px solid #8aab98; border-radius: 999px; box-shadow: 0 4px 20px rgba(0,0,0,.14); font-size: .8rem; font-weight: 650; cursor: pointer; }
.sig-cookie-dialog { position: fixed; inset: 0; margin: auto; overflow-y: auto; width: min(560px, calc(100% - 28px)); max-height: min(90vh, 720px); padding: 22px; color: #203129; background: #fff; border: 1px solid #c8d9cd; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.28); }
.sig-cookie-dialog::backdrop { background: rgba(4, 21, 14, .58); }
.sig-cookie-dialog__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.sig-cookie-dialog__close { border: 0; background: transparent; color: #243d30; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.sig-cookie-dialog__intro, .sig-cookie-dialog__note { font-size: .88rem; line-height: 1.5; }
.sig-cookie-category { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid #dde6df; }
.sig-cookie-category strong { display: block; margin-bottom: 4px; font-size: .93rem; }
.sig-cookie-category p, .sig-cookie-category span span { display: block; margin: 0; font-size: .84rem; line-height: 1.4; color: #455b4d; }
.sig-cookie-category__required { flex-shrink: 0; font-size: .76rem; font-weight: 700; color: #316046; }
.sig-cookie-category--toggle { cursor: pointer; }
.sig-cookie-category input { width: 21px; height: 21px; flex-shrink: 0; accent-color: #073b28; cursor: pointer; }
.sig-cookie-dialog__note { color: #526458; }
.sig-cookie-dialog__error { color: #a32626; font-size: .85rem; }
.sig-cookie-dialog__actions { justify-content: flex-end; margin-top: 20px; }
@media (max-width: 850px) {
    .sig-cookie-banner { inset: auto 12px 12px; display: block; max-height: 75vh; overflow-y: auto; padding: 17px; }
    .sig-cookie-banner__actions { margin-top: 16px; flex-wrap: wrap; }
}
@media (max-width: 520px) {
    .sig-cookie-banner__actions, .sig-cookie-dialog__actions { display: grid; grid-template-columns: 1fr; }
    .sig-cookie-button { width: 100%; }
    .sig-cookie-dialog { padding: 18px; }
}

/* Cores já usadas pelos respectivos dashboards; não altera regras fora do componente. */
.sig-cookie-theme--public { --cookie-accent: #7c3aed; --cookie-soft: #f5f3ff; --cookie-border: #ddd6fe; --cookie-text: #0f172a; }
.sig-cookie-theme--admin { --cookie-accent: #075985; --cookie-soft: #f0f9ff; --cookie-border: #cbd5e1; --cookie-text: #0f172a; }
.sig-cookie-banner, .sig-cookie-dialog, .sig-cookie-reopen { color: var(--cookie-text); border-color: var(--cookie-border); border-radius: 16px; }
.sig-cookie-banner h2, .sig-cookie-dialog h2 { color: var(--cookie-text); }
.sig-cookie-button--primary, .sig-cookie-button--outline { border: 2px solid var(--cookie-accent); color: #fff; background: var(--cookie-accent); }
.sig-cookie-button--soft { border-color: var(--cookie-border); color: var(--cookie-accent); background: var(--cookie-soft); }
.sig-cookie-reopen { color: var(--cookie-accent); background: #fff; border-radius: 999px; }
.sig-cookie-category__required { color: var(--cookie-accent); }
.sig-cookie-category input { accent-color: var(--cookie-accent); }
.sig-cookie-button:focus-visible, .sig-cookie-reopen:focus-visible, .sig-cookie-dialog__close:focus-visible, .sig-cookie-category input:focus-visible { outline-color: var(--cookie-accent); }
