.managed-access-panel:not(.verbygo-access-panel) {
  width: min(1140px, calc(100% - 32px));
  min-width: 0;
  margin: 16px auto 8px;
  padding: 14px 20px;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) minmax(320px, 470px);
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(112, 70, 223, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(105deg, rgba(247, 244, 255, 0.82), rgba(255, 255, 255, 0.98) 44%),
    #fff;
  box-shadow: 8px 8px 18px rgba(60, 62, 95, 0.1), -8px -8px 18px rgba(255, 255, 255, 0.97);
  color: #202944;
  overflow: hidden;
}

.managed-access-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #7046df;
  background: #f1edff;
  box-shadow: 4px 4px 10px rgba(60, 62, 95, 0.12), -4px -4px 10px rgba(255, 255, 255, 0.98);
}

.managed-access-icon svg { width: 24px; height: 24px; }
.managed-access-copy { min-width: 0; }
.managed-access-kicker {
  display: block;
  margin-bottom: 2px;
  color: #087a68;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}
.managed-access-copy strong { display: block; color: #202944; font-size: 1.05rem; line-height: 1.25; }
.managed-access-copy p { margin: 4px 0 0; color: #666b82; font-size: 0.78rem; font-weight: 650; line-height: 1.38; }
.managed-access-form { min-width: 0; }
.managed-access-form label { display: block; margin-bottom: 6px; color: #5f6280; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; }
.managed-access-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.managed-access-form input,
.managed-access-form button {
  min-height: 44px;
  border-radius: 8px;
  font: inherit;
}
.managed-access-form input {
  min-width: 0;
  padding: 0 13px;
  border: 1px solid #d5d2e2;
  color: #202640;
  background: #fff;
  font: 800 0.82rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  text-transform: uppercase;
}
.managed-access-form button {
  padding: 0 17px;
  border: 1px solid #6842d8;
  background: #6842d8;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.managed-access-form button:disabled { opacity: 0.55; cursor: wait; }
.managed-access-form input:focus-visible,
.managed-access-form button:focus-visible { outline: 3px solid rgba(115, 80, 217, 0.22); outline-offset: 2px; }
.managed-access-message { min-height: 18px; margin: 5px 0 0; color: #a13b4b; font-size: 0.76rem; }
.managed-invite-error {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  width: min(1140px, calc(100% - 32px));
  min-width: 0;
  margin: 16px auto 0;
  padding: 12px 16px;
  border: 1px solid rgba(161, 59, 75, 0.22);
  border-radius: 12px;
  background: #fff7f8;
  color: #7d2b3c;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.4;
}
.managed-invite-error p { margin: 0; flex: 1 1 240px; overflow-wrap: anywhere; }
.managed-invite-error button {
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid currentColor;
  border-radius: 8px;
  background: white;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.managed-invite-error button:focus-visible { outline: 3px solid #7350d9; outline-offset: 3px; }
.managed-invite-error button:disabled { opacity: .6; cursor: wait; }
.managed-access-form[hidden],
.managed-access-code-toggle[hidden] { display: none !important; }
.managed-access-code-toggle {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #d6cbed;
  border-radius: 8px;
  color: #5b2fc5;
  background: #fff;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
}
.managed-access-code-toggle:hover { border-color: #a991df; background: #f8f5ff; }
.managed-access-code-toggle:focus-visible { outline: 3px solid rgba(115, 80, 217, 0.22); outline-offset: 2px; }
.managed-access-panel.managed-access-code-attention {
  animation: managed-access-code-attention 1.4s ease-out;
}

@keyframes managed-access-code-attention {
  0%, 100% { outline: 3px solid transparent; outline-offset: 0; }
  30% { outline-color: rgba(104, 66, 216, 0.34); outline-offset: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .managed-access-panel.managed-access-code-attention {
    animation: none;
    outline: 3px solid rgba(104, 66, 216, 0.24);
    outline-offset: 3px;
  }
}

.managed-access-confirmation {
  grid-template-columns: auto minmax(0, 1fr);
  border-color: rgba(8, 122, 104, 0.24);
  background: linear-gradient(105deg, rgba(239, 251, 247, 0.92), rgba(255, 255, 255, 0.98));
}

.managed-access-panel.verbygo-access-panel.managed-access-scheduled {
  height: auto;
  min-height: 132px;
  grid-template-columns: minmax(0, 1fr);
}

.managed-access-scheduled-summary,
.managed-access-scheduled-copy {
  width: 100%;
}

.managed-access-scheduled-summary { align-items: flex-start; }

.managed-access-periods {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 20px;
}

.managed-access-period { min-width: 0; }

.managed-access-period-extended {
  border-left: 1px solid rgba(112, 70, 223, 0.18);
  padding-left: 20px;
}

.managed-access-extended-kicker { color: #5b35bb; }

.managed-access-schedule-dates {
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

.managed-access-schedule-dates div { min-width: 0; }
.managed-access-schedule-dates dt {
  color: #686b82;
  font-size: 0.66rem;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}
.managed-access-schedule-dates dd {
  margin: 2px 0 0;
  color: #29233f;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.25;
}

html[data-managed-access="restricted-commerce"] .premium-banner,
html[data-managed-access="restricted-commerce"] .upgrade-button,
html[data-managed-access="restricted-commerce"] .pricing-section,
html[data-managed-access="restricted-commerce"] [data-access-code-panel="true"] { display: none !important; }

html[data-managed-gated-surface="ai-tutor"]:not([data-managed-gate="allowed"]) .tutor-shell {
  display: none !important;
}

@media (min-width: 1051px) {
  .home-app-shell:has(.managed-access-panel:not([data-placement="after-cards"])) {
    grid-template-rows: 74px 145px 112px minmax(0, 1fr);
  }

  .home-app-shell .verbygo-access-panel {
    align-self: center;
  }
}

@media (max-width: 760px) {
  .managed-invite-error {
    width: calc(100% - 24px);
    margin-top: 12px;
    padding: 12px 14px;
  }
  .managed-access-panel:not(.verbygo-access-panel) {
    width: calc(100% - 24px);
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px 14px;
    padding: 15px;
  }
  .managed-access-copy strong { font-size: 0.96rem; }
  .managed-access-panel.verbygo-access-panel.managed-access-scheduled { min-height: 0; }
  .managed-access-periods { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .managed-access-period-extended {
    border-top: 1px solid rgba(112, 70, 223, 0.18);
    border-left: 0;
    padding-top: 12px;
    padding-left: 0;
  }
}

body.dark-mode .managed-access-panel,
:root[data-theme="dark"] .managed-access-panel {
  border-color: rgba(176, 151, 255, 0.3);
  background: linear-gradient(105deg, rgba(39, 39, 62, 0.96), rgba(28, 29, 48, 0.98));
  color: #f4f5ff;
  box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.24), -4px -4px 14px rgba(255, 255, 255, 0.035);
}
body.dark-mode .managed-access-confirmation,
:root[data-theme="dark"] .managed-access-confirmation { border-color: #397d6c; background: #1c302a; }
body.dark-mode .managed-access-copy strong,
:root[data-theme="dark"] .managed-access-copy strong { color: #f4f5ff; }
body.dark-mode .managed-access-copy p,
body.dark-mode .managed-access-form label,
:root[data-theme="dark"] .managed-access-copy p,
:root[data-theme="dark"] .managed-access-form label { color: #c8cce0; }
body.dark-mode .managed-access-period-extended,
:root[data-theme="dark"] .managed-access-period-extended { border-color: rgba(176, 151, 255, 0.3); }
body.dark-mode .managed-access-schedule-dates dt,
:root[data-theme="dark"] .managed-access-schedule-dates dt { color: #bfc4dc; }
body.dark-mode .managed-access-schedule-dates dd,
:root[data-theme="dark"] .managed-access-schedule-dates dd { color: #f4f5ff; }
body.dark-mode .managed-access-form input,
:root[data-theme="dark"] .managed-access-form input { border-color: #626a84; background: #151725; color: #f4f5ff; }
body.dark-mode .managed-access-code-toggle,
:root[data-theme="dark"] .managed-access-code-toggle { border-color: #665a85; color: #e5dcff; background: #25243a; }
