/* Web's consent sheet, compacted into the existing Faces type/CTA grammar. */
.faces-consent[hidden] { display:none !important; }
body.faces-shell .faces-consent.analytics-consent {
  position:fixed; z-index:10000; inset:auto 18px 18px auto;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 24px;
  width:min(720px,calc(100% - 36px)); height:auto; max-height:calc(100dvh - 36px);
  margin:0; padding:20px 24px; overflow:auto; box-sizing:border-box;
  border:1px solid var(--faces-rule); background:var(--faces-panel);
  color:var(--text-primary); backdrop-filter:blur(18px);
  animation:faces-consent-in 240ms ease-out both;
}
body.faces-shell .faces-consent::before { display:none; }
body.faces-shell .faces-consent:focus { outline:none; }
body.faces-shell .faces-consent .analytics-consent__heading { grid-column:1/-1; }
body.faces-shell .faces-consent .analytics-consent__heading h2 {
  max-width:none; margin:0; font:600 20px/1.15 var(--font-display); letter-spacing:-.035em;
}
body.faces-shell .faces-consent .analytics-consent__body { min-width:0; }
body.faces-shell .faces-consent .analytics-consent__body p {
  margin:0 0 8px; max-width:none; color:var(--text-secondary); font-size:12px; line-height:1.5;
}
body.faces-shell .faces-consent .analytics-consent__status { display:none; }
body.faces-shell .faces-consent[data-analytics-mode="settings"] .analytics-consent__status { display:block; }
body.faces-shell .faces-consent .text-action { display:inline-flex; min-height:28px; font-size:11px; color:inherit; }
body.faces-shell .faces-consent .analytics-consent__actions {
  display:flex; align-items:center; align-self:center; gap:14px; margin:0 8px 8px 0;
}
body.faces-shell .faces-consent .faces-cta {
  width:auto; min-width:0; min-height:40px; margin:0; padding:10px 12px;
  font-size:10px; line-height:1.3; white-space:nowrap;
}
body.faces-shell .faces-consent .faces-consent__close {
  position:absolute; right:8px; top:7px; display:grid; place-items:center;
  width:32px; height:32px; min-height:0; padding:0; border:0;
  color:var(--text-secondary); background:transparent; font-size:24px; cursor:pointer;
}
body.faces-shell .faces-consent .faces-consent__close:hover { color:var(--text-primary); }
body.faces-shell .faces-consent button:focus-visible,body.faces-shell .faces-consent a:focus-visible { outline:2px solid var(--text-primary); outline-offset:4px; }
html.faces-auth-return body.faces-shell > .faces-consent { visibility:visible !important; }
@keyframes faces-consent-in { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@media(max-width:700px) {
  body.faces-shell .faces-consent.analytics-consent { inset:auto 12px 12px; width:calc(100% - 24px); grid-template-columns:1fr; gap:10px; padding:18px; }
  body.faces-shell .faces-consent .analytics-consent__actions { justify-content:flex-end; margin-bottom:7px; }
  body.faces-shell .faces-consent .analytics-consent__heading h2 { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) { body.faces-shell .faces-consent.analytics-consent { animation:none; } }
