:root{--navy:#17233c;--navy2:#0f2f67;--gold:#c99a45;--bg:#f6f7f9;--card:#fff;--text:#17233c;--muted:#6e7788;--border:#e3e7ee;--green:#2f9d5d;--red:#d94d4d;--purple:#7d55c7;--blue:#3c77c6}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#9bb6dc;box-shadow:0 0 0 3px rgba(60,119,198,.12)}label{display:block;font-weight:600;margin:0 0 14px}label small{display:block;font-weight:400;color:var(--muted);margin-top:6px}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.sidebar-brand{padding:28px 24px 22px}.brand{display:flex;gap:12px;align-items:center}.brand-logo{width:46px;height:46px;object-fit:contain}.brand-large .brand-logo{width:68px;height:68px}.cross-mark{font-size:34px;color:var(--gold);line-height:1}.brand-name{font-size:21px;font-weight:700}.brand-sub{font-size:10px;letter-spacing:4px;margin-top:3px;color:#657087}.sidebar nav{padding:6px 14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;margin:3px 0;font-weight:600}.nav-item:hover{background:#f3f6fb}.nav-item.active{background:linear-gradient(135deg,var(--navy2),#153a79);color:#fff}.nav-icon{width:24px;text-align:center;font-size:20px}.nav-section{font-size:10px;letter-spacing:2px;color:#949cab;padding:18px 14px 5px}.sidebar-foot{margin-top:auto;padding:20px}.mission{padding:15px;border:1px solid var(--border);border-radius:12px;color:#4c5870;display:flex;gap:10px}.mission:first-letter{color:var(--gold)}.main-shell{margin-left:270px;min-width:0;flex:1}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 32px;position:sticky;top:0;z-index:10}.topbar-spacer{flex:1}.user-pill{display:flex;align-items:center;gap:10px}.user-pill a{font-size:13px;color:var(--blue)}.avatar,.person-avatar{display:grid;place-items:center;border-radius:50%;background:#eaf1fb;color:var(--navy2);font-weight:700}.avatar{width:38px;height:38px}.content{padding:34px;max-width:1500px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{font-size:31px;margin:0 0 6px}.page-head p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);padding:11px 16px;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(.98)}.btn.primary{background:linear-gradient(135deg,var(--navy2),#153b7e);color:#fff;border-color:transparent}.btn.danger{background:var(--red);color:#fff;border-color:transparent}.btn.small{padding:8px 11px;font-size:13px}.btn.wide{width:100%;margin-top:8px}.card,.list-card,.group-card,.metric-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 15px rgba(23,35,60,.04)}.card{padding:22px}.card h2,.card h3{margin-top:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric-card{padding:20px}.metric-card span{font-size:13px;color:#4f5970}.metric-card b{display:block;font-size:36px;margin:10px 0 4px}.metric-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-grid a{border:1px solid var(--border);border-radius:12px;padding:18px;font-size:22px}.quick-grid a span{font-size:15px;font-weight:700;margin-left:8px}.admin-links{display:grid;gap:10px}.admin-links a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#f8fafc}.admin-links b{font-size:22px;color:var(--gold);min-width:30px}.admin-links span{font-weight:700}.search-row{display:flex;gap:10px;margin-bottom:16px}.person-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.person-row:last-child{border-bottom:0}.person-avatar{width:44px;height:44px;flex:0 0 44px}.person-main{flex:1}.person-main small,.user-id small{display:block;color:var(--muted);margin-top:4px}.person-account{min-width:100px;text-align:right}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef1f5;color:#5f6879}.badge-member,.badge-approved,.badge-active{background:#e7f6ec;color:#237a45}.badge-visitor,.badge-pending{background:#f0eafd;color:#7247b7}.badge-rejected,.badge-inactive{background:#fdeaea;color:#b53636}.badge-waiting-provider{background:#fff4dc;color:#9d6c16}.form-card{max-width:900px}.form-card.compact{max-width:760px;margin-bottom:22px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:18px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.check{display:flex;gap:9px;align-items:flex-start;font-weight:500}.check input{width:auto;margin-top:3px}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-card{padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:start}.group-logo{width:64px;height:64px;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:#fff}.group-logo.placeholder{display:grid;place-items:center;font-size:28px;background:#f2f6fb;color:var(--navy2)}.group-card h3{margin:7px 0 5px}.group-card p{color:var(--muted);margin:0 0 8px}.attendance-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:16px}.attendance-toolbar label{max-width:240px;margin:0}.attendance-list{display:grid;gap:10px}.attendance-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}.status-controls{display:flex;gap:8px}.status-controls label{margin:0}.status-controls input{display:none}.status-controls span{display:inline-flex;padding:9px 13px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.status-controls input:checked+span.present{background:var(--green);color:#fff;border-color:var(--green)}.status-controls input:checked+span.absent{background:var(--red);color:#fff;border-color:var(--red)}.status-controls input:checked+span:not(.present):not(.absent){background:#eef1f5}.feed{display:grid;gap:14px}.feed-item p{line-height:1.55}.feed-item small{color:var(--muted)}.feed-head{display:flex;justify-content:space-between;gap:14px}.user-list{display:grid;gap:12px}.user-admin-row{display:grid;grid-template-columns:1.1fr .55fr 1.4fr auto;gap:14px;align-items:end}.user-admin-row label{margin:0}.user-id{display:flex;gap:12px;align-items:center}.admin-actions{display:flex;gap:7px}.branding-preview{padding:24px;background:#f8fafc;border:1px solid var(--border);border-radius:12px;margin-bottom:20px}.simple-table{display:grid}.tr{display:grid;grid-template-columns:1.1fr .6fr 1.2fr .7fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.tr.th{font-size:12px;color:var(--muted);font-weight:700}.callout{margin-top:18px;background:#fff7e8;border:1px solid #ecd4a2;border-radius:12px;padding:16px}.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px}.flash.success{background:#e7f6ec;color:#237a45}.flash.error{background:#fdeaea;color:#a32929}.muted{color:var(--muted)}.mobile-menu{display:none;background:none;border:0;font-size:24px}.auth-body{background:#f8fafc}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-layout{width:min(1180px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 18px 60px rgba(23,35,60,.08)}.auth-hero{padding:56px;background:linear-gradient(145deg,#f4f8fd,#eef3f8)}.auth-hero h1{font-family:Georgia,serif;font-size:48px;line-height:1.18;margin:48px 0 22px}.auth-hero h1 span{color:var(--navy2)}.auth-hero p{color:#59647a;max-width:520px;line-height:1.6}.auth-features{display:grid;gap:14px;margin-top:32px}.auth-features div{padding:12px 0;border-bottom:1px solid #dce4ee}.auth-features small{display:block;color:var(--muted);margin-top:3px}.auth-card{padding:54px;align-self:center}.auth-card.narrow,.install-card{width:min(560px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 55px rgba(23,35,60,.08)}.auth-brand{margin-bottom:28px}.auth-card h1,.auth-card h2{margin:0 0 8px;font-size:30px}.auth-card .muted{margin-top:0;margin-bottom:24px}.auth-link{text-align:center;margin-top:18px;color:var(--muted)}.auth-link a{color:var(--blue);font-weight:700}hr{border:0;border-top:1px solid var(--border);margin:22px 0}.empty{padding:30px;color:var(--muted);text-align:center}
@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.group-grid{grid-template-columns:1fr}.user-admin-row{grid-template-columns:1fr 1fr}.user-id{grid-column:1/-1}.auth-layout{grid-template-columns:1fr}.auth-hero{display:none}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.mobile-menu{display:block}.content{padding:20px}.topbar{padding:0 20px}.page-head{flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.form-grid.two,.check-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:auto 1fr}.status-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.status-controls span{justify-content:center}.person-account{display:none}.user-admin-row{grid-template-columns:1fr}.auth-shell{padding:14px}.auth-card{padding:30px}.tr{grid-template-columns:1fr 1fr}.tr span:nth-child(3){display:none}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.status-controls{grid-template-columns:1fr 1fr}.status-controls label:last-child{grid-column:1/-1}.person-row{align-items:flex-start}.group-card{grid-template-columns:auto 1fr}.group-card>.btn{grid-column:1/-1}.user-pill span:nth-child(2){display:none}}
.compact-head{margin-top:28px;margin-bottom:14px}.compact-head h2{margin:0}.progress{height:8px;background:#eef1f5;border-radius:999px;overflow:hidden;margin:10px 0}.progress span{display:block;height:100%;background:var(--green);border-radius:inherit}.progress.large{height:10px;margin:-8px 0 22px}.outreach-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px;align-items:start}.outreach-layout aside{display:grid;gap:18px}.map-panel{height:560px;border:1px solid var(--border);border-radius:14px;background:#edf2f6;overflow:hidden}.map-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px;color:var(--muted);gap:8px}.map-fallback b{color:var(--navy);font-size:18px}.map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 4px;color:var(--muted);font-size:13px}.route-location-list{display:grid;max-height:420px;overflow:auto}.route-location-list a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.route-location-list a:last-child{border-bottom:0}.inline-form{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:8px;min-width:245px}.inline-form select{padding:8px}.pickup-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:8px;align-items:end;min-width:650px}.pickup-form label{margin:0;font-size:12px}.pickup-form input,.pickup-form select{padding:8px}.badge-not-visited{background:#eef1f5;color:#5f6879}.badge-no-answer{background:#e2e5e9;color:#3f4652}.badge-good-prospect{background:#e7f6ec;color:#237a45}.badge-completed{background:#e8f1fb;color:#2b66ae}.badge-follow-up-needed,.badge-in-progress{background:#f0eafd;color:#7247b7}.badge-pickup-needed,.badge-requested,.badge-assigned{background:#fff4dc;color:#9d6c16}.badge-do-not-visit,.badge-cancelled{background:#fdeaea;color:#b53636}@media(max-width:1000px){.outreach-layout{grid-template-columns:1fr}.map-panel{height:480px}.pickup-form{grid-template-columns:1fr 1fr;min-width:0}}@media(max-width:600px){.map-panel{height:420px}.pickup-form{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr;min-width:0}.map-legend{font-size:12px}}
.scroll-checks{max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:20px}.attendance-history .tr span small{display:block;color:var(--muted);margin-top:3px}

/* v0.3 user/profile improvements */
.topbar-user{display:flex;align-items:center;gap:12px}.user-profile-button{padding:7px 10px;border-radius:10px}.user-profile-button:hover{background:#f3f6fb}.signout-link{font-size:13px;color:var(--blue)}.avatar-image{object-fit:cover;background:#eef1f5}.user-admin-card{padding:0;overflow:hidden}.user-admin-card summary{list-style:none;cursor:pointer;padding:8px 14px;display:flex;align-items:center;gap:10px;min-height:0}.user-admin-card summary::-webkit-details-marker{display:none}.user-admin-card summary::after{content:'›';margin-left:auto;color:var(--muted);font-size:20px;line-height:1;transition:.2s}.user-admin-card[open] summary::after{transform:rotate(90deg)}.user-admin-card[open] summary{border-bottom:1px solid var(--border)}.user-summary{display:flex;align-items:center;gap:8px;min-height:24px;line-height:1.25}.user-admin-details{padding:18px}.user-meta{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:14px;margin-bottom:18px}.user-meta div{padding:12px;border:1px solid var(--border);border-radius:10px}.user-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.user-primary-actions{margin-top:5px}.danger-zone{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.danger-zone p{margin:5px 0 0;max-width:650px}.profile-edit-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-edit-head h2{margin:0 0 5px}.profile-photo-large{width:88px;height:88px;border-radius:50%;overflow:hidden;background:#eaf1fb;display:grid;place-items:center;color:var(--navy2);font-size:28px;font-weight:700;flex:0 0 88px}.profile-photo-large img{width:100%;height:100%;object-fit:cover}@media(max-width:780px){.user-meta{grid-template-columns:1fr}.danger-zone{flex-direction:column}.topbar-user{gap:6px}.signout-link{display:none}.user-profile-button span:nth-child(2){display:none}}
.expanded-user-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.expanded-user-head small{display:block;color:var(--muted);margin-top:3px}


/* v0.3.1 people, registration sharing, and church feed */
.household-choice{border:1px solid var(--border);border-radius:12px;padding:16px;margin:8px 0 20px;background:#fbfcfe}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;margin:14px 0}.or-divider:before,.or-divider:after{content:"";height:1px;background:var(--border);flex:1}.registration-share{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:18px}.registration-share h2{margin:0 0 6px}.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.share-link-row input{margin:0}.qr-box{width:166px;height:166px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:8px;display:grid;place-items:center}.qr-box img,.qr-box canvas{max-width:150px!important;max-height:150px!important}.feed-actions{display:flex;gap:8px;flex-wrap:wrap}.feed-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.feed-filters a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy)}.feed-filters a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.church-feed{max-width:860px}.feed-message{scroll-margin-top:90px}.feed-type{display:inline-block;font-size:12px;font-weight:700;margin-bottom:5px}.feed-type.prayer{color:#7a4e91}.feed-type.announcement{color:var(--blue)}.feed-thread{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:grid;gap:8px}.feed-reply{background:#f7f9fc;border-radius:10px;padding:10px 12px;display:grid;gap:3px}.feed-reply b{font-size:13px}.feed-reply span{line-height:1.4}.feed-reply small{font-size:11px}.reply-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:5px}.reply-form textarea{margin:0;min-height:54px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.small-link{font-size:11px;display:inline-block;margin-top:4px}
@media(max-width:780px){.registration-share{grid-template-columns:1fr}.share-link-row{grid-template-columns:1fr}.qr-box{margin:auto}.reply-form{grid-template-columns:1fr}.feed-actions{width:100%}}

.feed-highlight{outline:2px solid var(--gold);outline-offset:2px;background:#fffdf7}

/* v0.3.2 navigation, profile, feed, and approval refinements */
.sidebar{overflow:hidden}.sidebar-brand{flex:0 0 auto}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:18px!important;scrollbar-width:thin;scrollbar-color:#cfd6e1 transparent}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:#cfd6e1;border-radius:999px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.profile-photo-thumb{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;flex:0 0 64px!important;border-radius:50%;overflow:hidden;background:#eaf1fb;display:grid;place-items:center;color:var(--navy2);font-size:22px;font-weight:700}.profile-photo-thumb img{display:block;width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;object-fit:cover!important;border-radius:50%}
.person-avatar img,.directory-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.approval-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(150px,.65fr)) auto;gap:10px;align-items:end;margin-bottom:18px}.approval-filters label{margin:0}.approval-filter-actions{display:flex;gap:8px}.approval-count{margin:-6px 0 16px;color:var(--muted);font-size:13px}
.feed-item{padding:0;overflow:hidden}.feed-summary{list-style:none;cursor:pointer;padding:16px 18px}.feed-summary::-webkit-details-marker{display:none}.feed-summary::after{content:'›';float:right;color:var(--muted);font-size:24px;line-height:44px;transition:.2s;margin-left:10px}.feed-item[open] .feed-summary::after{transform:rotate(90deg)}.feed-item[open] .feed-summary{border-bottom:1px solid var(--border)}.feed-summary-grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.feed-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;background:#eaf1fb;display:grid;place-items:center;color:var(--navy2);font-weight:700}.feed-avatar img{width:42px!important;height:42px!important;display:block;object-fit:cover;border-radius:50%}.feed-summary-main{min-width:0}.feed-summary-main h3{margin:2px 0 3px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-author-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.feed-author-line b{font-size:13px}.feed-author-line small{color:var(--muted)}.feed-audience{color:var(--gold);font-size:12px;font-weight:700;text-align:right;max-width:180px}.feed-content{padding:18px}.feed-content>p{margin-top:0}.feed-thread{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:grid;gap:10px}.feed-reply{background:#f7f9fc;border-radius:10px;padding:11px 12px;display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:start}.feed-reply .feed-avatar{width:34px;height:34px;flex-basis:34px}.feed-reply .feed-avatar img{width:34px!important;height:34px!important}.feed-reply-body{min-width:0}.feed-reply-author{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.feed-reply-author b{font-size:13px}.feed-reply-author small{font-size:11px;color:var(--muted)}.feed-reply-message{display:block;line-height:1.5}.feed-collapsed-preview{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.dashboard-feed{max-width:900px}.dashboard-feed .feed-item{box-shadow:none}
@media(max-width:900px){.approval-filters{grid-template-columns:1fr 1fr}.approval-filter-actions{grid-column:1/-1}.feed-summary-grid{grid-template-columns:auto minmax(0,1fr)}.feed-audience{grid-column:2;text-align:left;max-width:none}.feed-summary::after{position:absolute;right:18px}.feed-summary{position:relative;padding-right:48px}}
@media(max-width:600px){.approval-filters{grid-template-columns:1fr}.approval-filter-actions{grid-column:auto}.feed-collapsed-preview{max-width:260px}.profile-edit-head{align-items:flex-start}}
.feed-summary{position:relative;padding-right:48px}.feed-summary::after{position:absolute;right:18px;top:50%;float:none;line-height:1;transform:translateY(-50%)}.feed-item[open] .feed-summary::after{transform:translateY(-50%) rotate(90deg)}


/* v0.3.3 avatar hardening and cache-bust companion rules */
img.avatar,img.avatar-image,.person-avatar>img,img.directory-photo,.profile-photo-thumb>img,.feed-avatar>img{display:block!important;object-fit:cover!important;aspect-ratio:1/1!important;max-width:none}
img.avatar,img.avatar-image{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;border-radius:50%!important}
.person-avatar{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;overflow:hidden!important;border-radius:50%!important}
.person-avatar>img,img.directory-photo{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;border-radius:50%!important}
.profile-photo-thumb{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;max-width:64px!important;max-height:64px!important;overflow:hidden!important;border-radius:50%!important}
.profile-photo-thumb>img{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;max-width:64px!important;max-height:64px!important;border-radius:50%!important}
.feed-avatar{overflow:hidden!important}
.feed-avatar>img{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;border-radius:50%!important}
.feed-reply .feed-avatar>img{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important}

.household-member-preview{display:flex;align-items:center;gap:6px;margin:9px 0 10px;min-height:32px}.household-mini-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:#eaf1fb;color:var(--navy2);display:grid;place-items:center;font-size:10px;font-weight:700;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}.household-mini-avatar img{display:block!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;object-fit:cover!important;border-radius:50%!important}.household-more{font-size:11px;font-weight:700;color:var(--muted);margin-left:2px}

/* v0.3.4 unified icon system, admin center, theme editor, and notification controls */
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:0 0 auto}.nav-icon{width:24px;height:24px;display:grid;place-items:center}.nav-icon .ui-icon{width:20px;height:20px}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text)}.sidebar-brand{background:var(--sidebar-bg)}.nav-item{color:var(--sidebar-text)}.nav-item:hover{background:var(--nav-hover)}.nav-item.active{background:var(--nav-active);color:var(--nav-active-text)}.topbar{background:var(--header-bg)}.card,.list-card,.group-card,.metric-card,.auth-layout,.auth-card,.install-card{background:var(--card)}input,select,textarea{background:var(--card);color:var(--text)}.btn.primary{background:var(--primary-btn);color:var(--primary-btn-text)}.btn.danger{background:var(--red)}.user-profile-button:hover{background:var(--nav-hover)}
.icon-label{display:inline-flex;align-items:center;gap:8px}.icon-label .ui-icon{width:18px;height:18px}.section-title-with-icon{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.section-title-with-icon>.ui-icon{width:24px;height:24px;color:var(--gold);margin-top:1px}.section-title-with-icon h2{margin:0 0 4px}.section-title-with-icon p{margin:0;color:var(--muted)}
.quick-grid a{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700}.quick-grid a>.ui-icon{width:23px;height:23px;color:var(--gold)}.quick-grid a span{margin-left:0}.admin-center-head{display:flex;align-items:center;gap:10px}.admin-center-head>.ui-icon{width:25px;height:25px;color:var(--gold)}.admin-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-center-link{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg));transition:.15s}.admin-center-link:hover{border-color:var(--gold);transform:translateY(-1px)}.admin-center-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--gold) 13%,var(--card));color:var(--gold);flex:0 0 38px}.admin-center-icon .ui-icon{width:21px;height:21px}.admin-center-copy{min-width:0;flex:1}.admin-center-copy b{display:block;font-size:14px}.admin-center-copy small{display:block;color:var(--muted);margin-top:3px}.admin-center-status{font-size:11px;font-weight:800;color:var(--gold);white-space:nowrap}
.branding-layout{display:grid;gap:20px}.theme-editor{max-width:none}.theme-fieldset{border:0;padding:0;margin:22px 0}.theme-fieldset legend{font-weight:800;margin-bottom:10px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-color-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:12px;padding:12px;margin:0;background:var(--card)}.theme-color-row>span:first-child{min-width:0}.theme-color-row b{display:block}.theme-color-row small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.theme-color-control{display:flex;align-items:center;gap:8px;flex:0 0 auto}.theme-color-picker{width:46px;height:38px;padding:3px;border-radius:8px;cursor:pointer}.theme-color-control code{font-size:11px;color:var(--muted);min-width:58px}.theme-preview{display:grid;grid-template-columns:160px 1fr;min-height:250px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg);margin-top:20px}.theme-preview-sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:18px 12px}.theme-preview-logo{font-size:12px;font-weight:900;letter-spacing:2px;margin:0 8px 18px;color:var(--gold)}.theme-preview-link{display:flex;gap:8px;align-items:center;padding:10px;border-radius:8px;font-size:12px;font-weight:700;margin:4px 0}.theme-preview-link .ui-icon{width:16px;height:16px}.theme-preview-link.active{background:var(--nav-active);color:var(--nav-active-text)}.theme-preview-link.hover-sample{background:var(--nav-hover)}.theme-preview-main{min-width:0;background:var(--bg)}.theme-preview-header{padding:16px;background:var(--header-bg);border-bottom:1px solid var(--border);font-weight:800}.theme-preview-body{padding:20px}.theme-preview-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;color:var(--text)}.theme-preview-card p{color:var(--muted);font-size:13px}.theme-preview-accent{display:block;color:var(--gold);font-weight:800;font-size:12px;margin:10px 0}.theme-preview-button{border:0;border-radius:8px;padding:9px 12px;background:var(--primary-btn);color:var(--primary-btn-text);font-weight:800}.theme-contrast-note{margin-top:12px;color:var(--muted);font-size:13px}.restore-theme-form{display:flex;align-items:center;justify-content:space-between;gap:20px}.restore-theme-form p{margin:4px 0 0}
.notification-paused-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--card));padding:15px 16px;border-radius:12px;margin-bottom:18px}.notification-paused-copy{display:flex;align-items:flex-start;gap:10px}.notification-paused-copy>.ui-icon{color:var(--warning);width:22px;height:22px}.queue-controls{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.btn .ui-icon{width:17px;height:17px;margin-right:7px}.btn.icon-only .ui-icon{margin:0}
.followup-assignment{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.followup-assignment .ui-icon{width:15px;height:15px;color:var(--gold)}
.feed-type{display:inline-flex;align-items:center;gap:5px}.feed-type .ui-icon{width:14px;height:14px}.group-logo.placeholder .ui-icon{width:28px;height:28px;color:var(--gold)}
@media(max-width:900px){.theme-grid{grid-template-columns:1fr}.admin-center-grid{grid-template-columns:1fr}.theme-preview{grid-template-columns:120px 1fr}}
@media(max-width:600px){.theme-preview{grid-template-columns:1fr}.theme-preview-sidebar{display:none}.restore-theme-form,.notification-paused-banner{align-items:stretch;flex-direction:column}}
.admin-links a>.ui-icon{width:21px;height:21px;color:var(--gold);flex:0 0 24px}.followup-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.person-avatar>.ui-icon{width:20px;height:20px;color:var(--gold)}
@media(max-width:780px){.followup-metrics{grid-template-columns:1fr}}

/* v0.3.5 themed branding color dialog, destructive actions, and service attendance */
.theme-editor-intro{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--gold) 7%,var(--card));margin:0 0 18px}.theme-editor-intro p{margin:3px 0 0;color:var(--muted);font-size:13px}.theme-editor-mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 15%,var(--card));color:var(--gold);flex:0 0 42px}.theme-editor-mark .ui-icon{width:22px;height:22px}.theme-color-copy{min-width:0}.theme-color-open{border:1px solid var(--border);background:color-mix(in srgb,var(--card) 94%,var(--bg));color:var(--text);border-radius:10px;padding:7px 9px;display:flex;align-items:center;gap:8px;cursor:pointer;min-width:150px;justify-content:flex-start}.theme-color-open:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--card))}.theme-color-swatch{width:30px;height:30px;border-radius:8px;border:1px solid color-mix(in srgb,var(--text) 12%,var(--border));box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 55%,transparent);flex:0 0 30px}.theme-color-open code{color:var(--text);font-size:12px;font-weight:800}.theme-edit-word{margin-left:auto;color:var(--gold);font-size:11px;font-weight:800}.theme-color-dialog{width:min(480px,calc(100% - 28px));border:1px solid var(--border);border-radius:17px;padding:0;background:var(--card);color:var(--text);box-shadow:0 24px 70px rgba(15,35,65,.25)}.theme-color-dialog::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.theme-dialog-head{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--gold) 5%,var(--card))}.theme-dialog-head h2{margin:0 0 3px;font-size:19px}.theme-dialog-head p{margin:0;color:var(--muted);font-size:13px}.theme-dialog-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 14%,var(--card));color:var(--gold);flex:0 0 38px}.theme-dialog-icon .ui-icon{width:20px;height:20px}.theme-dialog-close{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:27px;line-height:1;cursor:pointer;padding:2px 4px}.theme-dialog-body{padding:20px}.theme-dialog-picker-label input[type=color]{height:58px;padding:5px;cursor:pointer}.theme-hex-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--card);overflow:hidden}.theme-hex-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 14%,transparent)}.theme-hex-input span{padding-left:13px;font-weight:900;color:var(--muted)}.theme-hex-input input{border:0;box-shadow:none!important;padding-left:4px;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.theme-dialog-sample{min-height:72px;border-radius:12px;margin-top:16px;padding:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);transition:.12s}.theme-dialog-sample span{font-weight:800}.theme-dialog-sample b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.theme-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--border)}
.danger-zone{border:1px solid color-mix(in srgb,var(--red) 36%,var(--border));background:color-mix(in srgb,var(--red) 4%,var(--card));margin-top:20px}.danger-zone h3{margin-top:0;color:var(--red)}.danger-zone-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.danger-zone-row p{margin:4px 0 0;color:var(--muted)}.feed-delete-row{display:flex;justify-content:flex-end;margin:12px 0 0}.btn.danger-outline{background:transparent;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 55%,var(--border))}.btn.danger-outline:hover{background:color-mix(in srgb,var(--red) 8%,var(--card))}
.service-attendance-card{max-width:620px;margin:0 auto}.service-total-wrap{display:grid;grid-template-columns:1fr;gap:14px}.service-total-wrap label{margin:0}.service-total-input input{font-size:38px;font-weight:900;text-align:center;padding:18px;border:2px solid color-mix(in srgb,var(--gold) 45%,var(--border));background:color-mix(in srgb,var(--gold) 5%,var(--card));width:100%;min-width:0}.service-date-input{width:100%}.service-date-input input{display:block;width:100%;min-width:0}.service-roster-notice{margin:18px 0 0}.service-attendance-note{display:flex;gap:10px;align-items:flex-start;color:var(--muted);margin:8px 0 18px}.service-attendance-note .ui-icon{color:var(--gold);flex:0 0 20px}.service-badge{color:var(--gold);font-weight:800;font-size:12px}.attendance-history.service-history .tr{grid-template-columns:1fr 130px}.group-type-note{padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--gold) 7%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 24%,var(--border));color:var(--muted);font-size:13px;margin:0 0 16px}
@media(max-width:600px){.theme-color-row,.danger-zone-row{align-items:stretch;flex-direction:column}.theme-color-open{width:100%}.service-attendance-card{margin:0}.theme-dialog-actions{flex-direction:column-reverse}.theme-dialog-actions .btn{width:100%}}
.followup-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* v0.3.6 directory, roster, celebrations, and feed-reply refinements */
.person-name-link{color:var(--text);text-decoration:none}.person-name-link:hover{color:var(--gold);text-decoration:underline}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.profile-view-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.profile-view-card h2{margin-bottom:5px}.profile-detail-list{display:grid;gap:0;margin-top:18px;border-top:1px solid var(--border)}.profile-detail-list>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.profile-detail-list span{color:var(--muted);font-size:13px}.read-only-roster{display:grid;gap:8px}.roster-link{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--card)}.roster-link:hover{border-color:var(--gold)}.roster-link>span:first-child{color:var(--gold)}.roster-link small{display:block;color:var(--muted);margin-top:2px}.read-only-notice{border-style:dashed}.household-anniversary{display:flex;gap:6px;align-items:center;color:var(--gold);margin:8px 0}.household-anniversary .ui-icon{width:15px;height:15px}.upcoming-card{margin:18px 0}.upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upcoming-item{display:grid;grid-template-columns:46px 34px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--card);color:var(--text)}.upcoming-item:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 4%,var(--card))}.upcoming-date{width:46px;text-align:center;border-right:1px solid var(--border);padding-right:8px}.upcoming-date b{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.upcoming-date strong{font-size:20px;line-height:1}.upcoming-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 10%,var(--card));color:var(--gold)}.upcoming-icon .ui-icon{width:17px;height:17px}.upcoming-icon.birthday{color:var(--blue)}.upcoming-copy b{display:block}.upcoming-copy small{display:block;color:var(--muted);margin-top:2px}.dashboard-feed-title{margin:24px 0 10px}.feed-delete-action{appearance:none;border:0;background:transparent;color:color-mix(in srgb,var(--red) 72%,var(--muted));padding:4px 5px;font:inherit;font-size:11px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:6px}.feed-delete-action .ui-icon{width:13px;height:13px}.feed-delete-action:hover{color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--card))}.feed-reply-actions{display:flex;justify-content:flex-end;margin-top:7px}.feed-delete-action.reply-delete{padding:2px 4px;font-size:10px}.feed-delete-row{margin-top:6px}.feed-delete-row .feed-delete-action{margin-left:auto}.feed-reply-message{margin-top:1px}
@media(max-width:760px){.profile-view-grid{grid-template-columns:1fr}.upcoming-list{grid-template-columns:1fr}.profile-detail-list>div{grid-template-columns:1fr;gap:3px}}

/* Outreach Maps */
.outreach-map-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:14px 16px}.outreach-map-toolbar label{margin:0;min-width:190px}.outreach-map-toolbar select{padding:9px 10px}.outreach-map-toolbar .btn{margin-bottom:1px}.master-map-panel{height:650px}.outreach-master-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.master-route-list{display:grid;gap:8px;max-height:650px;overflow:auto}.master-route-list h3{margin:0 0 4px}.master-route-card{display:block;padding:12px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.master-route-card:hover{border-color:var(--gold)}.master-route-card b,.master-route-card small{display:block}.master-route-card small{color:var(--muted);margin-top:3px}.status-legend .legend-item{display:inline-flex;align-items:center;gap:6px}.status-legend .legend-item i{width:10px;height:10px;border-radius:50%;display:inline-block;background:#8b95a7}.status-legend .status-no-answer i{background:#454b57}.status-legend .status-good-prospect i{background:var(--green)}.status-legend .status-completed i{background:#2E78D2}.status-legend .status-follow-up-needed i{background:#6d55c7}.status-legend .status-pickup-needed i{background:var(--gold)}.status-legend .status-do-not-visit i{background:var(--red)}
.route-map-panel{height:610px}.route-map-toolbar{position:relative}.map-builder-card{display:grid;gap:12px}.map-builder-card h3{margin:0}.map-search-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.map-search-row label{margin:0}.map-search-status{font-size:12px;color:var(--muted);min-height:18px}.boundary-actions{margin:0;flex-wrap:wrap}.route-list-card{min-width:0}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card-title-row h2,.card-title-row h3{margin:0}.route-count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--gold) 14%,var(--card));color:var(--gold);font-weight:800;font-size:12px}.route-location-list a{display:grid;grid-template-columns:minmax(0,1fr) auto}.route-location-copy{min-width:0}.route-location-copy b,.route-location-copy small{display:block}.route-location-copy b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-location-copy small{color:var(--muted);margin-top:2px}.map-info{display:grid;gap:5px;min-width:190px;max-width:260px;font-family:inherit;color:#17233c}.map-info b{font-size:14px}.map-info span{font-size:12px;font-weight:700}.map-info small{font-size:11px;color:#6e7788}.map-info-link{display:inline-block;margin-top:5px;font-size:12px;font-weight:800;color:#17233c}.map-info-link.secondary{margin-top:0;color:#6e7788}.territory-map-editor{margin-top:18px}.territory-map-panel{height:460px;margin-top:12px}.maps-admin-grid{align-items:start}.maps-setup-guide ol{padding-left:20px;line-height:1.7}.maps-setup-guide li{margin-bottom:7px}
.outreach-location-grid{align-items:start}.visit-card h2{margin-bottom:4px}.outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.outcome-option{margin:0}.outcome-option input{position:absolute;opacity:0;pointer-events:none}.outcome-option span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-size:13px;font-weight:700;cursor:pointer}.outcome-option input:checked+span{border-color:var(--primary-btn);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-btn) 15%,transparent);background:color-mix(in srgb,var(--primary-btn) 6%,var(--card))}.outcome-do-not-visit input:checked+span{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--card));color:var(--red)}.outcome-pickup-needed input:checked+span{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--card))}.outcome-good-prospect input:checked+span{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--card));color:var(--green)}.outcome-completed input:checked+span{border-color:#2E78D2;background:color-mix(in srgb,#2E78D2 8%,var(--card));color:#2E78D2}.compact-admin-form{margin-top:12px}.prominent-alert{display:flex;gap:12px;align-items:center}.visit-history .feed-item{border:1px solid var(--border);border-radius:11px;padding:13px}
body.outreach-field-mode .sidebar{display:none}body.outreach-field-mode .main-shell{margin-left:0}body.outreach-field-mode .topbar{height:56px}body.outreach-field-mode .content{padding:14px}body.outreach-field-mode .route-map-panel{height:calc(100vh - 245px);min-height:470px}body.outreach-field-mode .outreach-route-head p{margin-bottom:0}body.outreach-field-mode .map-legend{display:none}body.outreach-field-mode .route-work-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.65fr)}
@media(max-width:1000px){.outreach-master-layout{grid-template-columns:1fr}.master-route-list{max-height:none}.master-map-panel{height:520px}body.outreach-field-mode .route-work-layout{grid-template-columns:1fr}body.outreach-field-mode .route-map-panel{height:62vh;min-height:430px}}
@media(max-width:650px){.outreach-map-toolbar{display:grid;grid-template-columns:1fr 1fr}.outreach-map-toolbar label{min-width:0;grid-column:span 1}.outreach-map-toolbar .btn{justify-content:center}.master-map-panel,.route-map-panel{height:58vh;min-height:390px}.map-search-row{grid-template-columns:1fr}.outcome-grid{grid-template-columns:1fr 1fr}.route-location-list a{grid-template-columns:minmax(0,1fr)}.route-location-list a>.badge{grid-column:1;margin-top:6px;justify-self:start}body.outreach-field-mode .topbar{display:none}body.outreach-field-mode .content{padding:8px}body.outreach-field-mode .page-head{gap:8px;margin-bottom:10px}body.outreach-field-mode .route-map-toolbar{position:sticky;top:0;z-index:10;margin-bottom:8px}body.outreach-field-mode .route-map-panel{height:64vh;min-height:420px}}

.inline-button-form{margin:0;display:inline-flex}

.followup-assign-form{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr) auto;gap:7px;align-items:center;min-width:min(640px,100%)}.followup-assign-form select{padding:8px}.followup-assign-form .muted{font-size:12px;text-align:center}@media(max-width:800px){.followup-assign-form{grid-template-columns:1fr}.followup-assign-form .muted{display:none}}


/* v0.4.4 attendance reporting and group chart colors */
.group-color-editor{display:grid;grid-template-columns:54px minmax(0,180px);gap:10px;align-items:center;margin-top:7px}.group-color-editor input[type=color]{width:54px;height:44px;padding:4px;cursor:pointer}.group-color-editor input[type=text]{text-transform:uppercase}.group-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--group-color,#3C77C6);margin-right:6px;vertical-align:1px}.attendance-report-card{margin:20px 0}.attendance-report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.attendance-report-filters{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr)) auto;gap:10px;align-items:end;margin:0 0 18px}.attendance-report-filters label{margin:0;font-size:12px;color:var(--muted)}.attendance-report-filters select,.attendance-report-filters input{margin-top:5px;padding:9px 10px}.attendance-filter-actions{display:flex;gap:7px;align-items:center}.attendance-chart-shell{border:1px solid var(--border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--card) 98%,var(--bg));overflow:hidden}.attendance-chart{display:block;width:100%;height:auto;min-height:300px}.attendance-chart .grid-line{stroke:var(--border);stroke-width:1}.attendance-chart .axis-text{fill:var(--muted);font-size:11px}.attendance-chart .series-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.attendance-chart .series-point{stroke:var(--card);stroke-width:2}.attendance-chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.attendance-chart-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.attendance-chart-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.attendance-chart-empty{padding:42px 16px;text-align:center;color:var(--muted)}
@media(max-width:900px){.attendance-report-filters{grid-template-columns:1fr 1fr}.attendance-report-filters .attendance-filter-actions{grid-column:1/-1}.attendance-chart{min-height:260px}}@media(max-width:560px){.attendance-report-filters{grid-template-columns:1fr}.attendance-report-filters .attendance-filter-actions{grid-column:auto}.group-color-editor{grid-template-columns:54px 1fr}}

/* v0.4.5 modern outreach house markers + interactive attendance points */
.outreach-house-marker{--marker-color:#8B95A7;width:36px;height:36px;border:4px solid #fff;border-radius:50%;background:var(--marker-color);color:#fff;display:grid;place-items:center;box-sizing:border-box;box-shadow:0 2px 7px rgba(23,35,60,.28);transition:transform .15s ease,box-shadow .15s ease,border-width .15s ease;cursor:pointer}.outreach-house-marker svg{width:17px;height:17px;display:block}.outreach-house-marker:hover,.outreach-house-marker.selected{transform:scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 55%,transparent),0 4px 10px rgba(23,35,60,.3)}.outreach-house-marker.pending{width:38px;height:38px;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 50%,transparent),0 3px 8px rgba(23,35,60,.28)}
.attendance-chart-shell{position:relative}.attendance-chart .series-point{cursor:pointer;stroke-width:2.5;transition:stroke-width .12s ease,filter .12s ease}.attendance-chart .series-point:hover,.attendance-chart .series-point:focus,.attendance-chart .series-point.active{stroke-width:4;filter:drop-shadow(0 1px 3px rgba(23,35,60,.28));outline:none}.attendance-chart-tooltip{position:absolute;z-index:8;transform:translate(-50%,-100%);max-width:260px;padding:8px 10px;border-radius:9px;background:var(--text);color:var(--card);font-size:12px;font-weight:700;line-height:1.35;box-shadow:0 5px 16px rgba(23,35,60,.22);pointer-events:none;white-space:nowrap}.attendance-chart-tooltip::after{content:'';position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--text);border-bottom:0}.attendance-chart-tooltip[hidden]{display:none}

/* v0.4.6 attendance tooltip layout */
.attendance-chart-tooltip{white-space:normal;min-width:135px;max-width:220px;text-align:left}
.attendance-tooltip-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-tooltip-line-1{font-size:11px;font-weight:600;opacity:.82;margin-bottom:2px}
.attendance-tooltip-line-2{font-size:12px;font-weight:700;margin-bottom:3px}
.attendance-tooltip-line-3{font-size:15px;font-weight:800;line-height:1.15}
.attendance-enabled-setting{margin:4px 0 20px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.attendance-enabled-setting span>b{display:block}.attendance-enabled-setting small{margin-top:3px}.attendance-off-label{display:block;margin-top:6px;color:var(--muted);font-weight:700}
.attendance-chart-shell{overflow:visible}

/* v0.4.7 Outreach route labels, route profile images, and zoom-aware house markers */
.route-profile-image{width:64px;height:64px;min-width:64px;min-height:64px;max-width:64px;max-height:64px;border-radius:14px;object-fit:cover;border:1px solid var(--border);background:var(--card)}
.route-profile-image.placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 10%,var(--card));color:var(--gold)}
.route-profile-image.placeholder .ui-icon{width:28px;height:28px}.route-image-setting{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center}.route-image-setting input[type=file]{min-width:0}.route-image-field{margin:0 0 18px}.route-image-field>label{margin-bottom:8px}.subtle-check{margin:9px 0 0 78px}.route-title-block{display:flex;align-items:center;gap:14px}.route-head-image{width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;max-height:56px;border-radius:13px}.route-head-image.placeholder .ui-icon{width:25px;height:25px}.route-profile-card .route-profile-image{width:64px;height:64px}
.route-area-label{--route-color:#C99A45;color:var(--route-color);background:rgba(255,255,255,.92);border:2px solid currentColor;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 8px rgba(23,35,60,.15);text-shadow:0 1px 0 #fff;pointer-events:none}
.route-color-guide{display:flex;flex-wrap:wrap;gap:8px 14px;padding:4px 4px 14px}.route-color-guide a{color:var(--route-color);font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:6px}.route-color-guide a::before{content:'';width:11px;height:4px;border-radius:999px;background:currentColor}.route-color-guide a:hover{text-decoration:underline}
.master-route-card{display:grid!important;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center}.master-route-image{width:40px;height:40px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:var(--card)}.master-route-image.placeholder{display:grid;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--card))}.master-route-image.placeholder .ui-icon{width:20px;height:20px}.master-route-copy{min-width:0}.master-route-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-progress span{background:var(--route-color)!important}
@media(max-width:600px){.route-title-block{align-items:flex-start}.route-head-image{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px}.route-image-setting{grid-template-columns:54px minmax(0,1fr)}.route-image-setting .route-profile-image{width:54px;height:54px;min-width:54px;min-height:54px;max-width:54px;max-height:54px}.subtle-check{margin-left:0}}

/* v0.5.0 lightweight PWA */
.pwa-install-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:18px 20px;border-left:4px solid var(--gold)}
.pwa-install-card[hidden]{display:none!important}.pwa-install-copy{display:flex;align-items:center;gap:14px}.pwa-install-copy h2{margin:0 0 3px}.pwa-install-copy p{margin:0;color:var(--muted)}.pwa-install-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--gold) 15%,var(--card));color:var(--gold);flex:0 0 auto}.pwa-install-icon .ui-icon{width:22px;height:22px}.pwa-install-dialog{max-width:440px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.2)}.pwa-install-dialog::backdrop{background:rgba(15,23,42,.5)}.pwa-dialog-head{display:flex;justify-content:space-between;gap:12px}.pwa-dialog-head h2{margin:0}.pwa-dialog-head p{margin:4px 0 0;color:var(--muted)}.pwa-install-dialog ol{margin:20px 0 0;padding-left:24px}.pwa-install-dialog li{margin:10px 0}
.pwa-branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pwa-icon-preview{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.pwa-icon-preview img{width:64px;height:64px;border-radius:16px;object-fit:contain;background:var(--card);border:1px solid var(--border)}
.push-device-panel{margin-top:18px}.push-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.push-status-copy{display:flex;align-items:center;gap:12px}.push-status-copy .ui-icon{width:22px;height:22px;color:var(--gold)}.push-device-list{display:grid;gap:10px;margin-top:12px}.push-device-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px}.push-device-row small{display:block;color:var(--muted);margin-top:3px}.push-help{margin-top:10px;color:var(--muted);font-size:.92rem}
@media(max-width:700px){.pwa-install-card{align-items:flex-start;flex-direction:column}.pwa-install-card .btn{width:100%}.pwa-branding-grid{grid-template-columns:1fr}.push-status,.push-device-row{align-items:flex-start;flex-direction:column}}

/* v0.5.2 account security + consistent group identity images */
.remember-device-option{margin:8px 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.remember-device-option .check{margin:0}.remember-device-option small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.login-support-row{display:flex;justify-content:flex-end;margin:-2px 0 8px}.login-support-row a{font-size:13px;color:var(--blue);font-weight:700}.trusted-device-list{display:grid;gap:10px}.trusted-device-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.trusted-device-row small{display:block;color:var(--muted);margin-top:4px}.account-security-panel{display:grid;gap:12px}.account-security-actions{align-items:end;justify-content:flex-start;flex-wrap:wrap}.group-inline-avatar,.group-mini-avatar,.group-section-avatar{display:grid;place-items:center;overflow:hidden;object-fit:cover;border:1px solid var(--border);background:var(--card);color:var(--navy2);flex:0 0 auto}.group-inline-avatar{width:38px;height:38px;border-radius:10px}.group-mini-avatar{width:24px;height:24px;border-radius:7px;display:inline-grid;vertical-align:middle;margin-right:5px}.group-section-avatar{width:44px;height:44px;border-radius:11px}.group-inline-avatar.ui-icon,.group-mini-avatar.ui-icon,.group-section-avatar.ui-icon{padding:7px}.group-identity-image{object-fit:cover}.group-membership-icon{display:inline-flex;align-items:center}.followup-assignment .group-mini-avatar{margin-right:2px}.attendance-group-identity{margin-bottom:14px;padding:14px}.branding-favicon-note{margin-top:8px;color:var(--muted);font-size:13px}.branding-favicon-note b{color:var(--text)}
@media(max-width:650px){.trusted-device-row{align-items:flex-start;flex-direction:column}.account-security-actions{align-items:stretch}.account-security-actions .btn{width:100%}}
.group-inline-avatar .ui-icon{width:20px;height:20px}.group-mini-avatar .ui-icon{width:14px;height:14px}.group-section-avatar .ui-icon{width:24px;height:24px}

/* v0.5.3 profile upload, PWA splash, push-only notifications, and management permissions */
.pwa-launch-splash{position:fixed;inset:0;z-index:9999;background:var(--pwa-splash-bg,#17233C);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;transition:opacity .25s ease;pointer-events:none}.pwa-launch-splash[hidden]{display:none}.pwa-launch-splash.hide{opacity:0}.pwa-launch-splash img{width:112px;height:112px;max-width:42vw;max-height:42vw;object-fit:contain;border-radius:24px}.pwa-launch-splash span{font-weight:800;letter-spacing:.01em}.compact-section-title{margin-top:6px}.compact-section-title h3{margin:0}.splash-branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pwa-splash-preview{background:var(--preview-splash-bg,#17233C);min-height:180px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:#fff;border:1px solid var(--border);margin:0 0 18px}.pwa-splash-preview img{width:78px;height:78px;object-fit:contain;border-radius:16px}.person-roster-editor{display:grid;gap:8px}.person-membership-readonly{display:flex;flex-wrap:wrap;gap:8px}.person-membership-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:13px;font-weight:700}.person-membership-chip .group-mini-avatar{margin:0}.lead-permission-note{padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--muted);font-size:13px;margin-bottom:16px}.push-only-note{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--gold) 10%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 28%,var(--border));margin-bottom:16px}.push-only-note b{display:block;margin-bottom:3px}
@media(max-width:650px){.splash-branding-grid{grid-template-columns:1fr}}

/* v0.5.4 dashboard, announcement imagery, and group/class chats */
.dashboard-latest-feed{margin:18px 0 22px}.dashboard-feed-more{display:flex;justify-content:flex-end;margin-top:10px}.announcement-feed-image,.announcement-dashboard-image{display:block;width:100%;max-width:760px;max-height:440px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg));margin:14px auto}.announcement-dashboard-image{max-height:300px}.announcement-image-link{display:block}.announcement-expiry{display:inline-flex;margin:5px 0 10px;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--gold) 10%,var(--card));color:var(--gold);font-size:12px;font-weight:700}.optional{color:var(--muted);font-weight:400;font-size:12px}.expired-announcements{margin-top:20px}.expired-announcement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.expired-announcement-row:last-child{border-bottom:0}.expired-announcement-row small{display:block;color:var(--muted);margin-top:2px}
.chat-layout{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:16px;align-items:start}.chat-list-panel{padding:14px}.chat-list-panel h2{margin:2px 0 12px}.chat-list{display:grid;gap:6px}.chat-list-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border-radius:10px;color:var(--text);border:1px solid transparent}.chat-list-item:hover{background:var(--nav-hover)}.chat-list-item.active{background:color-mix(in srgb,var(--gold) 9%,var(--card));border-color:color-mix(in srgb,var(--gold) 42%,var(--border))}.chat-list-item small{display:block;color:var(--muted);margin-top:2px}.chat-group-image{width:40px!important;height:40px!important;border-radius:10px;object-fit:cover;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--gold) 8%,var(--card));color:var(--gold)}.chat-group-image .ui-icon{width:20px;height:20px}.chat-available{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.chat-available h3{font-size:13px;margin:0 0 8px;color:var(--muted)}.chat-join-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0}.chat-join-row .chat-group-image{width:34px!important;height:34px!important}.chat-panel{padding:0;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.chat-title{display:flex;align-items:center;gap:11px;min-width:0}.chat-title h2{margin:0}.chat-title small{color:var(--muted)}.chat-title-image{width:46px!important;height:46px!important;min-width:46px;border-radius:11px;object-fit:cover;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--gold) 8%,var(--card));color:var(--gold)}.chat-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.chat-messages{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:300px;background:color-mix(in srgb,var(--bg) 56%,var(--card))}.chat-message{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:start;max-width:86%}.chat-message.mine{align-self:flex-end;grid-template-columns:minmax(0,1fr) 38px}.chat-message.mine .chat-avatar{grid-column:2}.chat-message.mine .chat-bubble{grid-column:1;grid-row:1;background:color-mix(in srgb,var(--gold) 10%,var(--card))}.chat-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eaf1fb;color:var(--navy2);font-weight:700}.chat-avatar img{width:38px!important;height:38px!important;object-fit:cover!important;border-radius:50%}.chat-bubble{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:10px 12px;min-width:0}.chat-message-meta{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin-bottom:5px}.chat-message-meta b{font-size:13px}.chat-message-meta small{font-size:11px;color:var(--muted)}.chat-message-text{line-height:1.5;word-break:break-word}.chat-image-link{display:block;margin-top:8px}.chat-image{display:block;max-width:min(100%,560px);max-height:420px;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.chat-message-delete{display:flex;justify-content:flex-end;margin-top:4px}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:end;padding:13px 16px;border-top:1px solid var(--border);background:var(--card)}.chat-compose textarea{min-height:54px;margin:0}.chat-image-picker{display:inline-flex!important;align-items:center;gap:5px;padding:9px 10px!important;border:1px solid var(--border);border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;margin:0!important;white-space:nowrap}.chat-image-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chat-image-picker .ui-icon{width:15px;height:15px}.chat-empty{text-align:center;padding:50px 20px}.chat-empty .ui-icon{width:36px;height:36px;color:var(--gold)}.chat-member-list{display:grid;gap:5px}.chat-member-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.chat-member-row:last-child{border-bottom:0}.chat-member-row small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:860px){.chat-layout{grid-template-columns:1fr}.chat-list-panel{display:none}.chat-panel{order:0}.chat-message{max-width:94%}}
@media(max-width:600px){.chat-list{grid-template-columns:1fr}.chat-head{align-items:flex-start;flex-direction:column}.chat-head-actions{width:100%}.chat-compose{grid-template-columns:1fr 1fr}.chat-compose textarea{grid-column:1/-1}.chat-compose .btn{width:100%;justify-content:center}.chat-message{max-width:100%}.announcement-feed-image{max-height:340px}}

/* v0.5.5 dashboard and top-bar chat refinements */
.topbar-chat-button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;font-weight:700;background:var(--card);transition:background .15s,border-color .15s,color .15s}.topbar-chat-button:hover{background:var(--nav-hover);border-color:color-mix(in srgb,var(--gold) 45%,var(--border));color:var(--gold)}.topbar-chat-button .ui-icon{width:18px;height:18px}.topbar-chat-button span{line-height:1}
@media(max-width:600px){.topbar-chat-button{padding:8px}.topbar-chat-button span{display:none}.topbar-user{gap:5px}}

/* v1.5.6 account email settings, chat attachment confirmation, and announcement thumbnails */
.account-email-settings{margin:16px 0}.account-email-form{padding:0;border:0;box-shadow:none;background:transparent;max-width:760px}.account-email-form label{margin-bottom:12px}.account-email-test{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;padding-top:14px;border-top:1px solid var(--border)}
.feed-collapsed-image-preview{display:flex;align-items:center;gap:9px;width:min(100%,340px);margin-top:9px;padding:7px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--card) 88%,var(--bg));overflow:hidden}.feed-collapsed-image-preview img{display:block;width:108px;height:72px;object-fit:contain;border-radius:7px;background:var(--bg);border:1px solid var(--border)}.feed-collapsed-image-preview span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.feed-collapsed-image-preview .ui-icon{width:15px;height:15px;color:var(--gold)}
.chat-attachment-preview{grid-column:1/-1;display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--gold) 8%,var(--card))}.chat-attachment-preview[hidden]{display:none}.chat-attachment-preview img{display:block;width:62px;height:48px;object-fit:cover;border-radius:7px;border:1px solid var(--border);background:var(--bg)}.chat-attachment-copy{min-width:0}.chat-attachment-copy b{display:block;font-size:12px;color:var(--text)}.chat-attachment-copy span{display:block;margin-top:2px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachment-remove{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.chat-attachment-remove:hover{color:var(--red);border-color:var(--red)}
@media(max-width:600px){.feed-collapsed-image-preview{width:100%}.feed-collapsed-image-preview img{width:88px;height:62px}.account-email-test{align-items:flex-start;flex-direction:column}.chat-attachment-preview{grid-template-columns:52px minmax(0,1fr) auto}.chat-attachment-preview img{width:52px;height:44px}}

/* v1.5.8 scalability, pagination, and queue-worker refinements */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:18px 0 2px}.page-button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font-size:13px;font-weight:700}.page-button:hover{border-color:color-mix(in srgb,var(--gold) 45%,var(--border));color:var(--gold)}.page-button.current{background:var(--primary-btn);border-color:var(--primary-btn);color:var(--primary-btn-text);cursor:default}.page-gap{padding:0 3px;color:var(--muted)}.result-count{margin:-5px 0 14px;color:var(--muted);font-size:13px}.chat-history-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--card)}.chat-history-nav .muted{font-size:12px}.worker-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.worker-status-card{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--bg)}.worker-status-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.worker-status-card b{display:block;font-size:20px;margin-top:3px}.cron-command{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;user-select:all}.queue-health-note{margin-top:12px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:13px}.queue-health-note b{display:block;margin-bottom:3px}
@media(max-width:780px){.worker-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.worker-status-grid{grid-template-columns:1fr}.pagination{justify-content:flex-start}.chat-history-nav{align-items:flex-start;flex-direction:column}}

/* v1.5.9 feed reactions */
.feed-reaction-row{display:flex;align-items:center;margin:12px 0 2px}.feed-reaction-form{margin:0}.feed-reaction-button{appearance:none;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 96%,var(--bg));color:var(--muted);border-radius:999px;min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.feed-reaction-button:hover{border-color:var(--gold);color:var(--text);background:color-mix(in srgb,var(--gold) 6%,var(--card))}.feed-reaction-button.active{border-color:color-mix(in srgb,var(--gold) 60%,var(--border));background:color-mix(in srgb,var(--gold) 11%,var(--card));color:var(--text)}.feed-reaction-button .reaction-emoji{font-size:17px;line-height:1}.feed-reaction-button strong{min-width:20px;padding-left:7px;border-left:1px solid color-mix(in srgb,var(--border) 80%,transparent);text-align:center;color:var(--gold)}

/* v1.6.0 chat default */
.chat-default-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.chat-default-card h2{margin:0 0 4px}.chat-default-card p{margin:0;max-width:720px}.chat-default-card .inline-form{min-width:min(420px,100%)}@media(max-width:900px){.chat-default-card{display:none}}


/* v1.6.1 mobile chat switcher + collapsed feed engagement counts */
.mobile-chat-switcher{display:none;position:relative}.mobile-chat-switcher-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:38px;min-width:42px;padding:0 9px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer}.mobile-chat-switcher-button:hover,.mobile-chat-switcher-button[aria-expanded="true"]{background:var(--nav-hover);border-color:color-mix(in srgb,var(--gold) 45%,var(--border));color:var(--gold)}.mobile-chat-switcher-button .ui-icon{width:18px;height:18px}.mobile-chat-switcher-label{font-size:13px;font-weight:800;line-height:1;white-space:nowrap}.mobile-chat-switcher-button .mobile-chat-switcher-chevron{width:12px;height:12px}.mobile-chat-switcher-menu{position:absolute;right:0;top:calc(100% + 9px);width:min(330px,calc(100vw - 22px));max-height:min(70vh,520px);overflow:auto;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:13px;box-shadow:0 16px 40px rgba(23,35,60,.18);z-index:50}.mobile-chat-switcher-menu[hidden]{display:none}.mobile-chat-switcher-title{padding:6px 8px 8px;font-size:12px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.mobile-chat-switcher-title.secondary{padding-top:8px;color:var(--muted)}.mobile-chat-switcher-empty{padding:8px;color:var(--muted);font-size:13px}.mobile-chat-switcher-item,.mobile-chat-switcher-join{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border-radius:10px;color:var(--text)}.mobile-chat-switcher-item{grid-template-columns:36px minmax(0,1fr)}.mobile-chat-switcher-item:hover,.mobile-chat-switcher-item.active{background:color-mix(in srgb,var(--gold) 9%,var(--card))}.mobile-chat-switcher-item.active{outline:1px solid color-mix(in srgb,var(--gold) 35%,var(--border))}.mobile-chat-switcher-item b,.mobile-chat-switcher-join b{display:block;font-size:13px}.mobile-chat-switcher-item small,.mobile-chat-switcher-join small{display:block;margin-top:1px;color:var(--muted);font-size:11px}.mobile-chat-switcher-image{width:36px!important;height:36px!important;border-radius:9px;object-fit:cover;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--gold) 8%,var(--card));color:var(--gold)}.mobile-chat-switcher-image .ui-icon{width:18px;height:18px}.mobile-chat-switcher-divider{height:1px;background:var(--border);margin:7px 2px}.mobile-chat-switcher-join{margin:0}.mobile-chat-switcher-join .btn{padding:6px 9px;min-height:32px}.feed-preview-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:12px}.feed-preview-stat{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.feed-preview-stat .ui-icon{width:15px;height:15px}.feed-preview-stat b{color:var(--text);font-size:12px}.feed-preview-stat.reaction .feed-preview-emoji{font-size:15px;line-height:1}.feed-item[open] .feed-preview-stats{opacity:.75}
@media(max-width:860px){.mobile-chat-switcher{display:block}.topbar-user{position:relative}.chat-list-panel{display:none}}
@media(max-width:600px){.mobile-chat-switcher-menu{position:fixed;top:69px;right:10px;left:10px;width:auto;max-height:calc(100vh - 82px)}.feed-preview-stats{gap:10px}.feed-preview-stat span:last-child{display:none}}

/* v1.6.1 mobile orientation correction: touch/mobile devices keep the mobile shell and Chats switcher in landscape. */
@media (hover:none) and (pointer:coarse) and (max-width:1100px){
  .sidebar{transform:translateX(-100%);transition:.2s}
  .sidebar.open{transform:translateX(0)}
  .main-shell{margin-left:0}
  .mobile-menu{display:block}
  .content{padding:20px}
  .topbar{padding:0 20px}
  .page-head{flex-direction:column}
  .topbar-user{gap:5px;position:relative}
  .signout-link{display:none}
  .user-profile-button span:nth-child(2){display:none}
  .topbar-chat-button{padding:8px}
  .topbar-chat-button span{display:none}
  .chat-layout{grid-template-columns:1fr}
  .chat-list-panel{display:none}
  .chat-panel{order:0}
  .chat-message{max-width:94%}
  .mobile-chat-switcher{display:block}
  .mobile-chat-switcher-button{width:auto;min-width:max-content;flex:0 0 auto;padding:0 10px}
  .mobile-chat-switcher-label{display:inline!important;visibility:visible!important;opacity:1!important;flex:0 0 auto;max-width:none!important}
}

/* Keep the selector text visible even on very narrow portrait phones. */
@media(max-width:860px){
  .mobile-chat-switcher-button{width:auto;min-width:max-content;flex:0 0 auto}
  .mobile-chat-switcher-label{display:inline!important;visibility:visible!important;opacity:1!important;flex:0 0 auto;max-width:none!important}
}

/* v1.6.2 attendance report management */
.attendance-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.attendance-history.has-actions .tr{grid-template-columns:1.1fr .55fr .55fr minmax(255px,1.45fr)}.attendance-history.service-history.has-actions .tr{grid-template-columns:1fr 110px minmax(150px,.75fr)}.attendance-record-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.attendance-record-actions form{margin:0}.attendance-record-actions .btn{gap:5px}.attendance-record-actions .ui-icon{width:15px;height:15px}.attendance-delete-button{color:var(--red);border-color:color-mix(in srgb,var(--red) 28%,var(--border));background:color-mix(in srgb,var(--red) 4%,var(--card))}.attendance-delete-button:hover{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--card))}
@media(max-width:780px){.attendance-history.has-actions .tr{grid-template-columns:1fr auto}.attendance-history.service-history.has-actions .tr{grid-template-columns:1fr 70px auto}.attendance-history.has-actions .tr span:nth-child(2),.attendance-history.has-actions .tr span:nth-child(3){display:none}.attendance-history.has-actions .tr span:nth-child(4){display:flex}.attendance-history.service-history.has-actions .tr span:nth-child(2){display:block}.attendance-history.service-history.has-actions .tr span:nth-child(3){display:flex}.attendance-record-actions{justify-content:flex-end}.attendance-card-actions{grid-column:1/-1;justify-content:stretch}.attendance-card-actions .btn{flex:1}}

/* Sundeo v1.6.3 family relationships */
.family-parent-editor{margin-top:18px}.family-child-row{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.5fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.family-child-row:last-child{border-bottom:0}.family-child-name small{display:block;color:var(--muted);margin-top:3px}.family-parent-checks{display:flex;gap:10px 18px;flex-wrap:wrap}.family-parent-checks .check{margin:0}.family-profile-list{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;padding:11px 0;border-bottom:1px solid var(--border)}.family-profile-list:last-child{border-bottom:0}.family-profile-list>a{font-weight:700;color:var(--blue)}.family-relationship-list{display:grid;gap:9px}.family-relationship-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.family-relationship-list>div:last-child{border-bottom:0}.family-relationship-list span{color:var(--muted)}

/* Sundeo v1.6.3 unread chat indicators */
.chat-list-item{grid-template-columns:42px minmax(0,1fr) auto}.chat-unread-badge,.mobile-chat-unread-badge,.mobile-chat-unread-total{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--gold);color:#fff;font-size:11px;font-weight:800;line-height:1}.chat-unread-badge .ui-icon,.mobile-chat-unread-badge .ui-icon{width:13px;height:13px}.mobile-chat-switcher-item{grid-template-columns:36px minmax(0,1fr) auto}.mobile-chat-unread-badge{justify-self:end}.mobile-chat-unread-total{height:20px;min-width:20px;padding:0 6px;font-size:10px}

/* Sundeo v1.6.3 social-style Church Feed */
.social-feed{max-width:820px;margin:0 auto}.social-feed-card{padding:0!important;overflow:hidden;border-radius:16px;box-shadow:0 2px 12px rgba(23,35,60,.07)}.social-feed-summary{list-style:none;cursor:pointer;padding:16px 18px 14px}.social-feed-summary::-webkit-details-marker{display:none}.social-feed-header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center}.social-feed-header .feed-avatar{width:46px;height:46px}.social-feed-identity>b{display:block;font-size:15px}.social-feed-identity>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:3px;color:var(--muted);font-size:11px}.social-feed-identity .feed-type{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--muted);background:none;padding:0}.social-feed-identity .feed-type .ui-icon{width:13px;height:13px}.social-feed-dot{opacity:.65}.feed-audience-inline{color:var(--gold);font-weight:700}.social-feed-expand{color:var(--muted);transition:transform .18s}.social-feed-expand .ui-icon{width:18px;height:18px}.social-feed-card[open] .social-feed-expand{transform:rotate(180deg)}.social-feed-summary-body{margin-top:12px}.social-feed-summary-body h3{font-size:18px;margin:0 0 7px}.social-feed-summary-body .feed-collapsed-preview{line-height:1.48;color:var(--text)}.social-feed-image-teaser{width:100%;max-width:none;height:130px;padding:0;margin-top:12px;position:relative;background:var(--bg)}.social-feed-image-teaser img{width:100%;height:130px;border:0;border-radius:0;object-fit:cover}.social-feed-image-teaser span{position:absolute;left:10px;bottom:9px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 2px 8px rgba(23,35,60,.12)}.social-feed-stats{justify-content:space-between;padding-top:10px;margin-top:10px;border-top:1px solid var(--border)}.social-feed-card[open] .feed-collapsed-image-preview,.social-feed-card[open] .feed-collapsed-preview,.social-feed-card[open] .social-feed-summary-body>h3,.social-feed-card[open] .feed-preview-stats{display:none!important}.social-feed-content{padding:0 18px 17px}.social-feed-post-text{padding-top:4px}.social-feed-post-text h3{margin:0 0 8px;font-size:19px}.social-feed-post-text p{margin:0 0 14px;line-height:1.58}.social-feed-media{display:block;margin:0 -18px}.social-feed-media .announcement-feed-image{width:100%;max-width:none;max-height:620px;border-radius:0;border-left:0;border-right:0;object-fit:contain;background:#f2f3f5}.social-feed-engagement{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--border)}.social-feed-actions{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.social-feed-actions form{margin:0}.social-action-button{width:100%;min-height:44px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:750;cursor:pointer;border-radius:8px}.social-action-button:hover{background:var(--nav-hover);color:var(--text)}.social-action-button.active{color:var(--gold)}.social-action-button .ui-icon{width:18px;height:18px}.social-feed-thread{padding-top:12px}.social-comment{align-items:start}.social-comment-bubble{background:color-mix(in srgb,var(--bg) 70%,var(--card));border:0;border-radius:15px;padding:9px 12px}.social-reply-form{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:12px}.social-reply-form .feed-avatar{width:38px;height:38px}.social-reply-form textarea{margin:0;border-radius:18px;background:color-mix(in srgb,var(--bg) 72%,var(--card));min-height:42px;padding:10px 13px}.feed-delete-row{margin-top:7px}

/* Apple/PWA notification recovery */
.push-permission-dialog .theme-dialog-body p{line-height:1.55}.push-permission-dialog .callout{margin-top:14px}.push-permission-dialog .callout p{margin-bottom:0}

@media(max-width:780px){.family-child-row{grid-template-columns:1fr}.family-profile-list{grid-template-columns:1fr}.family-relationship-list>div{flex-direction:column;gap:3px}.social-feed{max-width:none}.social-feed-summary{padding:14px}.social-feed-content{padding:0 14px 14px}.social-feed-media{margin:0 -14px}.social-feed-image-teaser,.social-feed-image-teaser img{height:112px}.social-feed-identity>div{font-size:10px}.social-reply-form{grid-template-columns:34px minmax(0,1fr)}.social-reply-form .btn{grid-column:2;justify-self:end}.social-reply-form .feed-avatar{width:34px;height:34px}}

/* v1.6.3: do not duplicate attached-media teaser after a dashboard feed card opens. */
.dashboard-feed .feed-item[open] .feed-collapsed-image-preview { display:none !important; }

/* Sundeo v1.6.4 */
.feed-summary.social-feed-summary::after{display:none!important;content:none!important}
.social-feed-identity .feed-type{color:var(--feed-label-color,var(--blue))!important}
.social-feed-identity .feed-type.prayer{--feed-label-color:#7D55C7}
.social-feed-identity .feed-type.announcement{--feed-label-color:#3C77C6}
.dashboard-social-feed-card{max-width:820px;margin-left:auto;margin-right:auto}
.dashboard-social-feed-card .dashboard-feed-open{padding-top:12px}
.dashboard-feed.social-feed{max-width:none}
.topbar-chat-button{position:relative}
.topbar-chat-unread{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:800;line-height:1;margin-left:1px}
.prayer-feed-join{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:16px;max-width:820px;margin-left:auto;margin-right:auto}
.prayer-feed-join>div{display:flex;gap:12px;align-items:flex-start}.prayer-feed-join>div>.ui-icon{width:28px;height:28px;color:#7D55C7;flex:0 0 auto}.prayer-feed-join p{margin:3px 0 0;color:var(--muted)}
.prayer-join-row{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.prayer-join-row:last-of-type{border-bottom:0}.prayer-group-image{width:46px;height:46px;border-radius:12px;object-fit:cover}.prayer-join-row small,.prayer-form-group-context small{display:block;color:var(--muted);margin-top:3px}.prayer-form-group-context{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:13px;margin-bottom:16px;background:var(--bg)}
.prayer-group-options{display:grid;gap:10px;padding:15px;border:1px solid #e4daf8;background:#faf8ff;border-radius:13px;margin:12px 0 20px}.prayer-group-options[hidden]{display:none!important}.prayer-group-options .check{margin:0}.prayer-group-options small{display:block;color:var(--muted);font-weight:400;margin-top:3px}
.prayer-request-filters{margin-bottom:18px}.prayer-review-list{display:grid;gap:14px}.prayer-review-card{max-width:900px}.prayer-review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.prayer-review-head h2{margin:5px 0 3px}.prayer-approval-badge{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.prayer-approval-badge.pending{background:#fff4dc;color:#966713}.prayer-approval-badge.approved{background:#e7f6ec;color:#237a45}.prayer-approval-badge.rejected{background:#fdeaea;color:#a32929}.prayer-review-actions{display:flex;gap:10px;margin-top:15px}.prayer-review-actions form{margin:0}.prayer-pending-callout{margin-top:0;margin-bottom:16px}
.feature-settings-card{max-width:1000px;margin-bottom:20px}.feature-toggle-list{display:grid;gap:0}.feature-toggle-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 0;margin:0;border-bottom:1px solid var(--border)}.feature-toggle-row:last-of-type{border-bottom:0}.feature-toggle-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--bg);color:var(--primary-btn)}.feature-toggle-icon>.ui-icon{width:23px;height:23px}.feature-chat-image{width:44px;height:44px;border-radius:12px;object-fit:cover}.feature-toggle-copy b{display:block}.feature-toggle-copy small{display:block;color:var(--muted);margin-top:3px;font-weight:400}.feature-toggle-copy em{display:inline-block;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#86621f;background:#fff4dc;padding:3px 6px;border-radius:999px;margin-top:5px}.feature-toggle-control{display:flex;align-items:center;gap:8px;font-size:12px}.feature-toggle-control input{width:22px;height:22px;margin:0}.feature-toggle-control span{font-weight:700}
.admin-view-switch-card{margin-top:18px}.app-view-status{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:15px}.app-view-status small{display:block;color:var(--muted);margin-top:3px}
.house-map-info{min-width:230px;display:grid;gap:8px;padding:3px 1px}.map-info-name{font-size:14px;font-weight:700;color:var(--text)}.map-info-address{font-size:15px;line-height:1.3;color:var(--text)}.map-info-status{justify-self:start;font-size:11px;font-weight:800;color:var(--status-color,var(--blue));border:1px solid var(--status-color,var(--blue));background:var(--card);padding:5px 8px;border-radius:999px}.house-map-info .map-info-link.primary{display:flex!important;justify-content:center;align-items:center;text-align:center;margin-top:3px;padding:10px 12px;border-radius:10px;background:var(--primary-btn);color:var(--primary-btn-text);font-weight:800}.outreach-status-auto-note{margin:4px 0 14px}.outreach-status-auto-note p{margin:5px 0 0}
@media(max-width:760px){.prayer-feed-join{align-items:stretch;flex-direction:column}.prayer-feed-join form,.prayer-feed-join .btn{width:100%}.feature-toggle-row{grid-template-columns:40px minmax(0,1fr)}.feature-toggle-control{grid-column:2}.app-view-status{align-items:stretch;flex-direction:column}.app-view-status form,.app-view-status .btn{width:100%}.prayer-review-head{flex-direction:column}.prayer-review-actions{flex-direction:column}.prayer-review-actions form,.prayer-review-actions .btn{width:100%}}

/* Sundeo v1.6.5 */
.feed-audience-inline{color:var(--audience-color,var(--gold));font-weight:700}
.dashboard-feed.social-feed{width:100%;max-width:820px;margin-left:auto;margin-right:auto}
.dashboard-social-feed-card{width:100%;max-width:none!important;margin-left:0;margin-right:0;justify-self:stretch}

.service-planning-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 22px;padding:5px;background:color-mix(in srgb,var(--card) 75%,var(--bg));border:1px solid var(--border);border-radius:14px;width:max-content;max-width:100%}.service-planning-tabs a{padding:9px 13px;border-radius:10px;font-size:13px;font-weight:750;color:var(--muted)}.service-planning-tabs a.active{background:var(--card);color:var(--text);box-shadow:0 2px 7px rgba(23,35,60,.07)}
.service-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:22px}.service-plan-card{padding:17px;display:grid;gap:14px;transition:transform .15s,box-shadow .15s}.service-plan-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(23,35,60,.08)}.service-plan-card-head{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center}.service-plan-card-head b{display:block;font-size:16px}.service-plan-card-head small{display:block;color:var(--muted);margin-top:4px}.service-plan-service-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:var(--bg);color:var(--primary-btn);overflow:hidden}.service-plan-service-icon img{width:100%;height:100%;object-fit:cover}.service-plan-service-icon .ui-icon{width:24px;height:24px}.service-plan-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.service-plan-status.draft{background:#fff4dc;color:#8b6114}.service-plan-status.active{background:#e7f6ec;color:#237a45}.service-plan-status.archived{background:#eef1f5;color:#5f6879}.service-plan-status.large{padding:7px 11px;font-size:11px}.service-plan-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:11px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.service-plan-card-foot span{display:flex;align-items:center;gap:6px}.service-plan-card-foot .ui-icon{width:15px;height:15px}
.service-admin-grid,.service-plan-editor-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}.service-role-list,.slot-type-list{display:grid}.service-role-row,.slot-type-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 10px;border-bottom:1px solid var(--border);border-radius:9px}.service-role-row:hover,.service-role-row.active{background:var(--bg)}.service-role-row b,.slot-type-row b{display:block}.service-role-row small,.slot-type-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.service-role-row .ui-icon{width:15px;height:15px;transform:rotate(-90deg)}.service-role-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;max-height:520px;overflow:auto;padding:6px 2px 12px}.service-role-person{padding:8px;border-radius:9px;margin:0}.service-role-person:hover{background:var(--bg)}.service-role-person b{font-size:13px}.service-role-person small{font-size:10px}.compact-check{margin:0;font-size:12px}
.service-plan-page-head .back-link{display:inline-block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:8px}.service-publish-card{position:sticky;top:98px}.service-recipient-fieldset{border:1px solid var(--border);border-radius:12px;padding:13px;margin:4px 0 16px}.service-recipient-fieldset legend{font-weight:800;padding:0 6px}.service-recipient-fieldset .muted{font-size:12px;margin:0 0 10px}.service-role-check-grid{margin-top:7px}.service-plan-recipient-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.service-plan-recipient-summary small{display:block;color:var(--muted);margin-top:3px}.service-plan-recipient-pills,.service-slot-roles{display:flex;flex-wrap:wrap;gap:6px}.service-plan-recipient-pills span,.service-slot-roles span{padding:5px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:10px;font-weight:750}.service-plan-recipient-pills span.mine{border-color:color-mix(in srgb,var(--gold) 60%,var(--border));background:color-mix(in srgb,var(--gold) 10%,var(--card));color:var(--text)}
.service-plan-timeline-section{margin:24px 0}.service-plan-timeline{display:grid;gap:11px;max-width:980px}.service-plan-slot{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:start;padding:14px 16px;background:var(--card)}.service-plan-slot.my-service-slot{border-width:2px;border-color:color-mix(in srgb,var(--gold) 62%,var(--border));box-shadow:0 3px 15px color-mix(in srgb,var(--gold) 10%,transparent)}.service-slot-order{width:32px;height:32px;border-radius:10px;background:var(--bg);display:grid;place-items:center;font-size:12px;font-weight:850;color:var(--muted)}.service-slot-type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.service-slot-type{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--gold)}.your-role-badge{font-size:9px;font-weight:850;color:#7c5a18;background:#fff4dc;border-radius:999px;padding:3px 6px}.service-slot-copy h3{font-size:17px;margin:4px 0 5px}.service-slot-detail{font-size:12px;margin:3px 0;color:var(--text)}.service-slot-notes{font-size:13px;color:var(--muted);margin:7px 0 8px;line-height:1.48}.service-slot-actions{display:flex;align-items:center;gap:7px}.service-slot-actions form{margin:0}.service-slot-move{display:flex;gap:4px}.icon-button{width:31px;height:31px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font-weight:850;cursor:pointer}.icon-button:disabled{opacity:.3;cursor:default}.service-slot-editor{margin-top:22px}.danger-outline{border-color:color-mix(in srgb,var(--red) 45%,var(--border));color:var(--red);background:var(--card)}
@media(max-width:980px){.service-plan-grid,.service-admin-grid,.service-plan-editor-grid{grid-template-columns:1fr}.service-publish-card{position:static}.service-role-people{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.service-plan-grid{grid-template-columns:1fr}.service-plan-card-head{grid-template-columns:44px minmax(0,1fr)}.service-plan-card-head .service-plan-status{grid-column:2;justify-self:start}.service-plan-service-icon{width:44px;height:44px}.service-role-people{grid-template-columns:1fr}.service-plan-recipient-summary{align-items:flex-start;flex-direction:column}.service-plan-slot{grid-template-columns:34px minmax(0,1fr)}.service-slot-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.service-planning-tabs{width:100%;overflow:auto;flex-wrap:nowrap}.service-planning-tabs a{white-space:nowrap}}

/* Sundeo v1.6.6 */
/* Keep the unread count visible on the global Chats button on mobile non-Chat pages. */
@media(max-width:860px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .topbar-chat-button .topbar-chat-unread{display:inline-grid!important;position:absolute;top:-6px;right:-6px;margin:0;z-index:3;box-shadow:0 0 0 2px var(--card)}
}
.service-plan-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.service-plan-head-actions .btn{display:inline-flex;align-items:center;gap:7px}.service-plan-head-actions .btn .ui-icon{width:16px;height:16px}
.service-slot-person{font-size:13px;color:var(--text);margin:4px 0}.service-slot-assigned-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.service-slot-assigned-people span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:10.5px;font-weight:750;color:var(--muted)}.service-slot-name-list{display:grid;gap:3px;margin-top:5px}.service-slot-name-list b{font-size:14px}.service-slot-editor [data-standard-fields],.service-slot-editor [data-song-fields],.service-slot-editor [data-scripture-fields],.service-slot-editor [data-baptism-fields]{display:grid;gap:12px;margin-top:12px}.service-slot-editor [hidden]{display:none!important}.baptism-name-fields{display:grid;gap:8px}.baptism-name-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center}.baptism-name-row input{margin:0}.baptism-remove-name{font-size:19px;line-height:1}.service-slot-copy .service-slot-type{font-size:11px}.service-slot-copy>h3{margin-top:5px}
@media(max-width:680px){.service-plan-head-actions{justify-content:flex-start}.service-plan-head-actions .btn{width:auto}}

/* v1.6.7 profile wrapping and Service Planning management refinements */
.service-plan-title-identity{display:flex;align-items:center;gap:13px}.service-plan-title-identity h1{margin:0 0 5px}.service-plan-title-identity p{margin:0;color:var(--muted)}.service-plan-title-icon{width:50px;height:50px;flex:0 0 50px;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:var(--card);border:1px solid var(--border);color:var(--primary-btn)}.service-plan-title-icon img{width:100%;height:100%;object-fit:cover}.service-plan-title-icon .ui-icon{width:24px;height:24px}
.service-slot-editor [data-offering-fields]{display:grid;gap:12px;margin-top:12px}.service-slot-editor [data-offering-fields][hidden]{display:none!important}.service-slot-responsibility{margin-top:18px}.service-assignment-roles{display:grid;gap:10px}.service-assignment-role{border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.service-assignment-role-all{margin:0}.service-assignment-role-all small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.service-assignment-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:9px 0 0 25px;padding-top:9px;border-top:1px solid var(--border)}.service-assignment-people .check{margin:0;font-size:12px}
.service-slot-type-manager{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;align-items:start}.slot-type-editor-list{display:grid;gap:10px;margin-top:14px}.slot-type-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.slot-type-editor-main{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,.55fr);gap:12px;align-items:end}.slot-type-editor-main label{margin:0}.slot-type-fixed-mode{min-height:45px;display:flex;flex-direction:column;justify-content:center;padding:0 4px}.slot-type-fixed-mode span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}.slot-type-fixed-mode b{font-size:13px}.slot-type-fixed-mode small{font-size:10px;color:var(--muted);margin-top:2px}.slot-type-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.slot-type-editor-actions .compact-check{margin:0}.slot-type-editor-actions .feed-delete-action{padding:7px 4px}
@media(max-width:980px){.service-slot-type-manager{grid-template-columns:1fr}.slot-type-editor-row{grid-template-columns:1fr}.slot-type-editor-actions{justify-content:flex-start}}
@media(max-width:680px){.service-plan-title-icon{width:44px;height:44px;flex-basis:44px}.service-assignment-people{grid-template-columns:1fr;margin-left:0}.slot-type-editor-main{grid-template-columns:1fr}.slot-type-editor-actions{align-items:flex-start}}
@media(max-width:650px){.form-actions{flex-wrap:wrap;max-width:100%}.form-actions>.btn,.form-actions>a.btn{max-width:100%;white-space:normal;flex:0 1 auto}.form-card{max-width:100%;min-width:0}}

/* Sundeo v1.6.8 Prayer Sheet customization */
.prayer-management-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:18px;align-items:start}.prayer-management-main{min-width:0}.prayer-sheet-widget{position:sticky;top:92px;padding:16px}.prayer-sheet-widget-head .eyebrow{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--gold);margin-bottom:3px}.prayer-sheet-widget-head h2{margin:0 0 5px;font-size:18px}.prayer-sheet-widget-head p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.45}.prayer-sheet-group-picker{padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:13px}.prayer-sheet-group-picker label{margin:0}.prayer-sheet-card-editor-list{display:grid;gap:10px}.prayer-sheet-card-editor{border:1px solid var(--border);border-radius:12px;padding:11px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.prayer-sheet-card-top{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:9px}.prayer-sheet-card-editor label,.prayer-sheet-add-card label{font-size:11px}.prayer-sheet-card-editor input,.prayer-sheet-card-editor select,.prayer-sheet-add-card input,.prayer-sheet-add-card select{margin-top:4px}.prayer-list-inputs{display:grid;gap:6px}.prayer-list-input-row{display:grid;grid-template-columns:minmax(0,1fr) 33px;gap:6px;align-items:center}.prayer-list-input-row input{margin:0}.prayer-sheet-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.prayer-sheet-order-actions{display:flex;gap:4px;margin-left:auto}.prayer-sheet-add-card{margin-top:13px;border-top:1px solid var(--border);padding-top:12px}.prayer-sheet-add-card summary{font-weight:800;cursor:pointer;color:var(--text)}.prayer-sheet-add-card form{display:grid;gap:9px;margin-top:10px}.prayer-sheet-writing{border-top:1px solid var(--border);margin-top:15px;padding-top:13px}.prayer-sheet-writing h3{margin:0 0 9px;font-size:14px}.prayer-writing-option{border:1px solid var(--border);border-radius:11px;padding:10px;margin-bottom:8px;background:var(--bg)}.prayer-writing-grid{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;margin-top:8px}.prayer-writing-grid label{margin:0;font-size:10px}.prayer-writing-grid input,.prayer-writing-grid select{margin-top:4px}.prayer-sheet-widget .btn.small{padding:7px 9px;font-size:11px}.prayer-sheet-widget .icon-button{width:31px;height:31px}
@media(max-width:1050px){.prayer-management-layout{grid-template-columns:1fr}.prayer-sheet-widget{position:static;order:2}.prayer-management-main{order:1}}
@media(max-width:600px){.prayer-sheet-card-top{grid-template-columns:1fr}.prayer-sheet-card-actions{align-items:flex-start}.prayer-sheet-order-actions{margin-left:0}.prayer-writing-grid{grid-template-columns:1fr 1fr}}

/* v1.7.0 Prayer Sheet editor + selective export */
.prayer-export-selection-bar{margin:0 0 10px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.prayer-export-selection-bar .check{margin:0;align-items:flex-start}.prayer-export-selection-bar small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.prayer-review-select-copy{display:flex;align-items:flex-start;gap:10px;min-width:0}.prayer-export-request-check{display:flex;align-items:center;gap:5px;margin-top:3px;padding:5px 7px;border:1px solid var(--border);border-radius:9px;background:var(--bg);font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}.prayer-export-request-check input{margin:0}.prayer-sheet-all-cards-form{display:grid;gap:10px}.prayer-sheet-card-editor{padding:0;overflow:hidden}.prayer-sheet-card-editor>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px}.prayer-sheet-card-editor>summary::-webkit-details-marker{display:none}.prayer-sheet-card-editor>summary:before{content:'›';font-size:20px;line-height:1;color:var(--muted);transition:transform .15s ease}.prayer-sheet-card-editor[open]>summary:before{transform:rotate(90deg)}.prayer-sheet-card-summary-copy{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:auto}.prayer-sheet-card-summary-copy b{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prayer-sheet-card-summary-copy small{font-size:9.5px;color:var(--muted)}.prayer-sheet-card-summary-action{font-size:10px;font-weight:800;color:var(--gold)}.prayer-sheet-card-editor-body{border-top:1px solid var(--border);padding:11px}.prayer-sheet-save-all{width:100%}.prayer-sheet-no-cards{padding:10px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:600px){.prayer-review-select-copy{gap:7px}.prayer-export-request-check span{display:none}.prayer-export-request-check{padding:6px}.prayer-sheet-card-editor>summary{padding:11px 10px}}

/* Sundeo v1.7.0 Outreach route auto-populate + compact map popups */
.auto-populate-card{display:grid;gap:9px}.auto-populate-card h3{margin:0}.auto-populate-preview{display:grid;gap:8px;padding:11px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--card) 92%,var(--bg))}.auto-populate-preview>b{color:var(--navy)}.auto-populate-preview>small{color:var(--muted)}.auto-populate-sample{display:grid;gap:3px;padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px}.auto-populate-sample span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-house-map-info{min-width:205px}.field-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:2px}.field-map-actions .map-info-link.primary,.field-map-actions form{margin:0}.field-map-actions .map-info-link.primary{padding:9px 10px}.map-info-delete{width:100%;height:100%;border:1px solid var(--red);background:color-mix(in srgb,var(--red) 8%,white);color:var(--red);border-radius:10px;font-size:12px;font-weight:800;cursor:pointer;padding:9px 10px}.map-info-delete:hover{background:color-mix(in srgb,var(--red) 14%,white)}
.gm-style .gm-style-iw-c{padding-top:1px!important}.gm-style .gm-style-iw-chr{min-height:25px!important;height:25px!important}.gm-style .gm-style-iw-chr button{width:27px!important;height:27px!important;margin:0 0 0 auto!important}.gm-style .gm-style-iw-d{padding-top:0!important;overflow:auto!important}.gm-style .gm-style-iw-d .map-info{margin-top:-1px}
@media(max-width:600px){.field-map-actions{grid-template-columns:1fr}.auto-populate-preview{padding:9px}}

/* Sundeo v1.7.1 automatic address provider + Service Planning templates */
.outreach-address-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.service-template-list{display:grid;gap:10px;margin-top:14px}.service-template-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.service-template-row .service-plan-card-head{flex:1;min-width:0}.service-template-row form{margin:0}.service-template-save-form{display:grid;gap:8px}.service-template-save-form label{margin:0}.service-slot-editor [data-invitation-fields],.service-slot-editor [data-video-fields]{display:grid;gap:12px;margin-top:12px}.service-slot-editor [data-invitation-fields][hidden],.service-slot-editor [data-video-fields][hidden]{display:none!important}
@media(max-width:1050px){.outreach-address-source-grid{grid-template-columns:1fr 1fr}.outreach-address-source-grid>.maps-setup-guide{grid-column:1/-1}}
@media(max-width:720px){.outreach-address-source-grid{grid-template-columns:1fr}.outreach-address-source-grid>.maps-setup-guide{grid-column:auto}.service-template-row{align-items:flex-start;flex-direction:column}.service-template-row form{width:100%}}

/* Sundeo v1.7.2 Field Mode staged route editing */
.field-unsaved-indicator{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:inherit;font-size:10px;font-weight:850;line-height:1}.field-unsaved-indicator[hidden]{display:none!important}.route-location-list>.route-location-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--gold);background:color-mix(in srgb,var(--gold) 4%,transparent)}.route-location-list>.route-location-pending:last-child{border-bottom:0}.route-location-pending .route-location-copy small{color:var(--gold)}.outreach-house-marker.auto-preview{opacity:.76;box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 45%,transparent),0 3px 8px rgba(23,35,60,.22)}.auto-populate-preview{display:grid;gap:5px;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 64%,var(--card));font-size:12px}.auto-populate-preview>b{color:var(--navy)}.auto-populate-preview>small{color:var(--muted)}.auto-populate-sample{display:grid;gap:3px;margin-top:4px;padding-top:6px;border-top:1px solid var(--border)}.auto-populate-sample span{font-size:11px}.field-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:2px}.field-map-actions .map-info-link.primary{margin:0;padding:9px 10px}.map-info-delete{width:100%;height:100%;appearance:none;border:1px solid var(--red);background:color-mix(in srgb,var(--red) 8%,white);color:var(--red);border-radius:10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:9px 10px}.map-info-delete:hover{background:color-mix(in srgb,var(--red) 14%,white);text-decoration:none}@media(max-width:650px){.route-location-list>.route-location-pending{grid-template-columns:minmax(0,1fr)}.route-location-list>.route-location-pending>.badge{justify-self:start}}

/* v1.7.3 dashboard product signature */
.dashboard-powered-by{margin:34px 0 8px;text-align:center;color:color-mix(in srgb,var(--muted) 78%,transparent);font-size:11px;font-weight:300;letter-spacing:.015em;line-height:1.4}.dashboard-powered-by span{font-weight:550;color:color-mix(in srgb,var(--muted) 88%,var(--text))}

.followup-edit-panel{margin:0 14px 14px 64px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--blue) 24%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--blue) 3%,var(--card));box-shadow:0 8px 22px rgba(15,23,42,.05)}.followup-edit-panel .section-title-with-icon{margin-bottom:12px}.followup-edit-panel h3{margin:0}.followup-edit-panel .section-title-with-icon p{margin:2px 0 0}.followup-edit-panel textarea{width:100%}@media(max-width:680px){.followup-edit-panel{margin:0 8px 12px;padding:14px}}

/* v1.7.5 Service Plans assignment and attendance detail refinements */
.user-service-plans-access{margin:4px 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.user-service-plans-access small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.service-add-another-wrap{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.service-add-another-toggle{margin:0;padding:11px 12px;border:1px dashed color-mix(in srgb,var(--gold) 38%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--gold) 4%,var(--card))}.service-add-another-toggle small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.service-additional-users{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);max-height:320px;overflow:auto}.service-additional-users[hidden]{display:none!important}.service-additional-user{margin:0;padding:8px;border-radius:9px;background:var(--card);border:1px solid transparent}.service-additional-user:hover{border-color:var(--border)}.service-additional-user small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.attendance-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;max-width:720px}.attendance-report-summary .card{padding:16px}.attendance-report-summary span{display:block;color:var(--muted);font-size:12px}.attendance-report-summary b{display:block;font-size:28px;margin-top:5px}.attendance-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.attendance-name-list{display:grid;gap:7px}.attendance-name-row{display:flex;align-items:center;gap:11px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.attendance-name-row:hover{background:var(--bg)}.attendance-name-row .person-avatar{width:38px;height:38px;flex:0 0 38px}.attendance-name-row small{margin-left:auto;color:var(--muted)}.attendance-other-status{margin-top:18px}.attendance-recorded-by{margin-top:14px}.person-attendance-card{grid-column:1/-1}.person-attendance-list{display:grid;gap:7px}.person-attendance-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.person-attendance-row:hover{background:var(--bg)}.person-attendance-row small{display:block;color:var(--muted);margin-top:3px}.attendance-status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f5;color:var(--muted)}.attendance-status-pill.present{background:color-mix(in srgb,var(--green) 12%,var(--card));color:var(--green)}.attendance-status-pill.absent{background:color-mix(in srgb,var(--red) 10%,var(--card));color:var(--red)}
@media(max-width:760px){.service-additional-users,.attendance-detail-grid{grid-template-columns:1fr}.attendance-report-summary{grid-template-columns:repeat(3,1fr)}.attendance-report-summary b{font-size:23px}}

/* v1.7.5 revision: attendance history filters + Admin Center version footer */
.person-attendance-filters{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(140px,.7fr) minmax(140px,.7fr) auto;gap:10px;align-items:end;margin:14px 0 16px}.person-attendance-filters label{margin:0;font-size:12px;color:var(--muted)}.person-attendance-filters select,.person-attendance-filters input{margin-top:5px;padding:9px 10px}.admin-version-footer{margin-top:38px}@media(max-width:780px){.person-attendance-filters{grid-template-columns:1fr 1fr}.person-attendance-filters .attendance-filter-actions{grid-column:1/-1}}@media(max-width:520px){.person-attendance-filters{grid-template-columns:1fr}.person-attendance-filters .attendance-filter-actions{grid-column:auto}}


/* Sundeo v1.7.5-r6: Service Order readability refinement */
.service-slot-copy .service-slot-type{font-size:13px}
.service-slot-copy h3{font-size:18px;line-height:1.28}
.service-slot-detail,.service-slot-person{font-size:15px;line-height:1.45}
.service-slot-notes{font-size:15px;line-height:1.5}
.service-slot-name-list b{font-size:16px;line-height:1.4}

/* v1.7.5-r7: Service Order slot-type labels use the saved Service color, not the site accent. */
.service-plan-slot .service-slot-type{color:var(--service-color,var(--gold))!important}
