.password-policy-layout { container-type: inline-size; grid-column: 1 / -1; width: 100%; min-width: 0; }
.password-policy-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .9fr); align-items: start; gap: 24px; }
.password-policy-fields { display: grid; gap: 17px; min-width: 0; align-content: start; }
.password-policy-fields > label { min-width: 0; margin: 0; grid-column: auto; align-content: start; }
.password-policy-fields input { min-width: 0; max-width: 100%; }
.password-policy { display: block; min-width: 0; max-width: 100%; margin-top: .6rem; padding: 16px; border-radius: 12px; background: var(--bg, #f5f7fb); color: var(--ink, #172038); font-size: .85rem; line-height: 1.5; font-weight: 400; overflow-wrap: anywhere; }
.password-policy-columns > .password-policy { margin: 0; }
.password-policy-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.password-policy-title { display: block; font-weight: 600; }
.password-policy-count { flex-shrink: 0; color: var(--muted, #65708a); font-size: .8rem; font-variant-numeric: tabular-nums; }
.password-policy-rules { display: grid; gap: 7px; }
.password-policy-rule { display: flex; align-items: baseline; gap: .45rem; color: #a32229; }
.password-policy-rule[data-met="true"] { color: #176b42; }
.password-policy-icon { flex: 0 0 1em; font-weight: 700; text-align: center; }
.password-policy-rule > span { min-width: 0; }
.login-card:has([data-password-policy]) { width: min(760px, calc(100vw - 32px)); }
form:has([data-password-policy]) :is(button[type="submit"], button:not([type]), input[type="submit"]):disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
@container (max-width: 600px) {
  .password-policy-columns { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@supports not (container-type: inline-size) {
  .password-policy-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active) {
  .password-policy { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .password-policy-count, .password-policy-rule, .password-policy-rule[data-met="true"] { color: CanvasText; }
}
