/* Jesus House Church Center reference: real monogram and green wordmark banner,
   system typography, white space, and restrained green navigation. */
:root{--bg:#fff;--paper:#fff;--ink:#1f1f1f;--muted:#616762;--line:#e0e5e1;--orange:#205b42;--light-orange:#e5eee8;--green:#eaf0eb;--shadow:0 12px 36px #142f2310}
body,h1,h2,h3,.brand-name,.brand-name small,.date-tile strong{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
h1,h2,h3{letter-spacing:-.025em}h1{font-weight:650}h2,h3{font-weight:600}
.demo-ribbon{background:#edf2ee;color:#315240;font-weight:500;letter-spacing:.06em;min-height:33px}
.demo-ribbon button{font-weight:500}.pulse{background:#316b4f}
.brand{gap:15px;color:#202622;flex-shrink:0}.brand-monogram{width:32px;height:46px;object-fit:contain;flex-shrink:0}.brand-name{font-size:17px;font-weight:500;letter-spacing:.19em;white-space:nowrap}.brand-name small{font-size:9px;letter-spacing:.24em;color:#6b746d;margin-top:6px}
.button{border-radius:5px;font-weight:550}.primary{background:#21553d;color:#fff}.primary:hover{background:#153d2b}.secondary:hover,.icon-button:hover{background:#edf3ee}.text-link{color:#205a3f}
.login-header{max-width:1150px;margin:auto;min-height:106px;padding:24px 30px}.login-header .small{font-size:12px}
.church-banner{height:clamp(155px,24vw,290px);width:100%;background:#154d35 url('/assets/jesus-house-banner.png') center/cover no-repeat}
.login{max-width:1080px;gap:75px;margin:45px auto 65px;padding:0 30px}.login-intro h1{font-size:clamp(35px,3.7vw,48px);line-height:1.17}.login-intro h1 em{font-family:inherit;font-style:normal;font-weight:650;color:#23583e}.login-intro>p{font-size:16px}.feature-pills span{border-radius:4px;background:#f6f8f6;color:#4c5c51}
.login-card{border-radius:7px;box-shadow:none;padding:28px;background:#fcfdfb}.person-choice{background:#fff;border-radius:5px}.person-choice:hover{border-color:#3f7657;background:#f1f6f2}.avatar{background:#e2ece4!important;color:#28543a}.login-card h2{font-size:23px}
.shell{display:block;min-height:calc(100vh - 33px)}.sidebar{max-width:1200px;margin:auto;border:0;border-bottom:1px solid var(--line);padding:24px 26px;min-height:104px;flex-direction:row;align-items:center;gap:22px;background:#fff}.sidebar .brand{margin:0 auto 0 0}.sidebar>.eyebrow{display:none}.sidebar nav{display:flex;gap:8px}.sidebar .nav-button{padding:10px 13px;font-size:12px;border-radius:4px;white-space:nowrap}.nav-button.active{background:#e9f0eb;color:#214f37;font-weight:600;box-shadow:inset 0 -2px #2b6244}.nav-button:not(.active):hover{background:#f2f5f2}.sidebar-bottom{margin:0;padding:0;display:flex;align-items:center;gap:4px}.sidebar-note,.sidebar-bottom>label{display:none}.sidebar-bottom #about-side{font-size:11px;color:var(--muted)}.sidebar-bottom #logout{font-size:11px;color:var(--muted)}
.main{max-width:1150px;padding:0 30px 35px}.topbar{height:74px}.topbar .profile{font-size:12px}.page-intro{padding:29px 0 24px}.page-intro h1{font-size:32px;font-weight:600}.page-intro .eyebrow{color:#4d6b56}.page-intro p{font-size:14px}
.hero{background:#f2f6f1;border:1px solid #dce5dc;border-radius:6px;padding:25px 28px;gap:0}.hero h2{font-size:26px;font-weight:600;color:#214f37}.hero p{color:#4e6153;font-size:14px;max-width:700px}.hero .eyebrow{color:#53705b;font-size:10px}.hero-mark{display:none!important}.hero:after{content:'';width:72px;height:72px;background:url('/assets/jesus-house-monogram.png') center/contain no-repeat;opacity:.14;margin:0 15px}
.panel{border-radius:6px;box-shadow:none}.panel-header h3{font-size:17px}.content-grid{margin-top:24px}.day{border-radius:4px;aspect-ratio:1.45}.day.blocked{background:#e2ede4;color:#28563a}.day:hover{background:#eff4ed}.day.scheduled:after{background:#2a6948}.legend i{background:#e2ede4;border-color:#adbfaf}.legend i.service{background:#2a6948}.blockout-icon{background:#e2ede4;color:#28583b;border-radius:4px}.blockout-copy strong{font-size:14px}.blockout-copy p{font-size:12px}.helper-card{font-size:12px}.count{background:#eaf0e9;color:#44604b}.notice{background:#eff4ed;border-radius:5px;color:#36563d}.warning{background:#fff2dd;color:#795524}.service-card{border-radius:5px;padding:18px 22px}.service-copy strong{font-size:14px;font-weight:600}.service-copy p{font-size:12px}.status-pill{font-size:10px;background:#e6f0e4;color:#355b39}.status-pill.pending{background:#fff2d9;color:#805f28}.date-tile{width:57px}.date-tile strong{font-size:25px;font-weight:500}.section-footer{font-size:10px;color:#667267}.section-footer>span:first-child{letter-spacing:.1em}
dialog{border-radius:7px}input,textarea{background:white;border-color:#cdd7cc;border-radius:4px}input[type=checkbox]{accent-color:#285d3d}.token-json{background:#183a2a;color:#edf5ed}.token-inspector .panel{background:#fff}.token-summary dt{color:#57665a}
@media(max-width:1100px){.sidebar{gap:12px;padding:22px 24px}.sidebar nav{gap:2px}.sidebar .nav-button{padding:10px 9px;font-size:11px}.sidebar .brand-name{font-size:14px}.sidebar-bottom #about-side{display:none}.brand-monogram{width:29px;height:42px}.main{padding-left:24px;padding-right:24px}.login{gap:40px}}
@media(max-width:800px){.sidebar{display:none}.main{padding:0 20px 25px}.topbar{height:86px}.mobile-brand{display:flex}.brand-name{font-size:14px}.brand-monogram{width:27px;height:40px}.nav-mobile{margin-top:16px;gap:7px}.nav-mobile .nav-button{font-size:11px;padding:9px 11px;border-radius:4px;background:#fff}.nav-mobile .nav-button.active{background:#eaf1e9}.page-intro h1{font-size:29px}.page-intro p{font-size:13px}.hero{padding:22px}.hero:after{width:48px;height:60px;margin:0}.login{grid-template-columns:1fr;max-width:570px;gap:18px;margin-top:25px}.login-header{padding:20px 25px;min-height:92px}.login-intro{padding:0}.login-intro h1{font-size:37px}.church-banner{height:185px}.content-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.main{padding:0 16px 25px}.topbar .profile strong{font-size:10px;max-width:105px;display:block}.topbar .profile{gap:7px}.topbar .avatar{width:29px;height:29px;font-size:10px}.brand{gap:10px}.brand-name{font-size:12px;letter-spacing:.13em}.brand-name small{font-size:8px}.brand-monogram{height:37px;width:24px}.nav-mobile{gap:5px}.nav-mobile .nav-button{font-size:10px;padding:8px}.nav-icon{display:none}.page-intro h1{font-size:26px}.page-intro .button{max-width:125px;font-size:11px}.hero{grid-template-columns:1fr;padding:20px}.hero:after{display:none}.hero h2{font-size:23px}.hero p{font-size:13px}.content-grid{grid-template-columns:1fr}.day{aspect-ratio:1.25}.login{padding:0 20px}.login-intro h1{font-size:35px}.login-card{padding:23px}.church-banner{height:145px;background-size:cover}.login-header .brand-name{font-size:14px}.service-card{padding:16px 13px}.service-copy strong{font-size:13px}.service-copy p{font-size:11px}.status-pill{font-size:9px}.hero .eyebrow{line-height:1.7}.section-footer{font-size:9px}}

.period-modes{border:0;padding:0;margin:20px 0;display:grid;gap:10px}.period-modes legend{font-size:13px;font-weight:600;margin-bottom:10px}.period-modes label{display:block;border:1px solid #cdd7cc;padding:12px;border-radius:5px}.period-modes small{display:block;margin:5px 0 0 23px;color:#616762}.period-modes input{accent-color:#21553d}.period-modes label:has(input:checked){background:#edf4ef;border-color:#21553d}#period-summary{font-size:13px;line-height:1.65}

.period-modes input[type=radio]{display:inline-block;width:auto;min-height:0;margin:0 7px 0 0;padding:0;vertical-align:middle}.period-modes label{font-size:13px;font-weight:600;margin:0}
