/* Static SSR account forms; deliberately independent of Bootstrap. */
.eggsf-auth-shell { min-height:100vh; min-height:100dvh; display:grid; grid-template-columns:minmax(0,1fr) minmax(460px,1fr); color:var(--eggsf-text); background:var(--eggsf-bg); }
.eggsf-auth-brand { display:flex; flex-direction:column; justify-content:space-between; gap:48px; padding:clamp(36px,5vw,80px); color:#fff; background:radial-gradient(ellipse at 100% 0,#274c7b 0,transparent 65%),linear-gradient(145deg,#182b48,#142237 75%); }
.eggsf-auth-logo { display:flex; align-items:center; gap:13px; font-size:1.5rem; font-weight:750; letter-spacing:-.03em; }
.eggsf-auth-logo-mark { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:#fff; }
.eggsf-auth-logo-mark img { width:38px; height:38px; object-fit:contain; }
.eggsf-auth-hero { max-width:500px; }
.eggsf-auth-kicker { color:#a9c9f5; font-size:.84rem; font-weight:650; margin-bottom:18px; }
.eggsf-auth-hero h2 { font-size:clamp(2rem,3.2vw,3.15rem); line-height:1.35; letter-spacing:-.045em; font-weight:750; margin:0 0 22px; word-break:keep-all; }
.eggsf-auth-hero > p { color:#bac9dc; font-size:1rem; line-height:1.8; max-width:390px; }
.eggsf-auth-features { display:grid; gap:20px; margin-top:38px; }
.eggsf-auth-feature { display:flex; align-items:center; gap:15px; }
.eggsf-auth-feature > div { display:grid; gap:5px; }
.eggsf-auth-feature strong { font-size:.94rem; font-weight:650; }
.eggsf-auth-feature > div > span { color:#b3c3d9; font-size:.84rem; line-height:1.5; }
.eggsf-auth-feature-icon { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:13px; }
.eggsf-auth-feature-icon.is-blue { color:#a7caff; background:#2a4366; }
.eggsf-auth-feature-icon.is-teal { color:#90d5cc; background:#22494e; }
.eggsf-auth-feature-icon.is-amber { color:#f4cf87; background:#49463b; }
.eggsf-auth-footer { color:#99aec8; font-size:.76rem; }
.eggsf-auth-pane { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; padding:48px 32px; background:var(--eggsf-bg); }
.eggsf-auth-mobile-brand { display:none; }
.eggsf-auth-card { width:100%; max-width:460px; min-width:0; padding:38px; background:var(--eggsf-surface); border:1px solid var(--eggsf-border); border-radius:24px; box-shadow:0 14px 48px -28px rgba(24,43,72,.25); }
.eggsf-auth-card.is-wide { max-width:920px; }
.eggsf-auth-card-header { margin-bottom:30px; }
.eggsf-auth-eyebrow { font-size:.8rem; font-weight:650; color:var(--eggsf-link); margin-bottom:12px; }
.eggsf-auth-title { font-size:1.85rem; line-height:1.3; font-weight:750; margin:0 0 10px; letter-spacing:-.035em; }
.eggsf-auth-subtitle { color:var(--eggsf-muted); font-size:.92rem; line-height:1.65; margin:0; }

/* Labels stay above the input, including autofill, disabled and error states. */
.eggsf-form-field { display:flex; flex-direction:column; gap:8px; margin-bottom:22px; min-width:0; }
.eggsf-form-field > label { display:block; color:var(--eggsf-text); font-size:.88rem; font-weight:650; line-height:1.5; }
:is(.eggsf-auth-card,.eggsf-manage-content) :is(.form-control,.form-select) { display:block; width:100%; min-width:0; min-height:50px; box-sizing:border-box; padding:12px 14px; border:1px solid var(--eggsf-border); border-radius:10px; background:var(--eggsf-surface); color:var(--eggsf-text); font:inherit; font-size:1rem; line-height:1.5; transition:border-color .15s ease,box-shadow .15s ease; }
:is(.eggsf-auth-card,.eggsf-manage-content) .form-control::placeholder { color:var(--eggsf-muted); opacity:.7; }
:is(.eggsf-auth-card,.eggsf-manage-content) :is(.form-control,.form-select):focus { outline:none; border-color:var(--eggsf-brand); box-shadow:0 0 0 3px color-mix(in srgb,var(--eggsf-brand) 16%,transparent); }
:is(.eggsf-auth-card,.eggsf-manage-content) :is(.form-control,.form-select):disabled { background:var(--eggsf-surface-soft); color:var(--eggsf-muted); opacity:1; cursor:not-allowed; }
:is(.eggsf-auth-card,.eggsf-manage-content) .form-control.invalid { border-color:var(--eggsf-error); }
:is(.eggsf-auth-card,.eggsf-manage-content) :is(.validation-message,.text-danger) { color:var(--eggsf-error); font-size:.82rem; line-height:1.5; }
.eggsf-field-status { align-self:flex-start; color:var(--eggsf-success); font-size:.8rem; font-weight:550; }
:is(.eggsf-auth-card,.eggsf-manage-content) .form-check { display:flex; align-items:center; gap:9px; }
:is(.eggsf-auth-card,.eggsf-manage-content) .form-check-input { appearance:auto; width:18px; height:18px; flex:0 0 18px; margin:0; accent-color:var(--eggsf-brand); cursor:pointer; }
:is(.eggsf-auth-card,.eggsf-manage-content) .form-check-label { cursor:pointer; font-size:.83rem; }
.eggsf-login-options { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:2px 0 24px; }
.eggsf-login-options a { font-size:.82rem; }

/* Complete native button styles, without Bootstrap's .btn dependency. */
:is(.eggsf-auth-card,.eggsf-manage-content) .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:11px 20px; border:1px solid transparent; border-radius:10px; font:inherit; font-size:.9rem; font-weight:650; line-height:1.5; cursor:pointer; text-decoration:none; transition:background-color .15s ease,border-color .15s ease; }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-primary { background:var(--eggsf-brand); color:#fff; border-color:var(--eggsf-brand); }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-primary:hover { background:var(--eggsf-brand-dark); border-color:var(--eggsf-brand-dark); }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-outline-primary { color:var(--eggsf-text); border-color:var(--eggsf-border); background:var(--eggsf-surface); }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-outline-primary:hover { background:var(--eggsf-row-hover); border-color:var(--eggsf-brand); }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-danger { background:var(--eggsf-error); color:#fff; }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-secondary { background:var(--eggsf-surface-soft); color:var(--eggsf-text); border-color:var(--eggsf-border); }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn-link { background:transparent; color:var(--eggsf-link); padding-inline:0; }
:is(.eggsf-auth-card,.eggsf-manage-content) .btn:disabled { opacity:.5; cursor:not-allowed; }
:is(.eggsf-auth-card,.eggsf-manage-content) :is(.btn,a,input):focus-visible { outline:3px solid var(--eggsf-brand); outline-offset:3px; }
:is(.eggsf-auth-card,.eggsf-manage-content) .w-100 { width:100%; }
:is(.eggsf-auth-card,.eggsf-manage-content) a:not(.btn) { color:var(--eggsf-link); text-decoration:none; }
:is(.eggsf-auth-card,.eggsf-manage-content) a:hover { text-decoration:underline; text-underline-offset:3px; }
.eggsf-auth-divider { display:flex; align-items:center; gap:16px; margin:22px 0; color:var(--eggsf-muted); font-size:.76rem; }
.eggsf-auth-divider::before,.eggsf-auth-divider::after { content:""; height:1px; flex:1; background:var(--eggsf-border-soft); }
.eggsf-auth-meta { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:26px; font-size:.83rem; color:var(--eggsf-muted); }
.eggsf-auth-meta a { font-weight:600; }
.eggsf-auth-meta-secondary { margin-top:14px; font-size:.78rem; }
.eggsf-auth-providers { display:flex; flex-wrap:wrap; gap:10px; }
.eggsf-auth-providers button { flex:1 1 auto; padding:12px 16px; border:1px solid var(--eggsf-border); border-radius:10px; background:var(--eggsf-surface-soft); color:var(--eggsf-text); cursor:pointer; }
.eggsf-auth-status { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; margin-bottom:22px; border:1px solid; border-radius:10px; font-size:.88rem; line-height:1.65; }
.eggsf-auth-status.is-success { color:var(--eggsf-success); background:color-mix(in srgb,var(--eggsf-success) 7%,transparent); border-color:color-mix(in srgb,var(--eggsf-success) 25%,transparent); }
.eggsf-auth-status.is-danger { color:var(--eggsf-error); background:color-mix(in srgb,var(--eggsf-error) 6%,transparent); border-color:color-mix(in srgb,var(--eggsf-error) 25%,transparent); }
.eggsf-auth-status.is-info { color:var(--eggsf-link); background:color-mix(in srgb,var(--eggsf-brand) 6%,transparent); border-color:color-mix(in srgb,var(--eggsf-brand) 25%,transparent); }
:is(.eggsf-auth-card,.eggsf-manage-content) .validation-errors:not(:empty) { border-left:3px solid var(--eggsf-error); background:color-mix(in srgb,var(--eggsf-error) 6%,transparent); color:var(--eggsf-error); padding:12px 16px; margin-bottom:22px; font-size:.84rem; }
:is(.eggsf-auth-card,.eggsf-manage-content) .validation-errors ul { margin:0; padding-left:18px; }

/* In-app account settings share the same form components. */
.eggsf-manage-header { margin-bottom:24px; }
.eggsf-manage-shell { display:grid; grid-template-columns:225px minmax(0,1fr); gap:28px; align-items:start; }
.eggsf-manage-side { padding:20px 12px; background:var(--eggsf-surface); border:1px solid var(--eggsf-border); border-radius:16px; }
.eggsf-manage-side h6 { color:var(--eggsf-muted); font-size:.72rem; font-weight:650; margin:4px 12px 12px; }
.eggsf-manage-nav { list-style:none; display:flex; flex-direction:column; gap:4px; margin:0; padding:0; }
.eggsf-manage-nav .nav-link { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; border-radius:9px; color:var(--eggsf-text); font-size:.88rem; font-weight:500; text-decoration:none; }
.eggsf-manage-nav .nav-link:hover { background:var(--eggsf-row-hover); }
.eggsf-manage-nav .nav-link.active { background:color-mix(in srgb,var(--eggsf-brand) 9%,transparent); color:var(--eggsf-link); font-weight:650; }
.eggsf-manage-nav .nav-link .mud-icon-root { width:19px; height:19px; color:var(--eggsf-muted); }
.eggsf-manage-nav .nav-link.active .mud-icon-root { color:var(--eggsf-brand); }
.eggsf-manage-content { min-width:0; padding:32px; background:var(--eggsf-surface); border:1px solid var(--eggsf-border); border-radius:18px; }
.eggsf-manage-content > :is(form,.eggsf-auth-status) { max-width:560px; }
.eggsf-manage-title { font-size:1.5rem; line-height:1.4; font-weight:750; letter-spacing:-.03em; margin:0 0 8px; }
.eggsf-manage-content h2.eggsf-manage-title { font-size:1.3rem; }
.eggsf-manage-subtitle { color:var(--eggsf-muted); margin:0 0 26px; font-size:.9rem; line-height:1.7; }
.eggsf-manage-content form:empty { display:none; }
.eggsf-manage-content .table { width:100%; border-collapse:collapse; margin-block:20px; }
.eggsf-manage-content .table :is(td,th) { padding:12px; border-bottom:1px solid var(--eggsf-border); text-align:left; }
body.mud-theme-dark :is(.eggsf-auth-card,.eggsf-manage-content) .btn-primary { color:#0a1c38; }
@media (max-width:1050px) {
 .eggsf-auth-shell { grid-template-columns:minmax(0,.9fr) minmax(420px,1fr); }
 .eggsf-auth-brand { padding:36px; }
 .eggsf-auth-hero h2 { font-size:2rem; }
}
@media (max-width:850px) {
 .eggsf-auth-shell { display:block; }
 .eggsf-auth-brand { display:none; }
 .eggsf-auth-pane { min-height:100dvh; padding:32px 24px; }
 .eggsf-auth-mobile-brand { display:flex; align-items:center; gap:9px; margin-bottom:24px; font-size:1.35rem; font-weight:750; }
 .eggsf-auth-mobile-brand img { width:36px; height:36px; }
 .eggsf-manage-shell { grid-template-columns:1fr; gap:18px; }
 .eggsf-manage-side { padding:14px; }
 .eggsf-manage-nav { flex-direction:row; flex-wrap:wrap; gap:6px; }
}
@media (max-width:480px) {
 .eggsf-auth-pane { padding:24px 16px; justify-content:flex-start; }
 .eggsf-auth-card { padding:26px 22px; border-radius:18px; }
 .eggsf-auth-card-header { margin-bottom:26px; }
 .eggsf-auth-title { font-size:1.65rem; }
 .eggsf-manage-content { padding:24px 18px; border-radius:14px; }
 .eggsf-manage-nav .nav-link { font-size:.82rem; padding:8px 10px; }
 .eggsf-login-options { gap:14px; }
}
 .eggsf-auth-product-link { display: block; color: inherit; text-decoration: underline; text-underline-offset: 4px; margin-bottom: 12px; }
