
*{box-sizing:border-box}body{margin:0;background:#eee8dc;color:#352719;font:15px/1.5 'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cb9138;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1{font:38px/1.2 Georgia,serif;letter-spacing:-1px}h2{font:25px Georgia,serif}h3{font-size:16px}small,.muted{color:#75654e}small{font-size:12px}.studio{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 25px;background:#352719;color:#fff;flex-wrap:wrap}.studio small{color:#e2d2a2}.switch{display:flex;gap:5px}.switch button{background:transparent;color:#fff;padding:8px 17px;border-radius:6px}.switch button.active{background:#fff;color:#352719}.app{max-width:1500px;margin:auto;min-height:calc(100vh - 65px);display:grid;grid-template-columns:225px 1fr;background:#fbf8f0}.sidebar{background:#fff;border-right:1px solid #e4d8c0;padding:32px 20px;display:flex;flex-direction:column;gap:40px}.brand{font:25px Georgia,serif;display:flex;gap:12px;align-items:center}.mark{background:#785018;color:#fff;width:42px;height:42px;border-radius:50% 50% 12px 12px;display:grid;place-items:center;font:28px Georgia,serif}.brand small{display:block;font:10px 'Segoe UI',sans-serif;letter-spacing:2px;margin-top:3px}.nav{display:grid;gap:8px}.nav button{text-align:left;background:transparent;color:#75654e;padding:13px 15px;border-radius:9px;display:flex;gap:12px;align-items:center}.nav button.active{background:#f1e6cc;color:#785018;font-weight:600}.sidefooter{margin-top:auto;padding:17px;background:#f7efde;border-radius:12px}.main{min-width:0}.topbar{padding:20px 40px;border-bottom:1px solid #e4d8c0;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff}.avatar{background:#e2d2a2;border-radius:50%;padding:10px;font-size:12px}.content{padding:35px 40px;max-width:1200px;margin:auto}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#82602b;margin-bottom:10px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.heading p{margin-top:10px}.primary,.secondary{padding:12px 19px;border-radius:8px;min-height:44px}.primary{background:#785018;color:#fff}.secondary{background:#fff;color:#785018;border:1px solid #decea9}.hero{padding:32px;background:#785018;color:#fff;border-radius:16px;display:flex;justify-content:space-between;gap:25px;align-items:center}.hero p{color:#f0e3c4;max-width:410px;margin:10px 0 20px}.hero h2{font-size:31px}.hero .primary{background:#e2d2a2;color:#352719}.hero-art{font:110px Georgia,serif;color:#c59a53;line-height:1;width:130px;text-align:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:23px 0}.panel{background:#fff;border:1px solid #e4d8c0;border-radius:13px;padding:23px}.stat strong{display:block;font:34px Georgia,serif;margin:9px 0 3px}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.textbutton{background:transparent;color:#785018;text-decoration:underline;padding:5px}.event{display:flex;gap:16px;padding:17px 0;border-top:1px solid #eee4d1}.date{min-width:48px;text-align:center;background:#f5ecd8;border-radius:8px;padding:8px;font-size:11px}.date b{display:block;font-size:21px}.event p{color:#75654e;font-size:13px;margin-top:5px}.badge{display:inline-block;background:#f1e6cc;color:#785018;font-size:11px;padding:4px 9px;border-radius:20px}.notice{padding:14px 0;border-top:1px solid #eee4d1}.notice p{margin-top:6px;color:#75654e;font-size:13px}.bottomnav{display:none}.formmeta{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:23px}label{display:block;font-size:13px;color:#665035}input,select,textarea{border:1px solid #d5c39c;border-radius:7px;background:#fff;color:#352719;padding:11px;max-width:100%}label select,label input{display:block;margin-top:5px}textarea{width:100%;resize:vertical;min-height:80px;margin-top:8px}.weeks{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.weeks button{padding:10px 15px;border-radius:7px;background:#f2ead8;color:#6d5029}.weeks button.active{background:#785018;color:#fff}.section{margin:20px 0}.section h3{padding-bottom:13px;border-bottom:1px solid #e8dcc2}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 25px;margin-top:17px}.field{display:flex;align-items:center;justify-content:space-between;gap:10px}.field input{width:100px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.status{margin-top:15px;color:#785018;min-height:23px}.reviewrow{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #f2ead8}.reviewrow span:last-child{font-variant-numeric:tabular-nums}.sample{font-size:12px;color:#75654e;margin:10px 0}.mobile.app{display:block;max-width:410px;margin:24px auto;border:8px solid #352719;border-radius:35px;overflow:hidden;min-height:800px}.mobile .sidebar,.mobile .desktoponly{display:none}.mobile .topbar{padding:20px}.mobile .content{padding:24px 18px}.mobile h1{font-size:30px}.mobile .heading{align-items:flex-start;flex-direction:column;gap:14px}.mobile .hero{padding:24px}.mobile .hero h2{font-size:27px}.mobile .hero-art{display:none}.mobile .stats{gap:8px}.mobile .stat{padding:13px 10px}.mobile .stat strong{font-size:27px}.mobile .stat small{font-size:11px}.mobile .grid,.mobile .fields{grid-template-columns:1fr}.mobile .panel{padding:18px}.mobile .bottomnav{display:flex}.bottomnav{flex-wrap:wrap;background:#fff;border-top:1px solid #e4d8c0;justify-content:space-around;padding:12px 5px}.bottomnav button{background:transparent;color:#75654e;font-size:12px;padding:9px}.bottomnav button.active{color:#785018;font-weight:700;background:#f1e6cc;border-radius:8px}@media(max-width:760px){.app{display:block}.sidebar,.desktoponly{display:none}.topbar{padding:18px}.content{padding:25px 18px}.heading{flex-direction:column;align-items:flex-start}.grid,.fields{grid-template-columns:1fr}.hero{padding:24px}.hero-art{display:none}.stats{gap:8px}.stat{padding:15px 10px}.stat strong{font-size:27px}.bottomnav{display:flex}h1{font-size:31px}.studio{padding:12px 16px}.mobile.app{margin:12px auto;width:calc(100% - 16px)}}
.brand-logo{width:55px;height:55px;object-fit:contain;flex-shrink:0}.brand{font-size:23px;gap:8px}.header-brand{display:flex;align-items:center;gap:12px;min-width:0}.header-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}.hero-art{width:170px;flex-shrink:0}.hero-art img{display:block;width:100%;height:auto}.hero{background:#352719}.primary:hover{background:#624013}.hero .primary:hover{background:#d4bd80}.avatar{flex-shrink:0}.mobile .header-logo{width:40px;height:40px}@media(max-width:760px){.header-logo{width:40px;height:40px}}

/* White and gold church theme */
body{background:#f5f2eb;color:#352719}
.studio{background:#fff;color:#795515;border-bottom:1px solid #e4d5b5}
.studio small{color:#76674e}
.switch button{color:#785018}.switch button.active{background:#f4cc62;color:#30230d}
.app{background:#fffdf8}
.sidebar,.topbar,.bottomnav{background:#fff;border-color:#e7dcc4}
.brand{color:#785018}.brand small{color:#876522}
small,.muted,.event p,.notice p,.sample{color:#75654e}
.nav button,.bottomnav button{color:#6c5c43}
.nav button.active,.bottomnav button.active{background:#f8e9bf;color:#624411}
.sidefooter{background:#fcf5e5}
.avatar{background:#f4cc62;color:#30230d}
.eyebrow{color:#876015}
.hero{background:#fff8e6;border:1px solid #dfc27e;box-shadow:0 10px 30px #9b75100b}
.hero h2{color:#765118}.hero p{color:#695735}
.hero .eyebrow{color:#876015!important}
.primary,.hero .primary{background:#f4cc62;color:#30230d;font-weight:600}
.primary:hover,.hero .primary:hover{background:#e9bb42}
.secondary{background:#fff;color:#785018;border-color:#c8a557}
.panel{background:#fff;border-color:#e5d8ba}
h1,h2{color:#765118}h3{color:#3e301b}
.stat strong{color:#8a6019}
.date,.badge{background:#fcf0cf;color:#765118}
.event,.notice,.section h3,.reviewrow{border-color:#eee3ce}
label{color:#5c492a}
input,select,textarea{background:#fff;color:#352719;border-color:#cdbb92}
input::placeholder,textarea::placeholder{color:#82745b}
input[readonly]{background:#faf5e9;color:#75531b}
.weeks button{background:#faf1dc;color:#735118}
.weeks button.active{background:#f4cc62;color:#30230d}
.textbutton{color:#795515}.status{color:#705015}
button:disabled{opacity:.55;cursor:default}
summary{color:#795515;cursor:pointer}
.mobile.app{border-color:#c39b44}
#source-values td,#source-values th{border-color:#e5d8ba!important}

.visitor-choice{border:0;padding:0;margin:22px 0}.visitor-choice legend{color:#5c492a;font-size:14px;margin-bottom:10px}.visitor-choice label{display:inline-flex;align-items:center;gap:8px;margin-right:24px;min-height:44px}.visitor-choice input{width:20px;height:20px;accent-color:#a87819}.visitor-followup{background:#fff8e6;padding:20px;border-radius:10px;animation:visitor-reveal .25s ease-out}.visitor-followup[hidden]{display:none}@keyframes visitor-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.visitor-followup{animation:none}}.member-summary{display:flex;gap:10px;flex-wrap:wrap;margin:7px 0 12px}.membership-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin:18px 0 26px}.mobile .membership-stats{grid-template-columns:1fr 1fr}

.attendance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.attendance-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;border-radius:12px;background:#f5f2ea;color:#4c3b21;border:2px solid transparent;min-height:145px}.attendance-card strong{font-size:32px;line-height:1.1}.attendance-card small{color:inherit}.attendance-card[aria-pressed="true"]{border-color:currentColor;box-shadow:0 0 0 2px #fff inset}.attendance-present{background:#def4e5;color:#16592e}.attendance-yellow{background:#fff1b5;color:#6e5000}.attendance-red{background:#fce0df;color:#972622}.mobile .attendance-cards{grid-template-columns:1fr 1fr}@media(max-width:400px){.attendance-cards{grid-template-columns:1fr 1fr}.attendance-card{padding:12px}}
.member-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}.member-pagination span{font-size:13px;color:#75654e}
.membership-link{text-align:left;color:inherit;width:100%}.membership-link:hover{border-color:#a87819;background:#fff8e6}.attendance-months{background:#fce0df;color:#972622}

#children-field[hidden]{display:none!important}

.member-list{display:grid;gap:14px;margin-top:18px}.member-row{border:1px solid #e8dcc4;border-radius:12px;padding:20px;background:#fff}.member-row-main{display:flex;justify-content:space-between;align-items:start;gap:20px}.member-row h3{font-size:18px}.member-summary{align-items:center;color:#75654e;font-size:13px}.member-contact{font-size:13px;color:#65543a;margin:8px 0 14px;overflow-wrap:anywhere}.member-attendance{min-width:190px}.member-attendance select{width:100%}.member-count-only{display:block;background:#faf3e2;color:#765118;padding:12px;border-radius:8px;font-size:13px}.member-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 0}.member-details dt{color:#75654e;font-size:12px}.member-details dd{margin:4px 0 0;overflow-wrap:anywhere}.member-row summary{font-size:13px}.mobile .member-row-main{flex-direction:column}.mobile .member-attendance{width:100%}.mobile .member-details{grid-template-columns:1fr}@media(max-width:600px){.member-row-main{flex-direction:column}.member-attendance{width:100%}.member-details{grid-template-columns:1fr}}

.public-site .app{min-height:100vh}.public-site .header-church-name{min-width:0}.public-site .admin-login-link{flex-shrink:0;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
