:root{--ink:#151515;--muted:#665f56;--line:rgba(0,0,0,.12);--paper:#f8f1e8}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.96),transparent 30rem),linear-gradient(135deg,#f8f1e8,#ece0cf 58%,#f7f4ee);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-page{width:min(780px,calc(100% - 2rem));padding:2rem 0}.auth-card{padding:clamp(2rem,6vw,4.5rem);border:1px solid var(--line);border-radius:2rem;background:rgba(255,255,255,.84);box-shadow:0 28px 90px rgba(0,0,0,.10)}.auth-logo{display:block;width:min(230px,60vw);height:auto;margin:0 auto 1.5rem}.auth-logo-link{display:block}.auth-eyebrow{margin:0 0 .8rem;text-align:center;font-size:.82rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}h1{margin:0;text-align:center;font-size:clamp(3rem,9vw,6.75rem);line-height:.88;letter-spacing:-.08em}.auth-copy{margin:1rem auto 1.6rem;max-width:590px;text-align:center;color:var(--muted);font-size:1.18rem;line-height:1.45}.sso-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1.2rem 0}.sso-row a,.auth-form button{display:flex;justify-content:center;align-items:center;min-height:48px;padding:.9rem 1rem;border:1px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font-weight:950;text-decoration:none}.divider{display:flex;align-items:center;gap:1rem;margin:1.35rem 0;color:var(--muted);font-weight:850}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.45rem;font-weight:900}.auth-form input{width:100%;padding:.95rem 1rem;border:1px solid var(--line);border-radius:1rem;font:inherit;background:#fff}.auth-form button{background:var(--ink);color:#fff;cursor:pointer}.auth-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1.25rem 0 0}.auth-links a{font-weight:850;color:inherit}.auth-notice{padding:.8rem 1rem;border-radius:1rem;background:#eef8ee;border:1px solid #99c999}
.auth-form input[readonly],.auth-form input.readonly-input{background:#f2f0eb;color:var(--muted);cursor:not-allowed}
.auth-logo { width:min(300px,78vw); height:auto; }
.oauth-brand { display:inline-grid; place-items:center; width:1.35rem; height:1.35rem; margin-right:.35rem; border-radius:50%; font-weight:900; font-family:Arial,sans-serif; }
.oauth-google { background:#fff; color:#4285f4; border:1px solid #dadce0; }
.oauth-facebook { background:#1877f2; color:#fff; }

/* Provider branding for OAuth login actions. */
.oauth-button {
    align-items: center;
    display: inline-flex;
    gap: 0.65rem;
    justify-content: center;
}

.oauth-provider-icon {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.125rem;
    justify-content: center;
    width: 1.125rem;
}

.oauth-provider-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.oauth-button-google {
    background: #ffffff;
    border-color: #dadce0;
    color: #3c4043;
}

.oauth-button-google:hover,
.oauth-button-google:focus-visible {
    background: #f8f9fa;
    border-color: #c7cacf;
    color: #202124;
}

.oauth-button-facebook {
    background: #ffffff;
    border-color: #1877f2;
    color: #1877f2;
}

.oauth-button-facebook:hover,
.oauth-button-facebook:focus-visible {
    background: #f2f7ff;
    border-color: #166fe5;
    color: #166fe5;
}
/* Canonical compact OAuth provider icons. */
.oauth-button {
    align-items: center !important;
    display: inline-flex !important;
    flex-direction: row !important;
    gap: 0.55rem !important;
    justify-content: center !important;
    min-height: 3rem !important;
    padding: 0.75rem 1rem !important;
}

.oauth-provider-icon {
    align-items: center !important;
    display: inline-flex !important;
    flex: 0 0 18px !important;
    height: 18px !important;
    justify-content: center !important;
    margin: 0 !important;
    max-height: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
}

.oauth-provider-icon svg {
    display: block !important;
    height: 18px !important;
    max-height: 18px !important;
    max-width: 18px !important;
    width: 18px !important;
}

.oauth-provider-label {
    display: inline-block !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

/* OAuth icon-to-label spacing. */
.oauth-button .oauth-provider-icon {
    margin-right: 0.6rem !important;
}

/* End of file. */




/* Larger ArtsFolio identity on authentication pages. */
.auth-logo {
    width: min(390px, 88vw);
    max-height: 180px;
    object-fit: contain;
}

/* End of file. */
