/* Shared SCREEN-ONLY design. Photos, image previews and printed reports retain their own styling.
   Explicit opt-in classes also keep archived/restorable templates unchanged. */
@media screen {
body:has(.app-page),body:has(.app-auth){background:#f2f6f6}
.app-page.app-page.app-page,.app-auth.app-auth{--app-ink:#213c40;--app-muted:#75868a;--app-line:#e3ebec;--app-accent:#187b70;--app-soft:#f6f9f9;--work-ink:#213c40;--work-muted:#75868a;--work-line:#e3ebec;--work-accent:#187b70;color:var(--app-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif}
.app-page.app-page.app-page{box-sizing:border-box;margin:20px;height:calc(100vh - 95px);height:calc(100dvh - 95px);min-height:0;min-width:0;max-width:none;padding:22px;border:1px solid var(--app-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px #16383a05;overflow:hidden}
.app-page.app-page>.app-inner{height:100%;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.app-page.app-page:is(.stats-page,.report-page,.attendance-page){overflow:auto;overscroll-behavior:contain}
.app-page.app-page:is(.stats-page,.report-page,.attendance-page)>.app-inner{min-height:440px}
.app-page.app-page:is(.audit-page,.bible-tools-page)>.app-inner{gap:0}
.app-page.app-page:is(.audit-page,.bible-tools-page)>.app-inner>:not(:last-child):not(.app-heading){margin-bottom:14px}
.app-page.app-page .app-heading,.app-auth.app-auth .app-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-width:0;margin:0;padding:0 0 14px;border:0;background:transparent;box-shadow:none}
.app-page.app-page .app-heading>div:first-child{min-width:0}
.app-page.app-page .app-heading h1,.app-auth.app-auth .app-heading h1{font-size:25px;font-weight:750;letter-spacing:-1px;line-height:1.3;color:#213c40;margin:5px 0;overflow-wrap:anywhere}
.app-page.app-page .app-heading .app-eyebrow,.app-auth.app-auth .app-heading .app-eyebrow{display:block;margin:0;color:#187b70;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:1.2px}
.app-page.app-page .app-heading :is(p,.home-greeting):not(.app-eyebrow),.app-auth.app-auth .app-heading p:not(.app-eyebrow){font-size:13px;font-weight:400;line-height:1.5;color:#75868a;margin:0;letter-spacing:normal}
.app-page.app-page .app-heading :is(.admin-heading-tag,.draw-original,.home-date){font-size:11px;color:#627e7c;background:#f6f9f9;border:1px solid #e3ebec;border-radius:9px;padding:8px 11px;white-space:nowrap;text-decoration:none}
.app-page.app-page :is(.admin-panel,.accounting-panel,.adjust-panel,.minutes-panel,.random-panel,.budget-sheet,.stats-panel,.att-panel,.member-ui-list-panel,.member-ui-detail-panel){border-color:#e3ebec;background:#fff;box-shadow:none;border-radius:13px}
.app-page.app-page :is(.member-ui-stat,.budget-summary>div,.accounting-summary>div,.stats-kpis>article,.att-metrics>div,.audit-metrics>div){background:#f6f9f9;border-color:#edf2f2;box-shadow:none}
.app-page.app-page :is(.member-ui-eyebrow,.admin-eyebrow,.accounting-eyebrow,.budget-eyebrow,.minutes-eyebrow,.draw-eyebrow,.stats-eyebrow,.attendance-eyebrow){color:#75868a}
.app-page.app-page :is(.admin-panel-heading,.accounting-panel-heading,.minutes-panel-heading,.draw-panel-heading,.stats-panel-heading,.att-panel-heading){border-color:#e3ebec;background:#fff}
.app-page.app-page :is(.admin-panel-heading,.accounting-panel-heading,.minutes-panel-heading,.draw-panel-heading,.stats-panel-heading,.att-panel-heading) :is(h2,h3){color:#213c40}
.app-page.app-page :is(.budget-toolbar,.accounting-toolbar,.minutes-filters,.stats-filters,.att-toolbar,.report-filters,.draw-controls,.bible-controls){background:#f6f9f9;border-color:#e3ebec;border-radius:12px}
.app-page.app-page :is(.department-column,.department-column:nth-child(n)){--column-accent:#187b70;background:#f6f9f9;border-color:#e3ebec;border-top-color:#187b70}
.app-page.app-page .department-column.is-drop-target{background:#e9f5ef;border-color:#187b70;outline-color:#187b70}
.app-page.app-page .group_item{--group-accent:#187b70!important;border-color:#e3ebec;border-top-color:#187b70;background:#fff}
.app-page.app-page :is(.department-member-card,.bible-result-scroll .card){border-color:#e3ebec;box-shadow:none}
.app-page.app-page :is(.department-member-name,.department-column-heading h2){color:#213c40}
.app-page.app-page :is(.department-member-detail,.department-status,.department-board-hint){color:#75868a}
.app-page.app-page .department-status.is-error{color:#b34756}.app-page.app-page .department-status.is-success{color:#187b70}
.app-page.app-page :is(.btn,.att-btn,.stats-button,.report-button,.audit-button){border-radius:10px;font-size:12px;font-weight:650;box-shadow:none}
.app-page.app-page :is(.btn-primary,.btn-success,.admin-primary,.member-ui-primary,.accounting-primary,.budget-primary,.minutes-primary,.draw-primary,.att-primary,.stats-primary,.report-primary,.audit-primary){background:#187b70;border-color:#187b70;color:#fff;--bs-btn-bg:#187b70;--bs-btn-border-color:#187b70;--bs-btn-disabled-bg:#187b70;--bs-btn-disabled-border-color:#187b70;--bs-btn-color:#fff}
.app-page.app-page :is(.btn-primary,.btn-success,.admin-primary,.member-ui-primary,.accounting-primary,.budget-primary,.minutes-primary,.draw-primary,.att-primary,.stats-primary,.report-primary,.audit-primary):hover:not(:disabled){background:#12665d;border-color:#12665d;color:#fff}
.app-page.app-page :is(.btn-secondary,.btn-outline-light,.btn-outline-secondary,.admin-secondary,.member-ui-secondary,.accounting-secondary,.budget-secondary,.minutes-secondary,.draw-secondary){background:#fff;border-color:#dbe6e5;color:#385b5b;--bs-btn-disabled-color:#78908e;--bs-btn-disabled-border-color:#dbe6e5}
.app-page.app-page :is(.btn-secondary,.btn-outline-light,.btn-outline-secondary,.admin-secondary,.member-ui-secondary,.accounting-secondary,.budget-secondary,.minutes-secondary,.draw-secondary):hover:not(:disabled){background:#f0f6f5;color:#385b5b;border-color:#c3dad4}
.app-page.app-page :is(.admin-tabs,.member-ui-panel-switch,.accounting-switch,.minutes-switch,.adjust-view-switch,.random-view-switch,.bible-tools-nav){background:#f0f5f4;border-color:#e3ebec;border-radius:10px}
.app-page.app-page :is(.admin-tabs,.member-ui-panel-switch,.accounting-switch,.minutes-switch,.adjust-view-switch,.random-view-switch,.bible-tools-nav) :is([aria-pressed=true],[aria-current=page]){background:#fff;color:#187b70;border-color:#dce9e5;box-shadow:0 2px 4px #16383a08}
.app-page.app-page :is(.form-control,.form-select){color:#213c40;border-color:#dbe5e6;background-color:#fff;border-radius:9px;box-shadow:none}
.app-page.app-page :is(.form-control,.form-select):disabled{color:#7c8e90;background-color:#f6f9f9}
.app-page.app-page :is(.form-control,.form-select):focus{border-color:#76b4a9;box-shadow:0 0 0 3px #187b7012}
/* Neutral controls and summaries share the audit palette; status colors remain semantic. */
.app-page.app-page :is(.att-btn,.stats-button,.report-button):not(.att-primary,.att-danger,.stats-primary,.report-primary){background:#fff;color:#385b5b;border-color:#dbe6e5}
.app-page.app-page :is(.att-toolbar,.att-search,.stats-filters,.stats-chart-controls,.stats-table-tools,.report-filters) :is(input,select){background:#fff;color:#213c40;border-color:#dbe5e6}
.app-page.app-page :is(.att-detail-heading h2,.att-panel-heading h2,.budget-sheet-heading h2,.member-ui-panel-heading h2,.member-ui-stat strong,.stats-result-heading p){color:#213c40}
.app-page.app-page :is(.att-toolbar label,.stats-filters label,.report-filters label,.member-ui-stat>span,.member-ui-stat small,.stats-kpis article>span,.stats-kpis small,.budget-meta,.budget-summary span){color:#75868a}
.app-page.app-page .att-summary>div:not(.att-summary-present){background:#f6f9f9;border-color:#e3ebec}
.app-page.app-page .att-member:not([aria-pressed=true]){background:#fff;border-color:#e3ebec;color:#213c40}
.app-page.app-page :is(.stats-periods button,.stats-tabs button){background:#f6f9f9;color:#688083}
.app-page.app-page .stats-tabs [aria-pressed=true]{background:#e9f5ef;border-color:#c3dad4;color:#187b70}
.app-page.app-page .stats-table-wrap th{background:#f5f9f8;color:#688083;border-color:#e3ebec}
.app-page.app-page .stats-table-wrap td{color:#385b5b;border-color:#edf2f2}
.app-page.app-page .form-check-input:checked{background-color:#187b70;border-color:#187b70}
.app-page.app-page :is(button,input,select,a,[tabindex]):focus-visible{outline:3px solid #48ac9c;outline-offset:2px}
.app-page.app-page :is(.ag-root-wrapper,.ag-root){--ag-background-color:#fff;--ag-foreground-color:#213c40;--ag-border-color:#e3ebec;--ag-header-background-color:#f5f9f8;--ag-header-foreground-color:#688083;--ag-selected-row-background-color:#e9f5ef;--ag-row-hover-color:#f6f9f9;--ag-accent-color:#187b70}
.app-page.app-page .ag-header{background:#f5f9f8;color:#688083;border-color:#e3ebec}
.app-page.app-page .ag-row-selected{background:#e9f5ef}
.app-page.app-page :is(.modal-content,dialog){border-color:#e3ebec;border-radius:18px;box-shadow:0 20px 70px #18373620}
.app-page.app-page :is(.modal-header,.modal-footer){border-color:#e3ebec}
/* A home image and its caption are intentionally left alone. */
.app-page.home-page .home-content{padding:0;max-width:none}
.app-page.home-page .home-scroll{height:100%;padding:0;scrollbar-color:#c4d6d2 transparent}
.app-page.home-page .home-hero-copy{background:#f6f9f9;color:#213c40}
.app-page.home-page .home-hero-copy :is(h1,h2){color:#213c40}
.app-page.home-page .home-hero-copy h2{font-size:clamp(28px,2.8vw,40px);line-height:1.4;letter-spacing:-.055em;font-weight:750;margin:15px 0 12px}
.app-page.home-page .home-hero-copy :is(p,.home-hero-kicker){color:#75868a}
.app-page.home-page :is(.home-primary-link,.home-primary-link:hover){background:#187b70;color:#fff}
.app-page.home-page :is(.home-tools,.home-account,.home-shortcut){border-color:#e3ebec;background:#fff;box-shadow:none}
.app-page.home-page :is(.home-tool-icon,.home-account-badge,.home-department-links a){background:#f0f6f5;color:#187b70;border-color:#e3ebec}
.app-page.home-page .home-tool-copy strong,.app-page.home-page .home-section-heading h2{color:#213c40}
.app-page.home-page .home-tool-copy small{color:#75868a}
/* Existing centered authentication layout, provider branding and image assets stay intact. */
.app-auth.app-auth{background:#f2f6f6}
.app-auth.app-auth :is(.login-shell,.signup-shell){border:1px solid #e3ebec;border-radius:20px;box-shadow:0 8px 28px #16383a05}
.app-auth.app-auth :is(.login-welcome,.signup-welcome){background:#187b70}
.app-auth.app-auth .app-heading{display:block}
.app-auth.app-auth :is(.login-submit,.signup-submit){background:#187b70;color:#fff}
.app-auth.app-auth :is(.login-field input,.signup-field input){background:#fff;border-color:#dbe5e6;color:#213c40;border-radius:9px}
.app-page.app-page :is(.form-control,.form-select):is(.is-invalid,[aria-invalid=true]),.app-auth.app-auth :is(.login-field input,.signup-field input)[aria-invalid=true]{border-color:#ba5650}
.app-page.app-legacy{display:flex;flex-direction:column}
.app-page.app-legacy>.app-legacy-body{flex:1;min-height:0;height:auto!important;overflow:auto;overscroll-behavior:contain}
.app-page.app-legacy .app-legacy-panel{background:#f6f9f9!important;color:#213c40!important;border:1px solid #e3ebec;box-shadow:none}
.app-page.app-legacy .app-legacy-body>div{min-height:0}
.app-page.app-page .budget-sheet-actions .btn{font-size:11px;padding:6px 9px}
@media(max-width:1100px){.app-page .budget-sheet-heading p{display:none}.app-page.app-page .budget-sheet-heading{padding-top:8px;padding-bottom:8px}}
@media(max-width:767px){
 .app-page.app-page.app-page{margin:8px;height:calc(100vh - 71px);height:calc(100dvh - 71px);padding:13px;border-radius:15px}
 .app-page.app-page .app-heading,.app-auth.app-auth .app-heading{padding-bottom:12px;gap:8px;flex-wrap:nowrap}
 .app-page.app-page .app-heading h1,.app-auth.app-auth .app-heading h1{font-size:21px;margin:0;letter-spacing:-.6px}
 .app-page.app-page .app-heading .app-eyebrow,.app-page.app-page .app-heading p:not(.app-eyebrow),.app-page.app-page .app-heading :is(.admin-heading-tag,.draw-original,.home-date){display:none}
 .app-page.app-page:is(.audit-page,.bible-tools-page)>.app-inner>:not(:last-child):not(.app-heading){margin-bottom:9px}
 .app-page.app-page :is(.stats-shell,.report-shell,.attendance-shell){min-height:400px}
 .app-page.app-page :is(.btn,.att-btn,.stats-button,.report-button,.audit-button){font-size:11px}
 .app-page.app-page .app-heading>.btn{flex-shrink:0;min-height:34px;padding:6px 9px}
 .app-auth.app-auth :is(.login-shell,.signup-shell){border-radius:15px}
 .app-page.app-page.attendance-page .app-heading{padding-bottom:8px}
 .app-page.app-page.attendance-page .app-heading .att-btn{min-height:32px;padding:5px 9px}
 .app-page.app-page .att-toolbar{padding:5px 8px;gap:4px 8px;margin-bottom:6px}
 .app-page.app-page .att-detail-heading{padding:6px 12px}
 .app-page.app-page .att-actions{gap:4px}
 .app-page.app-page .att-actions .att-btn{min-height:26px;padding:4px 6px;font-size:10px;line-height:1.2}
 .app-page.app-page .att-summary{padding-bottom:6px}
 .app-page.app-page .att-summary>div{padding:4px 7px}
 .app-page.app-page .att-member-toolbar{padding-bottom:6px}
}
@media(max-height:650px){
 .app-page.app-page.app-page{padding:10px}
 .app-page.app-page .app-heading{padding-bottom:9px}
 .app-page.app-page .app-heading :is(.app-eyebrow,p){display:none}
 .app-page.app-page .app-heading h1{font-size:21px;margin:0}
 .app-page.app-page:is(.audit-page,.bible-tools-page)>.app-inner>:not(:last-child):not(.app-heading){margin-bottom:7px}
}
@media(max-width:539px) and (max-height:520px){
 .app-auth.app-auth .login-panel{padding:10px 20px}
 .app-auth.app-auth .login-heading{padding-bottom:8px}
 .app-auth.app-auth .login-heading :is(.app-eyebrow,p){display:none}
 .app-auth.app-auth .login-field{margin-bottom:10px}
 .app-auth.app-auth .login-field input{height:40px}
 .app-auth.app-auth .login-password button{height:36px}
 .app-auth.app-auth .login-submit{min-height:40px;margin-top:10px}
 .app-auth.app-auth .login-divider{margin:12px 0 10px}
}
@media(max-height:460px){
 .app-page.app-page.app-page{margin:5px;height:calc(100dvh - 65px);padding:8px;border-radius:13px}
 .app-page.app-page .app-heading{padding-bottom:7px}
 .app-page.app-page .app-heading h1{font-size:18px}
 .app-page.app-page .app-heading :is(.btn,.att-btn,.stats-button,.report-button){min-height:30px;padding:5px 8px;font-size:10px}
 .app-page.adjust-page .app-heading{padding-right:62%}
 .app-page.adjust-page .adjust-view-switch{top:8px;right:8px}
 .app-page.app-page .admin-panel-heading{padding:3px 8px}
 .app-page.app-page .admin-panel-heading .admin-eyebrow{display:none}
 .app-page.app-page .admin-search{padding:0 8px 3px}
 .app-page.app-page .admin-context{padding:4px 8px;margin:0 8px 6px;max-height:24px;font-size:10px}
 .app-page.app-page .admin-actions{padding:3px 8px}
 .app-page.app-page .minutes-panel-heading{padding:6px 10px}
 .app-page.app-page .minutes-pagination{padding:2px 10px}
 .app-page.app-page .minutes-switch .btn{min-height:28px}
 .app-page.app-page .minutes-filters{padding:3px 10px;margin-bottom:4px}
}
}
