.ect-analytics-banner[hidden]{display:none!important}.ect-analytics-banner{position:fixed;z-index:1900;left:16px;right:16px;bottom:16px;max-width:1080px;margin:auto;padding:18px 22px;border:1px solid #436477;border-radius:12px;background:#102332;color:#fff;box-shadow:0 8px 30px #0005;display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:center;font-size:14px;line-height:1.5}.ect-analytics-banner p{margin:0}.ect-analytics-banner a{color:#b7e6fa;text-decoration:underline}.ect-analytics-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ect-analytics-actions button,.ect-analytics-dialog button{min-height:44px;padding:10px 14px;border:1px solid #87acc2;border-radius:5px;font:inherit;font-weight:600;line-height:1.25;background:#fff;color:#132a3a;cursor:pointer}.ect-analytics-actions button[data-ect-analytics=settings]{background:transparent;color:#fff}.ect-analytics-actions button:focus-visible,.ect-analytics-dialog button:focus-visible,.ect-analytics-settings:focus-visible{outline:3px solid #70d5ff;outline-offset:3px}.ect-analytics-dialog{max-width:600px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:24px;border:1px solid #49677b;border-radius:10px;background:#fff;color:#142b3b;box-shadow:0 16px 60px #0004}.ect-analytics-dialog::backdrop{background:#03101db3}.ect-analytics-dialog h2{font-size:25px;line-height:1.25;margin:0 0 16px}.ect-analytics-dialog p{line-height:1.55;margin:0 0 16px}.ect-analytics-dialog label{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;padding:16px 0;border-top:1px solid #d8e2e9;line-height:1.5}.ect-analytics-dialog input{width:20px;height:20px;margin:3px 0;accent-color:#b8212a}.ect-analytics-dialog small{display:block;font-size:13px;color:#4b6271;margin-top:4px}.ect-analytics-dialog .ect-analytics-actions{margin-top:18px}.ect-analytics-dialog .ect-analytics-close{float:right;min-width:44px;padding:8px;margin:-8px -8px 8px 12px}.ect-analytics-settings{display:inline;background:transparent;color:inherit;border:0;border-radius:2px;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.ect-analytics-policy-button{margin:12px 0}.ect-analytics-status{font-size:13px;color:#486170;min-height:1.5em}.ect-analytics-dialog a{color:#a51f2b;text-decoration:underline}@media(max-width:760px){.ect-analytics-banner{left:10px;right:10px;bottom:10px;padding:16px;grid-template-columns:1fr;gap:12px;max-height:calc(100dvh - 40px);overflow:auto}.ect-analytics-actions{gap:8px}.ect-analytics-actions button{flex:1 1 110px}.ect-analytics-actions button[data-ect-analytics=settings]{flex-basis:100%}.ect-analytics-dialog{padding:20px}.ect-analytics-dialog h2{font-size:22px}.ect-analytics-dialog .ect-analytics-actions button{flex:1 1 140px}}
.ect-analytics-reload-warning[hidden]{display:none!important}.ect-analytics-reload-warning{margin-top:16px;padding:14px;border:1px solid #d7a15a;border-radius:6px;background:#fff7e9}.ect-analytics-reload-warning p{margin:0}

/* Compact nonmodal choice card; only the accept button carries the brand fill. */
.ect-analytics-banner{z-index:35;left:18px;right:auto;bottom:18px;width:368px;max-width:calc(100vw - 36px);margin:0;padding:19px 20px;display:block;border:1px solid #c7d3dd;border-top:3px solid #c62832;border-radius:12px;background:#fff;color:#112333;box-shadow:0 12px 42px #06172826;font-size:14px;line-height:1.55;max-height:none;overflow:visible}
.ect-analytics-banner>strong{display:block;margin:0 0 8px;font-size:17px;line-height:1.35;color:#112333}
.ect-analytics-banner p{margin:0 0 15px;color:#405567;line-height:1.55}
.ect-analytics-banner a{color:#9f1d2a;text-decoration:underline;text-underline-offset:3px;font-weight:600;white-space:nowrap}
.ect-analytics-card-actions button{width:100%;min-height:44px;padding:11px 13px;border:1px solid #bdcbd6;border-radius:7px;background:#f5f8fa;color:#263e50;font:inherit;font-weight:600;line-height:1.3;cursor:pointer}
.ect-analytics-card-actions .ect-analytics-primary{border-color:#c62832;background:#c62832;color:#fff;font-weight:700;box-shadow:0 3px 8px #c628321a}
.ect-analytics-card-actions .ect-analytics-primary:hover{background:#ab1f2a;border-color:#ab1f2a}
.ect-analytics-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ect-analytics-secondary-actions button:hover{background:#e8eff4;color:#112333}
.ect-analytics-banner button:focus-visible,.ect-analytics-banner a:focus-visible{outline:3px solid #087fa8;outline-offset:3px}
.ect-analytics-banner.ect-analytics-inflow{position:relative;inset:auto;width:368px;max-width:calc(100% - 32px);margin:18px 16px}
.ect-analytics-banner.ect-analytics-interacting{visibility:hidden;pointer-events:none}
body:has(dialog[open]) .ect-analytics-banner{display:none!important}
@media(max-width:760px){.ect-analytics-banner{left:12px;right:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:368px;max-width:calc(100vw - 24px);padding:16px 17px;font-size:14px;line-height:1.5;border-radius:10px}.ect-analytics-banner>strong{font-size:16px;margin-bottom:7px}.ect-analytics-banner p{margin-bottom:12px}.ect-analytics-secondary-actions{gap:8px}.ect-analytics-banner.ect-analytics-inflow{left:auto;bottom:auto;max-width:calc(100% - 24px);margin:16px 12px}}
@media(max-width:359px),(max-height:620px){.ect-analytics-banner.ect-analytics-inflow{max-width:calc(100% - 24px);margin:16px 12px;box-shadow:0 5px 20px #06172814}}

/* v39: slow shadow-only breathing on the voluntary opt-in control. */
.ect-analytics-card-actions .ect-analytics-primary{border-color:#df1525;background:#df1525;color:#fff;box-shadow:0 2px 8px #df152529,0 0 0 0 #df15250d;animation:ect-analytics-accept-breathe 3s ease-in-out infinite}
@keyframes ect-analytics-accept-breathe{0%,100%{box-shadow:0 2px 8px #df152529,0 0 0 0 #df15250d}50%{box-shadow:0 4px 16px #df152547,0 0 0 4px #df15250a}}
.ect-analytics-card-actions .ect-analytics-primary:hover,.ect-analytics-card-actions .ect-analytics-primary:focus-visible{border-color:#c20f1c;background:#c20f1c;color:#fff;animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ect-analytics-card-actions .ect-analytics-primary{animation:none;box-shadow:0 2px 8px #df152529}}
