/* Authentication and action contrast guard — same palette as the original Codex layout.
   Pale #FDEBED is a canvas colour, not an interactive foreground or solid CTA. */

.auth-layout{background:var(--brand-canvas);color:var(--brand-ink)}
.auth-card .logo,.auth-card .logo:link,.auth-card .logo:visited{color:var(--brand-logo)!important;}
.auth-card form>label{color:#242328;}
.auth-card form>label input:not([type=checkbox]),
.auth-card form>label textarea,.auth-card form>label select,
.auth-card input[type=email],.auth-card input[type=password],.auth-card input[type=text]{
 background:#fff;color:#242328;-webkit-text-fill-color:#242328;caret-color:#242328;
 border:1px solid #d4c6cd;outline-offset:2px;
}
.auth-card input::placeholder{color:#687185;-webkit-text-fill-color:#687185;opacity:1}
.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:focus{
 -webkit-text-fill-color:#242328;box-shadow:0 0 0 1000px #fff inset;caret-color:#242328;
}
.auth-card form .primary,.auth-card form button.primary,.auth-card .primary.wide{
 background:#242328!important;border-color:#242328!important;color:#fff!important;
 -webkit-text-fill-color:#fff!important;opacity:1!important;
}
.auth-card form .primary:hover,.auth-card form .primary:focus-visible{
 background:#17171a!important;border-color:#17171a!important;color:#fff!important;
}
.auth-card form .primary:disabled{opacity:.7!important;cursor:wait;}
.auth-card .auth-switch,.auth-card .auth-switch a,.auth-card .tiny-text,.auth-card .tiny-text a{color:#242328}
.auth-card .auth-inline-error{color:#9f263c}
/* Protect site controls whose historical CSS used the pale background as an accent. */
.landing-nav .logo,.topbar .logo,.dashboard .brand{color:var(--brand-logo)!important;}
.landing-nav .primary,.auth-layout .primary,.dashboard .btn-main,.dashboard .live-pill,
.clean-composer .primary,.post-actions .pill{
 background:#242328;color:#fff;border-color:#242328;
}
.dashboard .form-control,.dashboard .record-body input,.dashboard .record-body textarea,
.dashboard .record-body select{color:#242328;background:#fff;caret-color:#242328;}

/* Restore the white navigation bar and separate the navigation rail from the feed canvas. */
.landing-nav.polished-nav,.topbar{background:#fff;border-bottom:1px solid #f0e5e8;box-shadow:none}
.dashboard .topbar{background:#fff;border-bottom:1px solid #f0e5e8}
@media(min-width:701px){
 .app-shell>.sidebar{background:#fff7f9;border:1px solid #f1e5e9;border-radius:18px;padding:12px 8px}
}
.app-shell>.sidebar>a.active:not(.sidebar-cta),.app-shell>.sidebar>a.active{background:#fbe4ee;color:#962d63}
/* Keep the existing Codex composer, with the approved pink-to-plum Post action. */
.app-shell .clean-composer .primary{
 background:linear-gradient(110deg,#f43f72 0%,#b33e9c 100%);
 border:1px solid transparent;color:#fff;box-shadow:0 7px 18px #c93e7a30;
}
.app-shell .clean-composer .primary:hover{
 background:linear-gradient(110deg,#e32f65 0%,#9d348c 100%);
 color:#fff;box-shadow:0 9px 20px #c93e7a40;
}
/* Keep the existing recovery link discoverable and legible in the login form. */
.auth-card .tiny-text{font-size:13px}
.auth-card .tiny-text a[href="#forgot"]{font-weight:750;text-decoration:underline;text-underline-offset:3px}

/* Community directory: match the supplied Codex two-column cards, without demo counts. */
.app-shell:has(.pmo-communities) .pmo-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.app-shell:has(.pmo-communities) .pmo-community-card,
.app-shell:has(.pmo-communities) .pmo-community-card.mint,
.app-shell:has(.pmo-communities) .pmo-community-card.pink{
 display:grid;grid-template-columns:42px 82px minmax(0,1fr);grid-template-rows:1fr auto;
 gap:10px 12px;min-height:300px;padding:26px 20px 20px;
 border:2px solid #f7acd2;border-radius:24px;
 background:linear-gradient(145deg,#fff9fc 0%,#fff 66%,#fff5fb 100%);
 box-shadow:none;align-items:center;
}
.app-shell:has(.pmo-communities) .pmo-rank,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-rank{
 color:#c42b84;align-self:center;gap:3px;
}
.app-shell:has(.pmo-communities) .pmo-rank span{font-size:28px}
.app-shell:has(.pmo-communities) .pmo-rank b{font-size:22px}
.app-shell:has(.pmo-communities) .pmo-community-avatar,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-community-avatar{
 width:82px;height:82px;object-fit:cover;border-radius:50%;
 border:4px solid #ee539c;padding:4px;background:#fff;
}
.app-shell:has(.pmo-communities) .pmo-community-monogram{
 display:grid;place-items:center;color:#ad3979;background:#ffe7f1;
 font-size:30px;font-weight:850;
}
.app-shell:has(.pmo-communities) .pmo-community-body{align-self:center}
.app-shell:has(.pmo-communities) .pmo-community-body h2{
 font-size:21px;line-height:1.17;letter-spacing:-.04em;color:#202027;
 margin:0 20px 5px 0;
}
.app-shell:has(.pmo-communities) .pmo-community-body>small{font-size:14px;color:#78859b}
.app-shell:has(.pmo-communities) .pmo-community-body p{
 font-size:15px;line-height:1.43;color:#657086;margin:12px 0 15px;
}
.app-shell:has(.pmo-communities) .pmo-tags{gap:7px}
.app-shell:has(.pmo-communities) .pmo-tags span,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-tags span:first-child{
 border:1px solid #f6c9dd;border-radius:10px;background:#fff9fc;
 color:#b3397a;font-size:12px;font-weight:750;padding:7px 10px;
}
.app-shell:has(.pmo-communities) .pmo-card-more{color:#e63883;right:20px;top:20px;font-size:20px}
.app-shell:has(.pmo-communities) .pmo-enter,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-enter{
 grid-column:2/4;grid-row:2;justify-self:end;min-height:50px;
 border:0;border-radius:14px;padding:13px 21px;
 background:linear-gradient(110deg,#fb3f71,#ae419c);color:#fff;
 font-size:14px;font-weight:850;box-shadow:0 8px 18px #ce4c9a24;
}
.app-shell:has(.pmo-communities) .pmo-enter:hover{filter:brightness(.97)}
.app-shell:has(.pmo-communities) .pmo-community-card:hover{box-shadow:0 10px 24px #b4387916}
@media(max-width:1100px){
 .app-shell:has(.pmo-communities) .pmo-community-card{grid-template-columns:32px 62px minmax(0,1fr);padding:19px 15px;min-height:265px}
 .app-shell:has(.pmo-communities) .pmo-community-avatar{width:62px;height:62px}
 .app-shell:has(.pmo-communities) .pmo-community-body h2{font-size:17px}
 .app-shell:has(.pmo-communities) .pmo-community-body p{font-size:13px}
}
@media(max-width:900px){
 .app-shell:has(.pmo-communities) .pmo-community-grid{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:700px){
 .app-shell:has(.pmo-communities) .pmo-community-card{grid-template-columns:32px 62px minmax(0,1fr);min-height:235px}
 .app-shell:has(.pmo-communities) .pmo-community-body h2{font-size:17px}
 .app-shell:has(.pmo-communities) .pmo-enter{min-height:44px}
}

/* Compact community directory cards: approximately 35% less vertical footprint. */
.app-shell:has(.pmo-communities) .pmo-community-card,
.app-shell:has(.pmo-communities) .pmo-community-card.mint,
.app-shell:has(.pmo-communities) .pmo-community-card.pink{
 grid-template-columns:30px 54px minmax(0,1fr);
 grid-template-rows:minmax(0,1fr) auto;
 column-gap:9px;row-gap:7px;
 min-height:195px;padding:13px 15px 12px;border-radius:17px;
}
.app-shell:has(.pmo-communities) .pmo-community-avatar,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-community-avatar{
 width:54px;height:54px;border-width:3px;padding:2px;
}
.app-shell:has(.pmo-communities) .pmo-community-monogram{font-size:21px}
.app-shell:has(.pmo-communities) .pmo-rank span{font-size:21px}
.app-shell:has(.pmo-communities) .pmo-rank b{font-size:16px}
.app-shell:has(.pmo-communities) .pmo-community-body h2{font-size:17px;margin-bottom:3px}
.app-shell:has(.pmo-communities) .pmo-community-body>small{font-size:12px}
.app-shell:has(.pmo-communities) .pmo-community-body p{font-size:12px;line-height:1.35;margin:6px 0 8px}
.app-shell:has(.pmo-communities) .pmo-tags{gap:5px}
.app-shell:has(.pmo-communities) .pmo-tags span,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-tags span:first-child{
 font-size:10px;padding:4px 7px;border-radius:7px;
}
.app-shell:has(.pmo-communities) .pmo-card-more{right:13px;top:8px;font-size:17px}
.app-shell:has(.pmo-communities) .pmo-enter,
.app-shell:has(.pmo-communities) .pmo-community-card.mint .pmo-enter{
 min-height:34px;padding:8px 13px;font-size:12px;border-radius:10px;margin-top:0;
}
@media(max-width:700px){
 .app-shell:has(.pmo-communities) .pmo-community-card,
 .app-shell:has(.pmo-communities) .pmo-community-card.mint,
 .app-shell:has(.pmo-communities) .pmo-community-card.pink{
  grid-template-columns:28px 50px minmax(0,1fr);
  min-height:190px;padding:12px;
 }
}
