/* Consent banner — yoy_sky_glass tokens (see YoyAccountsApp/src/styles/DESIGN_SYSTEM.md). */
.yoy-consent {
  position: fixed;
  inset: auto 16px 16px 16px;
  z-index: 2147483000;
  display: flex;
  justify-content: center;
  pointer-events: none;
  font-family: inherit;
}
.yoy-consent__panel {
  pointer-events: auto;
  width: 100%;
  max-width: 560px;
  box-sizing: border-box;
  padding: 20px 22px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(180deg, rgba(31, 111, 159, 0.96) 0%, rgba(13, 63, 99, 0.97) 100%);
  border: 1px solid rgba(78, 169, 222, 0.35);
  box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.15), 0 12px 40px rgba(0, 0, 0, 0.25);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.yoy-consent__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.3; }
.yoy-consent__body { margin: 0 0 14px; font-size: 14px; line-height: 1.5; opacity: 0.92; }
.yoy-consent__settings { display: grid; gap: 8px; margin: 0 0 14px; }
.yoy-consent__settings[hidden] { display: none; }
.yoy-consent__row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(78, 169, 222, 0.15);
  cursor: pointer;
}
.yoy-consent__row input { margin-top: 3px; accent-color: #00bfa6; width: 16px; height: 16px; flex: none; }
.yoy-consent__row strong { display: block; font-size: 14px; }
.yoy-consent__row small { display: block; font-size: 12px; opacity: 0.85; line-height: 1.4; }
.yoy-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.yoy-consent__btn {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 10px 16px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.yoy-consent__btn--primary { background: #ff6600; color: #fff; }
.yoy-consent__btn--primary:hover { background: #de5b04; }
.yoy-consent__btn--ghost { background: rgba(255, 255, 255, 0.12); color: #fff; }
.yoy-consent__btn--ghost:hover { background: rgba(255, 255, 255, 0.22); }
.yoy-consent__btn:focus-visible, .yoy-consent-reopen:focus-visible { outline: 2px solid #00bfa6; outline-offset: 2px; }
.yoy-consent-reopen {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 2147482999;
  appearance: none;
  border: 1px solid rgba(78, 169, 222, 0.4);
  border-radius: 12px;
  padding: 6px 10px;
  font: inherit;
  font-size: 12px;
  color: #fff;
  background: rgba(13, 63, 99, 0.85);
  cursor: pointer;
  opacity: 0.8;
}
.yoy-consent-reopen:hover { opacity: 1; }
@media (max-width: 480px) {
  .yoy-consent { inset: auto 8px 8px 8px; }
  .yoy-consent__panel { padding: 16px; }
  .yoy-consent__actions .yoy-consent__btn { flex: 1 1 auto; }
}
.yoy-consent__policy { margin: -8px 0 14px; font-size: 13px; }
.yoy-consent__policy a { color: #fff; text-decoration: underline; }
