/* Dedicated login surface; other authentication screens keep their own styles. */
.ceads-signin { display:flex; flex-direction:column; min-height:100svh; background:var(--ceads-page); color:var(--ceads-ink); }
.ceads-signin-header { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; min-height:5.5rem; padding:1rem max(1.5rem, calc((100% - 72rem) / 2)); border-bottom:1px solid var(--ceads-line); background:#fff; }
body.ceads .ceads-signin-brand { display:flex; align-items:center; gap:1.5rem; color:var(--ceads-ink); text-decoration:none; }
.ceads-signin-logo { position:relative; display:block; flex:none; width:8.75rem; height:3.2rem; overflow:hidden; }
body.ceads .ceads-signin-logo img { position:absolute; width:167%; height:auto; max-width:none; left:-34.2%; top:-92%; }
.ceads-signin-brand__name { padding-left:1.25rem; border-left:1px solid var(--ceads-line); font-size:.82rem; line-height:1.4; }
body.ceads .ceads-signin-back { display:inline-flex; align-items:center; gap:.5rem; min-height:2.75rem; color:var(--ceads-primary); font-size:.9rem; font-weight:600; text-decoration:none; }
.ceads-signin-back:hover { text-decoration:underline; text-underline-offset:3px; }
.ceads-signin-stage { display:grid; grid-template-columns:minmax(0, .82fr) minmax(0, 1fr); width:min(calc(100% - 3rem), 60rem); margin:2.5rem auto; border:1px solid var(--ceads-line); border-radius:12px; background:#fff; overflow:hidden; }
.ceads-signin-intro { display:flex; flex-direction:column; justify-content:space-between; gap:2.5rem; padding:2.5rem; background:#07575b; color:#fff; }
.ceads-signin-context { display:flex; align-items:center; gap:.6rem; margin-bottom:1.75rem; color:#c5e5e5; font-size:.95rem; font-weight:600; }
.ceads-signin-context i { font-size:1.2rem; }
body.ceads .ceads-signin-intro h2 { margin:0; color:#fff; font-size:2rem; line-height:1.2; letter-spacing:-.02em; font-weight:700; }
.ceads-signin-intro p { margin:1rem 0 0; color:#d5eae9; font-size:.95rem; line-height:1.6; text-wrap:pretty; }
.ceads-signin-intro ul { display:grid; gap:1.25rem; margin:2rem 0 0; padding:0; list-style:none; }
.ceads-signin-intro li { display:flex; gap:.8rem; color:#d5eae9; font-size:.88rem; line-height:1.45; }
.ceads-signin-intro li > i { flex:none; color:#98ddd6; font-size:1.2rem; }
.ceads-signin-intro strong { display:block; margin-bottom:.25rem; color:#fff; font-size:.98rem; font-weight:600; }
.ceads-signin-intro .ceads-signin-public { padding-top:1.25rem; margin:0; border-top:1px solid #3b7c7e; font-size:.85rem; }
body.ceads .ceads-signin-public a { display:flex; align-items:center; gap:.6rem; width:fit-content; min-height:2.75rem; color:#fff; font-size:.94rem; font-weight:600; text-underline-offset:4px; }
.ceads-signin-form { align-self:center; min-width:0; padding:2.5rem; }
body.ceads .ceads-signin-heading h1 { margin:0 0 .5rem; color:var(--ceads-ink); font-size:1.75rem; line-height:1.2; letter-spacing:-.02em; font-weight:700; text-wrap:balance; }
.ceads-signin-heading p { margin:0 0 1.75rem; color:var(--ceads-muted); font-size:.95rem; }
.ceads-signin-field { margin-top:1rem; }
.ceads-signin-field label { display:block; margin-bottom:.4rem; color:var(--ceads-ink); font-size:.95rem; font-weight:600; }
.ceads-signin-field__label { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.ceads-signin-field__label a { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.86rem; text-underline-offset:3px; }
.ceads-signin-control { display:flex; align-items:center; min-width:0; border:1px solid var(--ceads-line-strong); border-radius:6px; background:#fff; transition:border-color 150ms ease; }
.ceads-signin-control > i { flex:none; width:2.75rem; text-align:center; color:var(--ceads-muted); font-size:1.1rem; }
.ceads-signin-control input { flex:1; width:100%; min-width:0; min-height:3rem; padding:.6rem .75rem .6rem 0; border:0; border-radius:6px; background:transparent; color:var(--ceads-ink); font:inherit; font-size:1rem; }
.ceads-signin-control input::placeholder { color:var(--ceads-muted); opacity:1; }
.ceads-signin-control:focus-within { border-color:var(--ceads-primary); outline:2px solid var(--ceads-primary); outline-offset:2px; }
.ceads-signin-control--invalid { border-color:#a22e30; }
.ceads-signin-control button { display:grid; place-items:center; flex:0 0 2.75rem; align-self:stretch; padding:0; border:0; border-radius:5px; background:transparent; color:var(--ceads-primary); cursor:pointer; }
.ceads-signin-control button:hover { background:var(--ceads-primary-soft); }
.ceads-signin-control:has(input:autofill) { background:#edf8f7; }
.ceads-signin-control input:-webkit-autofill { -webkit-text-fill-color:#073f4b; caret-color:#073f4b; -webkit-box-shadow:0 0 0 1000px #edf8f7 inset; }
.ceads-signin-hint { margin:.35rem 0 0; color:var(--ceads-muted); font-size:.82rem; }
.ceads-signin-error { margin:.4rem 0 0; color:#a22e30; font-size:.9rem; overflow-wrap:anywhere; }
.ceads-signin-remember { display:flex; align-items:center; gap:.6rem; min-height:2.75rem; margin:.75rem 0; color:var(--ceads-muted); font-size:.88rem; cursor:pointer; }
.ceads-signin-remember input { flex:none; width:1.1rem; height:1.1rem; accent-color:var(--ceads-primary); }
.ceads-signin-submit { display:flex; justify-content:center; align-items:center; gap:.75rem; width:100%; min-height:3rem; padding:.65rem 1rem; border:1px solid var(--ceads-primary); border-radius:6px; background:var(--ceads-primary); color:#fff; font:inherit; font-size:1rem; font-weight:600; cursor:pointer; transition:background-color 150ms ease; }
.ceads-signin-submit:hover { background:var(--ceads-primary-hover); }
.ceads-signin-submit:disabled { background:#356276; border-color:#356276; cursor:wait; }
.ceads-signin-register { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.4rem; margin:1.5rem 0 .5rem; padding-top:1rem; border-top:1px solid var(--ceads-line); color:var(--ceads-muted); font-size:.94rem; }
.ceads-signin-register a { display:inline-flex; align-items:center; min-height:2.75rem; font-weight:700; text-underline-offset:3px; }
body.ceads .ceads-signin-help { display:flex; justify-content:center; align-items:center; gap:.5rem; min-height:2.75rem; color:var(--ceads-muted); font-size:.88rem; text-underline-offset:3px; }
.ceads-signin-alert { display:flex; align-items:start; gap:.6rem; padding:.85rem; margin:1rem 0; border:1px solid; border-radius:6px; font-size:.94rem; overflow-wrap:anywhere; }
.ceads-signin-alert--error { background:#fff4f3; color:#85282b; border-color:#d9a4a4; }
.ceads-signin-alert--success { background:#edf8f0; color:#285b3a; border-color:#a3c5ac; }
.ceads-signin-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; width:min(calc(100% - 3rem), 60rem); margin:auto auto 0; padding:.5rem 0 1rem; color:var(--ceads-muted); font-size:.82rem; }
.ceads-signin-footer nav { display:flex; gap:1.25rem; }
.ceads-signin-footer a { display:inline-flex; align-items:center; min-height:2.75rem; text-underline-offset:3px; }
.ceads-signin-footer > span { display:inline-flex; align-items:center; min-height:2.75rem; }
/* Override the legacy important yellow ring; the complete field keeps its focus-within ring. */
body.ceads .ceads-signin :is(a,button,input):focus-visible { outline:2px solid var(--ceads-primary) !important; outline-offset:3px; }
body.ceads .ceads-signin-intro a:focus-visible { outline-color:#fff !important; }
body.ceads .ceads-signin-control input:focus-visible { outline:none !important; box-shadow:none; }
body.ceads .ceads-signin-control button:focus-visible { outline-offset:-5px; }
@media (max-width:800px) {
    .ceads-signin-header { min-height:4.5rem; padding:.75rem 1.25rem; }
    .ceads-signin-brand__name { display:none; }
    .ceads-signin-stage { grid-template-columns:minmax(0, 1fr); max-width:30rem; margin:1.5rem auto; }
    .ceads-signin-intro { grid-row:2; padding:1rem 1.5rem; }
    .ceads-signin-intro > div { display:none; }
    .ceads-signin-intro .ceads-signin-public { padding:0; border:0; }
    .ceads-signin-form { padding:2rem; }
}
@media (max-width:400px) {
    .ceads-signin-header { padding-inline:1rem; gap:.75rem; }
    .ceads-signin-logo { width:7rem; height:2.55rem; }
    .ceads-signin-back { font-size:.85rem; }
    .ceads-signin-stage, .ceads-signin-footer { width:calc(100% - 2rem); }
    .ceads-signin-form { padding:1.5rem 1.25rem; }
    body.ceads .ceads-signin-heading h1 { font-size:1.5rem; }
    .ceads-signin-field__label a { font-size:.82rem; }
}
@media (prefers-reduced-motion:reduce) { .ceads-signin * { transition:none !important; } }
@media (forced-colors:active) {
    .ceads-signin-control, .ceads-signin-submit { border:1px solid ButtonText; }
    .ceads-signin-control:focus-within, body.ceads .ceads-signin :is(a,button):focus-visible { outline-color:Highlight !important; }
}
