/* Static instances of the existing OFL fonts give consistent weights across browser engines. */
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/login-manrope-400-latin-ext.e1b7c6f89d.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/login-manrope-600-latin-ext.4b03170f99.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/login-manrope-700-latin-ext.ed025844b5.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/login-manrope-400-latin.b6bc5dce74.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/login-manrope-600-latin.48104d74f4.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'SIPC Login Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/login-manrope-700-latin.351370818b.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'SIPC Login Serif';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/login-cormorant-600-latin.06d935d4d7.woff2) format('woff2');}
/* Login-only tokens and layout; the signed-in portal keeps its established theme. */
.sign-in-app{--f-ui:'SIPC Login Sans',Arial,sans-serif;--f-display:'SIPC Login Serif',Georgia,serif;--bg:#f5f8ff;--surface:#fff;--ink:#101d38;--muted:#53657f;--brand:#2459a6;--focus:#2459a6;--rule:#d8e3f2;--rule-strong:#b5c4da;--login-navy:#102a56;--login-panel:#eaf3ff;--login-wave:#83b2e2;--login-button:#124b92;background:radial-gradient(ellipse at 40% 50%,#eaf3ff 0, var(--bg) 70%);padding:32px;min-height:100svh;}
:root[data-theme=dark] .sign-in-app{--bg:#101a2c;--surface:#19263b;--ink:#f0f5ff;--muted:#bdcce0;--brand:#9fc6ff;--focus:#a9ceff;--rule:#354962;--rule-strong:#627996;--login-navy:#e5efff;--login-panel:#203651;--login-wave:#5580ae;--login-button:#2459a6;background:radial-gradient(ellipse at 40% 50%,#1b304c 0,var(--bg) 70%);}
.sign-in-app .welcome{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);width:100%;max-width:1120px;min-height:650px;margin:0 auto;border:1px solid var(--rule);border-radius:28px;background:var(--surface);box-shadow:0 14px 40px #163e7414,0 3px 10px #163e740c;overflow:hidden;}
.sign-in-app .welcome-intro{position:relative;isolation:isolate;justify-content:flex-start;background:none;padding:68px 66px 150px;gap:32px;}
.sign-in-app .welcome-intro::before{content:'';position:absolute;inset:0 -45px 0 0;background:linear-gradient(130deg,var(--login-panel),color-mix(in srgb,var(--login-panel) 82%,var(--surface)));clip-path:polygon(0 0,100% 0,82% 100%,0 100%);z-index:-2;}
.sign-in-app .welcome .brand{max-width:100%;}
.sign-in-app .welcome .brand .church-logo{width:320px;max-width:100%;height:auto;}
.sign-in-app .welcome .intro{margin:0;padding:26px 0 0;border-top:1px solid var(--rule-strong);}
.sign-in-app .login-brand-name{color:var(--login-navy);font-size:20px;font-weight:600;margin:0 0 10px;}
.sign-in-app .welcome h1{font:600 clamp(58px,5vw,72px)/1.06 var(--f-display);color:var(--login-navy);letter-spacing:-.025em;margin:0 0 18px;}
.sign-in-app .login-description{font-size:20px;line-height:1.6;color:var(--login-navy);margin:0;max-width:32ch;}
.sign-in-app .mobile-description{display:none;}
.sign-in-app .login-waves{position:absolute;bottom:0;left:0;width:100%;height:170px;width:calc(100% + 45px);z-index:-1;pointer-events:none;clip-path:polygon(0 0,87% 0,82% 100%,0 100%);}
.login-waves path{fill:var(--login-wave);opacity:.16;}.login-waves path:nth-child(2){opacity:.24;}.login-waves path:nth-child(3){opacity:.2;}
.sign-in-app .theme-toolbar{position:absolute;top:26px;right:28px;margin:0;z-index:2;}
.sign-in-app .theme-toggle{width:48px;height:48px;padding:10px;border-radius:12px;background:var(--surface);}
.sign-in-app .theme-toggle svg{width:23px;height:23px;}
.sign-in-app .welcome-access{padding:110px 40px 44px 48px;align-self:center;min-width:0;}
.sign-in-app #login-title{font:700 clamp(22px,2.15vw,29px)/1.3 var(--f-ui);letter-spacing:-.035em;color:var(--login-navy);margin:0 0 26px;}
.sign-in-app .login-card{background:transparent;padding:0;margin:0;}
.sign-in-app .form-field{margin:0 0 22px;}
.sign-in-app .form-field label{display:block;font-size:15px;font-weight:600;margin:0 0 8px;color:var(--ink);}
.sign-in-app .input-wrap{position:relative;}
.sign-in-app .input-wrap>svg{position:absolute;left:16px;top:16px;pointer-events:none;}
.sign-in-app .input-wrap svg,.sign-in-app summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.sign-in-app .input-wrap input{width:100%;min-height:54px;height:54px;padding:12px 16px 12px 48px;font-size:16px;border:1px solid var(--rule-strong);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #102a5605;}
.sign-in-app .input-wrap input::placeholder{color:var(--muted);opacity:1;}
.sign-in-app .password-wrap input{padding-right:54px;}
.sign-in-app .reveal{display:grid;place-items:center;position:absolute;right:5px;top:5px;width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);border-radius:8px;}
.sign-in-app .reveal:hover{background:var(--login-panel);}
.sign-in-app .eye-slash{display:none;}.sign-in-app .reveal[aria-pressed=true] .eye-slash{display:block;}
.sign-in-app .login-options{display:flex;align-items:center;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin:0 0 22px;font-size:14px;font-weight:600;}
.sign-in-app .remember-label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;}
.sign-in-app #remember-me{appearance:auto;accent-color:#2459a6;width:21px;height:21px;min-height:0;padding:0;margin:0;flex:none;}
.sign-in-app #forgot-password{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);text-decoration:none;}
.sign-in-app #forgot-password:hover{text-decoration:underline;text-underline-offset:4px;}
.sign-in-app .login-submit{position:relative;justify-content:center;height:58px;border-radius:13px;font-size:19px;font-weight:700;background:linear-gradient(115deg,var(--login-button),#103f7e);color:white;box-shadow:0 3px 8px #102a5614;margin:0;}
.sign-in-app .login-submit>span{position:absolute;right:22px;font-size:26px;font-weight:400;}
.sign-in-app .login-submit:hover{filter:brightness(1.12);}
.sign-in-app .login-submit:disabled{opacity:.75;cursor:wait;}
.sign-in-app .login-help{border-top:1px solid var(--rule);margin-top:28px;padding-top:12px;}
.sign-in-app .login-help summary{min-height:48px;gap:10px;color:var(--brand);font-size:15px;list-style:none;}
.sign-in-app .login-help summary::-webkit-details-marker{display:none;}
.sign-in-app .login-help summary::after{font-size:25px;font-weight:500;}
.sign-in-app .login-help p{font-size:14px;line-height:1.7;color:var(--muted);margin:10px 0;}
.sign-in-app :focus-visible{outline:3px solid var(--focus);outline-offset:3px;}
.sign-in-app input:focus{border-color:var(--focus);}
@media(min-width:768px) and (max-width:1050px){.sign-in-app{padding:24px;}.sign-in-app .welcome{min-height:610px;}.sign-in-app .welcome-intro{padding:72px 36px 130px;}.sign-in-app .welcome-access{padding:105px 28px 36px;}.sign-in-app .welcome-intro::before{right:-20px;}.sign-in-app .login-waves{width:calc(100% + 20px);}.sign-in-app .login-brand-name{font-size:17px;}.sign-in-app .login-description{font-size:18px;}}
@media(max-width:767px){
 .sign-in-app{display:block;padding:0;background:var(--surface);}
 .sign-in-app .welcome{display:flex;flex-direction:column;max-width:none;width:100%;min-height:100svh;margin:0;padding:0 24px 84px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--login-panel) 30%,var(--surface)));}
 .sign-in-app .welcome-intro{position:static;padding:36px 0 22px;gap:20px;}
 .sign-in-app .welcome-intro::before{display:none;}
 .sign-in-app .welcome .brand{width:calc(100% - 60px);}
 .sign-in-app .welcome .brand .church-logo{width:190px;}
 .sign-in-app .welcome .intro{border:0;padding:0;margin:0;}
 .sign-in-app .login-brand-name{font-size:16px;margin:0 0 4px;}
 .sign-in-app .welcome h1{font-size:44px;margin:0 0 6px;}
 .sign-in-app .desktop-description{display:none;}.sign-in-app .mobile-description{display:block;font-size:14px;line-height:1.6;max-width:none;}
 .sign-in-app .theme-toolbar{top:32px;right:24px;}.sign-in-app .theme-toggle{width:44px;height:44px;}
 .sign-in-app .welcome-access{width:100%;padding:0;align-self:stretch;}
 .sign-in-app #login-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 .sign-in-app .form-field{margin-bottom:18px;}.sign-in-app .form-field label{font-size:14px;margin-bottom:6px;}
 .sign-in-app .input-wrap input{height:48px;min-height:48px;}.sign-in-app .input-wrap>svg{top:13px;left:14px;}.sign-in-app .reveal{top:2px;right:3px;}
 .sign-in-app .login-options{font-size:12px;margin:0 0 18px;gap:0 10px;}.sign-in-app .remember-label{gap:8px;}
 .sign-in-app .login-submit{height:50px;min-height:50px;font-size:16px;}
 .sign-in-app .login-help{margin-top:22px;padding-top:10px;}.sign-in-app .login-help summary{font-size:13px;}
 .sign-in-app .login-waves{width:100%;height:66px;clip-path:none;z-index:-1;}
}
@media(prefers-reduced-motion:reduce){.sign-in-app *, .sign-in-app *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
