:root { --navy:#19345b; --navy-2:#274f86; --cream:#f8f7f2; --paper:#fff; --ink:#19253a; --muted:#65708a; --border:#e3e6ec; --coral:#e66e59; --gold:#e4ad42; --sky:#63b3cb; --mint:#74bea7; --shadow:0 10px 28px rgba(23,46,85,.08); }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--cream); }
body { margin:0; color:var(--ink); background:var(--cream); font:15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:12px; top:12px; z-index:20; padding:8px 12px; color:#fff; background:var(--navy); border-radius:6px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.app-shell { display:flex; min-height:100vh; }
.sidebar { position:sticky; top:0; display:flex; flex:0 0 245px; flex-direction:column; height:100vh; padding:28px 16px 20px; color:#dbe4f4; background:var(--navy); }
.brand { display:flex; align-items:center; gap:10px; margin-bottom:22px; padding:0 10px; color:#fff; font-size:20px; letter-spacing:-.5px; }
.brand-mark { display:grid; width:32px; height:32px; place-items:center; color:var(--navy); background:var(--gold); border-radius:9px; font-family:Georgia,serif; font-weight:900; }
.sidebar nav { display:grid; gap:5px; }
.nav-link { display:flex; gap:13px; align-items:center; width:100%; padding:11px 12px; color:#c8d3e5; background:transparent; border:0; border-radius:8px; text-align:left; font-weight:650; }
.nav-link span { width:18px; text-align:center; font-size:19px; line-height:1; }
.nav-link:hover, .nav-link.active { color:#fff; background:rgba(255,255,255,.12); }
.sidebar-footer { margin-top:auto; padding:10px; color:#acbad0; font-size:12px; }
.status-dot { display:inline-block; width:8px; height:8px; margin-right:5px; background:var(--mint); border-radius:50%; }
.text-button, .inline-button { padding:0; color:var(--navy-2); background:none; border:0; font-weight:700; }
.sidebar .text-button { display:block; margin-top:10px; color:#c8d3e5; font-size:12px; }
.content { width:calc(100% - 245px); max-width:1440px; padding:0 42px 104px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:118px; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:0; font-size:26px; letter-spacing:-.65px; }
h2 { margin-bottom:5px; font-size:24px; letter-spacing:-.5px; }
h3 { margin-bottom:7px; font-size:17px; letter-spacing:-.2px; }
.eyebrow { margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.14em; }
#eyebrow:empty { display:none; }
.eyebrow.light { color:#d8e0ef; }
.topbar-actions { display:flex; align-items:center; gap:14px; }
.avatar { width:37px; height:37px; color:#fff; background:var(--coral); border:2px solid #fff; border-radius:50%; font-size:11px; font-weight:800; box-shadow:0 1px 5px #b4bbc6; }
.button { min-height:40px; padding:9px 15px; border:1px solid transparent; border-radius:8px; font-weight:750; transition:transform .12s ease, background .12s ease; }
.button:hover { transform:translateY(-1px); }
.button-primary { color:#fff; background:var(--navy); }
.button-primary:hover { background:var(--navy-2); }
.button-secondary { color:var(--navy); background:#e7edf7; }
.button-light { color:var(--navy); background:#fff; }
.button-ghost { color:#fff; background:transparent; border-color:rgba(255,255,255,.48); }
.full-width { width:100%; }
.hero-card { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:203px; padding:31px 34px; color:#fff; background:linear-gradient(118deg,#1a3157 0%,#294f83 63%,#3e71a2 100%); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.hero-card h2 { margin-bottom:8px; color:#fff; font-size:29px; }
.hero-card p:not(.eyebrow) { margin-bottom:0; color:#e2e9f3; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; justify-content:flex-end; }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0; }
.metric-card, .panel { background:var(--paper); border:1px solid var(--border); border-radius:13px; box-shadow:0 2px 3px rgba(23,46,85,.01); }
.metric-card { display:flex; gap:14px; align-items:center; padding:18px; }
.metric-card p { margin-bottom:0; color:var(--muted); font-size:13px; }
.metric-value { display:block; color:var(--ink); font-size:25px; font-weight:800; letter-spacing:-.5px; }
.metric-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; font-size:22px; font-weight:700; }.metric-icon.coral{background:#fdeae5;color:#bf513f}.metric-icon.gold{background:#fff5dc;color:#a66c10}.metric-icon.sky{background:#e5f4f7;color:#2f8298}
.two-column { display:grid; grid-template-columns:1.12fr .88fr; gap:20px; }.panel { padding:23px; }.panel-title-row,.view-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.panel-title-row h2 { font-size:19px; }.event-list { margin-top:17px; }.event-row { display:grid; grid-template-columns:49px 1fr auto; gap:12px; align-items:center; padding:13px 0; border-top:1px solid var(--border); }.date-badge { display:grid; height:46px; place-items:center; color:var(--navy); background:#f0f4fa; border-radius:9px; text-align:center; font-size:11px; font-weight:800; line-height:1.05; }.date-badge b { font-size:18px; }.event-row h3 { margin:0; font-size:15px; }.event-row p { margin:1px 0 0; color:var(--muted); font-size:12px; }.event-type { padding:4px 7px; color:#6d4c11; background:#fff5dc; border-radius:999px; font-size:10px; font-weight:750; }.checkin-list { margin-top:17px; }.checkin-row { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--border); }.initials { display:grid; width:31px; height:31px; place-items:center; color:#fff; background:var(--coral); border-radius:50%; font-size:10px; font-weight:800; }.checkin-row p { margin:0; font-size:13px; }.checkin-row small { color:var(--muted); }.empty-state { padding:18px 0; color:var(--muted); text-align:center; }.privacy-note { margin-top:20px; padding:13px 16px; color:#4e5e78; background:#edf2f8; border-radius:9px; font-size:13px; }
.view { display:none; }.view.active { display:block; }.view-heading { margin:7px 0 24px; }.view-heading > div { width:100%; }.view-heading p:not(.eyebrow) { max-width:66.666%; margin:0; color:var(--muted); }.view-heading.compact { align-items:center; }.event-selector { min-width:250px; color:var(--muted); font-size:12px; font-weight:700; }.event-selector select { display:block; width:100%; margin-top:4px; padding:8px 30px 8px 10px; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:7px; font-weight:650; }
.checkin-layout { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(410px,1.2fr); gap:22px; align-items:start; }.phone-card,.registration-card,.returning-card,.new-person-card { padding:28px; background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); }.phone-card,.registration-card { position:relative; }.checkin-ministry-brand,.registration-ministry-brand { position:absolute; top:24px; right:24px; max-width:92px; max-height:54px; object-fit:contain; }.phone-card.has-ministry-brand h3,.registration-card.has-ministry-brand h3 { padding-right:102px; }.step-number { display:grid; width:27px; height:27px; margin-bottom:15px; place-items:center; color:#fff; background:var(--coral); border-radius:50%; font-size:12px; font-weight:800; }.phone-card h3,.registration-card h3,.returning-card h3 { margin-bottom:4px; font-size:21px; }.muted { color:var(--muted); }.phone-input { width:100%; margin:17px 0 10px; padding:16px; border:1px solid #c7d0de; border-radius:8px; font-size:23px; letter-spacing:.04em; outline-color:var(--navy); }.checkin-privacy-note + #lookup-button { margin-top:16px; }.hint { margin:14px 0 0; color:var(--muted); font-size:12px; text-align:center; }.lookup-result { min-height:342px; scroll-margin-top:12px; }.result-placeholder { display:grid; min-height:342px; place-content:center; padding:40px; color:var(--muted); text-align:center; border:2px dashed #d4dae4; border-radius:14px; }.result-placeholder h3 { margin:10px 0 2px; color:var(--ink); }.result-placeholder p { margin:0; }.placeholder-icon { color:#aeb8c8; font-size:35px; }.returning-person { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-top:1px solid var(--border); }.returning-person:first-of-type { margin-top:16px; }.person-detail { display:flex; gap:10px; align-items:center; }.person-detail b,.person-detail span { display:block; }.person-detail span { color:var(--muted); font-size:12px; }.mini-checkin { min-height:34px; padding:5px 11px; font-size:12px; }.role-buttons { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:17px 0; }.role-button { min-height:86px; padding:10px; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:8px; text-align:left; }.role-button b,.role-button span { display:block; }.role-button span { margin-top:2px; color:var(--muted); font-size:11px; line-height:1.25; }.role-button.selected { border:2px solid var(--navy); background:#f1f5fa; }.form-section-title { margin:18px 0 8px; color:var(--navy); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }.form-grid .wide { grid-column:1 / -1; }.registration-form label,.compose-card label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.registration-form input,.registration-form select,.inline-form input,.compose-card select,.compose-card textarea,.reminder-card select,.search-input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; outline-color:var(--navy); font-size:14px; font-weight:500; }.returning-details-notice { margin:13px 0 4px; padding:10px 12px; color:#4e5e78; background:#edf2f8; border:1px solid #d6e0ec; border-radius:8px; font-size:12px; font-weight:650; line-height:1.4; }.consent-row { display:flex !important; grid-template-columns:auto 1fr; align-items:start; gap:8px !important; margin:17px 0; line-height:1.35; }.consent-row input { width:auto; margin-top:2px; }.hidden { display:none; }
.required-fields-note { margin:0 0 12px; color:var(--muted); font-size:12px; }
.calendar-banner { display:flex; gap:16px; align-items:center; margin-bottom:19px; padding:17px 20px; background:#dceaf0; border-radius:11px; }.calendar-banner h3,.calendar-banner p { margin:0; }.calendar-banner p { color:#405d6d; font-size:13px; }.calendar-banner-icon { display:grid; flex:0 0 39px; height:39px; place-items:center; color:#fff; background:#43879b; border-radius:50%; font-size:22px; }.event-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.event-card { position:relative; min-height:180px; padding:22px; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; }.event-card:after { position:absolute; right:-27px; bottom:-37px; width:105px; height:105px; content:""; background:#e9f1f7; border-radius:50%; }.event-card:nth-child(2):after { background:#fff1d5; }.event-card:nth-child(3):after { background:#fde7e1; }.event-card h3 { margin-top:29px; }.event-card p { position:relative; z-index:1; margin:0; color:var(--muted); font-size:13px; }.card-date { color:var(--navy); font-size:12px; font-weight:800; }.add-event-panel { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:20px; }.add-event-panel h3 { margin:0; }.add-event-panel p { margin:2px 0 0; }.inline-form { display:grid; grid-template-columns:1.3fr 1fr auto; gap:8px; }.table-panel { padding:0; overflow:hidden; }.table-scroll { overflow:auto; }.table-panel table { width:100%; border-collapse:collapse; white-space:nowrap; }.table-panel th { padding:13px 21px; color:#647088; background:#f5f6f8; font-size:11px; letter-spacing:.05em; text-align:left; text-transform:uppercase; }.table-panel td { padding:15px 21px; border-top:1px solid var(--border); font-size:13px; }.role-pill,.consent-pill { padding:4px 8px; border-radius:999px; font-size:11px; font-weight:750; }.role-pill.student { color:#744e0d; background:#fff1d5; }.role-pill.parent { color:#2c6172; background:#e4f2f5; }.consent-pill { color:#28755b; background:#e5f4ed; }.search-input { width:240px; }
.message-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }.messages-view-heading > div { width:auto; flex:1 1 auto; }.messages-view-heading > .button { flex:0 0 auto; min-height:35px; white-space:nowrap; }.message-compose-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }.message-compose-heading h3 { margin:0; }.compose-card label { margin-bottom:16px; }.compose-card textarea { resize:vertical; }.channel-options { display:flex; gap:20px; }.channel-options label { display:flex; align-items:center; gap:5px; margin:0; }.reminder-card { min-height:360px; }.reminder-card > p { margin-bottom:21px; }.toggle-row { display:grid; grid-template-columns:1fr auto 36px; align-items:center; gap:8px; padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }.toggle-row small { display:block; color:var(--muted); }.toggle-row input { position:absolute; opacity:0; }.toggle { width:36px; height:21px; background:#c6ceda; border-radius:999px; }.toggle:before { display:block; width:17px; height:17px; margin:2px; content:""; background:#fff; border-radius:50%; transition:transform .15s; }.toggle-row input:checked + .toggle { background:var(--mint); }.toggle-row input:checked + .toggle:before { transform:translateX(15px); }.reminder-card > label[for] { display:block; margin:18px 0 5px; color:#4f5e76; font-size:12px; font-weight:700; }.reminder-preview { display:flex; justify-content:space-between; margin-top:20px; padding:12px; color:#4d5b73; background:#f0f4f8; border-radius:7px; font-size:12px; }.reminder-preview b { color:var(--ink); }.status-message { min-height:18px; margin:10px 0 0; color:#34715f; font-size:12px; font-weight:700; }.toast { position:fixed; right:22px; bottom:22px; z-index:5; padding:11px 15px; color:#fff; background:#243c63; border-radius:8px; box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(10px); transition:.18s; }.toast.visible { opacity:1; transform:translateY(0); }.mobile-only { display:none; }.icon-button { background:transparent; border:0; font-size:23px; }@media (max-width:700px) { .message-compose-heading { flex-wrap:wrap; }.messages-view-heading > .button { width:100%; } }
@media (max-width: 960px) { .content { padding:0 25px 96px; }.sidebar { flex-basis:210px; }.content { width:calc(100% - 210px); }.checkin-layout,.message-grid { grid-template-columns:1fr; }.event-card-grid { grid-template-columns:1fr 1fr; }.add-event-panel { align-items:flex-start; flex-direction:column; }.inline-form { width:100%; }.two-column { grid-template-columns:1fr; } }
@media (max-width: 700px) { .app-shell { display:block; }.sidebar { position:fixed; z-index:10; width:250px; height:100vh; transform:translateX(-100%); transition:transform .2s; }.sidebar.open { transform:translateX(0); box-shadow:10px 0 30px rgba(0,0,0,.25); }.content { width:100%; padding:0 16px 96px; }.topbar { min-height:94px; }.topbar h1 { font-size:20px; }.topbar .eyebrow { display:none; }.mobile-only { display:block; }.topbar-actions .avatar { display:none; }.topbar-actions .button { padding:8px 10px; font-size:13px; }.hero-card { display:block; padding:25px; }.hero-card h2 { font-size:24px; }.hero-actions { justify-content:flex-start; margin-top:21px; }.metric-grid { grid-template-columns:1fr; gap:9px; }.metric-card { padding:13px; }.two-column { gap:12px; }.panel { padding:18px; }.view-heading { align-items:stretch; flex-direction:column; margin-top:4px; }.view-heading.compact { align-items:stretch; }.event-selector { width:100%; }.checkin-layout { gap:13px; }.phone-card,.registration-card,.returning-card,.new-person-card { padding:22px; }.role-buttons { grid-template-columns:1fr; }.role-button { min-height:56px; }.form-grid { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.event-card-grid { grid-template-columns:1fr; }.inline-form { grid-template-columns:1fr; }.search-input { width:100%; }.message-grid { gap:12px; }.calendar-banner { align-items:flex-start; }.privacy-note { font-size:12px; }.event-row { grid-template-columns:43px 1fr; }.event-type { display:none; } }
@media (max-width:700px) { .view-heading p:not(.eyebrow) { max-width:100%; } }

.master-calendar-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }.master-calendar-card { display:flex; flex-direction:column; min-height:132px; padding:14px 16px; background:#fff; border:1px solid var(--border); border-radius:11px; }.master-calendar-card.coral { border-top:4px solid var(--coral); }.master-calendar-card.mint { border-top:4px solid var(--mint); }.master-calendar-card.gold { border-top:4px solid var(--gold); }.master-calendar-card.sky { border-top:4px solid var(--sky); }.master-card-title { display:flex; gap:10px; align-items:flex-start; }.master-card-title > span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; color:var(--navy); background:#edf3f9; border-radius:8px; font-size:16px; }.master-card-title h3 { margin:0; font-size:16px; }.master-card-title p { display:-webkit-box; margin:2px 0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:1; }.master-calendar-card > small { margin:8px 0; color:var(--muted); font-size:11px; }.master-card-actions { display:flex; align-items:center; justify-content:space-between; margin-top:auto; }.mini-subscribe { min-height:30px; padding:4px 8px; font-size:11px; }.add-calendar-panel { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:24px; }.add-calendar-panel h3,.add-calendar-panel p { margin-bottom:0; }.calendar-form { display:grid; grid-template-columns:1fr 1.2fr auto; gap:8px; }.calendar-form input,.inline-form select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; }.calendar-event-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:3px 0 14px; }.calendar-event-heading h3 { margin:0; }.calendar-tabs { display:flex; flex-wrap:wrap; gap:6px; }.calendar-tab { padding:6px 10px; color:#4d5d77; background:#fff; border:1px solid var(--border); border-radius:999px; font-size:12px; font-weight:750; }.calendar-tab.active { color:#fff; background:var(--navy); border-color:var(--navy); }.event-calendar-label { display:inline-block; margin-top:7px; padding:3px 7px; color:#536681; background:#eef3f9; border-radius:999px; font-size:10px; font-weight:800; }
@media (max-width:960px) { .master-calendar-grid { grid-template-columns:1fr; }.add-calendar-panel { align-items:flex-start; flex-direction:column; }.calendar-form { width:100%; } }
@media (max-width:700px) { .calendar-form { grid-template-columns:1fr; }.calendar-event-heading { align-items:flex-start; flex-direction:column; } }

/* Welcome wordmark with a light navigation surface and dark blue branding. */
.sidebar { background:#fff; color:#52627a; border-right:1px solid var(--border); }.brand { padding:0 9px; }.brand-wordmark { color:#151515; font-family:Georgia,"Times New Roman",serif; font-size:27px; font-weight:650; letter-spacing:-.04em; line-height:1; }.nav-link { color:#52627a; }.nav-link:hover,.nav-link.active { color:var(--navy); background:#edf3f9; }.sidebar-footer { color:#66778d; }.sidebar .text-button { color:#42536b; }.status-dot { background:var(--mint); }
.topbar .avatar { color:#fff; background:var(--coral); border-color:#fff; box-shadow:0 1px 5px #b4bbc6; }.button-primary { background:var(--navy); }.button-primary:hover { background:var(--navy-2); }.button-secondary { color:var(--navy); background:#e7edf7; }.button-light { color:var(--navy); background:#fff; }.button-ghost { border-color:#ffffff80; }.hero-card { background:linear-gradient(118deg,#19345b 0%,#274f86 65%,#477eb4 100%); box-shadow:var(--shadow); }.hero-card p:not(.eyebrow) { color:#e1e9f4; }.eyebrow.light { color:#d8e2ef; }
.metric-card,.panel,.phone-card,.registration-card,.returning-card,.new-person-card,.event-card,.master-calendar-card { border-color:var(--border); }.metric-icon.coral { color:#b94d3d; background:#fdeae5; }.metric-icon.gold { color:#9c6811; background:#fff4d9; }.metric-icon.sky { color:#2f8197; background:#e4f3f6; }.date-badge { color:var(--navy); background:#eef3f9; }.event-type { color:#72500d; background:#fff3d8; }.privacy-note { color:#4e5e78; background:#edf2f8; }.calendar-banner { background:#dceaf0; }.calendar-banner-icon { color:#fff; background:#43879b; }.calendar-banner p { color:#405d6d; }.phone-input,.registration-form input,.inline-form input,.inline-form select,.calendar-form input { border-color:#c7d0de; }.role-button.selected { border-color:var(--navy); background:#f1f5fa; }.role-pill.student { color:#744e0d; background:#fff1d5; }.role-pill.parent { color:#2c6172; background:#e4f2f5; }.consent-pill { color:#28755b; background:#e5f4ed; }.toggle-row input:checked + .toggle { background:var(--mint); }.reminder-preview { color:#4d5b73; background:#f0f4f8; }.master-calendar-card.coral { border-top-color:var(--coral); }.master-calendar-card.mint { border-top-color:var(--mint); }.master-calendar-card.gold { border-top-color:var(--gold); }.master-calendar-card.sky { border-top-color:var(--sky); }.master-card-title > span { color:var(--navy); background:#edf3f9; }.event-calendar-label { color:#536681; background:#eef3f9; }.calendar-tab.active { color:#fff; background:var(--navy); border-color:var(--navy); }.toast { background:var(--navy); }
.metric-icon.mint { color:#28755b; background:#e5f4ed; }

.event-card-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; }.edit-event-button { font-size:12px; }.edit-event-dialog { width:min(570px,calc(100vw - 32px)); padding:0; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 22px 60px rgba(23,46,85,.25); }.edit-event-dialog::backdrop { background:rgba(16,28,49,.46); }.edit-event-form { padding:25px; }.edit-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }.edit-dialog-header h2 { margin:0; }.close-dialog { width:32px; height:32px; padding:0; color:var(--muted); background:#f0f3f7; border:0; border-radius:50%; font-size:23px; line-height:1; }.edit-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.edit-form-grid label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.edit-form-grid input,.edit-form-grid select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; }.edit-form-grid .wide { grid-column:1/-1; }.dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:22px; }.delete-event-button { margin-right:auto; color:#af392d; }@media (max-width:700px) { .edit-event-form { padding:20px; }.edit-form-grid { grid-template-columns:1fr; }.edit-form-grid .wide { grid-column:auto; } }

.google-connection-confirmed-dialog { width:min(525px,calc(100vw - 32px)); }.google-connection-confirmed-dialog .privacy-note { margin-top:16px; line-height:1.45; }

.event-date-range-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; min-width:0; margin:0; padding:0; border:0; }.event-date-range-fields legend,.event-date-range-fields .camp-range-end-field { display:none; }.event-date-range-fields .event-time-end-field { display:grid; }.event-date-range-fields.is-camp-range { grid-template-columns:repeat(2,minmax(0,1fr)); }.event-date-range-fields.is-camp-range legend { display:block; grid-column:1/-1; margin:0 0 4px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.event-date-range-fields.is-camp-range .camp-range-end-field { display:grid; }@media (max-width:700px) { .event-date-range-fields,.event-date-range-fields.is-camp-range { grid-template-columns:1fr; } }

.event-date-input { display:flex; min-width:0; gap:6px; }.edit-form-grid .event-date-input input { min-width:0; }.date-picker-trigger { flex:0 0 39px; width:39px; min-height:39px; padding:0; color:var(--navy); background:#eef3f9; border:1px solid #c8d5e3; border-radius:7px; font-size:18px; line-height:1; cursor:pointer; }.date-picker-trigger:hover,.date-picker-trigger:focus-visible { background:#dce9f5; outline:2px solid var(--sky); outline-offset:2px; }.event-date-picker-dialog { width:min(360px,calc(100vw - 32px)); padding:0; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 22px 60px rgba(23,46,85,.25); }.event-date-picker-dialog::backdrop { background:rgba(16,28,49,.46); }.event-date-picker { padding:22px; }.event-date-picker .edit-dialog-header { margin-bottom:16px; }.event-date-picker-month { display:grid; grid-template-columns:42px 1fr 42px; align-items:center; gap:7px; margin-bottom:14px; text-align:center; }.event-date-picker-month strong { color:var(--navy); font-size:15px; }.event-date-picker-month button { width:42px; height:38px; padding:0; color:var(--navy); background:#eef3f9; border:1px solid #c8d5e3; border-radius:7px; font-size:22px; line-height:1; cursor:pointer; }.event-date-picker-month button:hover,.event-date-picker-month button:focus-visible { background:#dce9f5; outline:2px solid var(--sky); outline-offset:2px; }.event-date-picker-weekdays,.event-date-picker-days { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }.event-date-picker-weekdays { margin-bottom:4px; color:#62718a; text-align:center; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.event-date-picker-days { min-height:240px; }.event-date-picker-days > span { min-height:34px; }.event-date-picker-days button { min-height:34px; padding:0; color:#314660; background:#fff; border:1px solid transparent; border-radius:7px; font:650 12px var(--font-ui); cursor:pointer; }.event-date-picker-days button:hover,.event-date-picker-days button:focus-visible { color:var(--navy); background:#edf3fa; border-color:#c7d5e6; outline:0; }.event-date-picker-days button.is-selected { color:#fff; background:var(--navy); }.event-date-picker-days button.is-today:not(.is-selected) { color:var(--navy); border-color:#85a8cd; }

.event-transport-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; margin:0; padding:0; border:0; }.event-transport-fields[hidden] { display:none; }@media (max-width:700px) { .event-transport-fields { grid-template-columns:1fr; } }

.calendar-event-heading { align-items:flex-start; flex-direction:column; }.calendar-heading-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; }.calendar-tabs { gap:12px; }.calendar-tab { min-height:62px; padding:12px 25px; font-size:24px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; box-shadow:0 3px 8px rgba(25,52,91,.1); }.calendar-subscribe-actions { display:flex; flex-wrap:wrap; gap:6px; }.calendar-subscribe-actions .mini-subscribe { min-height:32px; padding:5px 9px; color:#72500d; background:#fff3d8; border:1px solid #f0d58f; font-size:11px; }.calendar-subscribe-actions .mini-subscribe:hover { background:#ffebba; }@media (max-width:700px) { .calendar-heading-actions { align-items:flex-start; justify-content:flex-start; flex-direction:column; }.calendar-tab { min-height:58px; padding:11px 21px; font-size:22px; } }

.inline-form { grid-template-columns:minmax(190px,1.25fr) minmax(165px,1fr) minmax(130px,.75fr) auto; align-items:end; }.calendar-checklist { min-width:0; margin:0; padding:0; border:0; }.calendar-checklist legend { margin:0 0 5px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.calendar-checkbox-options { display:flex; flex-wrap:wrap; gap:6px; }.calendar-checkbox-options label { display:flex; align-items:center; gap:5px; min-height:34px; padding:6px 9px; color:var(--navy); background:#edf3f9; border:1px solid #c7d5e7; border-radius:999px; font-size:12px; font-weight:750; cursor:pointer; }.calendar-checklist input { width:auto !important; min-width:0; margin:0; padding:0 !important; accent-color:var(--navy); }.edit-calendar-checklist { display:block; }.edit-calendar-checklist .calendar-checkbox-options label { min-height:32px; }@media (max-width:700px) { .calendar-checkbox-options { gap:7px; }.calendar-checkbox-options label { min-height:36px; padding:7px 10px; }.inline-form { grid-template-columns:1fr; } }

.calendar-view-toggle { display:flex; gap:12px; }.calendar-view-button { min-height:30px; padding:4px 0; color:#66748a; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; font-size:12px; font-weight:800; }.calendar-view-button.active { color:var(--navy); border-bottom-color:var(--sky); }.calendar-list { overflow:hidden; background:#fff; border:1px solid var(--border); border-radius:12px; }.calendar-list-row { display:grid; grid-template-columns:78px minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 18px; border-bottom:1px solid var(--border); }.calendar-list-row:last-child { border-bottom:0; }.calendar-list-row .card-date { color:var(--navy); }.calendar-list-row h3 { margin:0; font-size:15px; }.calendar-list-row p { margin:3px 0 0; color:var(--muted); font-size:13px; }@media (max-width:700px) { .calendar-list-row { grid-template-columns:1fr auto; gap:8px; }.calendar-list-row .calendar-date-block { grid-column:1/-1; } }

.calendar-list-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; }.calendar-event-action { min-height:32px; padding:6px 9px; font-size:11px; white-space:nowrap; }@media (max-width:700px) { .calendar-list-actions { grid-column:1/-1; justify-content:flex-start; } }

.add-event-panel { display:block; margin:0 0 20px; padding:0; overflow:hidden; }.add-event-panel summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:0 20px; color:var(--navy); cursor:pointer; font-size:16px; font-weight:800; list-style:none; }.add-event-panel summary::-webkit-details-marker { display:none; }.add-event-panel summary:after { content:"+"; color:var(--sky); font-size:25px; font-weight:400; }.add-event-panel[open] summary { border-bottom:1px solid var(--border); }.add-event-panel[open] summary:after { content:"−"; }.add-event-content { padding:0 20px 20px; }.add-event-content > .muted { margin:15px 0; }.create-event-form { width:min(100%,760px); }.create-event-form > .button { display:block; margin:14px 0 0 auto; }@media (max-width:960px) { .create-event-form { width:100%; } }
.event-name-field { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.event-name-field .event-naming-tip { margin:0 0 4px; padding:10px 12px; color:#72500d; background:#fff3d8; border-radius:7px; font-size:12px; font-weight:500; line-height:1.4; white-space:nowrap; }@media (max-width:780px) { .event-name-field .event-naming-tip { white-space:normal; } }

.quick-add-events-panel .add-event-content > .muted,.quick-add-events-form { width:min(100%,760px); }.quick-add-events-form { display:grid; gap:14px; }.quick-add-events-form > label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.quick-add-events-form textarea { width:100%; min-height:142px; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; outline-color:var(--navy); resize:vertical; font:500 13px/1.45 var(--font-ui); }.quick-add-events-form small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }.quick-add-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:9px; }.quick-add-events-preview { padding:14px; background:#f4f7fb; border:1px solid #dbe4ee; border-radius:8px; }.quick-add-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }.quick-add-preview-heading h3 { margin:0; color:var(--navy); font-size:14px; }.quick-add-preview-heading span { color:#36735f; font-size:12px; font-weight:800; }.quick-add-preview-list { margin:0; padding:0; list-style:none; border-top:1px solid #dbe4ee; }.quick-add-preview-list li { display:grid; grid-template-columns:84px minmax(0,1fr); gap:9px; padding:9px 0; border-bottom:1px solid #dbe4ee; }.quick-add-preview-date { color:var(--navy); font-size:11px; font-weight:800; }.quick-add-preview-list b,.quick-add-preview-list span { display:block; }.quick-add-preview-list b { font-size:13px; }.quick-add-preview-list span { margin-top:2px; color:var(--muted); font-size:11px; }.quick-add-issues { margin:10px 0 0; padding:10px 12px 10px 28px; color:#8b4a32; background:#fff5ed; border-radius:7px; font-size:11px; line-height:1.45; }.quick-add-preview-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:14px; }.quick-add-preview-actions .button { margin:0; }@media (max-width:700px) { .quick-add-actions,.quick-add-preview-actions { width:100%; }.quick-add-actions .button,.quick-add-preview-actions .button { flex:1 1 100%; }.quick-add-preview-list li { grid-template-columns:1fr; gap:3px; } }

.calendar-management-subsection { width:min(100%,760px); }.calendar-management-subsection + .calendar-management-subsection { margin-top:23px; padding-top:20px; border-top:1px solid var(--border); }.calendar-management-subsection > .eyebrow { margin:0 0 8px; }.calendar-management-subsection > .muted { margin:0 0 14px; }.bulk-event-rename-scope { margin:0 0 14px; color:#56657b; font-size:12px; font-weight:700; }.bulk-event-rename-form { display:grid; gap:14px; }.bulk-event-rename-case { display:flex !important; align-items:center; gap:8px; color:#4f5e76 !important; cursor:pointer; font-size:12px !important; font-weight:700; }.bulk-event-rename-case input { width:auto !important; margin:0; accent-color:var(--navy); }.bulk-event-rename-preview { padding:14px; background:#f4f7fb; border:1px solid #dbe4ee; border-radius:8px; }.bulk-event-rename-preview-list { margin:0; padding:0; list-style:none; border-top:1px solid #dbe4ee; }.bulk-event-rename-preview-list li { display:grid; grid-template-columns:84px minmax(0,1fr); gap:9px; padding:9px 0; border-bottom:1px solid #dbe4ee; }.bulk-event-rename-preview-list b,.bulk-event-rename-preview-list span { display:block; }.bulk-event-rename-preview-list b { color:#59687d; font-size:13px; text-decoration:line-through; }.bulk-event-rename-preview-list span { margin-top:3px; color:var(--navy); font-size:13px; font-weight:800; }.bulk-event-rename-preview-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:14px; }.bulk-event-rename-preview-actions .button { margin:0; }@media (max-width:700px) { .bulk-event-rename-preview-actions { width:100%; }.bulk-event-rename-preview-actions .button { flex:1 1 100%; }.bulk-event-rename-preview-list li { grid-template-columns:1fr; gap:3px; } }

.add-calendar-panel { display:block; margin:0 0 20px; padding:0; overflow:hidden; }.add-calendar-panel summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:0 20px; color:var(--navy); cursor:pointer; font-size:16px; font-weight:800; list-style:none; }.add-calendar-panel summary::-webkit-details-marker { display:none; }.add-calendar-panel summary:after { content:"+"; color:var(--sky); font-size:25px; font-weight:400; }.add-calendar-panel[open] summary { border-bottom:1px solid var(--border); }.add-calendar-panel[open] summary:after { content:"−"; }.add-calendar-content { padding:0 20px 20px; }.add-calendar-content > .muted { margin:15px 0; }

.delete-calendar-section { margin-top:20px; padding-top:17px; border-top:1px solid var(--border); }.delete-calendar-section > .muted { margin:0 0 10px; }.delete-calendar-controls { display:flex; flex-wrap:wrap; gap:8px; }.delete-calendar-controls select { min-width:210px; padding:9px; color:var(--ink); background:#fff; border:1px solid #c7d0de; border-radius:7px; }.button-danger { color:#fff; background:#b94d3d; }.button-danger:hover { background:#9f3d31; }.button-danger:disabled { cursor:not-allowed; opacity:.5; }@media (max-width:700px) { .delete-calendar-controls { flex-direction:column; }.delete-calendar-controls select { width:100%; } }

.calendar-events-label { margin:20px 0 12px; }
.calendar-master-label,.calendar-events-label { color:var(--navy); font-size:12px; font-weight:750; letter-spacing:normal; line-height:1.2; }
.calendar-events-subheader { max-width:66.666%; margin:0 0 16px; color:var(--muted); line-height:1.45; }
.calendar-master-label { margin:0 0 8px; }
.calendar-master-calendar-panel { margin:0 0 20px; padding:14px; border-radius:10px; }
.calendar-heading-actions { flex-direction:column; align-items:flex-start; gap:0; }
.calendar-master-subheader { max-width:66.666%; margin:0 0 12px; color:var(--muted); line-height:1.45; }
.calendar-master-tip { max-width:760px; margin:0 0 14px; padding:10px 12px; color:#72500d; background:#fff3d8; border-radius:7px; font-size:12px; font-weight:500; line-height:1.4; }
.calendar-event-options-label { margin:30px 0 12px; }
.calendar-event-options-panel { margin:20px 0; }
.calendar-event-options-heading { padding:14px 14px 0; }
.calendar-event-options-content { padding:0 14px 14px; }
.calendar-event-options-panel .calendar-helper-launch { margin:0 0 14px; }
.calendar-event-options-panel :is(.add-event-panel,.add-calendar-panel) { margin:0 0 10px; }
.calendar-helper-launch { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 20px; }.calendar-helper-launch .button { min-height:40px; margin:0; }.calendar-helper-launch span { color:var(--muted); font-size:12px; font-weight:600; }.calendar-event-helper-dialog { width:min(760px,calc(100vw - 32px)); }.calendar-helper-file { display:grid; gap:5px; margin-top:16px; color:#4f5e76; font-size:12px; font-weight:700; }.calendar-helper-file input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.calendar-helper-file small { color:var(--muted); font-size:11px; font-weight:500; }.calendar-helper-file-actions { margin-top:12px; }.calendar-helper-file-actions .button { margin:0; }.calendar-helper-status { min-height:18px; margin:10px 0 0; color:#59697d; font-size:12px; font-weight:700; }.school-calendar-helper-setup { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }.school-calendar-helper-setup[hidden] { display:none; }.school-calendar-days-off { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.9fr); gap:16px; padding:13px; background:#fff8e8; border:1px solid #f0dca3; border-radius:9px; }.school-calendar-days-off .eyebrow { margin:0 0 6px; color:#72500d; }.school-calendar-days-off .muted { margin:0; color:#705f38; font-size:12px; line-height:1.45; }.school-calendar-days-off ul { display:grid; max-height:154px; margin:0; padding:0 0 0 18px; overflow:auto; color:#705f38; font-size:11px; line-height:1.45; }.school-calendar-days-off li + li { margin-top:4px; }.calendar-helper-weekdays { margin:17px 0 0; padding:0; border:0; }.calendar-helper-weekdays legend { margin:0 0 8px; padding:0; color:#4f5e76; font-size:12px; font-weight:800; }.calendar-helper-weekdays > div { display:flex; flex-wrap:wrap; gap:7px; }.calendar-helper-weekdays label { display:flex; align-items:center; gap:5px; min-height:33px; padding:6px 9px; color:var(--navy); background:#edf3f9; border:1px solid #c7d5e7; border-radius:999px; font-size:12px; font-weight:750; cursor:pointer; }.calendar-helper-weekdays input { width:auto; margin:0; accent-color:var(--navy); }.calendar-helper-preferences { margin-top:14px; }.calendar-helper-avoid-days { display:flex !important; align-items:center; gap:8px; color:#4f5e76 !important; cursor:pointer; font-size:12px !important; }.calendar-helper-avoid-days input { width:auto !important; margin:0; accent-color:var(--navy); }.calendar-helper-suggestion-actions { margin-top:16px; }.calendar-helper-suggestion-actions .button { margin:0; }.school-calendar-helper-suggestions { margin-top:16px; padding:14px; background:#f4f7fb; border:1px solid #dbe4ee; border-radius:9px; }.school-calendar-helper-suggestions[hidden] { display:none; }.school-calendar-helper-suggestions h3 { margin:0; color:var(--navy); font-size:15px; }.school-calendar-helper-suggestions > p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }.school-calendar-helper-suggestions ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:13px 0 0; padding:0; list-style:none; }.school-calendar-helper-suggestions li { display:flex; justify-content:space-between; gap:9px; padding:9px 10px; color:#475b75; background:#fff; border:1px solid #dbe4ee; border-radius:7px; font-size:12px; font-weight:700; }.school-calendar-helper-suggestions li span { color:#8d5e16; font-size:10px; font-weight:800; text-align:right; }.school-calendar-helper-suggestions li.is-school-day-off { border-color:#edcd75; background:#fff9e9; }@media (max-width:700px) { .calendar-event-options-subheader { max-width:100%; }.calendar-helper-launch { align-items:stretch; flex-direction:column; }.calendar-helper-launch .button { width:100%; }.school-calendar-days-off { grid-template-columns:1fr; }.school-calendar-helper-suggestions ul { grid-template-columns:1fr; } }

.school-calendar-helper-suggestions li.is-near-school-day-off { border-color:#f0dca3; background:#fffdf5; }
.school-calendar-helper-suggestions ul { grid-template-columns:1fr; }
.calendar-helper-file-list { margin:8px 0 0; color:#59697d; font-size:11px; font-weight:650; line-height:1.45; }.school-calendar-conflicts { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.9fr); gap:16px; margin-top:12px; padding:13px; background:#fff3ef; border:1px solid #efc7b8; border-radius:9px; }.school-calendar-conflicts[hidden] { display:none; }.school-calendar-conflicts .eyebrow { margin:0 0 6px; color:#8a4327; }.school-calendar-conflicts .muted { margin:0; color:#7d5548; font-size:12px; line-height:1.45; }.school-calendar-conflicts ul { display:grid; max-height:154px; margin:0; padding:0 0 0 18px; overflow:auto; color:#7d5548; font-size:11px; line-height:1.45; }.school-calendar-conflicts li + li { margin-top:4px; }.school-calendar-helper-suggestions li.is-possible-conflict { border-color:#efc7b8; background:#fff7f4; }
.calendar-helper-file-list p { margin:0 0 6px; }.calendar-helper-file-list ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }.calendar-helper-file-list li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 8px; background:#f4f7fb; border:1px solid #dbe4ee; border-radius:6px; }.calendar-helper-file-list li span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.calendar-helper-file-list button { flex:0 0 auto; padding:4px 7px; color:#9b3930; background:#fff; border:1px solid #e7b6ae; border-radius:5px; font:700 10px var(--font-ui); cursor:pointer; }
.calendar-helper-past-event-actions { margin-top:14px; }.calendar-helper-past-event-actions .button { margin:0; }.school-calendar-past-events { margin-top:11px; padding:13px; background:#eef5fb; border:1px solid #c7d8ea; border-radius:9px; }.school-calendar-past-events[hidden] { display:none; }.school-calendar-past-events .eyebrow { margin:0 0 6px; color:#3f6285; }.school-calendar-past-events .muted { margin:0; color:#526b83; font-size:12px; line-height:1.45; }.calendar-helper-past-event-dates { margin-top:12px; }.calendar-helper-past-event-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.calendar-helper-past-event-controls .button { margin:0; }.calendar-helper-past-event-status { min-height:17px; margin:10px 0 0; color:#3f6285; font-size:12px; font-weight:700; line-height:1.4; }
.school-calendar-suggestion-month { margin-top:18px; }.school-calendar-suggestion-month:first-of-type { margin-top:13px; }.school-calendar-suggestion-month h4 { margin:0; padding-bottom:6px; color:#4f5e76; border-bottom:1px solid #dbe4ee; font-size:11px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }.school-calendar-suggestion-month ul { margin-top:7px; }
.school-calendar-upload-review-files { display:grid; gap:6px; margin:14px 0 0; padding:0; list-style:none; }.school-calendar-upload-review-files li { padding:8px 10px; color:#875019; background:#fff8e8; border:1px solid #f0dca3; border-radius:7px; font-size:12px; font-weight:700; }
@media (max-width:700px) { .school-calendar-conflicts { grid-template-columns:1fr; } }
@media (max-width:700px) { .calendar-helper-past-event-controls .button { width:100%; } }

/* Let planners choose suggested dates, then save them as editable event drafts. */
.school-calendar-suggestion-select { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; width:100%; cursor:pointer; }.school-calendar-suggestion-select input { width:auto; margin:2px 0 0; accent-color:var(--navy); }.school-calendar-suggestion-select b,.school-calendar-suggestion-select small { display:block; }.school-calendar-suggestion-select b { color:#475b75; }.school-calendar-suggestion-select small { margin-top:2px; color:#8d5e16; font-size:10px; font-weight:800; line-height:1.35; }.school-calendar-suggestion-selection-actions,.calendar-helper-draft-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:15px; }.school-calendar-suggestion-selection-actions > span,.calendar-helper-draft-count { margin:0 auto 0 0; color:#59697d; font-size:11px; font-weight:800; }.school-calendar-suggestion-selection-actions .text-button { margin:0; }.school-calendar-suggestion-selection-actions .button,.calendar-helper-draft-actions .button { margin:0; }.school-calendar-save-drafts { margin-top:16px; padding:14px; background:#edf4fb; border:1px solid #c7d8ea; border-radius:9px; }.school-calendar-save-drafts[hidden] { display:none; }.school-calendar-save-drafts .eyebrow { margin:0 0 5px; color:#3f6285; }.school-calendar-save-drafts h3 { margin:0; color:var(--navy); font-size:15px; }.school-calendar-save-drafts > p:not(.eyebrow):not(.calendar-helper-draft-count) { margin:5px 0 0; color:#59697d; font-size:12px; line-height:1.45; }.calendar-helper-draft-fields { margin-top:14px; }.calendar-helper-draft-fields small { color:var(--muted); font-size:10px; font-weight:600; }.calendar-event-draft-label { display:inline-block; margin:0 0 4px; padding:3px 5px; color:#765311; background:#fff1cc; border-radius:4px; font-size:9px; font-weight:850; letter-spacing:.05em; }.calendar-helper-draft-count { margin-top:12px; }@media (max-width:700px) { .school-calendar-suggestion-selection-actions,.calendar-helper-draft-actions { align-items:stretch; flex-direction:column; }.school-calendar-suggestion-selection-actions > span,.calendar-helper-draft-count { width:100%; }.school-calendar-suggestion-selection-actions .button,.calendar-helper-draft-actions .button { width:100%; } }
.school-calendar-suggestion-instructions { margin-top:12px !important; padding:9px 10px; color:#3f6285 !important; background:#e8f1fa; border-radius:7px; font-size:12px !important; font-weight:750; line-height:1.4; }

#event-cards + .add-calendar-panel { margin-top:36px; }
@media (max-width:700px) { .calendar-events-subheader,.calendar-master-subheader,.calendar-event-options-subheader { max-width:100%; }.calendar-master-tip { max-width:100%; } }

.emoji-picker { margin:-6px 0 16px; }.emoji-picker summary { width:max-content; color:var(--navy); cursor:pointer; font-size:12px; font-weight:800; }.emoji-options { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }.emoji-options button { width:34px; height:34px; padding:0; background:#fff8e4; border:1px solid #f0d58f; border-radius:7px; font-size:17px; }.emoji-options button:hover { background:#ffebba; }

.edit-person-button { font-size:12px; }.person-consent-row { display:flex !important; align-items:center; gap:8px; color:#4f5e76; font-size:12px; font-weight:700; }.person-consent-row input { width:auto !important; margin:0; }

.people-import-dialog { width:min(780px,calc(100vw - 32px)); }.people-import-file { display:grid; gap:5px; margin:17px 0 0; color:#4f5e76; font-size:12px; font-weight:700; }.people-import-file input,.people-import-section-heading select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.people-import-file small { color:var(--muted); font-size:10px; font-weight:500; }.people-import-setup { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }.people-import-setup[hidden] { display:none; }.people-import-section-heading { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:14px; }.people-import-section-heading h3,.people-import-preview-heading h3 { margin:0; font-size:16px; }.people-import-section-heading .muted { max-width:420px; margin:3px 0 0; font-size:12px; }.people-import-options { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }.people-import-section-heading label { display:grid; min-width:190px; gap:5px; color:#4f5e76; font-size:11px; font-weight:800; }.people-import-mapping { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:15px; }.people-import-suggestion-note { grid-column:1/-1; margin:0 0 3px; padding:9px 10px; color:#536681; background:#f3f7fb; border:1px solid #d9e4ef; border-radius:7px; font-size:11px; line-height:1.4; }.people-import-suggestion-note strong { color:var(--navy); }.people-import-mapping label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.people-import-mapping label > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }.people-import-mapping label small { padding:2px 5px; color:#296651; background:#e5f4ed; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.people-import-mapping select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.people-import-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }.people-import-preview-heading span { color:var(--muted); font-size:11px; font-weight:700; }.people-import-preview { margin-top:8px; overflow:auto; border:1px solid #e0e6ed; border-radius:8px; }.people-import-preview table { width:100%; border-collapse:collapse; white-space:nowrap; }.people-import-preview th,.people-import-preview td { padding:8px 10px; text-align:left; }.people-import-preview th { color:#536681; background:#f4f7fa; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }.people-import-preview td { border-top:1px solid #e6eaf0; font-size:12px; }.people-import-empty { margin:0; padding:12px; color:var(--muted); font-size:12px; }.people-import-matches { margin-top:20px; padding:14px; background:#f7fafc; border:1px solid #d9e4ee; border-radius:9px; }.people-import-matches[hidden] { display:none; }.people-import-matches-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.people-import-matches-heading h3 { margin:0; color:var(--navy); font-size:15px; }.people-import-matches-heading span { color:#61708a; font-size:11px; font-weight:750; }.people-import-matches > p { margin:6px 0 11px; color:#536681; font-size:12px; line-height:1.4; }.people-import-match-list { display:grid; max-height:270px; gap:7px; margin:0; padding:0; overflow:auto; list-style:none; }.people-import-match-list li { display:grid; grid-template-columns:minmax(0,1fr) minmax(195px,.7fr); align-items:center; gap:10px; padding:9px 10px; background:#fff; border:1px solid #dce5ed; border-radius:7px; }.people-import-match-list b,.people-import-match-list small { display:block; }.people-import-match-list b { color:var(--ink); font-size:12px; }.people-import-match-list small { margin-top:3px; color:#5e6e85; font-size:11px; line-height:1.35; }.people-import-match-list label { display:grid; gap:4px; color:#52627b; font-size:10px; font-weight:800; }.people-import-match-list select { width:100%; padding:7px 8px; color:var(--ink); background:#fff; border:1px solid #cbd7e2; border-radius:6px; font:500 11px var(--font-ui); }.people-import-consent-note { margin:12px 0 0; padding:10px 11px; color:#5c5b46; background:#fff8e8; border-radius:7px; font-size:11px; line-height:1.4; }@media (max-width:700px) { .people-import-section-heading { align-items:stretch; flex-direction:column; }.people-import-options { justify-content:stretch; }.people-import-section-heading label { min-width:0; }.people-import-mapping { grid-template-columns:1fr; }.people-import-match-list li { grid-template-columns:1fr; } }

.people-import-schools { display:grid; gap:10px; margin-top:18px; padding:14px; background:#f7fafc; border:1px solid #d9e4ee; border-radius:9px; }.people-import-schools[hidden] { display:none; }.people-import-schools-heading h3 { margin:0; color:var(--navy); font-size:15px; }.people-import-schools-heading p { margin:5px 0 0; color:#536681; font-size:12px; line-height:1.4; }.people-import-school-list { display:grid; max-height:250px; gap:7px; margin:0; padding:0; overflow:auto; list-style:none; }.people-import-school-list li { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,.8fr); align-items:center; gap:10px; padding:9px 10px; background:#fff; border:1px solid #dce5ed; border-radius:7px; }.people-import-school-list b,.people-import-school-list small { display:block; }.people-import-school-list b { overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.people-import-school-list small { margin-top:3px; color:#5e6e85; font-size:11px; line-height:1.35; }.people-import-school-list label { display:grid; gap:4px; color:#52627b; font-size:10px; font-weight:800; }.people-import-school-list select { width:100%; padding:7px 8px; color:var(--ink); background:#fff; border:1px solid #cbd7e2; border-radius:6px; font:500 11px var(--font-ui); }@media (max-width:700px) { .people-import-school-list li { grid-template-columns:1fr; } }

.people-search-status { min-height:17px; margin:-7px 0 12px; color:var(--muted); font-size:11px; font-weight:650; }.people-import-relationships { display:grid; gap:10px; margin-top:18px; padding:14px; color:#536681; background:#f4f8fc; border:1px solid #d7e4ef; border-radius:9px; }.people-import-relationships[hidden] { display:none; }.people-import-relationships-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.people-import-relationships-heading h3 { margin:0; color:var(--navy); font-size:15px; }.people-import-relationships-heading span { display:grid; min-width:23px; height:23px; place-items:center; color:#31506f; background:#e8f0f6; border-radius:50%; font-size:11px; font-weight:800; }.people-import-relationships > p { margin:0; font-size:12px; line-height:1.4; }.people-import-relationship-list { display:grid; gap:6px; max-height:180px; margin:0; padding:0; overflow:auto; list-style:none; }.people-import-relationship-list li { display:flex; flex-wrap:wrap; gap:4px; padding:8px 9px; color:#536681; background:#fff; border:1px solid #dce5ed; border-radius:7px; font-size:11px; line-height:1.35; }.people-import-relationship-list b { color:var(--ink); }

.delete-ministry-panel { margin-top:18px; border-color:#ead4cf; }.delete-ministry-panel > summary { color:#934339; }.delete-ministry-panel-content { display:grid; justify-items:start; gap:12px; padding:2px 14px 14px; }.delete-ministry-panel-content p { max-width:650px; margin:0; color:#5d6673; font-size:12px; line-height:1.45; }.delete-ministry-dialog { width:min(560px,calc(100vw - 32px)); }.delete-ministry-summary { margin:0 0 4px; color:#536681; font-size:13px; line-height:1.45; }.delete-ministry-dialog label > strong { color:#8f392e; }.delete-ministry-dialog .status-message { min-height:17px; margin:0; }

.person-image-upload { position:relative; }.person-image-upload > input { position:absolute; width:1px !important; height:1px; padding:0 !important; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }.person-image-upload-trigger { display:flex; align-items:center; min-height:39px; padding:9px 11px; color:var(--navy); background:#e7edf7; border:1px solid #c7d5e7; border-radius:7px; font:650 13px var(--font-ui); cursor:pointer; }.person-image-upload:focus-within .person-image-upload-trigger { outline:2px solid var(--sky); outline-offset:2px; }.person-image-upload small { color:var(--muted); font-size:10px; font-weight:500; }.person-image-preview { display:flex; gap:10px; align-items:center; padding:9px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.person-image-preview[hidden] { display:none !important; }.person-image-preview img { width:56px; height:56px; object-fit:cover; border-radius:50%; }.person-image-preview b { display:block; max-width:300px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.person-image-preview .text-button { margin-top:2px; font-size:11px; }.person-name-cell { display:flex; align-items:center; gap:8px; }.person-name-cell img { width:30px; height:30px; object-fit:cover; border-radius:50%; }.person-name-button { padding:0; color:var(--ink); background:transparent; border:0; font:700 14px var(--font-ui); text-align:left; cursor:pointer; }.person-name-button:hover,.person-name-button:focus-visible { color:var(--navy); text-decoration:underline; }.photo-consent-dialog,.phone-missing-dialog { width:min(550px,calc(100vw - 32px)); }.photo-consent-question { margin:17px 0 0; color:var(--navy); font-size:14px; font-weight:750; }

#edit-student-leader-field[hidden] { display:none !important; }.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }.student-leader-field { margin:2px 0 0; padding:0; overflow:hidden; background:#fff; border:1px solid #d7e0e9; border-radius:8px; }.student-leader-picker > summary { display:flex; align-items:center; gap:8px; padding:10px 11px; color:var(--navy); cursor:pointer; font-size:12px; font-weight:800; list-style:none; }.student-leader-picker > summary::-webkit-details-marker { display:none; }.student-leader-picker > summary::after { margin-left:3px; color:#43879b; content:"+"; font-size:18px; font-weight:400; }.student-leader-picker[open] > summary { border-bottom:1px solid #e0e6ed; }.student-leader-picker[open] > summary::after { content:"−"; }.student-leader-picker > summary strong { display:grid; width:23px; height:23px; margin-left:auto; place-items:center; color:#31506f; background:#e8f0f6; border-radius:50%; font-size:11px; }.student-leader-picker-content { padding:9px 11px 10px; }.student-leader-picker-content > p { margin:0 0 8px; color:var(--muted); font-size:11px; line-height:1.35; }.student-leader-options { display:grid; gap:4px; max-height:170px; overflow-y:auto; }.student-leader-option { display:flex !important; align-items:center; gap:7px !important; min-height:32px; margin:0 !important; padding:6px 8px; color:var(--ink) !important; background:#fff; border:1px solid #dce4ec; border-radius:6px; cursor:pointer; }.student-leader-option.is-selected { background:#edf5fb; border-color:#b9cbdd; }.student-leader-option input { width:auto !important; margin:0; padding:0 !important; accent-color:var(--navy); }.student-leader-option span { min-width:0; }.student-leader-option b,.student-leader-option small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.student-leader-option b { font-size:11px; }.student-leader-option small { margin-top:1px; color:#4e6682; font-size:9px; font-weight:700; }.student-leader-option small:empty { display:none; }.student-primary-leader-field { display:grid !important; gap:4px !important; margin:0 !important; padding:9px 11px 10px; color:#4f5e76 !important; border-top:1px solid #e0e6ed; font-size:11px !important; font-weight:700 !important; }.student-primary-leader-field select { width:100%; padding:7px 8px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:6px; font:500 13px var(--font-ui); }.student-primary-leader-field small { color:var(--muted); font-size:9px; font-weight:500; }@media (max-width:700px) { .student-leader-option small { white-space:normal; } }
.student-leader-option { display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:8px !important; cursor:default; }.student-leader-actions { display:flex; gap:4px; }.student-leader-choice { min-height:25px; padding:4px 7px; color:#58708b; background:#fff; border:1px solid #cbd7e3; border-radius:5px; font:750 9px var(--font-ui); cursor:pointer; }.student-leader-choice:hover { color:var(--navy); background:#eef4f9; border-color:#9eb7ce; }.student-leader-choice.is-selected { color:#fff; background:var(--navy); border-color:var(--navy); }

.person-attendance { margin-top:4px; padding-top:16px; border-top:1px solid var(--border); }.person-attendance summary { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--navy); cursor:pointer; font-size:14px; font-weight:700; list-style:none; }.person-attendance summary::-webkit-details-marker { display:none; }.person-attendance summary:after { margin-left:4px; color:#43879b; content:"+"; font-size:22px; font-weight:400; }.person-attendance[open] summary:after { content:"−"; }.person-attendance summary strong { display:grid; width:28px; height:28px; margin-left:auto; place-items:center; color:#31506f; background:#e8f0f6; border-radius:50%; font-size:12px; }.person-attendance-content { padding-top:1px; }.person-attendance-empty { margin:10px 0 0; color:var(--muted); font-size:12px; }.person-attendance-list { margin-top:9px; border-top:1px solid #e1e6ec; }.person-attendance-row { display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; padding:10px 0; border-bottom:1px solid #e1e6ec; }.person-attendance-row time { color:#536681; font-size:11px; font-weight:750; }.person-attendance-row b,.person-attendance-row small { display:block; }.person-attendance-row b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.person-attendance-row small { margin-top:1px; color:var(--muted); font-size:11px; }#edit-person-attendance-section { padding-bottom:16px; border-bottom:1px solid var(--border); }@media (max-width:700px) { .person-attendance-row { grid-template-columns:1fr; gap:2px; } }

/* Overview check-in reporting stays compact until a leader needs the details. */
.dashboard-checkin-reports { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }.dashboard-checkin-reports-empty { margin:0; color:var(--muted); font-size:12px; line-height:1.4; }.dashboard-checkin-report-panel,.dashboard-event-report,.dashboard-attendance-progress { overflow:hidden; background:#fff; border:1px solid #d9e3ed; border-radius:8px; }.dashboard-checkin-report-panel > summary,.dashboard-event-report > summary,.dashboard-attendance-progress > summary { display:flex; align-items:center; gap:9px; min-height:38px; padding:9px 10px; color:var(--navy); cursor:pointer; font-size:12px; font-weight:800; list-style:none; }.dashboard-checkin-report-panel > summary::-webkit-details-marker,.dashboard-event-report > summary::-webkit-details-marker,.dashboard-attendance-progress > summary::-webkit-details-marker { display:none; }.dashboard-checkin-report-panel > summary::after,.dashboard-event-report > summary::after,.dashboard-attendance-progress > summary::after { margin-left:2px; color:#43879b; content:"+"; font-size:18px; font-weight:400; }.dashboard-checkin-report-panel[open] > summary::after,.dashboard-event-report[open] > summary::after,.dashboard-attendance-progress[open] > summary::after { content:"−"; }.dashboard-checkin-report-panel > summary > strong,.dashboard-attendance-progress > summary > strong { display:grid; width:23px; height:23px; margin-left:auto; place-items:center; color:#31506f; background:#e8f0f6; border-radius:50%; font-size:11px; }.dashboard-checkin-report-content { padding:0 10px 10px; border-top:1px solid #dfe7ef; }.dashboard-checkin-report-content > p,.dashboard-attendance-progress-content > p { margin:10px 0; color:#607189; font-size:11px; line-height:1.4; }.dashboard-event-report-list { display:grid; gap:7px; }.dashboard-event-report { background:#f9fbfd; }.dashboard-event-report > summary > span { display:grid; min-width:0; gap:1px; }.dashboard-event-report > summary b,.dashboard-event-report > summary small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dashboard-event-report > summary b { color:var(--ink); font-size:12px; }.dashboard-event-report > summary small { color:#65758c; font-size:10px; font-weight:650; }.dashboard-event-report > summary > strong { margin-left:auto; color:#31506f; font-size:13px; }.dashboard-event-report-content { padding:9px 10px 10px; border-top:1px solid #e0e7ee; }.dashboard-checkin-metrics { display:flex; flex-wrap:wrap; gap:6px; }.dashboard-checkin-metrics span { padding:4px 6px; color:#4f617b; background:#edf3f9; border-radius:5px; font-size:10px; font-weight:700; }.dashboard-checkin-metrics b { color:var(--navy); }.dashboard-checkin-report-actions { margin:9px 0 8px; }.dashboard-checkin-report-actions .button { min-height:30px; padding:5px 8px; font-size:11px; }.dashboard-checkin-attendees,.dashboard-attendance-progress-list { border-top:1px solid #e2e8ef; }.dashboard-checkin-person,.dashboard-attendance-progress-person { display:flex; align-items:center; justify-content:space-between; gap:9px; width:100%; padding:8px 0; color:var(--ink); background:transparent; border:0; border-bottom:1px solid #e2e8ef; text-align:left; }.dashboard-checkin-person:last-child,.dashboard-attendance-progress-person:last-child { border-bottom:0; }.dashboard-checkin-person > span,.dashboard-attendance-progress-person > span { display:grid; min-width:0; gap:1px; }.dashboard-checkin-person b,.dashboard-checkin-person small,.dashboard-attendance-progress-person b,.dashboard-attendance-progress-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dashboard-checkin-person b,.dashboard-attendance-progress-person b { font-size:12px; }.dashboard-checkin-person small,.dashboard-attendance-progress-person small { color:#68788f; font-size:10px; line-height:1.35; }.dashboard-checkin-person time { flex:0 0 auto; color:#586a82; font-size:10px; font-weight:700; }.dashboard-checkin-person:hover b,.dashboard-checkin-person:focus-visible b,.dashboard-attendance-progress-person:hover b,.dashboard-attendance-progress-person:focus-visible b { color:var(--navy-2); text-decoration:underline; }.dashboard-checkin-person:focus-visible,.dashboard-attendance-progress-person:focus-visible { outline:2px solid var(--sky); outline-offset:-2px; }.dashboard-checkin-empty { margin:9px 0 0; color:var(--muted); font-size:11px; }.dashboard-attendance-progress { margin-top:9px; background:#f4f8fb; border-color:#d6e2ec; }.dashboard-attendance-progress-content { padding:0 10px 10px; border-top:1px solid #d9e4ed; }.dashboard-attendance-progress-person { align-items:flex-start; }.dashboard-attendance-progress-person small { overflow:visible; white-space:normal; }.dashboard-attendance-progress-person em { flex:0 0 auto; padding-top:2px; color:#31506f; font-size:10px; font-style:normal; font-weight:800; }@media (max-width:700px) { .dashboard-checkin-reports { margin-top:13px; }.dashboard-event-report > summary { align-items:flex-start; }.dashboard-checkin-person,.dashboard-attendance-progress-person { align-items:flex-start; }.dashboard-checkin-person time { padding-top:2px; } }

.leader-students[hidden] { display:none !important; }
.leader-students-actions { display:flex; justify-content:flex-start; margin:12px 0 2px; }.leader-students-actions .button { min-height:32px; padding:7px 11px; font-size:11px; }.leader-student-picker-dialog { width:min(620px,calc(100vw - 32px)); }.leader-student-picker-options { display:grid; max-height:min(50vh,420px); gap:7px; margin-top:18px; padding-right:4px; overflow-y:auto; overscroll-behavior:contain; }.leader-student-picker-option { display:flex; align-items:center; gap:10px; padding:10px; color:var(--ink); background:#f8fafc; border:1px solid #dbe3eb; border-radius:8px; cursor:pointer; }.leader-student-picker-option:hover { background:#eef5fb; border-color:#b9cbdd; }.leader-student-picker-option > input { width:auto; margin:0; accent-color:var(--navy); }.leader-student-picker-option > span { display:flex; min-width:0; align-items:center; gap:9px; }.leader-student-picker-option img { width:32px; height:32px; object-fit:cover; border-radius:50%; }.leader-student-picker-option b,.leader-student-picker-option small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.leader-student-picker-option b { font-size:13px; }.leader-student-picker-option small { margin-top:2px; color:var(--muted); font-size:11px; }@media (max-width:700px) { .leader-student-picker-option small { white-space:normal; } }

.person-notes-field { margin-top:4px; padding-top:16px; border-top:1px solid var(--border); }.edit-form-grid .person-notes-field textarea { width:100%; min-height:96px; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; resize:vertical; font:500 14px var(--font-ui); line-height:1.45; }

.person-family-section { margin-top:4px; padding-top:16px; border-top:1px solid var(--border); }.person-family-section summary { display:flex; align-items:center; gap:12px; color:var(--navy); cursor:pointer; list-style:none; }.person-family-section summary::-webkit-details-marker { display:none; }.person-family-section summary:after { margin-left:4px; color:#43879b; content:"+"; font-size:22px; font-weight:400; }.person-family-section[open] summary:after { content:"−"; }.person-family-section summary span,.person-family-section summary b { display:block; }.person-family-section summary span { color:#536681; font-size:10px; font-weight:800; letter-spacing:.12em; }.person-family-section summary b { font-size:14px; }.person-family-section summary strong { display:grid; width:28px; height:28px; margin-left:auto; place-items:center; color:#31506f; background:#e8f0f6; border-radius:50%; font-size:12px; }.person-family-links { margin-top:10px; border-top:1px solid #e1e6ec; }.person-family-link { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #e1e6ec; }.person-family-link-person { display:flex; min-width:0; align-items:center; gap:8px; }.person-family-link-person img,.family-member-result img { width:30px; height:30px; object-fit:cover; border-radius:50%; }.person-family-link b,.person-family-link small { display:block; }.person-family-link b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.person-family-link small { color:var(--muted); font-size:11px; }.person-family-empty { margin:9px 0; color:var(--muted); font-size:12px; }.person-family-add { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,.55fr); gap:9px; margin-top:12px; }.person-family-add label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.person-family-add input,.person-family-add select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.family-member-results { grid-column:1/-1; display:grid; gap:5px; }.family-member-result { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:7px 9px; color:var(--ink); background:#f7f9fb; border:1px solid #dbe1e9; border-radius:7px; text-align:left; }.family-member-result > span { display:grid; grid-template-columns:auto 1fr; column-gap:8px; align-items:center; min-width:0; }.family-member-result img { grid-row:1 / span 2; }.family-member-result b,.family-member-result small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.family-member-result b { font-size:12px; }.family-member-result small { color:var(--muted); font-size:11px; }.family-member-result em { color:#31506f; font-size:11px; font-style:normal; font-weight:800; }@media (max-width:700px) { .person-family-add { grid-template-columns:1fr; }.family-member-results { grid-column:auto; } }

.family-member-suggestions { margin-top:12px; padding:11px; background:#eef6f8; border:1px solid #c8dfe6; border-radius:8px; }.family-member-suggestions-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.family-member-suggestions-heading div { display:grid; gap:2px; }.family-member-suggestions-heading span { color:#31506f; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.family-member-suggestions-heading small { color:#60728a; font-size:11px; }.family-member-suggestions-heading strong { display:grid; width:24px; height:24px; place-items:center; color:#31506f; background:#dcecf1; border-radius:50%; font-size:11px; }.family-member-suggestion-list { display:grid; gap:5px; margin-top:8px; }.family-member-suggestion { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:7px 9px; color:var(--ink); background:#fff; border:1px solid #d4e3e8; border-radius:7px; text-align:left; }.family-member-suggestion > span { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:8px; align-items:center; min-width:0; }.family-member-suggestion img { grid-row:1 / span 2; width:30px; height:30px; object-fit:cover; border-radius:50%; }.family-member-suggestion b,.family-member-suggestion small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.family-member-suggestion b { font-size:12px; }.family-member-suggestion small { color:var(--muted); font-size:11px; }.family-member-suggestion em { color:#31506f; font-size:11px; font-style:normal; font-weight:800; }

.new-person-card > b { margin-right:4px; }

.lookup-result:empty { display:none; }

.guardian-copy-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }.same-as-above { display:flex !important; align-items:center; gap:6px; min-height:37px; white-space:nowrap; }.same-as-above input { width:auto !important; margin:0; padding:0 !important; }@media (max-width:700px) { .guardian-copy-field { grid-template-columns:1fr; gap:5px; }.same-as-above { min-height:auto; } }

.consent-row.hidden { display:none !important; }

.ministry-avatar { overflow:hidden; padding:0; }.ministry-avatar img { width:100%; height:100%; object-fit:cover; }.ministry-settings-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:20px; align-items:start; }.ministry-settings-form small { display:block; margin-top:2px; color:var(--muted); font-size:11px; font-weight:500; }.ministry-upload-field { display:grid; gap:5px; }.ministry-upload-field > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }.ministry-upload-field small { margin:0; }.ministry-upload-field .text-button { flex:0 0 auto; padding:0; font-size:11px; white-space:nowrap; }.settings-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:9px; margin-top:22px; }.backup-actions { display:flex; flex-wrap:wrap; gap:9px; }.ministry-profile-preview { display:grid; width:100%; min-height:220px; place-items:center; text-align:center; }.ministry-profile-preview.has-logo { width:fit-content; min-height:0; justify-self:center; }.ministry-brand-preview { margin:0; padding:0; border:0; background:transparent; }.ministry-brand-preview img { display:block; width:auto; height:auto; max-width:260px; max-height:180px; object-fit:contain; }.ministry-logo-placeholder { margin:0; color:#7f8ba0; font:700 20px var(--font-display); letter-spacing:.01em; text-align:center; }@media (max-width:960px) { .ministry-settings-layout { grid-template-columns:1fr; }.ministry-profile-preview.has-logo { justify-self:center; } }@media (max-width:480px) { .ministry-upload-field > div { align-items:flex-start; flex-direction:column; gap:5px; }.settings-actions { align-items:flex-start; flex-direction:column; } }

/* A practical first-run map that keeps imported ministry data review-first. */
.ministry-setup-guide { display:grid; gap:16px; margin:0 0 20px; padding:20px; scroll-margin-top:18px; }.ministry-setup-guide-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.ministry-setup-guide-heading .eyebrow { margin:0 0 4px; color:#536f93; font-size:10px; }.ministry-setup-guide-heading h3 { margin:0; color:var(--navy); font-size:19px; }.ministry-setup-guide-heading p:not(.eyebrow) { max-width:700px; margin:6px 0 0; color:#5e6d82; font-size:13px; line-height:1.45; }.ministry-setup-guide-progress { flex:0 0 auto; padding:6px 9px; color:#2f6856; background:#e5f3ec; border-radius:999px; font-size:11px; font-weight:850; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }.ministry-setup-guide-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.ministry-setup-step { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:start; gap:10px; padding:13px; background:#fafcff; border:1px solid #dce4ed; border-radius:10px; }.ministry-setup-step.is-complete { background:#fbfdfb; border-color:#cde3d8; }.ministry-setup-step-number { display:grid; width:31px; height:31px; place-items:center; color:#fff; background:#526f94; border-radius:50%; font-size:13px; font-weight:850; }.ministry-setup-step.is-complete .ministry-setup-step-number { background:#368064; }.ministry-setup-step-content { min-width:0; }.ministry-setup-step-title { display:flex; align-items:center; justify-content:space-between; gap:9px; }.ministry-setup-step-title h4 { margin:0; color:#293f5e; font-size:14px; }.ministry-setup-step-title span { flex:0 0 auto; padding:3px 6px; color:#617088; background:#eaf0f6; border-radius:999px; font-size:9px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }.ministry-setup-step.is-complete .ministry-setup-step-title span { color:#28624e; background:#dff0e7; }.ministry-setup-step p { margin:5px 0 0; color:#596a80; font-size:12px; line-height:1.4; }.ministry-setup-step small { display:block; margin-top:7px; color:#718096; font-size:10px; line-height:1.4; }.ministry-setup-step-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:12px; }.ministry-setup-step-actions .button { min-height:33px; margin:0; padding:7px 10px; font-size:11px; white-space:nowrap; }.ministry-setup-step-actions .text-button { margin:0; padding:4px 1px; font-size:11px; }.ministry-setup-guide-security { margin:0; padding:10px 12px; color:#53657a; background:#f2f6fa; border-left:3px solid #7891ae; border-radius:0 7px 7px 0; font-size:11px; line-height:1.45; }.ministry-setup-guide-security strong { color:#344d6d; }#ministry-details,#ministry-schools-settings,#ministry-connected-accounts,#ministry-data-connections-section { scroll-margin-top:18px; }@media (max-width:700px) { .ministry-setup-guide { padding:17px; }.ministry-setup-guide-heading { flex-direction:column; gap:9px; }.ministry-setup-guide-steps { grid-template-columns:1fr; }.ministry-setup-step-actions .button { flex:1 1 100%; }.ministry-setup-guide-progress { align-self:flex-start; } }
.workspace-organization-choice { display:grid; gap:13px; padding:15px; background:#f8fbfd; border:1px solid #d8e3ec; border-radius:10px; }.workspace-organization-choice .eyebrow { margin:0 0 3px; color:#536f93; font-size:10px; }.workspace-organization-choice h4 { margin:0; color:#29435f; font-size:16px; }.workspace-organization-choice p:not(.eyebrow) { margin:5px 0 0; color:#5e6d82; font-size:12px; line-height:1.4; }.workspace-organization-form { display:grid; gap:12px; }.workspace-organization-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.workspace-organization-option { display:flex; align-items:flex-start; gap:9px; min-height:88px; padding:12px; color:#3d516c; background:#fff; border:1px solid #d7e0e9; border-radius:8px; cursor:pointer; }.workspace-organization-option:has(input:checked),.workspace-organization-option.is-selected { background:#eef5fb; border-color:#698aaf; box-shadow:0 0 0 1px #698aaf inset; }.workspace-organization-option input { flex:0 0 auto; width:16px; height:16px; margin:2px 0 0; accent-color:#204a80; }.workspace-organization-option span { display:grid; gap:4px; }.workspace-organization-option b { color:#29435f; font-size:13px; }.workspace-organization-option small { color:#617187; font-size:11px; line-height:1.38; }.organization-choice-name { display:grid; max-width:410px; gap:5px; color:#4d5e75; font-size:12px; font-weight:800; }.organization-choice-name input { width:100%; padding:9px 10px; color:var(--ink); background:#fff; border:1px solid #cbd5e1; border-radius:7px; font:500 13px var(--font-ui); }.workspace-organization-actions { display:flex; justify-content:flex-start; }.workspace-organization-actions .button { min-height:36px; margin:0; font-size:12px; }.ministry-setup-wizard-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }.ministry-setup-wizard-steps span { display:flex; min-width:0; align-items:center; gap:5px; padding:7px 8px; color:#718096; background:#f2f5f8; border-radius:7px; font-size:10px; font-weight:800; }.ministry-setup-wizard-steps span.is-current { color:#274b78; background:#e3edf8; }.ministry-setup-wizard-steps span.is-complete { color:#28624e; background:#e4f2e9; }.ministry-setup-wizard-steps b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }.ministry-setup-wizard-step { background:#fff; border-color:#bfcede; box-shadow:0 4px 14px #244c7f0c; }.ministry-setup-wizard-navigation { display:flex; justify-content:space-between; gap:8px; margin-top:17px; padding-top:13px; border-top:1px solid #e2e8ef; }.ministry-setup-wizard-navigation .button { min-height:36px; margin:0; padding-inline:12px; font-size:12px; }
.workspace-organization-option { display:grid; gap:10px; min-height:0; }.workspace-organization-choice-header { display:flex; align-items:flex-start; gap:9px; cursor:pointer; }.workspace-organization-choice-header input { flex:0 0 auto; }.workspace-organization-inline-name { display:grid; gap:4px; color:#4d5e75; font-size:11px; font-weight:800; }.workspace-organization-inline-name input { width:100%; padding:8px 9px; color:var(--ink); background:#fff; border:1px solid #cbd5e1; border-radius:7px; font:500 12px var(--font-ui); }.workspace-organization-inline-name input:disabled { color:#99a5b3; background:#f3f5f7; border-color:#e0e5eb; cursor:not-allowed; }
@media (max-width:700px) { .workspace-organization-options { grid-template-columns:1fr; }.ministry-setup-wizard-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }.workspace-organization-actions .button,.ministry-setup-wizard-navigation .button { flex:1; } }

/* The wizard remains a compact map; each selected section opens directly underneath it. */
.ministry-setup-wizard-steps button { display:flex; min-width:0; align-items:center; gap:5px; padding:7px 8px; color:#718096; background:#f2f5f8; border:1px solid transparent; border-radius:7px; font:800 10px var(--font-ui); text-align:left; cursor:pointer; }.ministry-setup-wizard-steps button:hover { border-color:#afc2d6; }.ministry-setup-wizard-steps button:focus-visible { outline:3px solid #b7cde5; outline-offset:2px; }.ministry-setup-wizard-steps button > span { flex:0 0 auto; }.ministry-settings-category .settings-category-icon { display:inline-flex; min-width:0; align-items:center; padding:0; color:inherit; background:transparent; border-radius:0; font-size:17px; line-height:1; }.ministry-setup-wizard-steps button.is-current { color:#274b78; background:#e3edf8; border-color:#9eb6d2; }.ministry-setup-wizard-steps button.is-complete { color:#28624e; background:#e4f2e9; }.ministry-setup-detail-panel { margin:0 0 20px; scroll-margin-top:18px; }.ministry-setup-detail-card { display:grid; gap:10px; margin:0; padding:20px; }.ministry-setup-detail-card .eyebrow { margin:0; color:#536f93; font-size:10px; }.ministry-setup-detail-card h3 { margin:0; color:var(--navy); font-size:18px; }.ministry-setup-detail-card > p:not(.eyebrow) { max-width:720px; margin:0; color:#5e6d82; font-size:13px; line-height:1.5; }.ministry-setup-messaging-detail > .ministry-connected-accounts { margin-top:6px; }.ministry-setup-guide-heading-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }.ministry-setup-add-ministry { min-height:32px; margin:0; padding:7px 10px; font-size:11px; white-space:nowrap; }
.ministry-details-heading { margin:0 0 16px; }.ministry-details-heading h3 { margin:0; color:var(--navy); font-size:18px; }

/* Google connection choices live with the related guided setup step. */
.ministry-setup-google-connection { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:12px; padding:10px; border:1px solid #d6e0ea; border-radius:8px; background:#fff; }.ministry-setup-google-connection > div:first-child { min-width:0; }.ministry-setup-google-connection strong,.ministry-setup-google-connection small { display:block; }.ministry-setup-google-connection strong { color:#2d4666; font-size:11px; }.ministry-setup-google-connection small { margin:2px 0 0; color:#65778d; font-size:10px; line-height:1.35; }.ministry-setup-google-connection.is-ready { border-color:#cedbc9; background:#fbfdf9; }.ministry-setup-google-connection.is-connected { grid-template-columns:1fr; border-color:#c6e1d4; background:#fbfefc; }.ministry-setup-google-connection.is-connected strong { color:#28624e; }.ministry-setup-google-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.ministry-setup-google-connection .button { min-height:32px; margin:0; padding:7px 10px; font-size:11px; white-space:nowrap; }.ministry-setup-google-connection .text-button { margin:0; padding:4px 1px; color:#46627f; font-size:10px; }.ministry-setup-google-connection .text-button.is-danger { color:#a24949; }.ministry-setup-google-connection .text-button:disabled { opacity:.5; cursor:not-allowed; }.ministry-setup-google-connection .google-calendar-import-flow { margin-top:2px; }@media (max-width:700px) { .ministry-setup-google-connection { grid-template-columns:1fr; }.ministry-setup-google-connection > .button,.ministry-setup-google-actions .button { width:100%; }.ministry-setup-google-actions { align-items:flex-start; flex-direction:column; }.ministry-setup-google-connection .google-calendar-import-flow { width:100%; } }

/* Camp setup keeps sensitive payment details with the selected provider. */
.ministry-camp-event-setup { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:4px; padding:12px; background:#f6f9fc; border:1px solid #d6e1eb; border-radius:9px; }.ministry-camp-event-setup > div { min-width:0; }.ministry-camp-event-setup strong,.ministry-camp-event-setup p,.ministry-camp-event-setup small { display:block; }.ministry-camp-event-setup strong { color:var(--navy); font-size:12px; }.ministry-camp-event-setup p { margin:3px 0 0; color:#5d6e83; font-size:11px; line-height:1.4; }.ministry-camp-event-setup small { margin-top:5px; color:#3d755f; font-size:10px; font-weight:750; }.ministry-camp-event-setup .button { flex:0 0 auto; min-height:34px; margin:0; white-space:nowrap; }.camp-payment-settings { display:grid; gap:9px; margin:2px 0 0; padding:12px; border:1px solid #d9e3ed; border-radius:9px; background:#f8fafc; }.camp-payment-settings legend { padding:0 4px; color:var(--navy); font-size:12px; font-weight:800; }.camp-payment-settings > p { margin:0; color:#607086; font-size:11px; line-height:1.42; }.camp-payment-settings label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.camp-payment-settings select,.camp-payment-settings input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.camp-payment-settings small { color:#607086; font-size:10px; font-weight:500; line-height:1.35; }.camp-payment-settings label[hidden] { display:none; }@media (max-width:700px) { .ministry-camp-event-setup { align-items:flex-start; flex-direction:column; }.ministry-camp-event-setup .button { width:100%; } }
.camp-payment-handoff { margin:16px 0; padding:13px; background:#f3f7fb; border:1px solid #d7e2ed; border-radius:9px; }.camp-payment-handoff p { margin:0 0 10px; color:#50637a; font-size:12px; line-height:1.4; }.camp-payment-handoff .button { margin:0; text-decoration:none; }

/* Keep message sender setup directly inside Step 4, without a second Settings section. */
.ministry-setup-step .ministry-connected-accounts { margin:14px 0 0; padding:11px; background:#fff; }.ministry-setup-step .ministry-connected-accounts > p { margin-bottom:10px; }.ministry-setup-step .ministry-connected-account-grid { grid-template-columns:1fr; gap:9px; }.ministry-setup-step .sms-number-setup { margin-top:0; }.ministry-setup-step .sms-number-setup-actions .button { min-height:32px; margin:0; padding:7px 10px; font-size:11px; }@media (max-width:700px) { .ministry-setup-step .sms-number-setup-actions { align-items:stretch; flex-direction:column; }.ministry-setup-step .sms-number-setup-actions .button { width:100%; } }

.ministry-grade-settings { margin:2px 0 0; padding:14px; border:1px solid #d8e1eb; border-radius:9px; background:#f8fafc; }.ministry-grade-settings legend { padding:0 5px; color:#344967; font-size:12px; font-weight:800; }.ministry-grade-settings > p { max-width:620px; margin:0 0 11px; color:#596a80; font-size:12px; line-height:1.4; }.ministry-grade-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.ministry-grade-settings label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.ministry-grade-settings select,.ministry-grade-settings input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.ministry-next-ministry-row { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-top:11px; }.ministry-next-ministry { width:min(100%,310px); }.ministry-promoted-export { min-height:39px; padding:8px 11px; font-size:12px; white-space:nowrap; }.ministry-grade-settings > small { margin-top:8px; color:#69788b; line-height:1.4; }.promotion-review-panel { margin-top:20px; }.promotion-review-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:16px; }.promotion-review-panel-heading .eyebrow { margin-bottom:2px; }.promotion-review-panel-heading h3 { margin:0; }.promotion-review-panel-heading > p { max-width:510px; margin:1px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }.promotion-review-empty { margin:0; padding:14px; color:#596a80; background:#f4f7fb; border:1px dashed #ccd7e4; border-radius:8px; font-size:13px; line-height:1.45; }.promotion-review-summary { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; padding:13px 14px; background:#edf5f8; border:1px solid #c9dfe7; border-radius:9px; }.promotion-review-summary h3 { margin:0 0 3px; color:var(--navy); font-size:15px; }.promotion-review-summary p { max-width:620px; margin:0; color:#496173; font-size:12px; line-height:1.4; }.promotion-review-summary > span { flex:0 0 auto; padding:5px 8px; color:#255f72; background:#fff; border-radius:6px; font-size:11px; font-weight:800; }.promotion-review-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.promotion-review-group { overflow:hidden; border:1px solid #dce3eb; border-radius:9px; }.promotion-review-group-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:11px 12px; background:#f7f9fc; border-bottom:1px solid #e1e6ed; }.promotion-review-group-heading h4 { margin:0; color:#253954; font-size:13px; }.promotion-review-group-heading small { display:block; margin-top:2px; color:#6b798d; font-size:10px; line-height:1.35; }.promotion-review-group-heading > b { display:grid; min-width:23px; height:23px; place-items:center; color:#2e6780; background:#e0eff4; border-radius:50%; font-size:11px; }.promotion-review-list > article { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 11px; border-top:1px solid #edf0f4; }.promotion-review-list > article:first-child { border-top:0; }.promotion-review-list > article > div { display:flex; min-width:0; gap:8px; align-items:center; }.promotion-review-list img,.promotion-person-initials { width:28px; height:28px; flex:0 0 28px; object-fit:cover; border-radius:50%; }.promotion-person-initials { display:grid; place-items:center; color:#415b79; background:#e6edf6; font-size:9px; font-weight:800; }.promotion-review-list b,.promotion-review-list small { display:block; }.promotion-review-list b { overflow:hidden; color:#263a55; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.promotion-review-list small { overflow:hidden; margin-top:1px; color:#6c798c; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.promotion-review-list > article > span { flex:0 0 auto; color:#8390a1; font-size:9px; text-align:right; }.promotion-review-none { margin:0; padding:13px; color:#7b8899; font-size:11px; }.promotion-review-note { margin:12px 0 0; color:#68778b; font-size:11px; line-height:1.4; }@media (max-width:700px) { .ministry-grade-controls,.promotion-review-groups { grid-template-columns:1fr; }.ministry-next-ministry-row { align-items:stretch; flex-direction:column; }.ministry-next-ministry,.ministry-promoted-export { width:100%; }.promotion-review-panel-heading,.promotion-review-summary { flex-direction:column; gap:8px; }.promotion-review-summary > span { align-self:flex-start; } }

.guardian-fields .form-section-title { margin-top:32px; }

.ministry-photo-video-release { display:grid; gap:11px; margin:2px 0 0; padding:14px; border:1px solid #d8e1eb; border-radius:9px; background:#f8fafc; }.ministry-photo-video-release legend { padding:0 5px; color:#344967; font-size:12px; font-weight:800; }.ministry-photo-video-release > p { max-width:620px; margin:0; color:#596a80; font-size:12px; line-height:1.4; }.ministry-photo-video-release-option { display:flex !important; align-items:flex-start; gap:8px; color:#435875; font-size:12px; font-weight:700; line-height:1.4; }.ministry-photo-video-release-option input { width:auto; margin:2px 0 0; accent-color:var(--navy); }.ministry-photo-video-release-option input:disabled { cursor:not-allowed; }.photo-video-release-consent-row { align-items:center; flex-wrap:wrap; }.photo-video-release-consent-row label { display:flex; align-items:flex-start; gap:8px; }.photo-video-release-consent-row a { color:var(--navy2); font-weight:800; text-decoration:underline; }

.hero-actions .button-light { min-width:154px; white-space:nowrap; }

.calendar-tab { border-radius:8px; }

.calendar-tab { color:#151515; background:#fff; border-color:#151515; }.calendar-tab.active { color:#fff; background:#151515; border-color:#151515; }
.calendar-tab-all,.calendar-tab-all.active { color:var(--navy); background:#e4f3f6; border-color:#8dbdc9; }.calendar-tab-all:hover { color:var(--navy); background:#d6ebf0; border-color:#6fa6b5; }

/* Master calendar choices use the same clear button treatment as Settings. */
.calendar-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:10px; width:100%; }
.calendar-tab { display:flex; align-items:center; justify-content:flex-start; min-height:58px; padding:12px 14px; color:#294766; background:#fff; border:1px solid #bdcede; border-radius:9px; box-shadow:0 2px 8px rgba(35,63,99,.07); font-size:14px; font-weight:800; letter-spacing:.04em; text-align:left; text-transform:uppercase; }
.calendar-tab:hover { color:#173b68; background:#f4f8fc; border-color:#8eaccb; }
.calendar-tab.active,.calendar-tab.calendar-tab-all.active { color:#173b68; background:#e9f2fb; border-color:#7396bb; box-shadow:0 0 0 1px #7396bb inset; }
.calendar-tab.calendar-tab-all { color:#466981; background:#f5fafc; border:1px dashed #93b5c3; box-shadow:none; }
.calendar-tab.calendar-tab-all:hover { color:#294f68; background:#e9f5f8; border-color:#6d9cac; }
.calendar-tab.calendar-tab-all.active { color:#294f68; background:#dff1f5; border-color:#7396a5; box-shadow:0 0 0 1px #9fbdc8 inset; }
@media (max-width:700px) { .calendar-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }.calendar-tab { min-height:58px; padding:11px 12px; font-size:14px; } }
.calendar-master-calendar-panel .calendar-heading-actions { width:100%; }
.calendar-master-calendar-panel .calendar-master-subheader { max-width:100%; }
.calendar-master-calendar-panel .calendar-tabs { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); }
@media (max-width:700px) { .calendar-master-calendar-panel .calendar-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.hero-event-label { display:flex; align-items:center; gap:9px; }.hero-event-label .eyebrow { margin:0; }.event-countdown { padding:3px 6px; color:#fff; background:rgba(9,24,47,.38); border:1px solid rgba(255,255,255,.42); border-radius:5px; box-shadow:0 1px 2px rgba(0,0,0,.14); font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.005em; line-height:1.1; white-space:nowrap; }

.hero-card.is-today { outline:3px solid #ffd35d; outline-offset:3px; box-shadow:0 10px 24px rgba(24,42,73,.24); }.event-today-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; color:#1b2c47; background:#ffd35d; border-radius:5px; font-size:11px; font-weight:800; letter-spacing:.06em; line-height:1; text-transform:uppercase; white-space:nowrap; }.event-today-badge > span { width:6px; height:6px; background:#d35b41; border-radius:50%; box-shadow:0 0 0 2px rgba(211,91,65,.23); }@media (prefers-reduced-motion:no-preference) { .event-today-badge { animation:today-badge-pulse 2.4s ease-in-out infinite; } }@keyframes today-badge-pulse { 50% { opacity:.42; } }

.leader-event-card { margin-bottom:16px; background:linear-gradient(118deg,#b84f39 0%,#dd7552 65%,#efa179 100%); }.leader-event-card p:not(.eyebrow) { color:#fff5f0; }

.hero-card { align-items:stretch; flex-direction:column; }.hero-actions { justify-content:flex-start; margin-top:auto; }

:root { --font-ui:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif; --font-display:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif; }body { font-family:var(--font-ui); font-size:15px; line-height:1.5; letter-spacing:-.008em; }button,input,select,textarea { font-family:var(--font-ui); }h1,h2,h3 { font-family:var(--font-display); font-weight:650; letter-spacing:-.035em; }h1 { font-size:28px; }h2 { font-size:25px; }h3 { font-weight:650; }.eyebrow,.form-section-title,.calendar-checklist legend { letter-spacing:.1em; }.nav-link,.button { font-weight:650; }.brand-wordmark { font-family:Georgia,"Times New Roman",serif; letter-spacing:.7px; }

.checkin-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.checkin-title-row h2 { margin:0; }.checkin-title-row .event-selector { min-width:250px; }.checkin-heading-copy > p { margin-top:5px; }@media (max-width:700px) { .checkin-title-row { align-items:stretch; flex-direction:column; }.checkin-title-row .event-selector { width:100%; } }

.checkin-calendar-checklist { min-width:0; margin:0; padding:0; border:0; }.checkin-calendar-checklist legend { margin:0 0 5px; padding:0; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.checkin-calendar-options { display:flex; flex-wrap:wrap; gap:6px; }.checkin-calendar-option { display:flex; align-items:center; gap:5px; min-height:34px; padding:6px 9px; color:var(--navy); background:#edf3f9; border:1px solid #c7d5e7; border-radius:7px; font-family:var(--font-display); font-size:12px; font-weight:650; cursor:pointer; }.checkin-calendar-option input { width:auto; min-width:0; margin:0; padding:0; accent-color:var(--navy); }@media (max-width:700px) { .checkin-calendar-options { gap:7px; }.checkin-calendar-option { min-height:36px; padding:7px 10px; } }

.checkin-save-event { align-self:end; min-height:35px; white-space:nowrap; }.checkin-event-lock { display:flex; width:min(100%,560px); align-items:center; justify-content:space-between; gap:16px; margin-top:24px; padding:13px 15px; background:#edf3f9; border:1px solid #c7d5e7; border-radius:9px; }.checkin-event-lock[hidden] { display:none; }.checkin-event-lock span,.checkin-event-lock b,.checkin-event-lock small { display:block; }.checkin-event-lock span { margin-bottom:2px; color:#536681; font-size:10px; font-weight:800; letter-spacing:.12em; }.checkin-event-lock b { color:var(--navy); font-size:15px; }.checkin-event-lock small { margin-top:1px; color:var(--muted); font-size:11px; }@media (max-width:700px) { .checkin-save-event { align-self:stretch; }.checkin-event-lock { align-items:stretch; flex-direction:column; }.checkin-event-lock .button { width:100%; } }

.checkin-event-selector { display:grid; width:min(100%,calc((100% - 22px) * .4)); gap:5px; margin-top:18px; color:#4f5e76; font-size:12px; font-weight:750; }.checkin-event-selector select { width:100%; min-height:38px; padding:8px 10px; color:var(--ink); background:#fff; border:1px solid #c7d5e7; border-radius:7px; font:600 13px var(--font-ui); }.checkin-event-selector select:disabled { color:#7b8798; background:#f4f6f8; cursor:not-allowed; }.checkin-event-selector small { color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }@media (max-width:960px) { .checkin-event-selector { width:100%; } }

#checkin-event-setup[hidden] { display:none !important; }

.step-number { font-family:"Trebuchet MS","Avenir Next",sans-serif; font-size:15px; font-weight:800; letter-spacing:0; }

.calendar-tab,.calendar-checkbox-options label { font-family:var(--font-display); font-weight:650; }

.brand-wordmark,.step-number,.nav-link,.button,.calendar-tab,.calendar-checkbox-options label { font-family:var(--font-display); }.brand-wordmark { font-weight:650; letter-spacing:-.04em; }.step-number { font-size:15px; font-weight:800; }.eyebrow,.form-section-title,.event-type,.calendar-list-row .card-date { font-family:var(--font-ui); }

.calendar-form { grid-template-columns:minmax(0,360px) auto; }

#add-calendar-form .button { color:#fff; background:#3c947a; }#add-calendar-form .button:hover { background:#2f7b66; }

.calendar-subscribe-actions .mini-export { min-height:32px; padding:5px 9px; color:var(--navy); background:#e7edf7; border:1px solid #c7d5e7; font-size:11px; }.calendar-subscribe-actions .mini-export:hover { background:#d8e5f3; }
.calendar-subscribe-actions .mini-qr { min-height:32px; padding:5px 9px; color:#151515; background:#fff; border:1px solid #151515; font-size:11px; }.calendar-subscribe-actions .mini-qr:hover { color:#fff; background:#151515; }

/* Public Events entries are visibly separate from Leaders-only planning entries. */
.calendar-list-row.events-calendar-event { background:#fff; }
.calendar-list-row.events-calendar-event .card-date { color:#2f7185; }
.calendar-list-row.camps-calendar-event { background:#fff; }
.calendar-list-row.camps-calendar-event .card-date { color:#b76522; }

/* A compact multi-calendar subscription checklist. */
.calendar-subscribe-panel .add-event-content { padding-top:16px; }.calendar-subscribe-actions { align-items:flex-start; flex-direction:column; gap:20px; }
.calendar-subscription-checklist { min-width:0; margin:0; padding:0; border:0; }
.calendar-subscription-checklist .calendar-checkbox-options { gap:5px; }
.calendar-subscription-checklist .calendar-checkbox-options label { min-height:32px; padding:5px 8px; }
.calendar-download-actions { display:grid; gap:8px; }.calendar-download-label { margin:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.calendar-download-buttons { display:flex; flex-wrap:wrap; gap:10px; }
.calendar-download-actions .button { min-height:52px; padding:12px 18px; color:var(--navy); background:#e7edf7; border-color:#c7d5e7; font-family:var(--font-ui); font-size:13px; font-weight:650; }
.calendar-download-actions .button:hover { color:var(--navy); background:#d9e6f3; }
@media (max-width:700px) { .calendar-subscribe-actions { align-items:flex-start; }.calendar-download-actions { width:100%; }.calendar-download-buttons { align-items:stretch; flex-direction:column; width:100%; }.calendar-subscription-checklist .calendar-checkbox-options label { min-height:34px; } }

#message-body::placeholder { color:#98a4b7; opacity:1; }
#message-audience:invalid { color:#98a4b7; }
#message-audience option { color:var(--ink); }

.message-editor { margin-bottom:16px; }.message-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; color:#4f5e76; font-size:12px; font-weight:700; }.message-editor-tip { margin:0 0 9px; padding:10px 12px; color:#72500d; background:#fff3d8; border-radius:7px; font-size:12px; font-weight:500; line-height:1.4; }.message-editor > .emoji-picker { margin:0 0 12px; }.message-editor > .emoji-picker summary { color:#31506f; }

.emoji-picker-content { margin-top:10px; }
.emoji-search-label { display:grid; gap:5px; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.emoji-search-label input { width:100%; padding:8px 10px; color:var(--ink); background:#fff; border:1px solid #c7d0de; border-radius:7px; font:500 13px var(--font-ui); letter-spacing:0; text-transform:none; }
.emoji-options { max-height:150px; overflow-y:auto; padding:2px; }
.emoji-options button[hidden] { display:none; }
.emoji-no-results { margin:9px 0 0; color:var(--muted); font-size:12px; }

.event-selector-label { display:block; padding-left:10px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-align:left; text-transform:uppercase; }

.people-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }.add-person-button { min-width:150px; }.people-checkin-list-button { flex:0 0 auto; white-space:normal; }.people-select-header { width:98px; }.people-select-header label,.people-row-select label { display:flex; align-items:center; gap:6px; cursor:pointer; }.people-select-header input,.people-row-select input { width:16px; height:16px; margin:0; accent-color:var(--navy); }.people-select-header span { color:#647088; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.people-row-select { width:46px; padding-right:4px !important; }.people-bulk-delete-actions { display:flex; justify-content:flex-end; gap:10px; margin:14px 0 0; }.people-bulk-delete-actions .button { margin:0; }

#people .view-heading { margin-bottom:0; }#people .people-controls { margin:16px 0 20px; }
.people-sort-header { display:inline-flex; align-items:center; gap:4px; padding:0; color:inherit; background:transparent; border:0; font:inherit; letter-spacing:inherit; text-align:left; text-transform:inherit; cursor:pointer; }.people-sort-header::after { color:#7c8da3; content:"↕"; font-size:12px; line-height:1; }.people-sort-header:hover,.people-sort-header:focus-visible,.people-sort-header.is-active { color:var(--navy); }.people-sort-header.is-active::after { color:var(--navy); content:"↑"; }.people-sort-header.is-active.is-descending::after { content:"↓"; }
@media (max-width:700px) { .people-controls { align-items:stretch; flex-direction:column; width:100%; }.people-bulk-delete-actions { align-items:stretch; flex-direction:column; }.people-bulk-delete-actions .button { width:100%; } }

.prayer-list-dialog { width:min(620px,calc(100vw - 32px)); }.prayer-list-role-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0 0; padding:0; border:0; }.prayer-list-role-options legend { grid-column:1/-1; margin:0 0 1px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.prayer-list-role-options label { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; padding:9px 10px; color:var(--ink); background:#f8fafc; border:1px solid #dbe3eb; border-radius:8px; cursor:pointer; }.prayer-list-role-options input { width:auto; margin:3px 0 0; accent-color:var(--navy); }.prayer-list-role-options b,.prayer-list-role-options small { display:block; }.prayer-list-role-options b { font-size:12px; }.prayer-list-role-options small { margin-top:2px; color:var(--muted); font-size:10px; font-weight:600; }.prayer-list-summary { min-height:18px; margin:14px 0 0; color:#496173; font-size:12px; font-weight:750; }.prayer-list-output { display:grid; gap:5px; margin-top:12px; color:#4f5e76; font-size:12px; font-weight:700; }.prayer-list-output textarea { width:100%; min-height:190px; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; resize:vertical; font:500 14px/1.45 var(--font-ui); }.prayer-list-actions { justify-content:flex-start; }@media (max-width:700px) { .prayer-list-role-options { grid-template-columns:1fr; } }
.prayer-list-message-button { margin-left:auto; }.prayer-message-dialog { width:min(560px,calc(100vw - 32px)); }.prayer-message-choice-list { display:grid; gap:10px; margin-top:18px; }.prayer-message-choice { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; padding:14px; color:var(--ink); background:#f8fafc; border:1px solid #d8e1eb; border-radius:10px; text-align:left; }.prayer-message-choice:hover { background:#eef5fb; border-color:#aebfd4; }.prayer-message-choice b,.prayer-message-choice small { display:block; }.prayer-message-choice b { font:750 14px var(--font-ui); }.prayer-message-choice small { margin-top:4px; color:var(--muted); font:500 12px/1.35 var(--font-ui); }.prayer-message-choice > span:last-child { color:var(--navy); font-size:20px; }.prayer-message-recurring-options { margin-top:18px; }#prayer-message-distribution-options { margin-top:26px; }.prayer-message-recurring-options[hidden],#prayer-message-distribution-options[hidden] { display:none; }.prayer-message-schedule-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.55fr); gap:10px; }.prayer-message-schedule-fields label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.prayer-message-schedule-fields select,.prayer-message-schedule-fields input { width:100%; min-height:40px; padding:8px 9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.prayer-message-current-note { margin:12px 0 0; padding:10px 11px; color:#496072; background:#f4f8fc; border:1px solid #d5e1ec; border-radius:8px; font-size:12px; line-height:1.4; }.prayer-message-current-note b { color:var(--navy); }.prayer-message-recurring-options .dialog-actions,#prayer-message-distribution-options .dialog-actions { margin-top:15px; }.prayer-message-draft-panel { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin:0 0 16px; padding:14px; background:#f4f8fc; border:1px solid #cbdbea; border-radius:10px; }.prayer-message-draft-panel[hidden] { display:none; }.prayer-message-draft-panel .eyebrow { margin-bottom:3px; }.prayer-message-draft-panel h4 { margin:0; font-size:15px; }.prayer-message-draft-panel .muted { margin:5px 0 0; font-size:12px; }.prayer-message-draft-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:7px; }.prayer-message-draft-actions span { color:var(--muted); font-size:11px; font-weight:750; white-space:nowrap; }.prayer-message-draft-actions .button { min-height:32px; padding:7px 10px; font-size:11px; }@media (max-width:700px) { .prayer-list-message-button { margin-left:0; }.prayer-message-schedule-fields { grid-template-columns:1fr; }.prayer-message-draft-panel { flex-direction:column; }.prayer-message-draft-actions { justify-content:flex-start; } }
.prayer-message-delivery-option.is-selected,.prayer-message-delivery-option.is-selected:hover { color:#fff; background:var(--navy); border-color:var(--navy); }.prayer-message-delivery-option.is-selected small { color:#dbe8f6; }.prayer-message-delivery-option.is-selected > span:last-child { color:#fff; }

.checkin-heading-copy .page-subheader { margin:0 0 38px; }
.checkin-heading-copy .checkin-title-row { margin-top:24px; }

.helper-toggle { position:fixed; right:22px; bottom:22px; z-index:24; display:flex; gap:8px; align-items:center; min-height:46px; padding:9px 15px 9px 10px; color:#fff; background:#151515; border:1px solid #151515; border-radius:23px; box-shadow:0 10px 24px rgba(0,0,0,.2); font:650 14px var(--font-display); }
.helper-toggle span { display:grid; width:25px; height:25px; place-items:center; color:#151515; background:#fff3d8; border-radius:50%; font:800 15px Georgia,serif; }
.helper-toggle:hover { background:#333; }
.helper-panel { position:fixed; right:22px; bottom:82px; z-index:25; display:flex; flex-direction:column; width:min(380px,calc(100vw - 32px)); max-height:min(620px,calc(100vh - 106px)); padding:19px; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:15px; box-shadow:0 18px 48px rgba(20,31,49,.24); }
.helper-panel[hidden] { display:none; }
.helper-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.helper-header .eyebrow { margin-bottom:3px; }.helper-header h2 { margin:0; font-size:21px; }
.helper-intro { margin:4px 0 13px; color:var(--muted); font-size:13px; }
.helper-messages { display:grid; gap:9px; min-height:116px; max-height:230px; overflow-y:auto; padding:2px; }
.helper-message { max-width:94%; padding:10px 11px; border-radius:10px; font-size:13px; line-height:1.35; }.helper-message b { display:block; margin-bottom:3px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }.helper-message p { margin:0; }
.helper-message-bot { background:#edf5f8; }.helper-message-bot b { color:#2f7185; }.helper-message-user { align-self:end; color:#fff; background:var(--navy); }.helper-message-user b { color:#dce9f7; }
.helper-suggestions { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0; }.helper-suggestions button { padding:6px 8px; color:#3e506d; background:#f4f6f9; border:1px solid #d8dee7; border-radius:6px; font:650 11px var(--font-ui); }.helper-suggestions button:hover { color:var(--navy); background:#e8edf4; }
.helper-form { display:grid; grid-template-columns:1fr auto; gap:7px; }.helper-form input { min-width:0; padding:9px 10px; color:var(--ink); background:#fff; border:1px solid #c7d0de; border-radius:7px; font:500 13px var(--font-ui); }.helper-form .button { min-height:auto; padding:8px 11px; font-size:12px; }
.helper-note { margin:10px 0 0; color:var(--muted); font-size:10px; text-align:center; }
.toast { bottom:84px; z-index:30; }
@media (max-width:700px) { .helper-toggle { right:16px; bottom:16px; }.helper-panel { right:16px; bottom:76px; max-height:calc(100vh - 92px); }.helper-messages { max-height:190px; } }

.message-attachment { margin:-4px 0 16px; }.message-attachment-label { margin:0 !important; }.message-attachment-label input { width:100%; padding:8px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-attachment .muted { margin:5px 0 0; font-size:11px; }.message-attachment-list { display:grid; gap:7px; margin-top:9px; }.message-attachment-list[hidden] { display:none; }.message-image-placement { margin-top:9px; }.message-image-placement[hidden] { display:none; }.message-image-placement label { margin:0 !important; }.message-image-placement select { width:100%; margin-top:4px; padding:8px 28px 8px 9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-attachment-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:9px; align-items:center; padding:7px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.message-attachment-row img,.message-attachment-kind { display:grid; width:42px; height:42px; place-items:center; object-fit:cover; color:#4a617a; background:#e7edf7; border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.04em; text-align:center; }.message-attachment-row > span:not(.message-attachment-kind) { min-width:0; }.message-attachment-row b,.message-attachment-row small { display:block; }.message-attachment-row b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.message-attachment-row small { margin-top:2px; color:var(--muted); font-size:10px; }.message-attachment-row .text-button { margin:0; font-size:11px; }
.message-ministry-logo-option { display:flex !important; grid-template-columns:auto 1fr; align-items:flex-start; gap:8px; margin:11px 0 0 !important; padding:9px 10px; color:#415873 !important; background:#f4f7fb; border:1px solid #d9e2ee; border-radius:7px; cursor:pointer; line-height:1.3; }.message-ministry-logo-option[hidden] { display:none !important; }.message-ministry-logo-option input { width:auto !important; margin:2px 0 0; padding:0 !important; accent-color:var(--navy); }.message-ministry-logo-option span { font-size:12px; font-weight:750; }.message-ministry-logo-option small { display:inline; margin:0; color:var(--muted); font-size:11px; font-weight:500; }

.message-link-field { display:grid !important; gap:5px; margin:12px 0 22px !important; padding-top:12px; color:#4f5e76; border-top:1px solid #e1e6ec; }.message-link-field > span { font-size:12px; font-weight:700; }.message-link-field small { color:var(--muted); font-size:11px; font-weight:500; }.message-link-field input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }
.message-attachment { margin:-4px 0 16px; }.message-attachment-label { margin:0 !important; }.message-attachment-label input { width:100%; padding:8px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-attachment .muted { margin:5px 0 0; font-size:11px; }.message-attachment-list { display:grid; gap:7px; margin-top:9px; }.message-attachment-list[hidden] { display:none; }.message-attachment-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:9px; align-items:center; padding:7px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.message-attachment-row img,.message-attachment-kind { display:grid; width:42px; height:42px; place-items:center; object-fit:cover; color:#4a617a; background:#e7edf7; border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.04em; text-align:center; }.message-attachment-row > span:not(.message-attachment-kind) { min-width:0; }.message-attachment-row b,.message-attachment-row small { display:block; }.message-attachment-row b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.message-attachment-row small { margin-top:2px; color:var(--muted); font-size:10px; }.message-attachment-row .text-button { margin:0; font-size:11px; }.message-image-placement-options { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:5px; color:#5d6d80; font-size:10px; font-weight:700; }.message-image-placement-options > span { margin-right:2px; }.message-image-placement-button { padding:3px 6px; color:#4c5d72; background:#fff; border:1px solid #cbd3df; border-radius:5px; cursor:pointer; font:700 10px var(--font-ui); }.message-image-placement-button.is-selected { color:#fff; background:#172439; border-color:#172439; }

.message-test-recipient { margin:-8px 0 16px; padding:10px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.message-test-recipient[hidden] { display:none; }.message-test-recipient label { margin:0 !important; }.message-test-recipient input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-test-recipient .muted { margin:5px 0 0; font-size:11px; }

.message-audience-checklist { display:grid; gap:6px; margin:0 0 16px; padding:0; border:0; }.message-audience-checklist legend { margin:0 0 1px; padding:0; color:#4f5e76; font-size:12px; font-weight:700; }.message-audience-option { display:grid !important; grid-template-columns:auto 1fr; gap:9px !important; align-items:start; margin:0 !important; padding:8px 9px; color:var(--ink) !important; background:#fff; border:1px solid #dbe1e9; border-radius:7px; }.message-audience-option input { width:auto !important; margin:3px 0 0; }.message-audience-option b,.message-audience-option small { display:block; }.message-audience-option b { font-size:12px; }.message-audience-option small { margin-top:1px; color:var(--muted); font-size:11px; font-weight:500; }.message-audience-all { background:#edf5f8; border-color:#c9dfe7; }.message-audience-divider { margin:5px 0 1px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.message-audience-empty { margin:0; color:var(--muted); font-size:12px; }

.message-audience-accordion { margin:0 0 16px; overflow:hidden; background:#fff; border:1px solid #dbe1e9; border-radius:8px; }.message-audience-accordion summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 12px; color:var(--navy); cursor:pointer; font-size:13px; font-weight:800; list-style:none; }.message-audience-accordion summary::-webkit-details-marker { display:none; }.message-audience-accordion summary:after { content:"+"; color:#43879b; font-size:22px; font-weight:400; }.message-audience-accordion[open] summary { border-bottom:1px solid #e0e6ed; }.message-audience-accordion[open] summary:after { content:"−"; }.message-audience-content { padding:12px; }

.message-event-accordion { margin:-7px 0 16px; overflow:hidden; background:#fff; border:1px solid #dbe1e9; border-radius:8px; }.message-event-accordion summary { display:flex; align-items:center; min-height:44px; padding:0 12px; color:var(--navy); cursor:pointer; font-size:13px; font-weight:800; list-style:none; }.message-event-accordion summary::-webkit-details-marker { display:none; }.message-event-accordion summary:after { margin-left:auto; content:"+"; color:#43879b; font-size:22px; font-weight:400; }.message-event-accordion summary span { margin-left:4px; color:var(--muted); font-size:11px; font-weight:600; }.message-event-accordion[open] summary { border-bottom:1px solid #e0e6ed; }.message-event-accordion[open] summary:after { content:"−"; }.message-event-content { padding:12px; }.message-event-calendar-checklist { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 12px; padding:0; border:0; }.message-event-calendar-checklist legend { width:100%; margin-bottom:1px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.message-event-calendar-option { display:flex !important; align-items:center; gap:7px !important; margin:0 !important; padding:7px 9px; color:var(--ink) !important; background:#fff; border:1px solid #dbe1e9; border-radius:7px; font-size:12px !important; cursor:pointer; }.message-event-calendar-option input { width:auto !important; margin:0; accent-color:var(--navy); }.message-event-pickers { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; }.message-event-picker { display:grid; gap:5px; margin:0 !important; color:#4f5e76; font-size:12px; font-weight:700; }.message-event-picker select { width:100%; padding:9px 28px 9px 9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-event-hint { grid-column:1/-1; margin:0; padding:10px; color:var(--muted); background:#f4f6f9; border-radius:7px; font-size:12px; }
@media (max-width:700px) { .message-event-pickers { grid-template-columns:1fr; } }

.message-past-event-picker { margin:-8px 0 16px; padding:10px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.message-past-event-picker[hidden] { display:none; }.message-past-event-picker label { margin:0 !important; }.message-past-event-picker select { width:100%; padding:9px 28px 9px 9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.message-past-event-picker .muted { margin:5px 0 0; font-size:11px; }

#page-subtitle { margin:4px 0 0; color:var(--muted); font-size:14px; }#page-subtitle:empty { display:none; }

.message-email-subject { margin:-8px 0 0; }.message-email-subject[hidden] { display:none; }

/* Ministry workspaces stay visually compact in navigation and distinct in Settings. */
.ministry-switcher { display:grid; gap:8px; margin-bottom:26px; padding:0 9px; }.ministry-switcher label { color:#bbb; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.ministry-switcher select { width:100%; padding:8px 26px 8px 9px; color:#fff; background:#ffffff12; border:1px solid #ffffff2b; border-radius:7px; font:650 12px var(--font-ui); }.ministry-switcher option { color:#151515; background:#fff; }.ministry-switcher .text-button { justify-self:start; padding:0; color:#d7d7d7; font-size:11px; }
.ministry-management-panel { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(260px,1.1fr); gap:20px; align-items:start; margin-top:20px; }.ministry-management-panel > div:first-child h3 { margin:2px 0 5px; }.ministry-management-panel > div:first-child .muted { margin:0; font-size:13px; }.managed-ministries { display:grid; gap:8px; }.managed-ministry { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:11px 12px; background:#f7f8fa; border:1px solid #dbe1e9; border-radius:8px; }.managed-ministry.active { background:#edf5f8; border-color:#c9dfe7; }.managed-ministry b,.managed-ministry small { display:block; }.managed-ministry b { font-size:13px; }.managed-ministry small { margin-top:2px; color:var(--muted); font-size:11px; }.managed-ministry-current { padding:4px 7px; color:#2f7185; background:#dceef4; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; }.mini-switch-ministry { min-height:auto; padding:6px 9px; font-size:11px; white-space:nowrap; }.add-ministry-form { display:grid; grid-column:2; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }.add-ministry-form label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.add-ministry-form input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.add-ministry-form .button { white-space:nowrap; }
.managed-ministry-area-status { color:#527089 !important; }.area-workspace-panel { display:grid; gap:15px; margin-top:20px; }.area-workspace-panel[hidden] { display:none !important; }.area-workspace-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.area-workspace-heading .eyebrow { margin:0 0 4px; color:#536f93; font-size:10px; }.area-workspace-heading h3 { margin:0; color:var(--navy); font-size:18px; }.area-workspace-heading p:not(.eyebrow) { max-width:720px; margin:5px 0 0; color:#5d6d82; font-size:13px; line-height:1.45; }.area-workspace-status { flex:0 0 auto; padding:6px 8px; color:#53657a; background:#edf2f6; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; white-space:nowrap; }.area-workspace-form { display:grid; gap:12px; }.area-name-field { display:grid; max-width:420px; gap:5px; color:#4d5e75; font-size:12px; font-weight:800; }.area-name-field input,.area-source-rule select { width:100%; padding:9px 10px; color:var(--ink); background:#fff; border:1px solid #cbd5e1; border-radius:7px; font:500 13px var(--font-ui); }.area-membership-toggle { display:flex; align-items:flex-start; gap:9px; padding:11px 12px; color:#314865; background:#f4f7fa; border:1px solid #d8e2eb; border-radius:8px; cursor:pointer; }.area-membership-toggle input { flex:0 0 auto; width:16px; height:16px; margin:1px 0 0; accent-color:#1e457b; }.area-membership-toggle span { display:grid; gap:3px; }.area-membership-toggle b { font-size:13px; }.area-membership-toggle small { color:#617187; font-size:11px; line-height:1.35; }.area-source-settings { display:grid; gap:11px; }.area-source-intro { margin:0; color:#5c6d82; font-size:12px; line-height:1.45; }.area-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.area-source-rule { display:grid; gap:9px; padding:13px; border:1px solid #d8e2eb; border-radius:9px; background:#fafcfe; }.area-source-rule h4 { margin:0; color:#314967; font-size:13px; }.area-source-rule p { margin:3px 0 0; color:#617187; font-size:11px; line-height:1.38; }.area-source-targets { display:grid; gap:5px; padding-top:1px; }.area-share-target { display:flex; align-items:center; gap:7px; padding:7px 8px; color:#40546f; background:#fff; border:1px solid #e0e7ee; border-radius:6px; font-size:11px; font-weight:700; }.area-share-target input { width:14px; height:14px; margin:0; accent-color:#1e457b; }.area-source-targets .muted { margin:0; color:#758399; font-size:11px; line-height:1.4; }.area-workspace-note { margin:0; padding:10px 12px; color:#586a81; background:#f2f6fa; border-left:3px solid #7891ae; border-radius:0 7px 7px 0; font-size:11px; line-height:1.45; }.area-workspace-note strong { color:#334f70; }.area-workspace-actions { display:flex; justify-content:flex-start; }.area-workspace-actions .button { min-height:35px; margin:0; font-size:12px; }
.area-overview { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr); gap:16px; padding:13px; background:#f7fafc; border:1px solid #dce5ed; border-radius:9px; }.area-overview .eyebrow { margin:0 0 3px; color:#536f93; font-size:10px; }.area-overview h4 { margin:0; color:#314967; font-size:14px; }.area-overview p:not(.eyebrow) { margin:5px 0 0; color:#617187; font-size:11px; line-height:1.4; }.area-overview ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }.area-overview li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-top:1px solid #e1e8ee; }.area-overview li:first-child { border-top:0; }.area-overview b,.area-overview small { display:block; }.area-overview b { color:#3c506d; font-size:12px; }.area-overview small { margin-top:2px; color:#718096; font-size:10px; }.area-overview em { flex:0 0 auto; color:#536d8a; font-size:10px; font-style:normal; font-weight:800; text-align:right; }
@media (max-width:700px) { .area-workspace-heading { flex-direction:column; gap:8px; }.area-workspace-status { align-self:flex-start; }.area-source-grid,.area-overview { grid-template-columns:1fr; }.area-workspace-actions .button { width:100%; } }
@media (max-width:700px) { .ministry-management-panel { grid-template-columns:1fr; gap:16px; }.add-ministry-form { grid-column:auto; grid-template-columns:1fr; }.brand { margin-bottom:16px; }.ministry-switcher { margin-bottom:18px; } }

.role-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); }.student-detail-fields { display:contents; }.student-detail-fields.hidden { display:none; }.role-pill.leader { color:#28755b; background:#e5f4ed; }.role-pill.new-friend { color:#65418a; background:#f0e6f8; }.new-friend-panel { max-width:650px; padding:24px; }.required-marker { color:#bb3d3d; font-weight:800; }.registration-form label:not(.consent-row) { display:block; }.registration-form label:not(.consent-row) > input,.registration-form label:not(.consent-row) > select { display:block; margin-top:5px; }.new-friend-role-options { display:flex; flex-wrap:wrap; gap:9px; margin:4px 0 0; padding:0; border:0; }.new-friend-role-options legend { width:100%; margin-bottom:2px; padding:0; color:#4f5e76; font-size:12px; font-weight:700; }.new-friend-role-option { display:flex !important; align-items:center; gap:7px !important; min-height:42px; padding:0 13px; color:var(--ink) !important; background:#f7f9fc; border:1px solid #cbd3df; border-radius:999px; cursor:pointer; font-size:13px !important; }.new-friend-role-option input { width:16px !important; height:16px; margin:0; accent-color:var(--navy); }.new-friend-student-fields { display:grid; grid-template-columns:minmax(110px,.38fr) minmax(0,1fr); gap:12px; }.new-friend-student-fields label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.edit-form-grid #new-friend-student-fields[hidden] { display:none !important; }.new-friend-actions { display:flex; justify-content:flex-end; margin-top:8px; }
.delete-person-button { margin-right:auto; color:#af392d; }
@media (max-width:700px) { .role-buttons { grid-template-columns:1fr; } }

.copy-ministry-dialog { width:min(620px,calc(100vw - 32px)); }.copy-source-label { display:grid; gap:5px; margin-top:18px; color:#4f5e76; font-size:12px; font-weight:700; }.copy-source-label select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.copy-options { margin:19px 0 0; padding:0; border:0; }.copy-options legend { margin-bottom:7px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.copy-option-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.copy-option-list > label { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:start; padding:9px; background:#f7f8fa; border:1px solid #dbe1e9; border-radius:7px; cursor:pointer; }.copy-option-list input { width:auto; margin:3px 0 0; accent-color:var(--navy); }.copy-option-list b,.copy-option-list small { display:block; }.copy-option-list b { font-size:12px; }.copy-option-list small { margin-top:2px; color:var(--muted); font-size:10px; line-height:1.25; }.copy-option-list .muted { grid-column:1/-1; margin:0; font-size:12px; }.copy-consent-note { margin:10px 0 0; padding:9px 10px; color:#5c5b46; background:#fff8e8; border-radius:7px; font-size:11px; line-height:1.35; }
.backup-dialog { width:min(560px,calc(100vw - 32px)); }.backup-contents { margin-top:13px; padding:12px 13px; background:#f4f7fb; border:1px solid #dbe4ee; border-radius:8px; }.backup-contents h3 { margin:0 0 4px; color:var(--navy); font-size:13px; }.backup-contents p { margin:0; color:#526278; font-size:12px; line-height:1.45; }.backup-dialog .privacy-note { margin-top:13px; font-size:12px; line-height:1.45; }
.backup-file { display:grid; gap:5px; margin-top:15px; color:#4f5e76; font-size:12px; font-weight:700; }.backup-file input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.backup-file small { color:var(--muted); font-size:11px; font-weight:500; }.backup-restore-status { min-height:18px; margin:10px 0 0; color:#59697d; font-size:12px; font-weight:700; }.backup-restore-status.is-ready { color:#28755b; }.backup-restore-status.is-error { color:#a64b3d; }.backup-dialog .button:disabled { color:#8995a7; background:#e6eaf0; cursor:not-allowed; }
@media (max-width:700px) { .copy-option-list { grid-template-columns:1fr; } }

.event-image-upload small { color:var(--muted); font-size:10px; font-weight:500; }.event-image-upload[hidden],#edit-event-camp-name-field[hidden] { display:none !important; }.event-image-preview { display:flex; gap:10px; align-items:center; padding:9px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.event-image-preview[hidden] { display:none !important; }.event-image-preview img { width:56px; height:56px; object-fit:cover; border-radius:6px; }.event-image-preview b { display:block; max-width:300px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.event-image-preview .text-button { margin-top:2px; font-size:11px; }.calendar-list-row.has-event-image { grid-template-columns:78px 54px minmax(0,1fr) auto; }.event-list-image { width:54px; height:54px; object-fit:cover; border-radius:7px; box-shadow:0 1px 2px rgba(20,31,49,.12); }
@media (max-width:700px) { .calendar-list-row.has-event-image { grid-template-columns:48px 44px minmax(0,1fr) auto; gap:7px; }.calendar-list-row.has-event-image .card-date { grid-column:auto; }.event-list-image { width:44px; height:44px; } }

/* The key event details are direct, touch-friendly ways into the editor. */
.calendar-event-edit-trigger,.event-list-image-button { min-width:0; margin:0; padding:0; color:inherit; background:transparent; border:0; border-radius:7px; font:inherit; text-align:left; cursor:pointer; }.calendar-date-block.calendar-event-edit-trigger { display:grid; width:max-content; gap:4px; align-content:center; }.calendar-event-name { display:block; width:100%; color:var(--ink); font-size:15px; font-weight:700; letter-spacing:-.2px; line-height:1.25; }.event-list-image-button { display:block; overflow:hidden; }.event-list-image-button img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }.calendar-event-edit-trigger:hover .date-badge,.calendar-event-edit-trigger:focus-visible .date-badge { outline:2px solid var(--sky); outline-offset:2px; }.calendar-event-name:hover,.calendar-event-name:focus-visible { color:var(--navy-2); text-decoration:underline; text-underline-offset:3px; outline:0; }.event-list-image-button:hover,.event-list-image-button:focus-visible { outline:2px solid var(--sky); outline-offset:2px; }

.hero-card { position:relative; }.hero-card.has-event-image > div:nth-of-type(2),.hero-card.has-event-image .hero-actions { padding-right:184px; }.hero-event-image { position:absolute; top:28px; right:32px; bottom:28px; width:150px; height:auto; object-fit:cover; border:2px solid rgba(255,255,255,.72); border-radius:10px; box-shadow:0 5px 14px rgba(0,0,0,.16); }.hero-actions { position:relative; z-index:1; }
@media (max-width:700px) { .hero-card.has-event-image > div:nth-of-type(2),.hero-card.has-event-image .hero-actions { padding-right:0; }.hero-event-image { position:static; display:block; width:100%; height:160px; margin-top:17px; } }

.featured-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.featured-event-grid .leader-event-card { margin-bottom:0; }.featured-event-grid .hero-card { min-width:0; }
@media (max-width:1100px) { .featured-event-grid { grid-template-columns:1fr; } }

.featured-event-grid .hero-actions .button { min-height:36px; padding:7px 8px; line-height:1.15; }.featured-event-grid > .hero-card:not(.leader-event-card).has-event-image .hero-actions { width:100%; padding-right:0; }.featured-event-grid > .hero-card:not(.leader-event-card).has-event-image .hero-event-image { top:24px; bottom:auto; width:auto; height:auto; max-width:150px; max-height:120px; object-fit:contain; object-position:right top; }.featured-event-grid > .hero-card:not(.leader-event-card) .hero-actions { flex-wrap:nowrap; gap:7px; }.featured-event-grid > .hero-card:not(.leader-event-card) .hero-actions .button { min-width:0; min-height:36px; flex:1 1 0; padding:7px 8px; font-size:inherit; line-height:1.15; white-space:nowrap; }.featured-event-grid > .hero-card:not(.leader-event-card) .hero-actions .button-light { min-width:0; }

.featured-event-grid .hero-actions { max-width:100%; }.featured-event-grid > .hero-card:not(.leader-event-card) .hero-actions { flex-wrap:wrap; }.featured-event-grid .hero-actions .button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }

@media (min-width:701px) { .featured-event-grid .hero-card { min-height:178px; gap:16px; padding:24px 28px; }.featured-event-grid .hero-card h2 { margin-bottom:5px; font-size:23px; }.featured-event-grid .hero-actions { gap:8px; }.featured-event-grid .hero-card.has-event-image > div:nth-of-type(2),.featured-event-grid .hero-card.has-event-image .hero-actions { padding-right:168px; }.featured-event-grid .hero-card .hero-event-image { top:22px; right:26px; bottom:22px; width:136px; }.featured-event-grid > .hero-card:not(.leader-event-card).has-event-image .hero-event-image { top:20px; right:26px; max-width:136px; max-height:104px; } }

.featured-event-grid .events-event-card { background:linear-gradient(118deg,#19345b 0%,#274f86 65%,#477eb4 100%); }.featured-event-grid .small-groups-event-card { background:linear-gradient(118deg,#1f625c 0%,#318b7e 65%,#61ae9e 100%); }.featured-event-grid .camps-event-card { background:linear-gradient(118deg,#805412 0%,#ae7b22 65%,#d7a643 100%); }.featured-event-grid .small-groups-event-card p:not(.eyebrow),.featured-event-grid .camps-event-card p:not(.eyebrow) { color:#f2fffc; }

.event-image-preview-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }.event-image-preview-actions .text-button { margin-top:0; }

.event-editor-actions { display:flex; flex-wrap:wrap; gap:10px; margin-right:auto; }.event-editor-actions .delete-event-button { margin-right:0; }.event-editor-actions #delete-event,.event-editor-actions #duplicate-event { font-size:11px; }#edit-event-dialog .dialog-actions { align-items:center; }

#edit-event-dialog { width:min(680px,calc(100vw - 32px)); }#edit-event-form .dialog-actions > .button { flex:0 0 auto; min-height:40px; white-space:nowrap; }#edit-event-form .dialog-actions > .button-primary { min-width:150px; }@media (max-width:700px) { #edit-event-form .dialog-actions { flex-wrap:wrap; }.event-editor-actions { flex-basis:100%; } }

.import-calendar-button { grid-column:1/-1; justify-self:end; margin-top:2px; }

.import-mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; border:0; }.import-mode-options legend { grid-column:1/-1; margin:0 0 1px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.import-mode-options label { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:start; padding:9px; color:var(--ink); background:#f7f8fa; border:1px solid #dbe1e9; border-radius:7px; cursor:pointer; }.import-mode-options input { width:auto !important; margin:3px 0 0; padding:0 !important; accent-color:var(--navy); }.import-mode-options b,.import-mode-options small { display:block; }.import-mode-options b { font-size:12px; }.import-mode-options small { margin-top:2px; color:var(--muted); font-size:10px; line-height:1.25; }@media (max-width:700px) { .import-mode-options { grid-template-columns:1fr; } }

/* Live preview for the message composer. */
.message-grid { align-items:start; }.message-preview-card { padding:22px; background:#f8fafc; border:1px solid #dce4ee; }.message-preview-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:14px; }.message-preview-heading .eyebrow { margin-bottom:3px; }.message-preview-heading h3 { margin:0; }.message-preview-heading > span { padding:4px 7px; color:#2d6f84; background:#dceef4; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.08em; }.message-preview-phone { display:grid; min-height:292px; place-items:center; padding:15px; background:#e1eff4; border-radius:11px; }.message-preview-phone[hidden],.message-preview-email[hidden] { display:none !important; }.message-phone-frame { width:min(100%,270px); min-height:258px; padding:12px 12px 16px; background:#fff; border:5px solid #172439; border-radius:27px; box-shadow:0 8px 20px rgba(34,58,84,.18); }.message-phone-speaker { width:54px; height:5px; margin:0 auto 11px; background:#172439; border-radius:99px; }.message-phone-contact { display:grid; justify-items:center; gap:2px; padding-bottom:11px; border-bottom:1px solid #e3e8ef; text-align:center; }.message-phone-contact b { font-size:12px; }.message-phone-contact small { color:var(--muted); font-size:10px; }.message-phone-thread { display:grid; justify-items:start; gap:5px; padding-top:13px; }.message-preview-bubble { max-width:100%; padding:9px 10px; background:#e5e8ed; border-radius:15px 15px 15px 4px; }.message-preview-bubble img { display:block; width:100%; max-height:150px; margin:0 0 8px; object-fit:contain; border-radius:8px; }.message-preview-bubble img.image-at-bottom { margin:8px 0 0; }.message-preview-bubble img[hidden] { display:none; }.message-preview-bubble p,.message-email-body p { margin:0; white-space:pre-wrap; word-break:break-word; font-size:12px; line-height:1.42; }.message-preview-bubble p.is-placeholder,.message-email-body p.is-placeholder { color:#8b97a8; font-style:italic; }.message-phone-thread > small { padding-left:3px; color:#8b97a8; font-size:9px; }.message-preview-email { min-height:292px; overflow:hidden; background:#fff; border:1px solid #dce4ee; border-radius:10px; box-shadow:0 5px 13px rgba(31,48,75,.09); }.message-email-header { display:grid; gap:4px; padding:15px; background:#f2f5f8; border-bottom:1px solid #e0e6ed; }.message-email-header b { font-size:14px; }.message-email-header small,.message-email-header span { color:var(--muted); font-size:11px; }.message-email-body { padding:17px 15px; }.message-email-body img { display:block; width:100%; max-height:158px; margin:0 0 12px; object-fit:contain; object-position:left top; border-radius:7px; }.message-email-body img.image-at-bottom { margin:12px 0 0; }.message-email-body img[hidden] { display:none; }.message-automation-card { min-height:0; margin-top:20px; }.message-automation-card .reminder-preview { max-width:460px; }

.message-preview-attachments { margin:0 0 8px; padding:6px 7px; color:#59697d; background:#d5dbe3; border-radius:6px; font-size:10px; font-weight:700; }.message-preview-attachments[hidden] { display:none; }

.message-preview-link { display:block; margin-top:8px; overflow-wrap:anywhere; color:#1f5f97; font-size:11px; font-weight:700; line-height:1.35; }

.message-preview-images { display:grid; gap:8px; margin:0 0 8px; }.message-preview-images[hidden] { display:none; }.message-preview-images.message-preview-images-bottom { margin:8px 0 0; }.message-preview-bubble .message-preview-images img { margin:0; }.message-email-body .message-preview-images { gap:12px; margin:0 0 12px; }.message-email-body .message-preview-images.message-preview-images-bottom { margin:12px 0 0; }.message-email-body .message-preview-images img { margin:0; }

@media (min-width:961px) { .message-preview-card { position:sticky; top:24px; align-self:start; } }

.message-send-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.message-send-actions .button { width:100%; }
.message-cancel-send { width:auto; margin-top:10px; }

.message-schedule-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; padding:11px; background:#f4f6f9; border:1px solid #dbe1e9; border-radius:8px; }.message-schedule-options[hidden] { display:none; }.message-schedule-options label { margin:0 !important; }.message-schedule-options input,.message-schedule-options select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }@media (max-width:700px) { .message-schedule-options { grid-template-columns:1fr; } }

.button-success { color:#fff; background:#31815f; }.button-success:hover { background:#276b50; }.message-schedule-options #confirm-schedule-message { grid-column:1 / -1; }.scheduled-send-card { margin-top:20px; }.scheduled-send-heading h3 { margin:0; }.scheduled-send-list { display:grid; gap:0; margin-top:14px; }.scheduled-send-empty { margin:0; padding:17px 0; color:var(--muted); text-align:center; }.scheduled-send-row { display:grid; grid-template-columns:minmax(132px,.75fr) minmax(0,1.6fr) auto; gap:16px; align-items:start; padding:14px 0; border-top:1px solid var(--border); }.scheduled-send-time b,.scheduled-send-time small,.scheduled-send-copy b,.scheduled-send-copy small { display:block; }.scheduled-send-time b { color:var(--navy); font-size:12px; }.scheduled-send-time small,.scheduled-send-copy small { margin-top:2px; color:var(--muted); font-size:11px; }.scheduled-send-copy b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.scheduled-send-copy p { display:-webkit-box; margin:2px 0; overflow:hidden; color:#536177; font-size:12px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.scheduled-send-actions { display:flex; gap:10px; align-items:center; }.danger-text { color:#a64b3d; }@media (max-width:700px) { .scheduled-send-row { grid-template-columns:1fr; gap:7px; }.scheduled-send-actions { margin-top:2px; } }

.message-preview-email { display:grid; min-height:292px; place-items:center; padding:15px; overflow:visible; background:#e1eff4; border:0; border-radius:11px; box-shadow:none; }.message-desktop-frame { position:relative; width:min(100%,338px); padding:19px 15px 27px; background:#dad5ca; border:4px solid #b6afa2; border-radius:25px 25px 18px 18px; box-shadow:inset 0 2px 0 rgba(255,255,255,.8), inset 0 -7px 11px rgba(95,88,77,.2), 0 11px 19px rgba(34,58,84,.2); }.message-desktop-frame::before { position:absolute; bottom:10px; left:50%; width:54px; height:3px; content:""; background:repeating-linear-gradient(90deg,#8d867b 0 4px,transparent 4px 7px); transform:translateX(-50%); }.message-desktop-frame::after { position:absolute; right:22%; bottom:-12px; left:22%; height:12px; content:""; background:#c0b9ad; border:3px solid #aaa295; border-top:0; border-radius:0 0 12px 12px; box-shadow:0 4px 4px rgba(57,53,47,.18); }.message-desktop-camera { position:absolute; bottom:9px; left:18px; width:7px; height:7px; background:#d68a42; border:1px solid #986033; border-radius:50%; box-shadow:0 0 5px rgba(214,138,66,.75); }.message-desktop-screen { min-height:216px; padding:5px; overflow:hidden; background:#5c625c; border:3px solid #858077; border-radius:17px; box-shadow:inset 0 0 13px rgba(0,0,0,.48); }.message-email-content { min-height:204px; overflow:hidden; background:#fff; border-radius:11px; box-shadow:inset 0 0 20px rgba(77,92,90,.12); }
.message-preview-ministry-logo { margin-top:13px; padding-top:12px; border-top:1px solid #e1e6ec; }.message-preview-ministry-logo[hidden] { display:none; }.message-email-body .message-preview-ministry-logo img { display:block; width:auto; max-width:150px; max-height:70px; margin:0; object-fit:contain; object-position:left center; border-radius:0; }

.scheduled-send-time { display:flex; gap:8px; align-items:flex-start; }.scheduled-send-channel-icon { display:grid; width:26px; height:26px; flex:0 0 26px; place-items:center; color:#31506f; background:#e8f0f6; border:1px solid #cbdbe7; border-radius:7px; }.scheduled-send-channel-icon.email { color:#82572c; background:#f7eadb; border-color:#eacba7; }.scheduled-send-channel-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }

.reminder-calendar-checklist { display:flex; flex-wrap:wrap; gap:7px; margin:17px 0 12px; padding:0; border:0; }.reminder-calendar-checklist legend { width:100%; margin-bottom:1px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.reminder-calendar-option { display:flex !important; align-items:center; gap:7px !important; margin:0 !important; padding:7px 9px; color:var(--ink) !important; background:#fff; border:1px solid #dbe1e9; border-radius:7px; font-size:12px !important; cursor:pointer; }.reminder-calendar-option input { width:auto !important; margin:0; accent-color:var(--navy); }.reminder-event-pickers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 4px; }.reminder-event-picker { display:grid; gap:5px; margin:0 !important; color:#4f5e76; font-size:12px; font-weight:700; }.reminder-event-picker select { width:100%; padding:9px 28px 9px 9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.reminder-event-hint { grid-column:1/-1; margin:0; padding:10px; color:var(--muted); background:#f4f6f9; border-radius:7px; font-size:12px; }
@media (max-width:700px) { .reminder-event-pickers { grid-template-columns:1fr; } }
@media (max-width:700px) { .message-preview-card { padding:18px; }.message-preview-phone { min-height:278px; }.message-phone-frame { min-height:245px; }.message-automation-card { margin-top:14px; } }

.event-checkin-dialog { width:min(620px,calc(100vw - 32px)); }.event-checkin-event-details { margin:2px 0 16px; padding:14px 15px; background:#edf3fb; border-radius:10px; }.event-checkin-event-details b,.event-checkin-event-details span { display:block; }.event-checkin-event-details b { font-size:16px; }.event-checkin-event-details span { margin-top:4px; color:#5c6c84; font-size:12px; }.event-checkin-url-label { display:grid; gap:6px; color:#4f5e76; font-size:12px; font-weight:750; }.event-checkin-url-label input { width:100%; padding:10px; color:#1f3557; background:#f8fafc; border:1px solid #cbd7e5; border-radius:7px; font:500 12px var(--font-ui); }.event-checkin-note { margin-top:14px; padding:12px 13px; color:#555a4e; background:#fff8e8; border-radius:8px; font-size:12px; line-height:1.45; }.camp-registration-link-status { min-height:18px; margin:10px 2px 0; color:#42536c; font-size:12px; line-height:1.4; }.public-checkin-brand { margin:4px 0 28px; text-align:center; }.public-checkin-brand .brand-wordmark,.public-checkin-unavailable .brand-wordmark { color:#151515; font-size:31px; }.public-checkin-brand > p:not(.public-checkin-local-note) { margin:8px 0 0; color:#5a6880; font-size:14px; font-weight:700; }.public-checkin-route #public-checkin-ministry { display:none !important; }.public-checkin-local-note { margin:14px auto 0; max-width:430px; padding:10px 12px; color:#69572a; background:#fff7df; border-radius:8px; font-size:11px; line-height:1.4; }.public-checkin-unavailable { max-width:520px; margin:12vh auto 0; text-align:center; }.public-checkin-unavailable h1 { margin:17px 0 8px; font-size:28px; }.public-checkin-unavailable p:not(.eyebrow) { margin:0; color:var(--muted); }
.event-checkin-download { margin-top:20px; margin-bottom:10px; }
.ministry-checkin-pdf-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 17px; }.ministry-checkin-pdf-option { min-height:56px; padding:10px 12px; color:var(--ink); background:#f8fafc; border:1px solid #d4dee9; border-radius:8px; font:750 12px/1.35 var(--font-ui); text-align:left; }.ministry-checkin-pdf-option:hover { background:#eef4f9; border-color:#a9bed2; }.ministry-checkin-pdf-option.is-selected,.ministry-checkin-pdf-option.is-selected:hover { color:#fff; background:var(--navy); border-color:var(--navy); }.ministry-checkin-raffle-settings { margin:0; padding:14px; color:#53647b; background:#f5f8fb; border:1px solid #d9e2ec; border-radius:8px; font-size:12px; line-height:1.45; }.ministry-checkin-raffle-settings p { margin:0; }.ministry-checkin-raffle-settings .event-checkin-url-label { margin-top:14px; }.ministry-checkin-raffle-settings .dialog-actions { margin-top:14px; }@media (max-width:700px) { .ministry-checkin-pdf-options { grid-template-columns:1fr; } }

/* Archived calendar events stay available without crowding the active list. */
.calendar-events-stack { display:grid; gap:14px; }.calendar-date-block { display:grid; gap:4px; align-content:center; }.completed-events-archive { overflow:hidden; background:#fffdf7; border:1px solid #ead8a2; border-radius:12px; }.completed-events-archive > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; color:#745516; cursor:pointer; font-size:14px; font-weight:800; list-style:none; }.completed-events-archive > summary::-webkit-details-marker { display:none; }.completed-events-archive > summary::after { margin-left:2px; content:"+"; color:#ad7d19; font-size:22px; font-weight:400; }.completed-events-archive[open] > summary { border-bottom:1px solid #ead8a2; }.completed-events-archive[open] > summary::after { content:"−"; }.completed-events-archive > summary strong { display:grid; width:27px; height:27px; margin-left:auto; place-items:center; color:#745516; background:#fff0bf; border-radius:50%; font-size:11px; }.completed-events-empty { margin:0; padding:15px 17px; color:#947532; font-size:12px; }.completed-events-actions { display:flex; justify-content:flex-end; padding:11px 17px; border-bottom:1px solid #ead8a2; }.completed-events-actions .button { min-height:34px; margin:0; font-size:12px; }.completed-events-select-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 17px; color:#745516; background:#fffaf0; border-bottom:1px solid #ead8a2; font-size:12px; font-weight:750; }.completed-events-select-toolbar label { display:flex; align-items:center; gap:7px; cursor:pointer; }.completed-events-select-toolbar input,.completed-event-select input { width:16px; height:16px; margin:0; accent-color:#866119; }.completed-events-select-toolbar > span { color:#947532; font-size:11px; }.completed-calendar-list { border:0; border-radius:0; }.completed-calendar-list .calendar-list-row { grid-template-columns:24px 78px minmax(0,1fr) auto; }.completed-calendar-list .calendar-list-row.has-event-image { grid-template-columns:24px 78px 54px minmax(0,1fr) auto; }.completed-event-select { display:grid; width:20px; height:20px; place-items:center; }.calendar-list-row.completed-calendar-event { background:#fff8df; }.calendar-list-row.completed-calendar-event .card-date { color:#866119; }.completed-event-label { width:max-content; padding:3px 5px; color:#745516; background:#ffe6a1; border-radius:4px; font-size:9px; font-weight:850; letter-spacing:.06em; line-height:1; }.completed-events-delete-actions { display:flex; justify-content:flex-end; padding:12px 17px; background:#fffaf0; border-top:1px solid #ead8a2; }.completed-events-delete-actions .button { margin:0; }.archived-events-rollover-summary { margin:0; padding:11px 12px; color:#69572a; background:#fff8e8; border:1px solid #eedca8; border-radius:8px; font-size:12px; font-weight:650; line-height:1.45; }
@media (max-width:700px) { .completed-events-archive > summary { padding:13px 14px; }.completed-events-actions,.completed-events-select-toolbar,.completed-events-delete-actions { padding-right:14px; padding-left:14px; }.completed-events-actions .button,.completed-events-delete-actions .button { width:100%; }.completed-calendar-list .calendar-list-row,.completed-calendar-list .calendar-list-row.has-event-image { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; }.completed-calendar-list .calendar-list-row .completed-event-select { grid-row:1; grid-column:1; }.completed-calendar-list .calendar-list-row .calendar-date-block { grid-row:1; grid-column:2 / -1; }.completed-calendar-list .calendar-list-row .event-list-image { grid-column:2; }.completed-calendar-list .calendar-list-row .calendar-event-copy { grid-column:2; }.completed-calendar-list .calendar-list-row.has-event-image .calendar-event-copy { grid-column:3; }.completed-calendar-list .calendar-list-row .calendar-list-actions { grid-column:2 / -1; } }

/* Bulk deletion controls for upcoming events in the selected master calendar. */
.active-events-select-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 17px; color:#3f5875; background:#f4f7fb; border-bottom:1px solid #dbe4ee; font-size:12px; font-weight:750; }.active-events-select-toolbar label { display:flex; align-items:center; gap:7px; cursor:pointer; }.active-events-select-toolbar input,.active-event-select input { width:16px; height:16px; margin:0; accent-color:var(--navy); }.active-events-select-toolbar > span { color:#61728a; font-size:11px; }.active-calendar-list .calendar-list-row { grid-template-columns:24px 78px minmax(0,1fr) auto; }.active-calendar-list .calendar-list-row.has-event-image { grid-template-columns:24px 78px 54px minmax(0,1fr) auto; }.active-event-select { display:grid; width:20px; height:20px; place-items:center; }.active-events-delete-actions { display:flex; justify-content:flex-end; padding:12px 17px; background:#f8fafc; border-top:1px solid var(--border); }.active-events-delete-actions .button { margin:0; }@media (max-width:700px) { .active-events-select-toolbar,.active-events-delete-actions { padding-right:14px; padding-left:14px; }.active-events-delete-actions .button { width:100%; }.active-calendar-list .calendar-list-row,.active-calendar-list .calendar-list-row.has-event-image { grid-template-columns:24px minmax(0,1fr) auto; gap:8px; }.active-calendar-list .calendar-list-row .active-event-select { grid-row:1; grid-column:1; }.active-calendar-list .calendar-list-row .calendar-date-block { grid-row:1; grid-column:2 / -1; }.active-calendar-list .calendar-list-row .event-list-image { grid-column:2; }.active-calendar-list .calendar-list-row .calendar-event-copy { grid-column:2; }.active-calendar-list .calendar-list-row.has-event-image .calendar-event-copy { grid-column:3; }.active-calendar-list .calendar-list-row .calendar-list-actions { grid-column:2 / -1; } }

/* The deletion walkthrough is brief before selection controls are revealed. */
.delete-events-help-dialog { width:min(440px,calc(100vw - 32px)); }

/* Event rows stay uncluttered until a person deliberately begins deletion. */
.active-calendar-list:not(.is-selecting) .calendar-list-row,.completed-calendar-list:not(.is-selecting) .calendar-list-row { grid-template-columns:78px minmax(0,1fr) auto; }.active-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image,.completed-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image { grid-template-columns:78px 54px minmax(0,1fr) auto; }.active-events-delete-actions,.completed-events-delete-actions { gap:8px; }
@media (max-width:700px) { .active-calendar-list:not(.is-selecting) .calendar-list-row,.completed-calendar-list:not(.is-selecting) .calendar-list-row { grid-template-columns:1fr auto; gap:8px; }.active-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image,.completed-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image { grid-template-columns:48px 44px minmax(0,1fr) auto; gap:7px; }.active-calendar-list:not(.is-selecting) .calendar-list-row .calendar-date-block,.completed-calendar-list:not(.is-selecting) .calendar-list-row .calendar-date-block { grid-row:auto; grid-column:1 / -1; }.active-calendar-list:not(.is-selecting) .calendar-list-row .event-list-image,.completed-calendar-list:not(.is-selecting) .calendar-list-row .event-list-image,.active-calendar-list:not(.is-selecting) .calendar-list-row .calendar-event-copy,.completed-calendar-list:not(.is-selecting) .calendar-list-row .calendar-event-copy { grid-column:auto; }.active-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image .calendar-event-copy,.completed-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image .calendar-event-copy { grid-column:auto; }.active-calendar-list:not(.is-selecting) .calendar-list-row .calendar-list-actions,.completed-calendar-list:not(.is-selecting) .calendar-list-row .calendar-list-actions { grid-column:1 / -1; } }

/* Instagram is a post composer, separate from direct text and email messaging. */
.message-preview-instagram[hidden] { display:none !important; }.message-instagram-actions { margin:2px 0 16px; padding:12px; color:#5a4964; background:#faf3f8; border:1px solid #edd9e6; border-radius:9px; }.message-instagram-actions[hidden] { display:none; }.message-instagram-actions p { margin:0 0 10px; font-size:12px; line-height:1.4; }.message-instagram-actions > div { display:flex; flex-wrap:wrap; gap:8px; }.message-instagram-actions .button { min-height:34px; margin:0; text-decoration:none; }.message-preview-instagram { min-height:292px; padding:15px; background:#f4edf6; border-radius:11px; }.instagram-post-frame { width:min(100%,330px); overflow:hidden; background:#fff; border:1px solid #e1dce4; border-radius:11px; box-shadow:0 7px 18px rgba(66,37,71,.13); }.instagram-post-header { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; padding:10px; border-bottom:1px solid #f0edf1; font-size:12px; }.instagram-post-avatar { display:grid; width:28px; height:28px; place-items:center; color:#fff; background:linear-gradient(135deg,#f1a034,#d3448d 52%,#613cbd); border-radius:50%; font-size:9px; font-weight:850; letter-spacing:.03em; }.instagram-post-images { display:grid; gap:1px; background:#f3f0f3; }.instagram-post-images[hidden] { display:none; }.instagram-post-images img { display:block; width:100%; max-height:215px; object-fit:contain; background:#f6f3f6; }.instagram-post-content { padding:10px; }.instagram-post-icons { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; font-size:19px; line-height:1; letter-spacing:.02em; }.instagram-post-icons span { margin-left:auto; }.instagram-post-content p { margin:0; white-space:pre-wrap; word-break:break-word; font-size:12px; line-height:1.45; }.instagram-post-content p.is-placeholder { color:#8b8290; font-style:italic; }.instagram-post-link { margin-top:7px !important; color:#5b4292; font-weight:700; overflow-wrap:anywhere; }.scheduled-send-channel-icon.instagram { color:#8c3975; background:#f8e8f2; border-color:#edc8dc; }

.ministry-connected-accounts { margin:2px 0 0; padding:14px; border:1px solid #d8e1eb; border-radius:9px; background:#f8fafc; }.ministry-connected-accounts legend { padding:0 5px; color:#344967; font-size:12px; font-weight:800; }.ministry-connected-accounts > p { max-width:650px; margin:0 0 11px; color:#596a80; font-size:12px; line-height:1.4; }.ministry-connected-account-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.ministry-connected-account-grid label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.ministry-connected-account-grid input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.ministry-connected-account-grid small { min-height:16px; margin:0; color:#637188; font-size:10px; font-weight:650; line-height:1.3; }.ministry-connected-account-grid small.is-linked { color:#31705e; }@media (max-width:700px) { .ministry-connected-account-grid { grid-template-columns:1fr; } }
.ministry-data-connections { margin:2px 0 0; padding:14px; border:1px solid #d8e1eb; border-radius:9px; background:#f8fafc; }.ministry-data-connections legend { padding:0 5px; color:#344967; font-size:12px; font-weight:800; }.ministry-data-connections > p { max-width:700px; margin:0 0 12px; color:#596a80; font-size:12px; line-height:1.4; }.ministry-data-connections-status { display:grid; gap:10px; }.ministry-data-connection { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:13px 14px; border:1px solid #d8e1eb; border-radius:9px; background:#fff; }.ministry-data-connection h3 { margin:0; color:#243e5d; font-size:14px; }.ministry-data-connection p { max-width:720px; margin:4px 0 0; color:#596a80; font-size:12px; line-height:1.42; }.ministry-data-connection-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; }.ministry-data-connection-actions .button { min-height:35px; margin:0; padding-inline:12px; font-size:12px; white-space:nowrap; }.ministry-data-connection-status { display:inline-flex; width:fit-content; margin-top:7px; padding:4px 7px; color:#5c697d; background:#eef2f6; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }.ministry-data-connection-status.is-connected { color:#256653; background:#e2f1eb; }.ministry-data-connection-status.is-setup { color:#765b1f; background:#fff0bf; }.ministry-data-migration-note { padding:11px 12px; border-left:3px solid #7a91ad; color:#53657a; background:#f3f6f9; border-radius:0 7px 7px 0; font-size:12px; line-height:1.45; }.ministry-data-connection-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }.ministry-data-connection-list li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid #e2e8ef; color:#52637a; font-size:12px; }.ministry-data-connection-list li:first-child { border-top:0; }.ministry-data-connection-list strong { color:#293f5e; font-weight:800; }@media (max-width:700px) { .ministry-connected-account-grid { grid-template-columns:1fr; }.ministry-data-connection-actions .button { width:100%; } }

/* A connected ministry decides exactly which Google calendars enter Welcome. */
.google-calendar-import-flow { display:grid; gap:12px; margin-top:-1px; padding:14px; border:1px solid #cbd8e7; border-radius:9px; background:#fff; }.google-calendar-import-flow h4 { margin:2px 0 0; color:#243e5d; font-size:15px; }.google-calendar-import-flow p { margin:0; color:#596a80; font-size:12px; line-height:1.45; }.google-calendar-import-flow .eyebrow { color:#526d90; font-size:10px; }.google-calendar-import-choice-list { display:grid; gap:8px; max-height:300px; overflow:auto; padding-right:3px; }.google-calendar-import-choice { display:flex; align-items:flex-start; gap:10px; padding:10px; border:1px solid #dce4ed; border-radius:8px; background:#fbfcfe; cursor:pointer; }.google-calendar-import-choice:hover { border-color:#aebfd2; background:#f6f9fc; }.google-calendar-import-choice input { width:16px; min-width:16px; height:16px; margin:2px 0 0; accent-color:var(--navy); }.google-calendar-import-choice span { display:grid; gap:2px; min-width:0; }.google-calendar-import-choice strong { overflow:hidden; color:#293f5e; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.google-calendar-import-choice small { color:#68778b; font-size:11px; line-height:1.35; }.google-calendar-import-review-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }.google-calendar-import-review-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid #dce4ed; border-radius:8px; background:#f8fafc; }.google-calendar-import-review-list span { display:grid; gap:2px; min-width:0; }.google-calendar-import-review-list strong { color:#293f5e; font-size:12px; }.google-calendar-import-review-list small { color:#68778b; font-size:11px; }.google-calendar-import-review-list b { flex:0 0 auto; padding:4px 6px; color:#536b88; background:#eaf0f6; border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:.04em; }.google-calendar-import-range { padding:9px 10px; color:#5d6e82 !important; background:#f2f6fa; border-radius:7px; font-size:11px !important; }@media (max-width:700px) { .google-calendar-import-review-list li { align-items:flex-start; flex-direction:column; gap:6px; }.google-calendar-import-review-list b { align-self:flex-start; } }

.google-calendar-import-review-actions { display:grid; justify-items:end; gap:7px; flex:0 0 min(100%,260px); }.google-calendar-import-destination { display:grid; grid-template-columns:auto minmax(140px,1fr); align-items:center; gap:7px; width:100%; color:#52637a; font-size:11px; font-weight:750; }.google-calendar-import-destination select { width:100%; min-width:0; padding:7px 26px 7px 8px; color:#293f5e; background:#fff; border:1px solid #cbd6e2; border-radius:6px; font:650 12px var(--font-ui); }@media (max-width:700px) { .google-calendar-import-review-actions { width:100%; justify-items:start; }.google-calendar-import-destination { grid-template-columns:1fr; }.google-calendar-import-destination select { min-height:36px; } }

/* Review-first sorting keeps mixed calendar imports out of the wrong ministry bucket. */
.import-calendar-review-option { display:flex !important; align-items:flex-start; gap:9px; padding:11px 12px; color:#455a75 !important; background:#f5f8fb; border:1px solid #d5e0eb; border-radius:8px; cursor:pointer; font-size:12px !important; }.import-calendar-review-option input { width:16px !important; min-width:16px; height:16px; margin:2px 0 0; accent-color:var(--navy); }.import-calendar-review-option span { display:grid; gap:2px; }.import-calendar-review-option b { color:#2d4666; font-size:12px; }.import-calendar-review-option small { color:#617188; font-size:11px; font-weight:500; line-height:1.4; }.imported-event-review { margin:16px 0; }.imported-event-review-panel { padding:0; overflow:hidden; }.imported-event-review-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; color:#29445f; background:#f3f7fb; font-size:12px; font-weight:800; list-style:none; cursor:pointer; }.imported-event-review-panel > summary::-webkit-details-marker { display:none; }.imported-event-review-panel > summary strong { display:inline-grid; min-width:24px; height:24px; place-items:center; color:#fff; background:var(--navy); border-radius:999px; font-size:11px; }.imported-event-review-content { display:grid; gap:12px; padding:15px 16px 16px; }.imported-event-review-content > p { margin:0; color:#596b81; font-size:12px; line-height:1.45; }.imported-event-review-bulk { display:flex; flex-wrap:wrap; align-items:end; gap:8px; padding:10px; background:#f7f9fc; border:1px solid #dce4ed; border-radius:8px; }.imported-event-review-bulk label,.imported-event-review-destination,.imported-event-review-new-calendar { display:grid; gap:4px; color:#52637a; font-size:11px; font-weight:750; }.imported-event-review-bulk select,.imported-event-review-destination select,.imported-event-review-bulk input,.imported-event-review-new-calendar input { min-height:34px; padding:7px 26px 7px 8px; color:#293f5e; background:#fff; border:1px solid #cbd6e2; border-radius:6px; font:650 12px var(--font-ui); }.imported-event-review-bulk input,.imported-event-review-new-calendar input { padding-right:8px; }.imported-event-review-bulk .button { min-height:34px; margin:0; }.imported-event-review-bulk .text-button { margin:0 0 7px; }.imported-event-review-select-all { display:flex !important; align-items:center; gap:7px; color:#53667e !important; font-size:11px !important; font-weight:750; }.imported-event-review-select-all input,.imported-event-review-select input { width:16px; height:16px; margin:0; accent-color:var(--navy); }.imported-event-review-list { display:grid; gap:7px; max-height:440px; margin:0; padding:0; overflow:auto; list-style:none; }.imported-event-review-row { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(170px,.55fr); align-items:center; gap:10px; padding:10px; background:#fff; border:1px solid #dce4ed; border-radius:8px; }.imported-event-review-event { display:grid; min-width:0; gap:3px; }.imported-event-review-event strong { overflow:hidden; color:#2a405d; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.imported-event-review-event small { overflow:hidden; color:#68788d; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.imported-event-review-event em { color:#3d6a87; font-size:10px; font-style:normal; font-weight:700; }.imported-event-review-new-calendar { grid-column:2 / -1; }.imported-event-review-actions { display:flex; justify-content:flex-end; padding-top:2px; }.imported-event-review-actions .button { margin:0; }@media (max-width:700px) { .imported-event-review-bulk { align-items:stretch; flex-direction:column; }.imported-event-review-bulk .button { width:100%; }.imported-event-review-bulk .text-button { margin:0; }.imported-event-review-row { grid-template-columns:auto minmax(0,1fr); align-items:start; }.imported-event-review-destination { grid-column:2; }.imported-event-review-new-calendar { grid-column:2; }.imported-event-review-destination select { min-height:36px; }.imported-event-review-actions .button { width:100%; } }

.google-calendar-sync-range { margin:0; color:#66778b; font-size:11px; line-height:1.4; }.google-calendar-sync-change-list { display:grid; gap:7px; max-height:330px; margin:0; padding:0; overflow:auto; list-style:none; }.google-calendar-sync-change-list li { display:flex; align-items:flex-start; gap:9px; padding:9px 10px; color:#43556b; background:#f8fafc; border:1px solid #dce4ed; border-radius:8px; }.google-calendar-sync-change-list span { display:grid; min-width:0; gap:2px; }.google-calendar-sync-change-list strong { overflow:hidden; color:#293f5e; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.google-calendar-sync-change-list small { color:#68778b; font-size:11px; line-height:1.35; }.google-calendar-sync-change-type { flex:0 0 auto; padding:4px 6px; border-radius:999px; font-size:10px; letter-spacing:.04em; line-height:1; text-transform:uppercase; }.google-calendar-sync-change-type.is-add { color:#176149; background:#ddf1e8; }.google-calendar-sync-change-type.is-update { color:#365b83; background:#e6eef8; }.google-calendar-sync-change-list .google-calendar-sync-more { display:block; color:#62748a; background:#f2f6fa; font-size:11px; text-align:center; }@media (max-width:700px) { .google-calendar-sync-change-list { max-height:280px; } }

/* Google Contacts uses the same review-first pattern as calendar imports. */
.google-contacts-default-role { display:grid; grid-template-columns:auto minmax(160px,1fr); align-items:center; gap:9px; padding:10px; color:#52637a; background:#f5f8fb; border:1px solid #dce4ed; border-radius:8px; font-size:11px; font-weight:750; }.google-contacts-default-role select { width:100%; min-width:0; padding:7px 26px 7px 8px; color:#293f5e; background:#fff; border:1px solid #cbd6e2; border-radius:6px; font:650 12px var(--font-ui); }.google-contacts-import-list { display:grid; gap:7px; max-height:330px; margin:0; padding:0; overflow:auto; list-style:none; }.google-contacts-import-list li { display:flex; align-items:flex-start; gap:9px; padding:9px 10px; color:#43556b; background:#f8fafc; border:1px solid #dce4ed; border-radius:8px; }.google-contacts-import-list span { display:grid; min-width:0; gap:2px; }.google-contacts-import-list strong { overflow:hidden; color:#293f5e; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.google-contacts-import-list small { color:#68778b; font-size:11px; line-height:1.35; }.google-contacts-import-type { flex:0 0 auto; padding:4px 6px; border-radius:999px; font-size:10px; letter-spacing:.04em; line-height:1; text-transform:uppercase; }.google-contacts-import-type.is-add { color:#176149; background:#ddf1e8; }.google-contacts-import-type.is-update { color:#365b83; background:#e6eef8; }.google-contacts-import-type.is-link { color:#775b1d; background:#fff0bf; }.google-contacts-import-more { display:block !important; color:#62748a !important; background:#f2f6fa !important; font-size:11px; text-align:center; }.google-contacts-conflict-note { padding:10px 11px; color:#725d28 !important; background:#fff8e7; border:1px solid #f0dc9e; border-radius:8px; }.google-contacts-conflict-note strong { color:#624d1d; }@media (max-width:700px) { .google-contacts-default-role { grid-template-columns:1fr; }.google-contacts-import-list { max-height:280px; }.google-contacts-import-list li { align-items:flex-start; flex-direction:column; gap:6px; }.google-contacts-import-type { align-self:flex-start; } }

.google-contacts-role-note { margin:0; color:#66778b; font-size:11px; line-height:1.4; }.google-contact-role { display:grid; flex:0 0 164px; gap:4px; margin-left:auto; color:#52637a; font-size:10px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }.google-contact-role select { width:100%; min-width:0; padding:7px 25px 7px 8px; color:#293f5e; background:#fff; border:1px solid #cbd6e2; border-radius:6px; font:650 11px var(--font-ui); letter-spacing:0; text-transform:none; }@media (max-width:700px) { .google-contact-role { width:100%; margin:0; }.google-contact-role select { min-height:36px; } }

.google-contacts-import-list .google-contact-school { flex-basis:210px; margin-left:0; }.google-contacts-import-list li:has(.google-contact-school) { flex-wrap:wrap; }.google-contacts-import-list li:has(.google-contact-school) > span { flex:1 1 minmax(180px,1fr); }@media (max-width:700px) { .google-contacts-import-list .google-contact-school { width:100%; flex-basis:auto; } }

.ministry-grade-settings { background:#fff; }

.ministry-schools-settings { margin:2px 0 0; padding:14px; border:1px solid #d8e1eb; border-radius:9px; background:#fff; }.ministry-schools-settings legend { padding:0 5px; color:#344967; font-size:12px; font-weight:800; }.ministry-schools-settings > p { max-width:650px; margin:0 0 11px; color:#596a80; font-size:12px; line-height:1.4; }.ministry-school-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }.ministry-school-add label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.ministry-school-add input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.ministry-school-add .button { min-height:39px; margin:0; white-space:nowrap; }.ministry-school-list { margin-top:12px; }.ministry-school-list ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }.ministry-school-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; background:#f7f9fc; border:1px solid #dbe3ec; border-radius:7px; }.ministry-school-list span { min-width:0; }.ministry-school-list b,.ministry-school-list small { display:block; }.ministry-school-list b { overflow:hidden; color:#2c405d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.ministry-school-list small { margin-top:2px; color:#68778b; font-size:10px; }.ministry-school-list .text-button { flex:0 0 auto; padding:0; color:#9a4338; font-size:11px; }.ministry-school-empty { margin:0; padding:10px; color:#68778b; background:#f7f9fc; border:1px dashed #d3dde9; border-radius:7px; font-size:11px; line-height:1.4; }@media (max-width:700px) { .ministry-school-add { grid-template-columns:1fr; }.ministry-school-add .button { width:100%; } }

.quick-add-actions { justify-content:flex-end; }.quick-add-top-actions { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:7px; }.quick-add-import-button,.quick-add-move-copy-button { justify-self:start; margin:0; }

.quick-add-format-subheader { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }

.quick-add-event-list-field { display:grid; gap:5px; color:#4f5e76; font-size:12px; }

.calendar-transfer-options { display:grid; gap:8px; margin:0; padding:0; border:0; }.calendar-transfer-options legend { margin:0 0 1px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.calendar-transfer-options label { display:grid !important; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; margin:0 !important; padding:10px; color:var(--ink) !important; background:#f8fafc; border:1px solid #dbe3eb; border-radius:8px; cursor:pointer; }.calendar-transfer-options input { width:auto !important; margin:3px 0 0; padding:0 !important; accent-color:var(--navy); }.calendar-transfer-options b,.calendar-transfer-options small { display:block; }.calendar-transfer-options b { font-size:12px; }.calendar-transfer-options small { margin-top:2px; color:var(--muted); font-size:10px; font-weight:500; line-height:1.35; }.calendar-transfer-summary { margin:0; padding:11px 12px; color:#496173; background:#edf5f8; border:1px solid #cbdfe7; border-radius:8px; font-size:12px; line-height:1.4; }@media (max-width:700px) { .quick-add-top-actions { width:100%; }.quick-add-top-actions .button { flex:1 1 100%; } }

/* Ministry-specific people roles and multi-role assignment. */
.person-role-pills { display:flex; flex-wrap:wrap; gap:5px; min-width:135px; }.role-pill.custom { color:#68427b; background:#f0e7f6; }.people-role-manager { margin:0 0 18px; padding:0; overflow:hidden; background:#fff; border:1px solid var(--border); border-radius:10px; }.people-role-manager > summary { padding:12px 14px; color:var(--navy); cursor:pointer; font-size:13px; font-weight:750; }.people-role-manager[open] > summary { border-bottom:1px solid var(--border); }.people-role-manager-content { padding:13px 14px; }.people-role-manager-content > p { max-width:580px; margin:0; color:var(--muted); font-size:15px; line-height:1.4; }.people-role-manager form { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin-top:12px; }.people-role-manager label { display:grid; flex:1 1 250px; gap:5px; min-width:min(100%,250px); color:#4f5e76; font-size:11px; font-weight:800; }.people-role-manager input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }.people-role-manager .default-people-roles { color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }.custom-people-roles { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }.custom-people-role { display:flex; align-items:center; gap:7px; padding:6px 8px; color:#604172; background:#f5edf8; border:1px solid #e0cfe9; border-radius:7px; font-size:12px; font-weight:700; }.custom-people-role small { color:#866d92; font-size:10px; font-weight:700; }.custom-people-role .text-button { margin:0; padding:0; color:#8b3f59; font-size:11px; }.custom-people-roles-empty { margin:0; color:var(--muted); font-size:12px; }.person-additional-roles { margin:0; padding:11px; background:#f8fafc; border:1px solid #d9e1eb; border-radius:8px; }.person-additional-roles legend { padding:0 4px; color:#4f5e76; font-size:12px; font-weight:700; }.person-additional-roles > p { margin:0 0 8px; color:var(--muted); font-size:11px; }.person-additional-role-options { display:flex; flex-wrap:wrap; gap:6px; }.person-additional-role-option { display:flex !important; align-items:center; gap:5px !important; min-height:31px; margin:0 !important; padding:5px 8px; color:#324963 !important; background:#fff; border:1px solid #cad5e2; border-radius:7px; cursor:pointer; font-size:11px !important; }.person-additional-role-option input { width:auto !important; margin:0; padding:0 !important; accent-color:var(--navy); }.person-additional-role-empty { margin:0; color:var(--muted); font-size:11px; }

.people-duplicate-manager { margin:0 0 18px; padding:0; overflow:hidden; background:#fff; border:1px solid var(--border); border-radius:10px; }.people-duplicate-manager > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; color:var(--navy); cursor:pointer; font-size:13px; font-weight:750; list-style:none; }.people-duplicate-manager > summary::-webkit-details-marker { display:none; }.people-duplicate-manager > summary::after { content:"+"; margin-left:auto; color:#6a7b90; font-size:18px; font-weight:500; }.people-duplicate-manager[open] > summary { border-bottom:1px solid var(--border); }.people-duplicate-manager[open] > summary::after { content:"−"; }.people-duplicate-manager > summary strong { display:grid; place-items:center; min-width:22px; min-height:22px; padding:2px 6px; color:#fff; background:var(--navy); border-radius:999px; font-size:11px; }.people-duplicate-manager-content { padding:13px 14px; }.people-duplicate-manager-content > p { max-width:650px; margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.45; }.people-duplicate-list { display:grid; gap:10px; }.people-duplicate-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:12px; background:#f8fafc; border:1px solid #dce4ee; border-radius:8px; }.people-duplicate-copy > p { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 9px; color:#7a6382; font-size:11px; font-weight:700; }.people-duplicate-copy > p strong { color:#4b5e78; }.people-duplicate-profiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.people-duplicate-profiles > div { min-width:0; }.people-duplicate-profiles b,.people-duplicate-profiles small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.people-duplicate-profiles b { color:var(--navy); font-size:12px; }.people-duplicate-profiles small { margin-top:2px; color:#647389; font-size:10px; }.people-duplicate-actions { display:grid; align-content:start; gap:9px; min-width:174px; }.people-duplicate-actions label { display:grid; gap:4px; color:#4f5e76; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.people-duplicate-actions select { width:100%; padding:7px 8px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:6px; font:600 11px var(--font-ui); }.people-duplicate-actions > div { display:flex; align-items:center; gap:10px; }.people-duplicate-actions .button { min-height:32px; margin:0; padding:6px 9px; font-size:11px; white-space:nowrap; }.people-duplicate-actions .text-button { margin:0; padding:0; color:#9a4a3d; font-size:11px; white-space:nowrap; }.people-duplicate-empty { margin:0; padding:11px; color:var(--muted); background:#f8fafc; border:1px dashed #d5deea; border-radius:7px; font-size:12px; }
.promotion-review-manager { margin-top:0; }.promotion-review-manager-content > p { max-width:650px; }.promotion-review-manager .promotion-review-summary { margin-top:0; }
.people-shared-phone-item { background:#f7fafc; border-color:#cbdbe8; }.people-shared-phone-item .people-duplicate-copy > p { color:#4e7184; }.people-shared-phone-note { margin:10px 0 0; color:#586b80; font-size:11px; line-height:1.4; }.people-shared-phone-actions { display:grid; align-content:start; gap:7px; min-width:188px; }.people-shared-phone-actions > p { max-width:205px; margin:0 0 2px; color:#5c6d80; font-size:11px; line-height:1.35; }.people-shared-phone-actions .button { min-height:31px; margin:0; padding:6px 9px; color:var(--navy); background:#e7edf7; border-color:#c7d5e7; font-size:11px; text-align:left; }.people-shared-phone-actions .button:hover { color:var(--navy); background:#d8e5f3; }
.people-duplicate-item { gap:10px; padding:10px; }.people-duplicate-copy > p { margin-bottom:7px; }.people-duplicate-profiles { gap:8px; }.people-duplicate-actions { gap:6px; min-width:160px; }.people-duplicate-actions label { gap:2px; }.people-duplicate-actions select { padding:6px 7px; }.people-duplicate-actions .button { min-height:29px; padding:5px 8px; font-size:10px; }.people-duplicate-actions .text-button { font-size:10px; }.people-shared-phone-note { margin:22px 0 16px; line-height:1.35; }.people-shared-phone-actions { gap:5px; min-width:174px; }.people-shared-phone-actions > p { margin-bottom:0; font-size:10px; }.people-shared-phone-actions .button { min-height:28px; padding:5px 7px; font-size:10px; }
.people-duplicate-profiles b { font-size:14px; line-height:1.3; }.people-duplicate-profiles small { margin-top:4px; color:#52657d; font-size:12px; line-height:1.45; white-space:normal; }.people-shared-phone-note { margin:30px 0 24px; font-size:12px; line-height:1.5; }
@media (max-width:700px) { .people-role-manager form { align-items:stretch; }.people-role-manager form .button { width:100%; }.person-role-pills { min-width:110px; } }
@media (max-width:700px) { .people-duplicate-item { grid-template-columns:1fr; }.people-duplicate-profiles { grid-template-columns:1fr; gap:7px; }.people-duplicate-actions,.people-shared-phone-actions { min-width:0; }.people-duplicate-actions > div { align-items:stretch; flex-direction:column; gap:8px; }.people-duplicate-actions .button,.people-shared-phone-actions .button { width:100%; }.people-duplicate-actions .text-button { align-self:flex-start; } }
.calendar-backup-dialog { width:min(650px,calc(100vw - 32px)); }.calendar-backup-summary { margin:14px 0; padding:11px 13px; color:#1f4962; background:#edf5f8; border:1px solid #cddfe7; border-radius:8px; font-size:13px; font-weight:750; }.calendar-backup-options { display:grid; gap:10px; margin:0; padding:0; border:0; }.calendar-backup-options legend { margin:0 0 7px; padding:0; color:#4f5e76; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.calendar-backup-option { display:flex; align-items:flex-start; gap:10px; padding:13px; background:#fff; border:1px solid #d9e1ea; border-radius:9px; cursor:pointer; }.calendar-backup-option input { width:auto; margin:3px 0 0; accent-color:var(--navy); }.calendar-backup-option span { display:grid; gap:4px; }.calendar-backup-option b { color:var(--navy); font-size:13px; }.calendar-backup-option small { color:var(--muted); font-size:12px; line-height:1.4; }.calendar-backup-note { margin:12px 0 0; color:#69778c; font-size:12px; line-height:1.4; }
.calendar-qr-dialog { width:min(580px,calc(100vw - 32px)); }.calendar-qr-preview { display:grid; min-height:280px; margin-top:18px; padding:16px; place-items:center; background:#f5f7fa; border:1px solid #dce3eb; border-radius:10px; }.calendar-qr-preview svg { display:block; width:min(100%,420px); height:auto; background:#fff; }
.calendar-pdf-dialog { width:min(780px,calc(100vw - 32px)); }.calendar-pdf-preview { display:block; width:100%; height:min(62vh,560px); margin-top:18px; background:#f5f7fa; border:1px solid #dce3eb; border-radius:10px; }.calendar-pdf-preview[hidden],.calendar-pdf-poster-preview[hidden] { display:none; }.calendar-pdf-poster-preview { display:grid; min-height:min(62vh,560px); margin-top:18px; padding:18px; place-items:center; background:#f5f7fa; border:1px solid #dce3eb; border-radius:10px; }.checkin-poster-preview { box-sizing:border-box; display:grid; width:min(100%,430px); min-height:556px; padding:20px 22px 18px; grid-template-rows:auto 1fr auto; color:#172e55; background:#fff; border:1px solid #dce3eb; box-shadow:0 8px 18px rgba(31,52,83,.12); }.checkin-poster-preview header { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:20px; align-items:center; }.checkin-poster-preview.no-logo header { grid-template-columns:1fr; }.checkin-poster-preview-ministry { min-height:58px; padding:14px 17px; overflow-wrap:anywhere; color:#1c3b6b; background:#edf3fa; font-family:var(--font-ui); font-weight:500; line-height:1.1; }.checkin-poster-preview-logo { display:grid; min-height:58px; place-items:center; }.checkin-poster-preview-logo img { display:block; max-width:100%; max-height:50px; object-fit:contain; }.checkin-poster-preview-main { display:grid; gap:20px; align-content:start; justify-items:center; padding:28px 0 25px; text-align:center; }.checkin-poster-preview-main h3 { margin:0; color:#151515; font:500 35px/1.1 var(--font-ui); }.checkin-poster-preview-main svg { display:block; width:min(100%,280px); height:auto; }.checkin-poster-preview footer { display:flex; justify-content:space-between; gap:12px; padding-top:12px; color:#60718a; border-top:1px solid #dce3eb; font-size:8px; line-height:1.35; }.checkin-poster-preview footer span:last-child { text-align:right; }
body.public-checkin-route .sidebar,body.public-checkin-route .topbar,body.public-checkin-route .helper-toggle,body.public-checkin-route .helper-panel,body.public-checkin-route .skip-link,body.public-checkin-route .view:not(#checkin) { display:none !important; }body.public-checkin-route .app-shell { display:block; background:#f7f8fa; }body.public-checkin-route .content { width:min(640px,100%); min-height:100vh; margin:0 auto; padding:32px 20px 44px; }body.public-checkin-route #checkin { display:block; }body.public-checkin-route #checkin .view-heading { margin-bottom:22px; }body.public-checkin-route .checkin-heading-copy { display:flex; flex-direction:column; width:100%; }body.public-checkin-route #checkin-event-lock { order:-1; box-sizing:border-box; width:calc(100% - 56px); margin:0 28px 22px; }body.public-checkin-route #checkin-event-setup { display:none !important; }body.public-checkin-route .checkin-layout { grid-template-columns:1fr; }body.public-checkin-route .checkin-layout > * { max-width:100%; }body.public-checkin-route .phone-card { margin:0; }body.public-checkin-route .hint { display:none; }body.public-checkin-route #public-checkin-unavailable { display:none; }body.public-checkin-unavailable[hidden] { display:none; }body.public-checkin-route.public-checkin-invalid #checkin { display:none; }body.public-checkin-route.public-checkin-invalid #public-checkin-unavailable { display:block; }
@media (max-width:700px) { body.public-checkin-route .content { padding:24px 16px 36px; }body.public-checkin-route #checkin-event-lock { width:calc(100% - 44px); margin:0 22px 22px; }.public-checkin-brand { margin-bottom:22px; }.event-checkin-dialog .dialog-actions { align-items:stretch; flex-direction:column-reverse; }.event-checkin-dialog #ministry-checkin-standard-settings .dialog-actions { flex-direction:column; }.event-checkin-dialog .dialog-actions .button { width:100%; } }

/* The public phone check-in link keeps the active event private on phones. */
@media (max-width:700px) {
  body.public-checkin-route #checkin-event-lock {
    display:none !important;
  }
}

/* Camp registration is a focused, phone-first public form. */
.public-camp-registration { width:min(640px,100%); margin:0 auto; }.public-camp-registration-brand { margin:4px 0 24px; text-align:center; }.public-camp-registration-brand .brand-wordmark { color:#151515; font-size:31px; }.public-camp-registration-brand > p:not(.public-checkin-local-note) { margin:8px 0 0; color:#5a6880; font-size:14px; font-weight:700; }.public-camp-registration-card { padding:28px; background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); }.public-camp-registration-card h1 { margin-bottom:10px; color:var(--navy); font-size:28px; }.public-camp-registration-card > .muted { margin:0 0 19px; font-size:13px; line-height:1.45; }.public-camp-registration-card > .registration-form { display:grid; gap:15px; }.public-camp-registration-card > .registration-form > label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.public-camp-registration-card select { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; outline-color:var(--navy); font-size:14px; font-weight:500; }.public-camp-registration-grid { margin-top:0; }.public-camp-registration-grid > .guardian-fields { margin:0; }.public-camp-registration-success { display:grid; gap:13px; }.public-camp-registration-success h1 { margin:0; }.public-camp-registration-success p { margin:0; }.public-camp-registration-success .privacy-note { margin:0; }body.public-camp-registration-route .sidebar,body.public-camp-registration-route .topbar,body.public-camp-registration-route .helper-toggle,body.public-camp-registration-route .helper-panel,body.public-camp-registration-route .skip-link,body.public-camp-registration-route .view,body.public-camp-registration-route #public-checkin-unavailable { display:none !important; }body.public-camp-registration-route .app-shell { display:block; background:#f7f8fa; }body.public-camp-registration-route .content { width:min(640px,100%); min-height:100vh; margin:0 auto; padding:32px 20px 44px; }body.public-camp-registration-route #public-camp-registration { display:block; }body.public-camp-registration-route.public-camp-registration-invalid #public-camp-registration { display:none; }body.public-camp-registration-route.public-camp-registration-invalid #public-checkin-unavailable { display:block !important; }body.public-camp-registration-route.public-camp-registration-invalid #public-checkin-unavailable .eyebrow { font-size:10px; }@media (max-width:700px) { body.public-camp-registration-route .content { padding:24px 16px 36px; }.public-camp-registration-card { padding:22px; }.public-camp-registration-brand { margin-bottom:20px; } }

/* First-time ministries begin with a clean, guided workspace. */
.first-time-setup-dialog { width:min(700px,calc(100vw - 32px)); max-height:min(86vh,760px); padding:0; overflow:auto; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 28px 70px rgba(23,46,85,.3); }.first-time-setup-dialog::backdrop { background:rgba(13,28,52,.58); }.first-time-setup-form { padding:clamp(24px,5vw,42px); }.first-time-setup-form .eyebrow { margin:0 0 8px; }.first-time-setup-form h1 { max-width:500px; margin:0; color:var(--navy); font:800 clamp(28px,4vw,39px) var(--font-display); letter-spacing:-.035em; }.first-time-setup-form > p { max-width:590px; margin:11px 0 24px; color:var(--muted); font-size:15px; line-height:1.55; }.first-time-setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.first-time-setup-grid > label,.first-time-grade-range label { display:grid; gap:6px; color:#4f5e76; font-size:12px; font-weight:800; }.first-time-setup-grid label > span,.first-time-grade-range legend > span { color:#77869a; font-weight:500; }.first-time-setup-grid input,.first-time-grade-range select { width:100%; min-height:42px; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:8px; font:500 14px var(--font-ui); }.first-time-setup-grid .wide { grid-column:1/-1; }.first-time-grade-range { margin:0; padding:14px; border:1px solid #dbe3ec; border-radius:10px; }.first-time-grade-range legend { padding:0 5px; color:#4f5e76; font-size:12px; font-weight:800; }.first-time-grade-range > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.first-time-setup-note { margin:18px 0; padding:13px 14px; color:#64542c; background:#fff8e8; border:1px solid #f1dda6; border-radius:9px; font-size:12px; line-height:1.5; }.first-time-setup-form > .button { min-width:225px; min-height:44px; margin:0; }@media (max-width:600px) { .first-time-setup-form { padding:25px 21px; }.first-time-setup-grid,.first-time-grade-range > div { grid-template-columns:1fr; }.first-time-setup-form > .button { width:100%; } }

/* Account access for the public beta. */
body.account-pending .app-shell,body.account-pending .helper-toggle,body.account-pending .helper-panel,body.account-pending .skip-link { visibility:hidden; }.account-dialog { width:min(470px,calc(100vw - 32px)); padding:0; color:var(--ink); background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 28px 70px rgba(23,46,85,.3); }.account-dialog::backdrop { background:var(--cream); }.account-dialog-card { padding:clamp(24px,5vw,38px); }.account-dialog-card .eyebrow { margin:0 0 8px; }.account-dialog-card h1 { margin:0; color:var(--navy); font:800 clamp(28px,5vw,38px) var(--font-display); letter-spacing:-.035em; }.account-dialog-intro { margin:10px 0 21px; color:var(--muted); font-size:14px; line-height:1.5; }.account-mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:0 0 16px; padding:4px; background:#edf1f6; border-radius:9px; }.account-mode-button { min-height:37px; color:#536276; background:transparent; border:0; border-radius:6px; font:750 12px var(--font-ui); cursor:pointer; }.account-mode-button.active { color:var(--navy); background:#fff; box-shadow:0 1px 3px rgba(23,46,85,.12); }.account-form { display:grid; gap:12px; }.account-form > label { display:grid; gap:6px; color:#4f5e76; font-size:12px; font-weight:800; }.account-form input { width:100%; min-height:42px; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:8px; font:500 14px var(--font-ui); }.account-form small { color:#77869a; font-size:11px; font-weight:500; }.account-form .button { width:100%; min-height:43px; margin:4px 0 0; }.account-recovery-link,.account-back-to-sign-in { justify-self:start; margin:-2px 0 0; padding:0; }.account-auth-status { min-height:18px; margin:14px 0 0; color:#496173; font-size:12px; line-height:1.4; }.account-auth-status.is-error { color:#9b3c49; }.account-privacy-note { margin:16px 0 0; padding-top:13px; color:#6c7786; border-top:1px solid #e0e6ec; font-size:11px; line-height:1.45; }.account-sign-out { display:block; margin:7px 0 0; padding:0; color:#cbd9ec; font-size:11px; }@media (max-width:600px) { .account-dialog-card { padding:27px 22px; } }
.account-confirmation { display:grid; gap:13px; }.account-confirmation[hidden] { display:none; }.account-confirmation h2 { margin:0; color:var(--navy); font:800 24px var(--font-display); letter-spacing:-.025em; outline:none; }.account-confirmation p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }.account-confirmation-note { padding:11px 12px; color:#496173; background:#f4f8fc; border:1px solid #d5e1ec; border-radius:8px; font-size:12px; line-height:1.4; }.account-resend-confirmation { justify-self:start; margin:-2px 0 0; padding:0; }.account-confirmation .button { width:100%; min-height:43px; margin:3px 0 0; }
.brand-wordmark {
  color: var(--navy) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 650;
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Installable app controls and an accessible phone navigation layer. */
.install-welcome-steps { display:grid; gap:9px; margin:18px 0; padding-left:22px; color:#4e5e78; font-size:14px; line-height:1.45; }.install-welcome-browser-steps { margin:18px 0; padding:12px; color:#4e5e78; background:#f4f8fc; border:1px solid #d5e1ec; border-radius:8px; font-size:13px; line-height:1.45; }.mobile-menu-backdrop { display:none; }
@media (max-width:700px) { body.mobile-menu-open { overflow:hidden; }.mobile-menu-backdrop:not([hidden]) { position:fixed; z-index:9; display:block; inset:0; width:100%; height:100%; padding:0; background:rgba(15,29,51,.38); border:0; } }

/* Phone navigation keeps the most-used ministry tools within easy reach. */
.mobile-bottom-nav { display:none; }
@media (max-width:700px) { body.account-pending .mobile-bottom-nav { visibility:hidden; }#mobile-menu { display:none; }.mobile-bottom-nav { position:fixed; z-index:8; right:10px; bottom:max(10px,env(safe-area-inset-bottom)); left:10px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; padding:5px; background:rgba(255,255,255,.97); border:1px solid #d5dee9; border-radius:16px; box-shadow:0 10px 28px rgba(23,46,85,.18); }.mobile-nav-link { display:grid; min-height:52px; padding:5px 2px; place-items:center; color:#627289; background:transparent; border:0; border-radius:11px; font-family:var(--font-ui); }.mobile-nav-link span { display:block; height:19px; font-size:19px; line-height:1; }.mobile-nav-link small { display:block; margin-top:3px; font-size:9px; font-weight:750; line-height:1; }.mobile-nav-link.active { color:#fff; background:var(--navy); }.content { padding-bottom:calc(122px + env(safe-area-inset-bottom)); }.helper-toggle { right:12px; bottom:calc(84px + env(safe-area-inset-bottom)); }.helper-panel { right:12px; bottom:calc(144px + env(safe-area-inset-bottom)); max-height:calc(100vh - 170px); }body.public-checkin-route .mobile-bottom-nav,body.public-camp-registration-route .mobile-bottom-nav { display:none !important; }body.public-checkin-route .content,body.public-camp-registration-route .content { padding-bottom:36px; } }

/* Responsive guardrails keep every workspace view within phone and tablet screens. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

@media (max-width: 760px) {
  .content,
  .view,
  .panel,
  .phone-card,
  .registration-card,
  .returning-card,
  .new-person-card,
  .message-preview-card,
  .calendar-list,
  .account-dialog-card,
  .edit-event-form {
    min-width: 0;
  }

  .content * {
    min-width: 0;
  }

  .content {
    padding-right: 14px;
    padding-left: 14px;
  }

  .topbar,
  .topbar-actions,
  .panel-title-row,
  .calendar-banner,
  .event-card-bottom,
  .reminder-preview,
  .promotion-review-panel-heading,
  .promotion-review-summary,
  .quick-add-preview-heading,
  .people-import-preview-heading,
  .family-member-suggestions-heading,
  .settings-actions,
  .backup-actions,
  .dialog-actions {
    flex-wrap: wrap;
  }

  .panel-title-row,
  .calendar-banner,
  .promotion-review-panel-heading,
  .promotion-review-summary,
  .settings-actions,
  .backup-actions,
  .dialog-actions {
    align-items: stretch;
  }

  .channel-options,
  .calendar-view-toggle,
  .message-send-actions,
  .message-schedule-options,
  .copy-option-list,
  .people-import-mapping {
    max-width: 100%;
  }

  .channel-options,
  .calendar-view-toggle {
    flex-wrap: wrap;
  }

  .message-send-actions,
  .message-schedule-options,
  .copy-option-list,
  .people-import-mapping {
    grid-template-columns: 1fr;
  }

  .message-send-actions .button,
  .dialog-actions .button,
  .settings-actions .button,
  .backup-actions .button {
    width: 100%;
    margin: 0;
  }

  .event-card-bottom,
  .reminder-preview,
  .quick-add-preview-heading,
  .people-import-preview-heading,
  .family-member-suggestions-heading {
    align-items: flex-start;
  }

  .event-card-bottom,
  .reminder-preview {
    flex-direction: column;
  }

  .calendar-list-row,
  .scheduled-send-row,
  .person-attendance-row,
  .quick-add-preview-list li,
  .bulk-event-rename-preview-list li {
    overflow-wrap: anywhere;
  }

  .calendar-list-actions,
  .scheduled-send-actions {
    max-width: 100%;
  }

  .calendar-list-actions .button,
  .scheduled-send-actions .button {
    white-space:normal;
  }

  .edit-event-dialog,
  .people-import-dialog,
  .calendar-event-helper-dialog,
  .calendar-pdf-dialog,
  .calendar-qr-dialog,
  .account-dialog,
  .first-time-setup-dialog {
    max-width: calc(100vw - 24px);
  }
}

@media (max-width: 480px) {
  .topbar {
    align-items: flex-start;
    min-height: 0;
  }

  .topbar-actions {
    gap: 8px;
  }

  .topbar-actions .button {
    min-height: 36px;
    white-space: normal;
  }

  .panel,
  .phone-card,
  .registration-card,
  .returning-card,
  .new-person-card,
  .message-preview-card {
    padding: 16px;
  }

  .calendar-list-row {
    padding-right: 13px;
    padding-left: 13px;
  }
}

/* Keep every next-event action button equally prominent and easy to tap. */
.camp-registration-fields { margin:4px 0 0; padding:14px; border:1px solid #d7e0e9; border-radius:9px; background:#f8fafc; }
.camp-registration-fields[hidden] { display:none !important; }
.camp-registration-fields legend { padding:0 4px; color:var(--navy); font-size:13px; font-weight:800; }
.camp-registration-fields > p { margin:0 0 10px; color:var(--muted); font-size:12px; }
.camp-registration-options { display:grid; gap:7px; }
.camp-registration-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; padding:9px 10px; color:var(--ink); background:#fff; border:1px solid #dce4ec; border-radius:7px; }
.camp-registration-option b,.camp-registration-option small { display:block; }
.camp-registration-option b { font-size:12px; }
.camp-registration-option small { margin-top:2px; color:var(--muted); font-size:11px; line-height:1.35; }
.camp-registration-option em { color:#4d6d88; font-size:10px; font-style:normal; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.camp-registration-empty { margin:0; color:var(--muted); font-size:12px; }
.camp-registration-roster { display:grid; gap:11px; padding:13px 17px 15px 96px; background:#fffdf6; border-top:1px solid #ead8a2; }
.camp-registration-roster header { display:flex; align-items:center; gap:8px; color:#76591c; font-size:10px; font-weight:850; letter-spacing:.08em; }
.camp-registration-roster header strong { display:grid; width:23px; height:23px; place-items:center; color:#76591c; background:#fff0bf; border-radius:50%; font-size:11px; letter-spacing:0; }
.camp-registration-roster > p { margin:0; color:#8f7435; font-size:12px; }
.camp-registration-roster-group { display:grid; gap:5px; }
.camp-registration-roster-group > b { color:#76591c; font-size:11px; }
.camp-registration-roster-group > b span { color:#9b7b36; font-size:10px; }
.camp-registration-roster-group > div { display:flex; flex-wrap:wrap; gap:6px; }
.camp-registration-roster-group article { display:flex; gap:5px; align-items:baseline; padding:5px 7px; background:#fff; border:1px solid #eee2bd; border-radius:5px; }
.camp-registration-roster-group article span { color:#334d67; font-size:11px; font-weight:750; }
.camp-registration-roster-group article small { color:#718096; font-size:10px; }
@media (max-width:700px) { .camp-registration-option { grid-template-columns:18px minmax(0,1fr); }.camp-registration-option em { grid-column:2; }.camp-registration-roster { padding:12px 13px; }.camp-registration-roster-group > div { display:grid; }.camp-registration-roster-group article { display:grid; gap:1px; } }
.featured-event-grid .hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: 360px;
  gap: 8px;
}

.featured-event-grid .hero-actions .button {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}

.featured-event-grid .hero-actions .button:only-child {
  grid-column: 1 / -1;
}

/* Override older per-card styling so every overview action uses the same type size. */
.featured-event-grid > .hero-card:not(.leader-event-card) .hero-actions .button,
.featured-event-grid > .hero-card.leader-event-card .hero-actions .button {
  font-size: 13px;
}

/* Address search keeps the API key on the server and gives people a simple picker. */
.address-autocomplete-field {
  position: relative;
}

.address-autocomplete-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  max-height: 252px;
  overflow-y: auto;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 39, 68, .18);
}

.address-autocomplete-option {
  display: grid;
  width: 100%;
  gap: 2px;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #e7edf5;
  background: #fff;
  color: #18324f;
  font: inherit;
  font-size: 13px;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}

.address-autocomplete-option strong {
  font-weight: 650;
}

.address-autocomplete-option span,
.address-autocomplete-credit {
  color: #64748b;
  font-size: 11px;
}

.address-autocomplete-option:hover,
.address-autocomplete-option:focus-visible,
.address-autocomplete-option[aria-selected="true"] {
  background: #e8f3ff;
  outline: 0;
}

.address-autocomplete-credit {
  padding: 7px 12px;
  background: #f8fafc;
}

/* Collapsible scheduled message history keeps the send screen compact. */
.scheduled-sends-accordion { padding:0; overflow:hidden; }
.scheduled-sends-accordion > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 18px; color:var(--navy); cursor:pointer; font-size:14px; font-weight:800; list-style:none; }
.scheduled-sends-accordion > summary::-webkit-details-marker { display:none; }
.scheduled-sends-accordion > summary::after { content:"+"; color:#497897; font-size:22px; font-weight:400; }
.scheduled-sends-accordion > summary strong { display:grid; width:27px; height:27px; margin-left:auto; place-items:center; color:#294e6b; background:#dcecf5; border-radius:50%; font-size:11px; }
.scheduled-sends-accordion[open] > summary { border-bottom:1px solid var(--border); }
.scheduled-sends-accordion[open] > summary::after { content:"−"; }
.scheduled-sends-accordion > .scheduled-send-list { margin:0; padding:0 18px 4px; }
@media (max-width:700px) { .scheduled-sends-accordion > summary { padding:14px; }.scheduled-sends-accordion > .scheduled-send-list { padding:0 14px 4px; } }

/* A compact, searchable-looking archive of message activity. */
.completed-messages-archive { margin-top:22px; overflow:hidden; background:#f8fbfd; border:1px solid #cbdde8; border-radius:12px; }
.completed-messages-archive > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; color:#294e6b; cursor:pointer; font-size:14px; font-weight:800; list-style:none; }
.completed-messages-archive > summary::-webkit-details-marker { display:none; }
.completed-messages-archive > summary::after { margin-left:2px; content:"+"; color:#497897; font-size:22px; font-weight:400; }
.completed-messages-archive[open] > summary { border-bottom:1px solid #cbdde8; }
.completed-messages-archive[open] > summary::after { content:"−"; }
.completed-messages-archive > summary strong { display:grid; width:27px; height:27px; margin-left:auto; place-items:center; color:#294e6b; background:#dcecf5; border-radius:50%; font-size:11px; }
.completed-messages-note { margin:0; padding:13px 17px 0; color:#62738a; font-size:12px; line-height:1.45; }
.completed-message-list { display:grid; gap:0; padding:0 17px 4px; }
.completed-message-empty { margin:0; padding:15px 0; color:var(--muted); text-align:center; font-size:12px; }
.completed-message-row { grid-template-columns:minmax(132px,.75fr) minmax(0,1.6fr) auto; }
.completed-message-status { align-self:center; padding:4px 7px; color:#2e6b59; background:#e2f1eb; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:700px) { .completed-messages-archive > summary { padding:13px 14px; }.completed-messages-note { padding:12px 14px 0; }.completed-message-list { padding:0 14px 4px; }.completed-message-row { grid-template-columns:1fr; }.completed-message-status { justify-self:start; } }

/* Give the text preview the portrait proportions of a real phone. */
.message-preview-phone { min-height:460px; }
.message-phone-frame { min-height:428px; }
@media (max-width:700px) { .message-preview-phone { min-height:425px; }.message-phone-frame { min-height:395px; } }

/* Guided SMS sender setup. The final provider connection stays outside the form. */
.ministry-connected-account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:13px; }
.sms-number-setup { padding:14px; background:#fff; border:1px solid #d7e2ec; border-radius:9px; }
.sms-number-setup-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.sms-number-setup-heading h3 { margin:0; color:#243e5d; font-size:14px; }
.sms-number-setup-heading p { max-width:530px; margin:4px 0 0; color:#596a80; font-size:12px; line-height:1.4; }
.sms-number-setup-status { flex:0 0 auto; padding:5px 8px; color:#5c697d; background:#eef2f6; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.sms-number-setup-status.is-pending { color:#7b5d1d; background:#fff0bf; }
.sms-number-setup-status.is-connected { color:#256653; background:#e2f1eb; }
.sms-number-setup-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.sms-number-setup-actions .button { min-height:36px; margin:0; font-size:12px; }
.sms-sender-field { display:grid; gap:5px; max-width:310px; margin-top:13px; color:#4f5e76; font-size:12px; font-weight:700; }
.sms-sender-field input { width:100%; padding:9px; color:#536177; background:#f4f6f9; border:1px solid #d5dee8; border-radius:7px; font:500 14px var(--font-ui); }
.sms-sender-field small { color:#637188; font-size:10px; font-weight:650; line-height:1.3; }
.sms-setup-choice-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:16px 0; padding:0; border:0; }
.sms-setup-choice-options legend { grid-column:1 / -1; margin:0 0 1px; padding:0; color:#4f5e76; font-size:12px; font-weight:800; }
.sms-setup-choice-options label { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:start; padding:11px; color:var(--ink); background:#f7f9fb; border:1px solid #d7e2ec; border-radius:8px; cursor:pointer; }
.sms-setup-choice-options input { width:auto; margin:3px 0 0; accent-color:var(--navy); }
.sms-setup-choice-options b,.sms-setup-choice-options small { display:block; }
.sms-setup-choice-options b { font-size:12px; }
.sms-setup-choice-options small { margin-top:3px; color:#637188; font-size:11px; font-weight:600; line-height:1.35; }
.sms-setup-fields { padding:12px; background:#f8fafc; border:1px solid #dce5ed; border-radius:8px; }
.sms-setup-fields[hidden] { display:none; }
.sms-setup-fields label { display:grid; gap:5px; max-width:260px; color:#4f5e76; font-size:12px; font-weight:750; }
.sms-setup-fields input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px var(--font-ui); }
.sms-setup-fields p { margin:8px 0 0; font-size:12px; line-height:1.4; }
@media (max-width:700px) { .ministry-connected-account-grid,.sms-setup-choice-options { grid-template-columns:1fr; }.sms-number-setup-heading { display:grid; }.sms-number-setup-status { justify-self:start; }.sms-number-setup-actions .button { width:100%; } }

/* National-holiday notes are a distinct planning signal in date suggestions. */
.school-calendar-helper-suggestions li.is-national-holiday { border-color:#e0b861; background:#fff8e6; }

/* Keep page headers compact without crowding their content. */
.topbar {
  min-height:0;
}

@media (min-width:701px) {
  .topbar { display:none; }
  .content { padding-top:18px; }
}

.sidebar-footer .helper-toggle {
  position:static;
  z-index:auto;
  width:100%;
  min-height:39px;
  margin:0 0 14px;
  padding:7px 10px;
  color:var(--navy);
  background:#edf3f9;
  border:1px solid #d7e0eb;
  border-radius:8px;
  box-shadow:none;
  font-size:13px;
}

.sidebar-footer .helper-toggle span {
  width:21px;
  height:21px;
  color:var(--navy);
  background:#dceaf5;
  font-size:13px;
}

.sidebar-footer .helper-toggle:hover {
  background:#e3edf7;
}

.mobile-ministry-switcher {
  display:none;
}

@media (max-width:700px) {
  .topbar {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    min-height:0;
    padding:6px 0 10px;
  }

  .content { padding-top:8px; }

  .topbar-actions {
    display:none;
  }

  .mobile-ministry-switcher {
    display:grid;
    gap:4px;
    padding:9px 10px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
  }

  .mobile-ministry-switcher label {
    color:#5d6b80;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-ministry-switcher select {
    width:100%;
    min-height:38px;
    padding:7px 30px 7px 9px;
    color:var(--navy);
    background:#f5f8fc;
    border:1px solid #d7e1ec;
    border-radius:6px;
    font:700 14px var(--font-ui);
  }
}

/* Final phone safeguards: typing should never zoom the page, and long forms stay usable. */
@media (max-width:700px) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    font-size:16px;
  }

  dialog[open] {
    max-height:calc(100dvh - 24px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .content {
    padding-bottom:calc(122px + env(safe-area-inset-bottom));
  }

  body.public-checkin-route .content,
  body.public-camp-registration-route .content {
    padding-bottom:36px;
  }

  .helper-toggle {
    bottom:calc(84px + env(safe-area-inset-bottom));
  }

  .helper-panel {
    bottom:calc(144px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - 170px);
  }
}

/* Keep overview card images alongside their event details on phones. */
@media (max-width:700px) {
  .featured-event-grid .hero-card.has-event-image {
    display:grid;
    grid-template-columns:minmax(0,1fr) 112px;
    column-gap:14px;
    align-items:start;
  }

  .featured-event-grid .hero-card.has-event-image .hero-event-label,
  .featured-event-grid .hero-card.has-event-image > div:nth-of-type(2) {
    grid-column:1;
    min-width:0;
  }

  .featured-event-grid .hero-card.has-event-image .hero-event-image {
    grid-column:2;
    grid-row:1 / span 2;
    width:112px;
    height:112px;
    margin:0;
    align-self:start;
    object-fit:cover;
  }

.featured-event-grid .hero-card .hero-actions {
    grid-column:1 / -1;
    margin-top:29px;
  }
}

/* The reusable ministry check-in tools stay aligned with event setup. */
.checkin-ministry-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
}

.checkin-ministry-share {
  min-height:35px;
  white-space:nowrap;
}

#open-checkin-raffle {
  margin-left:auto;
  margin-right:calc((100% - 22px) * .6 + 22px);
}

@media (max-width:960px) {
  #open-checkin-raffle { margin-right:0; }
}

@media (max-width:700px) {
  .checkin-ministry-actions {
    align-items:stretch;
    flex-direction:column;
  }

  .checkin-ministry-share {
    width:100%;
  }

  #open-checkin-raffle { margin:0; }
}

body.public-checkin-route #open-ministry-checkin-link,
body.public-checkin-route #open-checkin-raffle {
  display:none !important;
}

body.public-checkin-route .checkin-ministry-actions {
  display:none;
}

body.public-checkin-route #checkin-event-selector {
  display:none;
}

.checkin-raffle-dialog { width:min(520px,calc(100vw - 32px)); }
.checkin-raffle-sample { margin:-5px 0 12px; color:#53647b; font-size:13px; line-height:1.45; }
.checkin-raffle-sample .text-button { padding:0; color:inherit; background:none; border:0; font:inherit; text-decoration:underline; text-underline-offset:2px; }
.checkin-raffle-status { min-height:20px; margin:0; color:#53647b; font-size:13px; line-height:1.45; }
.checkin-raffle-winner { display:grid; gap:4px; margin-top:17px; padding:18px; color:var(--navy); background:#edf3fb; border:1px solid #c9d9e9; border-radius:10px; text-align:center; }
.checkin-raffle-winner[hidden] { display:none; }
.checkin-raffle-winner .eyebrow { margin:0; }
.checkin-raffle-winner strong { font:800 26px/1.15 var(--font-ui); }
#draw-checkin-raffle:disabled { cursor:not-allowed; opacity:.52; }

.message-compose-column { display:grid; min-width:0; gap:16px; }
.first-time-message-card { padding:0; }
.first-time-message-accordion { margin:0; overflow:hidden; background:#fff; border:0; border-radius:13px; }
.first-time-message-accordion > summary { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:0 23px; color:var(--navy); cursor:pointer; font-size:13px; font-weight:800; list-style:none; }
.first-time-message-accordion > summary::-webkit-details-marker { display:none; }
.first-time-message-accordion > summary::after { content:"+"; font-size:19px; font-weight:500; }
.first-time-message-accordion[open] > summary { border-bottom:1px solid #dbe3eb; }
.first-time-message-accordion[open] > summary::after { content:"−"; }
.first-time-message-form { padding:16px 23px 23px; }
.first-time-message-form > .muted { margin:0 0 14px; }
.first-time-message-form > label { display:grid; gap:6px; color:#4f5e76; font-size:12px; font-weight:700; }
.first-time-message-autosend { display:flex !important; grid-template-columns:auto 1fr; align-items:flex-start; gap:9px; margin:0 0 18px !important; padding:11px 12px; color:#40516a !important; background:#f4f7fb; border:1px solid #dce4ee; border-radius:8px; cursor:pointer; line-height:1.35; }
.first-time-message-autosend input { width:auto !important; margin:3px 0 0; accent-color:var(--navy); }
.first-time-message-autosend span { display:grid; gap:2px; }
.first-time-message-autosend strong { color:#40516a; font-size:12px; }
.first-time-message-autosend small { color:var(--muted); font-size:11px; font-weight:500; }
.first-time-message-channel-options { display:flex; flex-wrap:wrap; gap:8px 14px; margin:0 0 18px; padding:0; border:0; }
.first-time-message-channel-options legend { width:100%; margin-bottom:1px; padding:0; color:#4f5e76; font-size:12px; font-weight:700; }
.first-time-message-channel-options label { display:flex !important; align-items:center; gap:6px; margin:0 !important; color:#40516a !important; font-size:12px; font-weight:700; cursor:pointer; }
.first-time-message-channel-options input { width:auto !important; margin:0; accent-color:var(--navy); }
.first-time-message-email-subject { margin:0 0 16px; }
.first-time-message-email-subject label { display:grid; gap:6px; margin:0 !important; color:#4f5e76; font-size:12px; font-weight:700; }
.first-time-message-email-subject input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }
.first-time-message-actions { margin-top:20px; }
.first-time-message-form textarea { width:100%; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px/1.45 var(--font-ui); resize:vertical; }
.first-time-message-attachment { margin:22px 0 16px; padding-top:12px; border-top:1px solid #e1e6ec; }
.first-time-message-attachment .message-attachment-label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }
.first-time-message-note { margin:14px 0 0; padding:11px 12px; color:#4e5e78; background:#edf2f8; border-radius:8px; font-size:12px; line-height:1.45; }

/* When a parent phone finds linked students, make the students the clear check-in choice. */
.returning-person.featured-student {
  margin:12px 0;
  padding:16px;
  background:#edf3f9;
  border:1px solid #cbd9e9;
  border-radius:10px;
}

.returning-person.featured-student .person-detail b {
  color:var(--navy);
  font-size:17px;
}

.checkin-person-kicker {
  margin-bottom:2px;
  color:#5c7392 !important;
  font-size:10px !important;
  font-weight:850;
  letter-spacing:.08em;
}

.returning-person.parent-phone-match {
  opacity:.56;
}

.returning-person.parent-phone-match .button-primary {
  color:#66758a;
  background:#dbe2eb;
}

.returning-person.parent-phone-match .button-primary:hover {
  background:#dbe2eb;
}

/* Keep the reusable check-in tool beside the events it supports. */
.created-calendar-events-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.created-calendar-events-heading > div {
  min-width:0;
}

.created-calendar-events-heading .calendar-events-label {
  margin-top:20px;
}

.created-calendar-events-heading .calendar-events-subheader {
  margin-bottom:16px;
}

.created-calendar-checkin-qr {
  flex:0 0 auto;
  min-height:58px;
  margin-top:20px;
  padding:12px 14px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@media (max-width:700px) {
  .created-calendar-events-heading {
    flex-direction:column;
    gap:0;
  }

  .created-calendar-checkin-qr {
    width:100%;
    margin-top:0;
  }
}

/* Inbox keeps message history and replies together without implying live delivery. */
.inbox-connection-note { margin:0 0 18px; padding:13px 15px; color:#4d5e76; background:#edf2f8; border:1px solid #d7e0ec; border-radius:10px; font-size:13px; line-height:1.45; }
.inbox-layout { display:grid; grid-template-columns:minmax(275px,.78fr) minmax(0,1.22fr); align-items:start; gap:20px; }
.inbox-thread-panel,.inbox-conversation-panel { min-height:500px; }
.inbox-thread-heading,.inbox-conversation-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.inbox-thread-heading { padding-bottom:15px; border-bottom:1px solid var(--border); }
.inbox-thread-heading h3,.inbox-conversation-heading h3 { margin:0; color:var(--navy); }
.inbox-thread-heading .muted { margin:3px 0 0; font-size:12px; }
.inbox-thread-heading .button { flex:0 0 auto; min-height:35px; padding:7px 10px; font-size:12px; white-space:nowrap; }
.inbox-filter-row { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.inbox-filter { padding:6px 9px; color:#566781; background:#fff; border:1px solid #d5dde7; border-radius:999px; font:750 11px var(--font-ui); cursor:pointer; }
.inbox-filter.active { color:#fff; background:var(--navy); border-color:var(--navy); }
.inbox-thread-list { display:grid; gap:7px; }
.inbox-thread { display:grid; gap:6px; width:100%; padding:12px; color:var(--ink); background:#fff; border:1px solid #e0e6ed; border-radius:9px; text-align:left; cursor:pointer; }
.inbox-thread:hover { border-color:#bbcadd; background:#f7f9fc; }
.inbox-thread.active { border-color:#a8bfd8; background:#edf3f9; box-shadow:inset 3px 0 0 var(--navy); }
.inbox-thread-topline { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.inbox-thread-topline b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.inbox-thread-topline small { flex:0 0 auto; color:#728198; font-size:10px; }
.inbox-thread-meta { display:flex; align-items:center; gap:6px; }
.inbox-channel-pill,.inbox-resolved-pill { display:inline-flex; width:max-content; padding:3px 6px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.inbox-channel-pill.text { color:#295f78; background:#e1f0f6; }
.inbox-channel-pill.email { color:#6b4b8f; background:#eee7f6; }
.inbox-channel-pill.instagram { color:#8a4a58; background:#f8e7eb; }
.inbox-resolved-pill { color:#5b697d; background:#edf0f4; }
.inbox-thread-preview { display:-webkit-box; overflow:hidden; color:#65758a; font-size:11px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.inbox-thread-empty { padding:25px 8px; color:#768499; font-size:13px; text-align:center; }
.inbox-empty-state { display:grid; align-content:center; min-height:440px; max-width:390px; margin:0 auto; text-align:center; }
.inbox-empty-state h3,.inbox-new-conversation-form h3 { margin:0 0 7px; color:var(--navy); }
.inbox-empty-state p:not(.eyebrow),.inbox-new-conversation-form .muted { margin:0 0 20px; color:var(--muted); font-size:13px; line-height:1.5; }
.inbox-empty-state .button { justify-self:center; }
.inbox-conversation-heading { padding-bottom:16px; border-bottom:1px solid var(--border); }
.inbox-conversation-heading .eyebrow { margin:0 0 4px; }
.inbox-conversation-heading p:not(.eyebrow) { margin:3px 0 0; color:#65758a; font-size:12px; }
.inbox-conversation-heading .button { flex:0 0 auto; min-height:35px; padding:7px 10px; font-size:12px; }
.inbox-message-thread { display:grid; gap:10px; min-height:230px; max-height:420px; margin:18px 0; overflow:auto; padding:2px 2px 8px; align-content:start; }
.inbox-message { max-width:min(85%,460px); padding:10px 12px; border-radius:13px; }
.inbox-message.incoming { justify-self:start; background:#e8edf2; border-bottom-left-radius:4px; }
.inbox-message.outgoing { justify-self:end; color:#fff; background:var(--navy); border-bottom-right-radius:4px; }
.inbox-message p { margin:0; white-space:pre-wrap; word-break:break-word; font-size:13px; line-height:1.42; }
.inbox-message small { display:block; margin-top:5px; color:#6b7b8f; font-size:10px; }
.inbox-message.outgoing small { color:#d8e3f1; }
.inbox-no-messages { align-self:center; margin:auto; color:#7b899c; font-size:13px; text-align:center; }
.inbox-reply-form,.inbox-new-conversation-form { display:grid; gap:12px; }
.inbox-reply-form label,.inbox-new-conversation-form > label { display:grid; gap:6px; color:#4f5e76; font-size:12px; font-weight:700; }
.inbox-reply-form textarea,.inbox-new-conversation-form select { width:100%; padding:10px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 14px/1.45 var(--font-ui); }
.inbox-reply-form textarea { resize:vertical; }
.inbox-form-note { margin:0; color:#6d7b8d; font-size:11px; line-height:1.45; }
.inbox-reply-actions { display:flex; justify-content:flex-end; }
.inbox-channel-options { display:flex; flex-wrap:wrap; gap:10px 16px; margin:2px 0 0; padding:0; border:0; }
.inbox-channel-options legend { width:100%; margin-bottom:1px; color:#4f5e76; font-size:12px; font-weight:700; }
.inbox-channel-options label { display:flex; align-items:center; gap:6px; color:#40516a; font-size:12px; font-weight:700; }
.inbox-channel-options input { width:auto; margin:0; accent-color:var(--navy); }
@media (max-width:960px) { .inbox-layout { grid-template-columns:1fr; }.inbox-thread-panel,.inbox-conversation-panel { min-height:0; }.inbox-message-thread { max-height:350px; } }
@media (max-width:700px) { .inbox-thread-heading { align-items:center; }.inbox-thread-heading .button { padding:7px 9px; }.inbox-conversation-heading { align-items:stretch; flex-direction:column; }.inbox-conversation-heading .button { align-self:flex-start; }.inbox-message-thread { min-height:190px; max-height:310px; }.inbox-message { max-width:92%; }.inbox-reply-actions .button { width:100%; } }

/* Keep Ministry Settings as one clear workspace instead of a stack of repeated cards. */
.ministry-settings-workspace { padding:0; overflow:hidden; }
.view#settings .button { min-height:39px; padding:8px 11px; font-size:12px; }
.view#settings .ministry-setup-wizard-steps button,.view#settings .ministry-setup-wizard-steps button > span,.view#settings .ministry-setup-wizard-steps button b { font-size:12px; }
.view#settings .ministry-setup-wizard-steps { gap:10px; }
.view#settings .ministry-setup-wizard-steps button { min-height:58px; gap:10px; padding:12px 14px; border-color:#c9d7e5; border-radius:9px; font-size:14px; box-shadow:0 2px 7px rgba(35,63,99,.06); }
.view#settings .ministry-setup-wizard-steps button > span { display:grid; width:27px; height:27px; flex:0 0 27px; padding:0; place-items:center; color:#3f5876; background:#e5edf5; border-radius:50%; font-size:13px; font-weight:850; }
.view#settings .ministry-setup-wizard-steps button b { font-size:14px; letter-spacing:.04em; text-transform:uppercase; }
.view#settings .ministry-setup-wizard-steps button.is-current > span { color:#fff; background:#315f92; }
.view#settings .ministry-setup-wizard-steps button.is-complete > span { color:#fff; background:#368064; }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button { color:#294766; background:#fff; border-color:#bdcede; box-shadow:0 2px 8px rgba(35,63,99,.07); }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button > span { color:#315f92; background:#e6eef7; }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button b { color:#294766; }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button:hover { color:#173b68; background:#f4f8fc; border-color:#8eaccb; }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button.is-current { color:#173b68; background:#e9f2fb; border-color:#7396bb; box-shadow:0 0 0 1px #7396bb inset; }
.view#settings .ministry-setup-wizard-steps.is-settings-selector button.is-current > span { color:#fff; background:#315f92; }
.ministry-settings-layout[hidden] { display:none !important; }
.ministry-settings-workspace > .ministry-setup-wizard-navigation { margin:0; padding:0 22px 22px; border-top:1px solid var(--border); }
.ministry-settings-workspace > .ministry-setup-wizard-navigation[hidden] { display:none !important; }
.ministry-setup-guide { margin:0; padding:22px; border-bottom:1px solid var(--border); }
.ministry-setup-guide-heading { gap:14px; }
.ministry-setup-guide-heading-actions { justify-content:flex-start; }
.ministry-setup-detail-panel { margin:0; padding:0 22px; }
.ministry-setup-detail-panel[hidden] { display:none !important; }
.ministry-setup-detail-card { padding:22px 0; border-bottom:1px solid var(--border); }
.ministry-settings-layout { margin:0; padding:22px; }
.ministry-details-content { min-width:0; }
.ministry-profile-preview { min-height:0; padding-left:22px; border-left:1px solid var(--border); }
.ministry-profile-preview.has-logo { padding-left:22px; }
.ministry-settings-workspace .workspace-organization-choice { margin:0; }
@media (max-width:960px) { .ministry-profile-preview { padding:20px 0 0; border-top:1px solid var(--border); border-left:0; }.ministry-profile-preview.has-logo { padding-left:0; } }
@media (max-width:700px) { .ministry-setup-guide { padding:18px; }.ministry-setup-detail-panel { padding:0 18px; }.ministry-setup-detail-card { padding:18px 0; }.ministry-settings-layout { padding:18px; }.ministry-settings-workspace > .ministry-setup-wizard-navigation { padding:0 18px 18px; }.ministry-setup-guide-heading-actions { width:100%; }.ministry-setup-add-ministry { width:100%; } }

/* Let people choose a Google import from the same starting point as a file import. */
.import-google-calendar-option { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:18px 0; padding:13px 14px; border:1px solid #cfdae6; border-radius:10px; background:#f5f8fb; }.import-google-calendar-option strong { color:var(--navy); font-size:13px; }.import-google-calendar-option p { margin:3px 0 0; color:#5a6d83; font-size:12px; line-height:1.4; }.import-google-calendar-option .button { flex:0 0 auto; min-height:35px; margin:0; font-size:12px; white-space:nowrap; }@media (max-width:700px) { .import-google-calendar-option { align-items:flex-start; flex-direction:column; }.import-google-calendar-option .button { width:100%; } }

/* One readable type scale for every standard action button in Welcome. */
.button { font-size:12px !important; }

/* A single compact accordion pattern for the primary page sections. */
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive) { padding:0; overflow:hidden; background:#fff; border:1px solid var(--border); border-radius:10px; }
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive) > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:12px 14px; color:var(--navy); cursor:pointer; font-size:12px; font-weight:750; list-style:none; }
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive) > summary::-webkit-details-marker { display:none; }
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive) > summary::after { margin-left:auto; color:#6a7b90; content:"+"; font-size:18px; font-weight:500; }
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive)[open] > summary { border-bottom:1px solid var(--border); }
body :is(.add-event-panel,.add-calendar-panel,.calendar-event-options-panel,.people-role-manager,.people-duplicate-manager,.first-time-message-accordion,.message-audience-accordion,.message-event-accordion,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive)[open] > summary::after { content:"−"; }
body :is(.people-duplicate-manager,.scheduled-sends-accordion,.completed-messages-archive,.completed-events-archive) > summary strong { display:grid; min-width:22px; min-height:22px; margin-left:auto; padding:2px 6px; place-items:center; color:#fff; background:var(--navy); border-radius:999px; font-size:11px; }

/* Resolve household connections without mistaking family members for duplicate profiles. */
.people-family-item { background:#f5f9fc; border-color:#cbddea; }.people-family-note { margin:22px 0 0; color:#586b80; font-size:12px; line-height:1.5; }.people-family-actions { min-width:250px; }.people-family-resolution { display:grid; gap:8px; }.people-family-fields { display:grid; gap:7px; }.people-family-fields > label,.people-family-role-fields label { display:grid; gap:4px; color:#4f5e76; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.people-family-fields select { width:100%; min-height:31px; padding:6px 7px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:6px; font:600 11px var(--font-ui); }.people-family-role-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.people-family-resolution-actions,.people-duplicate-merge-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.people-family-resolution-actions .button { min-height:29px; margin:0; padding:5px 8px; font-size:10px; }.people-family-resolution-actions .text-button { margin:0; padding:0; color:#7c6170; font-size:10px; }.people-duplicate-family-option { display:grid; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid #d9e3ec; }.people-duplicate-family-option > p { margin:0; color:#586b80; font-size:10px; line-height:1.4; }.people-duplicate-family-option .people-shared-phone-actions { min-width:0; }.people-family-resolution .people-shared-phone-actions { min-width:0; padding-top:7px; border-top:1px solid #d9e3ec; }.people-family-resolution .people-shared-phone-actions > p { max-width:none; }.email-only-people-manager { margin-top:18px; }.email-only-people-list { display:grid; gap:8px; }.email-only-person { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px; background:#f8fafc; border:1px solid #dce4ee; border-radius:8px; }.email-only-person > div:first-child { min-width:0; }.email-only-person b,.email-only-person a,.email-only-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.email-only-person b { color:var(--navy); font-size:13px; }.email-only-person a { margin-top:3px; color:#315f91; font-size:12px; }.email-only-person small { margin-top:4px; color:#647389; font-size:11px; }.email-only-person-actions { display:flex; flex-wrap:wrap; align-items:end; justify-content:flex-end; gap:7px; min-width:245px; }.email-only-person-actions label { display:grid; gap:3px; min-width:160px; color:#4f5e76; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.email-only-person-actions select { min-height:30px; padding:6px 7px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:6px; font:600 11px var(--font-ui); }.email-only-person-actions .button { min-height:30px; margin:0; padding:5px 8px; font-size:10px; }.email-only-person-actions .text-button { margin:0 2px 7px 0; padding:0; font-size:10px; }.email-only-person-actions .email-only-no-match { max-width:160px; margin:0 0 5px; white-space:normal; text-align:right; }.people-email-link { color:#315f91; text-decoration:none; }.people-email-link:hover { text-decoration:underline; }
@media (max-width:700px) { .people-duplicate-item { grid-template-columns:1fr; }.people-family-actions { min-width:0; }.email-only-person { flex-direction:column; }.email-only-person-actions { width:100%; min-width:0; justify-content:flex-start; }.email-only-person-actions label { width:100%; }.email-only-person-actions .email-only-no-match { max-width:none; text-align:left; }.people-family-role-fields { grid-template-columns:1fr; } }

/* Keep out-of-range students visible for a deliberate promotion decision, not mixed into the normal roster. */
.promotion-holding-area { overflow:hidden; margin-top:12px; border:1px solid #c9dfe7; border-radius:9px; background:#f7fbfd; }.promotion-holding-list { display:grid; }.promotion-holding-list > article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border-top:1px solid #dce8ed; }.promotion-holding-list > article:first-child { border-top:0; }.promotion-holding-person { display:flex; align-items:center; min-width:0; gap:8px; }.promotion-holding-person img,.promotion-holding-person .promotion-person-initials { width:30px; height:30px; flex:0 0 30px; }.promotion-holding-person b,.promotion-holding-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.promotion-holding-person b { color:#263a55; font-size:12px; }.promotion-holding-person small { margin-top:2px; color:#617287; font-size:10px; }.promotion-holding-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:7px; max-width:440px; }.promotion-holding-actions > small { width:100%; color:#556b80; font-size:10px; line-height:1.35; text-align:right; }.promotion-holding-actions .button { min-height:29px; margin:0; padding:5px 8px; font-size:10px; }.promotion-holding-actions .text-button { margin:0; padding:0; color:#5f7084; font-size:10px; }.promotion-ready-badge { padding:4px 6px; color:#215c4f; background:#e2f2eb; border:1px solid #bedecf; border-radius:999px; font-size:10px; font-weight:800; }.promotion-review-overview { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:10px; }.promotion-review-overview .promotion-review-group-heading { min-height:74px; border-bottom:0; }.promotion-review-overview .promotion-review-group-heading > b { color:#546b83; background:#e8eef5; }@media (max-width:700px) { .promotion-holding-list > article { align-items:flex-start; flex-direction:column; }.promotion-holding-actions { justify-content:flex-start; max-width:none; }.promotion-holding-actions > small { text-align:left; }.promotion-review-overview { grid-template-columns:1fr; } }

/* Keep accordion item counts beside the disclosure control at the far right. */
details > summary:has(> strong) > strong { margin-left:auto !important; }
details > summary:has(> strong)::after { margin-left:0 !important; }

/* Spreadsheet imports make the existing saved record and currently uploaded row unmistakable before a change is applied. */
.people-import-dialog { width:min(920px,calc(100vw - 32px)); }
.people-import-match-list { max-height:620px; gap:10px; }
.people-import-match-list li { grid-template-columns:minmax(0,1fr) minmax(220px,.35fr); align-items:start; gap:14px; padding:12px; border-radius:8px; }
.people-import-match-summary > b,.people-import-match-summary > small { display:block; }
.people-import-match-summary > b { color:var(--ink); font-size:13px; }
.people-import-match-summary > small { margin-top:3px; color:#5e6e85; font-size:11px; line-height:1.35; }
.people-import-comparison { margin-top:11px; padding:10px; background:#f8fbfd; border:1px solid #dbe6ef; border-radius:7px; }
.people-import-comparison-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.people-import-comparison-heading b { color:var(--navy); font-size:12px; }
.people-import-comparison-heading small { display:block; max-width:610px; margin-top:3px; color:#5c6b81; font-size:11px; line-height:1.35; }
.people-import-comparison-heading > span { flex:0 0 auto; padding:3px 6px; color:#355d82; background:#e5f0f9; border-radius:99px; font-size:10px; font-weight:800; white-space:nowrap; }
.people-import-comparison > p { margin:8px 0; color:#536681; font-size:11px; line-height:1.4; }
.people-import-comparison-table { overflow:auto; border:1px solid #dfe7ee; border-radius:6px; }
.people-import-comparison table { width:100%; min-width:580px; border-collapse:collapse; }
.people-import-comparison th,.people-import-comparison td { padding:7px 8px; border-top:1px solid #e6edf3; text-align:left; vertical-align:top; font-size:11px; line-height:1.35; }
.people-import-comparison thead th { border-top:0; color:#536681; background:#edf3f7; font-size:9px; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.people-import-comparison tbody th { width:22%; color:#52627b; background:#fbfcfd; font-size:10px; }
.people-import-comparison tr.is-different td { color:#1c4773; background:#f1f7fc; }

/* Completed event attendance is available wherever the completed event is managed. */
.completed-event-checkins-dialog { width:min(680px,calc(100vw - 32px)); }
.completed-event-checkins-metrics { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }
.completed-event-checkins-metrics span { padding:5px 7px; color:#4f617b; background:#edf3f9; border-radius:5px; font-size:11px; font-weight:700; }
.completed-event-checkins-metrics b { color:var(--navy); }
.completed-event-checkins-list { max-height:min(46vh,420px); overflow:auto; border-top:1px solid #dfe7ef; }
.completed-event-checkins-person { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:10px 1px; color:var(--ink); background:transparent; border:0; border-bottom:1px solid #e2e8ef; text-align:left; }
.completed-event-checkins-person > span { display:grid; min-width:0; gap:2px; }
.completed-event-checkins-person b,.completed-event-checkins-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.completed-event-checkins-person b { font-size:13px; }
.completed-event-checkins-person small { color:#68788f; font-size:11px; }
.completed-event-checkins-person time { flex:0 0 auto; color:#586a82; font-size:10px; font-weight:700; }
.completed-event-checkins-person:hover b,.completed-event-checkins-person:focus-visible b { color:var(--navy-2); text-decoration:underline; }
.completed-event-checkins-empty { margin:12px 0; color:var(--muted); font-size:12px; }
.completed-event-checkins-person:focus-visible { outline:2px solid var(--sky); outline-offset:-2px; }
@media (max-width:700px) { .people-import-match-list li { grid-template-columns:1fr; }.people-import-comparison-heading { display:block; }.people-import-comparison-heading > span { display:inline-block; margin-top:7px; }.people-import-comparison th,.people-import-comparison td { padding:7px; }.completed-event-checkins-person { align-items:flex-start; }.completed-event-checkins-person time { padding-top:2px; } }

/* Calendar entries use the same clear date-and-details pattern as All upcoming events. */
body .calendar-list-row { grid-template-columns:49px minmax(0,1fr) auto; gap:12px; padding:13px 14px; }
body .calendar-list-row.has-event-image { grid-template-columns:49px 54px minmax(0,1fr) auto; }
body .calendar-date-block { display:grid; align-content:center; }
body .calendar-date-block .date-badge { width:49px; }
body .calendar-list-row .calendar-event-copy h3 { margin:0; font-size:15px; }
body .calendar-list-row .calendar-event-meta { margin:1px 0 0; color:var(--muted); font-size:12px; }
body .calendar-list-row .calendar-event-description { display:none; }

body .active-calendar-list:not(.is-selecting) .calendar-list-row,body .completed-calendar-list:not(.is-selecting) .calendar-list-row { grid-template-columns:49px minmax(0,1fr) auto; }
body .active-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image,body .completed-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image { grid-template-columns:49px 54px minmax(0,1fr) auto; }
body .active-calendar-list.is-selecting .calendar-list-row,body .completed-calendar-list.is-selecting .calendar-list-row { grid-template-columns:24px 49px minmax(0,1fr) auto; }
body .active-calendar-list.is-selecting .calendar-list-row.has-event-image,body .completed-calendar-list.is-selecting .calendar-list-row.has-event-image { grid-template-columns:24px 49px 54px minmax(0,1fr) auto; }
@media (max-width:700px) { body .calendar-list-row,body .active-calendar-list:not(.is-selecting) .calendar-list-row,body .completed-calendar-list:not(.is-selecting) .calendar-list-row { grid-template-columns:43px minmax(0,1fr) auto; gap:8px; }body .calendar-list-row.has-event-image,body .active-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image,body .completed-calendar-list:not(.is-selecting) .calendar-list-row.has-event-image { grid-template-columns:43px 44px minmax(0,1fr) auto; }body .active-calendar-list.is-selecting .calendar-list-row,body .completed-calendar-list.is-selecting .calendar-list-row { grid-template-columns:24px 43px minmax(0,1fr) auto; }body .active-calendar-list.is-selecting .calendar-list-row.has-event-image,body .completed-calendar-list.is-selecting .calendar-list-row.has-event-image { grid-template-columns:24px 43px 44px minmax(0,1fr) auto; }body .calendar-date-block .date-badge { width:43px; }body .calendar-list-row .calendar-date-block,body :is(.active-calendar-list,.completed-calendar-list):not(.is-selecting) .calendar-list-row .calendar-date-block { grid-row:auto; grid-column:auto; }body .calendar-list-row .event-list-image,body .calendar-list-row .calendar-event-copy { grid-column:auto; }body .calendar-list-actions { grid-column:1/-1; justify-content:flex-start; } }

/* Each event can keep its own lightweight run-of-show and leader assignments. */
.event-plan-dialog { width:min(1180px,calc(100vw - 32px)); }.event-plan-start { display:grid; gap:13px; padding:15px; background:#f5f8fc; border:1px solid #dce6ef; border-radius:10px; }.event-plan-start h3 { margin:0; color:var(--navy); font-size:17px; }.event-plan-start > p { max-width:680px; margin:0; color:#53657d; font-size:12px; line-height:1.5; }.event-plan-start > .button { justify-self:start; margin:0; }.event-plan-workspace { display:grid; gap:13px; }.event-plan-status { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:7px 14px; color:#3e5775; font-size:12px; font-weight:750; }.event-plan-status small { color:#697990; font-size:11px; font-weight:600; }.event-plan-context { display:flex; flex-wrap:wrap; gap:7px; }.event-plan-context span { padding:6px 8px; color:#4a5d74; background:#f0f5fb; border:1px solid #dbe5f0; border-radius:6px; font-size:11px; line-height:1.3; }.event-plan-scroll { overflow:auto; border:1px solid #d9e3ed; border-radius:9px; }.event-plan-table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; table-layout:fixed; }.event-plan-table th,.event-plan-table td { min-width:172px; padding:9px; vertical-align:top; border-right:1px solid #e1e8f0; border-bottom:1px solid #e1e8f0; }.event-plan-table tr > :last-child { border-right:0; }.event-plan-table tbody tr:last-child > * { border-bottom:0; }.event-plan-table thead th { color:#435b77; background:#f6f9fc; font-size:11px; font-weight:800; text-align:left; }.event-plan-table thead th:first-child,.event-plan-table tbody th { width:160px; color:#435b77; background:#fbfcfe; font-size:11px; text-align:left; }.event-plan-table th > div { display:grid; gap:5px; position:relative; }.event-plan-table th input { width:100%; padding:0 22px 0 0; color:var(--ink); background:transparent; border:0; border-radius:0; font:750 12px var(--font-ui); }.event-plan-table tbody th input { font-size:11px; }.event-plan-table th input:focus-visible { outline:2px solid var(--sky); outline-offset:2px; }.event-plan-table th small { color:#718097; font-size:9px; font-weight:650; line-height:1.25; }.event-plan-remove { position:absolute; top:-3px; right:-2px; width:19px; height:19px; padding:0; color:#6c7d91; background:transparent; border:0; border-radius:50%; font-size:17px; line-height:1; cursor:pointer; }.event-plan-remove:hover,.event-plan-remove:focus-visible { color:#a63f35; background:#f9e5e2; outline:0; }.event-plan-people-select,.event-plan-cell-input,.event-plan-cell-notes { width:100%; color:var(--ink); background:#fff; border:1px solid #cbd8e5; border-radius:6px; font:500 11px var(--font-ui); }.event-plan-people-select { min-height:72px; padding:5px; }.event-plan-cell-input { margin-top:7px; padding:7px; }.event-plan-cell-notes { min-height:78px; padding:7px; resize:vertical; line-height:1.4; }.event-plan-add-controls { display:flex; flex-wrap:wrap; align-items:end; gap:8px; padding:11px; background:#f7f9fc; border:1px solid #dce5ee; border-radius:8px; }.event-plan-add-controls label { display:grid; flex:1 1 170px; gap:4px; color:#4f6179; font-size:10px; font-weight:800; }.event-plan-add-controls input,.event-plan-add-controls select { width:100%; min-height:33px; padding:7px; color:var(--ink); background:#fff; border:1px solid #cbd8e5; border-radius:6px; font:500 11px var(--font-ui); }.event-plan-add-controls label:last-of-type { display:grid; grid-template-columns:120px minmax(130px,1fr); }.event-plan-add-controls label:last-of-type::first-line { grid-column:1/-1; }.event-plan-add-controls .button { min-height:33px; margin:0; font-size:11px; white-space:nowrap; }.event-plan-import { overflow:hidden; background:#fff; border:1px solid #d9e3ed; border-radius:8px; }.event-plan-import > summary { display:flex; align-items:center; justify-content:space-between; min-height:43px; padding:0 12px; color:#405a77; cursor:pointer; font-size:12px; font-weight:800; list-style:none; }.event-plan-import > summary::-webkit-details-marker { display:none; }.event-plan-import > summary::after { content:"+"; color:#6086b0; font-size:19px; font-weight:400; }.event-plan-import[open] > summary { border-bottom:1px solid #d9e3ed; }.event-plan-import[open] > summary::after { content:"−"; }.event-plan-import > div { display:grid; gap:10px; padding:12px; }.event-plan-import p { margin:0; color:#5b6c82; font-size:11px; line-height:1.45; }.event-plan-file { display:grid; gap:4px; color:#4b5f78; font-size:11px; font-weight:800; }.event-plan-file input { width:100%; padding:7px; color:var(--ink); background:#fff; border:1px solid #cbd8e5; border-radius:6px; font:500 11px var(--font-ui); }.event-plan-file small { color:#74839a; font-size:10px; font-weight:500; }.event-plan-import-status { min-height:0; color:#54718e !important; font-weight:700; }.event-plan-import-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:2px; }.event-plan-import-controls label { display:grid; gap:4px; color:#4f6179; font-size:11px; font-weight:800; }.event-plan-import-controls select { width:100%; min-height:34px; padding:7px; color:var(--ink); background:#fff; border:1px solid #cbd8e5; border-radius:6px; font:500 11px var(--font-ui); }.event-plan-import-controls p,.event-plan-import-controls .button { grid-column:1/-1; }.event-plan-import-controls .button { justify-self:start; margin:0; font-size:11px; }@media (max-width:700px) { .event-plan-dialog { width:calc(100vw - 18px); }.event-plan-status { align-items:flex-start; flex-direction:column; }.event-plan-add-controls { align-items:stretch; }.event-plan-add-controls label,.event-plan-add-controls label:last-of-type { grid-template-columns:1fr; flex-basis:100%; }.event-plan-add-controls .button { width:100%; }.event-plan-import-controls { grid-template-columns:1fr; }.event-plan-import-controls p,.event-plan-import-controls .button { grid-column:auto; }.event-plan-import-controls .button { width:100%; } }
.event-lesson-dialog { width:min(640px,calc(100vw - 32px)); }.event-lesson-intro { margin:0 0 18px; color:#53657d; font-size:13px; line-height:1.5; }.event-lesson-current { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 17px; padding:11px 12px; background:#f3f7fb; border:1px solid #dbe6f0; border-radius:8px; }.event-lesson-current[hidden] { display:none; }.event-lesson-current > div { display:grid; min-width:0; gap:2px; }.event-lesson-current b { overflow:hidden; color:#304a6d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.event-lesson-current small { color:#667990; font-size:11px; }.event-lesson-current .button { flex:0 0 auto; margin:0; }.event-lesson-dialog label { display:grid; gap:5px; color:#4f5e76; font-size:12px; font-weight:700; }.event-lesson-dialog input { width:100%; padding:9px; color:var(--ink); background:#fff; border:1px solid #cbd3df; border-radius:7px; font:500 13px var(--font-ui); }.event-lesson-dialog label small { color:var(--muted); font-size:11px; font-weight:500; }.event-lesson-or { margin:12px 0; color:#718097; font-size:11px; font-weight:800; text-align:center; text-transform:uppercase; }.event-lesson-status { min-height:17px; margin:11px 0 0; color:#54718e; font-size:12px; font-weight:700; }@media (max-width:700px) { .event-lesson-dialog { width:calc(100vw - 18px); }.event-lesson-current { align-items:flex-start; flex-direction:column; }.event-lesson-current .button { width:100%; } }
.checkin-poster-preview-main p { max-width:340px; margin:-10px 0 0; color:#60718a; font:500 16px/1.3 var(--font-ui); }

/* The calendar PDF uses a native in-app preview so it remains visible when a
   browser cannot display a downloaded PDF inside an embedded viewer. Each
   preview is intentionally letter-sized, including its own header and footer. */
.calendar-pdf-poster-preview.is-paginated { display:block; max-height:min(70vh,720px); overflow:auto; padding:18px; place-items:initial; }
.calendar-list-pdf-preview-pages { display:grid; gap:24px; justify-items:center; }
.calendar-list-pdf-preview-note { width:min(100%,500px); margin:0; color:#53657d; font-size:11px; font-weight:700; line-height:1.4; text-align:center; }
.calendar-list-pdf-preview { display:grid; box-sizing:border-box; width:min(100%,500px); aspect-ratio:8.5 / 11; overflow:hidden; color:#182c4b; background:#fff; border:1px solid #dce3eb; box-shadow:0 8px 18px rgba(31,52,83,.12); grid-template-rows:auto minmax(0,1fr) auto; }
.calendar-list-pdf-preview header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 24px; background:#f2f7fd; }
.calendar-list-pdf-preview header > div:first-child { display:flex; flex:1 1 auto; flex-wrap:wrap; align-items:baseline; gap:3px 9px; min-width:0; }
.calendar-list-pdf-preview header b { overflow-wrap:anywhere; color:#1a355e; font-size:21px; line-height:1.1; }
.calendar-list-pdf-preview header span { overflow-wrap:anywhere; color:#9a4f39; font-size:11px; font-weight:800; }
.calendar-list-pdf-preview header small { flex:0 0 auto; color:#5d6c80; font-size:9px; }
.calendar-list-pdf-preview-qr { display:grid !important; flex:0 0 48px; width:48px; gap:1px !important; place-items:center; }
.calendar-list-pdf-preview-qr span { color:#304f75 !important; font-size:7px !important; font-weight:800; line-height:1.1; text-align:center; white-space:nowrap; }
.calendar-list-pdf-preview-qr svg { display:block; width:42px; height:42px; background:#fff; }
.calendar-list-pdf-preview-events { display:grid; min-height:0; overflow:hidden; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:4px 24px 22px; }
.calendar-list-pdf-preview-events.is-empty { display:block; }
.calendar-list-pdf-preview-events ol { display:block; min-width:0; margin:0; padding:0; list-style:none; }
.calendar-list-pdf-preview-events li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; padding:10px 0; border-bottom:1px solid #dfe6ee; }
.calendar-list-pdf-preview-events time { color:#1a355e; font-size:10px; font-weight:850; line-height:1.35; }
.calendar-list-pdf-preview-events li div { display:grid; gap:4px; }
.calendar-list-pdf-preview-events b,.calendar-list-pdf-preview-events p { display:grid; gap:1px; margin:0; }
.calendar-list-pdf-preview-events b { color:#182c4b; font-size:12px; line-height:1.3; }
.calendar-list-pdf-preview-events p { color:#5d6c80; font-size:9px; line-height:1.35; }
.calendar-list-pdf-preview-empty { margin:0; padding:20px 0; color:#5d6c80; font-size:13px; line-height:1.4; }
.calendar-list-pdf-preview footer { display:flex; justify-content:space-between; gap:12px; padding:13px 24px; color:#5d6c80; border-top:1px solid #dfe6ee; font-size:9px; line-height:1.35; }
.calendar-list-pdf-preview footer span:last-child { text-align:right; }
@media (max-width:700px) { .calendar-pdf-poster-preview.is-paginated { max-height:min(70vh,660px); padding:12px; }.calendar-list-pdf-preview-pages { gap:16px; }.calendar-list-pdf-preview-note { font-size:10px; }.calendar-list-pdf-preview header { align-items:center; gap:8px; padding:9px 18px; }.calendar-list-pdf-preview header b { font-size:17px; }.calendar-list-pdf-preview header span { font-size:9px; }.calendar-list-pdf-preview header small { font-size:8px; }.calendar-list-pdf-preview-qr { flex-basis:42px; width:42px; }.calendar-list-pdf-preview-qr svg { width:37px; height:37px; }.calendar-list-pdf-preview-events { gap:12px; padding:4px 18px; }.calendar-list-pdf-preview-events li { grid-template-columns:62px minmax(0,1fr); gap:8px; padding:8px 0; }.calendar-list-pdf-preview-events time { font-size:8px; }.calendar-list-pdf-preview-events b { font-size:10px; }.calendar-list-pdf-preview-events p { font-size:8px; }.calendar-list-pdf-preview footer { padding:11px 18px; font-size:8px; } }
