@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#111714;font-synthesis:none;background:#f4f8f6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}select{min-height:44px;font-size:14px;line-height:1.25}select option{font-size:14px}.date-field{width:100%;position:relative}.date-field-trigger{color:#111714;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbdad4;border-radius:11px;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:11px 13px;font-size:16px;display:flex}.date-field-trigger:focus{border-color:#32a77c;outline:none;box-shadow:0 0 0 3px #32a77c1f}.date-field-trigger .placeholder{color:#7a8882}.date-popover{z-index:40;background:#fff;border:1px solid #c9ddd4;border-radius:16px;width:min(350px,100vw - 52px);padding:16px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 18px 50px #163c2d33}.date-popover-heading{grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.date-popover-heading strong{color:#173f30;text-align:center;font-size:17px}.date-popover-heading button{color:#1f6f54;cursor:pointer;background:#f5faf8;border:1px solid #d2dfda;border-radius:10px;width:40px;height:40px;font-size:26px}.date-weekdays,.date-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.date-weekdays span{color:#718079;text-align:center;padding:5px 0;font-size:11px;font-weight:700}.date-days button,.date-days>span{min-width:36px;min-height:36px}.date-days button{color:#26352f;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:15px;font-weight:600}.date-days button:hover{background:#e6f5ee}.date-days button.selected{color:#fff;background:#1f6f54}.date-days button:disabled{color:#bdc5c1;cursor:not-allowed}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:#ffffffeb;border-bottom:1px solid #dce7e2;justify-content:space-between;align-items:center;height:82px;padding:0 max(28px,50vw - 590px);display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.brand-mark{border-radius:13px;width:42px;height:42px;display:block;box-shadow:inset 0 0 0 1px #11171414}.brand b,.ward-chip b{font-size:15px;display:block}.brand small,.ward-chip small{color:#64716c;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.ward-chip .signed-in-account{color:#315d4b;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;max-width:290px;font-size:10px;font-weight:600;overflow:hidden}.ward-chip{align-items:center;gap:10px;display:flex}.account-actions{align-items:center;gap:16px;display:flex}.logout-button{color:#315d4b;cursor:pointer;background:#fff;border:1px solid #cbdad4;border-radius:10px;padding:8px 11px;font-weight:700}.logout-button:hover{background:#eff8f4;border-color:#90bea9}.ward-chip>span{color:#247a5b;background:#eaf8f2;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}main{flex:1;width:min(1180px,100% - 56px);margin:0 auto}.hero{align-items:center;min-height:390px;display:flex}.eyebrow{color:#247a5b;letter-spacing:.14em;margin:0 0 12px;font-size:12px;font-weight:700}h1,h2{font-family:Fraunces,serif}h1{letter-spacing:-.04em;max-width:680px;margin:0;font-size:clamp(44px,6vw,74px);line-height:.98}h1 em{color:#32a77c;font-style:normal}.hero-copy{color:#53615b;max-width:600px;margin:24px 0 0;font-size:18px;line-height:1.65}.section-heading{border-top:1px solid #dce7e2;justify-content:space-between;align-items:end;padding:26px 0 20px;display:flex}.section-heading h2{margin:0;font-size:32px}.secondary,.module-footer button{color:#247a5b;cursor:pointer;background:0 0;border:0;font-weight:700}.secondary{background:#fff;border:1px solid #c9ddd4;border-radius:12px;padding:10px 14px}.module-grid{grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:80px;display:grid}.module-card{background:#fcfdfc;border:1px solid #d4e1dc;border-radius:22px;flex-direction:column;min-height:286px;padding:25px;transition:transform .2s,box-shadow .2s;display:flex}.module-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px #1a42321a}.muted-card{opacity:.72}.module-topline{color:#247a5b;letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.status{color:#316b55;letter-spacing:0;background:#eaf8f2;border-radius:999px;padding:6px 9px}.module-card h2{margin:31px 0 10px;font-size:28px;line-height:1.12}.module-card>p{color:#64716c;margin:0;line-height:1.55}.module-footer{border-top:1px solid #e3ebe7;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;display:flex}.module-footer strong{font-size:13px}.module-footer button span{margin-left:4px}footer{color:#8b9993;background:#111714;justify-content:space-between;align-items:center;gap:24px;padding:20px max(28px,50vw - 590px);font-size:12px;display:flex}.product-disclaimer{text-align:center;max-width:660px;line-height:1.45}.planner-shell{padding:56px 0 80px}.planner-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.planner-header h1{font-size:clamp(40px,5vw,64px)}.planner-header>div>p:last-child{color:#64716c;margin:14px 0 0;font-size:16px}.back-link{color:#247a5b;cursor:pointer;background:0 0;border:0;margin:0 0 34px;padding:0;font-weight:700}.primary{color:#fff;cursor:pointer;background:#1f6f54;border:0;border-radius:12px;padding:13px 18px;font-weight:700;box-shadow:0 8px 20px #1f6f5429}.primary:disabled{opacity:.65;cursor:wait}.new-event{margin-bottom:5px}.header-actions{align-items:center;gap:10px;margin-bottom:5px;display:flex}.planner-nav{background:#fff;border:1px solid #d4e1dc;border-radius:16px;justify-content:space-between;gap:24px;margin:42px 0 18px;padding:8px;display:flex}.planner-nav>div{flex-wrap:wrap;gap:5px;display:flex}.planner-nav button{color:#64716c;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 13px;font-weight:700}.planner-nav button.active{color:#1f6f54;background:#e4f5ee}.planner-nav.viewer-nav{justify-content:flex-start}.planner-nav .view-switcher{align-items:center}.nav-label{color:#87918c;letter-spacing:.1em;text-transform:uppercase;padding:0 5px;font-size:9px;font-weight:800}.filter-panel{background:#fcfdfc;border:1px solid #d4e1dc;border-radius:18px;grid-template-columns:160px 1fr;gap:22px;padding:22px;display:grid}.draft-reminder{color:#704812;background:#fff7e9;border:1px solid #edcf9f;border-radius:15px;align-items:center;gap:12px;margin-bottom:14px;padding:14px 17px;display:flex}.draft-reminder>span{color:#fff;background:#d99b37;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.draft-reminder b{display:block}.draft-reminder p{color:#80643e;margin:3px 0 0;font-size:12px}.filter-panel b,.filter-panel small{display:block}.filter-panel small{color:#64716c;margin-top:5px;line-height:1.4}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{color:#66736d;cursor:pointer;background:#fff;border:1px solid #d3dfda;border-radius:999px;padding:9px 12px;font-weight:700}.filter-chip.selected{color:#1f6f54;background:#e5f5ef;border-color:#9bceb9}.event-list{margin-top:38px}.list-heading{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.list-heading h2{margin:0;font-size:30px}.list-heading span{color:#64716c;font-size:13px}.event-card{background:#fff;border:1px solid #d8e4df;border-radius:17px;grid-template-columns:126px 1fr auto;align-items:center;gap:18px;margin-bottom:10px;padding:20px;display:grid;box-shadow:0 7px 24px #1a42320b}.event-date{border-right:1px solid #e1e9e5;flex-direction:column;justify-content:center;align-self:stretch;padding-right:18px;display:flex}.event-date b{font-size:14px}.event-date small{color:#64716c;margin-top:5px}.event-body h3{margin:7px 0 4px;font:700 20px/1.2 Fraunces,serif}.event-body p{color:#64716c;margin:0;font-size:13px}.event-labels,.quorum-tags{flex-wrap:wrap;gap:6px;display:flex}.event-labels span,.quorum-tags span{color:#52625b;letter-spacing:.06em;text-transform:uppercase;background:#edf2ef;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700}.event-labels .event-status.confirmed{color:#1f6f54;background:#dcf3e8}.event-labels .event-status.draft{color:#89570c;background:#fff0d8}.quorum-tags{margin-top:10px}.edit-button{color:#1f6f54;cursor:pointer;background:#fff;border:1px solid #cfddd7;border-radius:10px;padding:9px 13px;font-weight:700}.loading-state,.empty-state{color:#64716c;text-align:center;border:1px dashed #c8d9d1;border-radius:18px;margin-top:38px;padding:60px}.empty-state h3{color:#111714;margin:0 0 7px}.empty-state p{margin:0}.save-spinner,.mini-spinner{vertical-align:middle;border:2px solid #b9dacd;border-top-color:#1f6f54;border-radius:50%;width:18px;height:18px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}.mini-spinner{border-color:#fff #ffffff73 #ffffff73;width:14px;height:14px}.autosave-indicator{color:#567067;text-align:right;margin:-10px 0 18px;font-size:12px;font-weight:700}.autosave-indicator.saving,.autosave-indicator.pending{color:#8a661c}.autosave-indicator.error{color:#a0392d}@keyframes spin{to{transform:rotate(360deg)}}.calendar-panel{background:#fff;border:1px solid #d4e1dc;border-radius:20px;margin-top:38px;overflow:hidden}.calendar-heading{justify-content:center;align-items:center;gap:22px;padding:20px;display:flex}.calendar-heading h2{text-align:center;min-width:240px;margin:0}.calendar-heading button{color:#1f6f54;cursor:pointer;background:#fff;border:1px solid #cfddd7;border-radius:10px;width:34px;height:34px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekday-row{background:#f4f8f6;border-top:1px solid #e0e8e4;border-bottom:1px solid #e0e8e4}.weekday-row span{color:#64716c;text-align:center;text-transform:uppercase;padding:10px;font-size:11px;font-weight:700}.calendar-day{border-bottom:1px solid #e7eeea;border-right:1px solid #e7eeea;min-height:130px;padding:9px}.calendar-day:nth-child(7n){border-right:0}.calendar-day>b{font-size:12px}.calendar-day.blank{background:#f8faf9}.calendar-event{color:#194d3a;text-align:left;cursor:pointer;background:#e8f6f0;border:0;border-left:3px solid #32a77c;border-radius:7px;width:100%;margin-top:6px;padding:7px}.calendar-event.draft{color:#724b10;background:#fff4e3;border-left-color:#d99b37}.calendar-event span,.calendar-event small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-event span{font-size:10px;font-weight:700}.calendar-event small{opacity:.78;margin-top:3px;font-size:8px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#09140fad;padding:40px 18px;position:fixed;inset:0;overflow-y:auto}.event-editor{background:#fcfdfc;border-radius:24px;width:min(780px,100%);margin:0 auto;padding:30px;box-shadow:0 30px 90px #00000047}.editor-title{justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;display:flex}.editor-title h2{margin:0;font-size:32px}.close-button{color:#315d4b;cursor:pointer;background:#eaf2ee;border:0;border-radius:50%;width:38px;height:38px;font-size:24px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.form-grid label>span{color:#56665f;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.form-grid input,.form-grid select,.form-grid textarea{color:#111714;background:#fff;border:1px solid #cbdad4;border-radius:11px;outline:none;width:100%;padding:12px 13px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#32a77c;box-shadow:0 0 0 3px #32a77c1f}.form-grid textarea{resize:vertical}.form-grid .full{grid-column:1/-1}.check-label{align-items:end;gap:8px;padding-bottom:12px;display:flex}.check-label input{width:auto}.check-row{background:#fff;border:1px solid #cbdad4;border-radius:11px;gap:18px;padding:12px;display:flex}.check-row label{align-items:center;gap:7px;display:flex}.check-row input{width:auto}.editor-actions{border-top:1px solid #e0e8e4;justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.form-error{color:#9b3329;background:#fff0ee;border-radius:10px;margin:18px 0;padding:13px 15px}.action-spacer{flex:1}.danger,.danger-link{color:#9b3329;cursor:pointer;border:0;font-weight:700}.danger{color:#fff;background:#a63b31;border-radius:11px;padding:11px 15px}.danger-link{background:0 0;padding:10px 0}.danger:disabled,.danger-link:disabled{opacity:.58;cursor:wait}.delete-confirm{background:#fff5f3;border:1px solid #efc5bf;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:17px;display:flex}.delete-confirm b{color:#74281f}.delete-confirm p{color:#75534e;margin:4px 0 0;font-size:13px;line-height:1.45}.delete-confirm>div:last-child{flex:none;gap:9px;display:flex}.access-intro{color:#64716c;margin:-10px 0 24px}.invite-form{background:#f5f9f7;border:1px solid #d4e1dc;border-radius:16px;grid-template-columns:1.4fr 1fr;gap:14px;padding:18px;display:grid}.invite-form label>span,.invite-form legend{color:#56665f;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.invite-form input[type=email],.invite-form select{background:#fff;border:1px solid #cbdad4;border-radius:10px;width:100%;padding:11px 12px}.invite-form fieldset{border:1px solid #cbdad4;border-radius:10px;grid-column:1/-1;gap:18px;margin:0;padding:12px;display:flex}.invite-form fieldset label{align-items:center;gap:6px;display:flex}.invite-form button{grid-column:1/-1;justify-self:end}.access-message{color:#225e46;background:#e3f5ed;border-radius:10px;margin-top:14px;padding:11px 13px}.people-list{margin-top:25px}.people-list h3{font:700 19px/1.2 Fraunces,serif}.people-list>div{border-top:1px solid #e1e9e5;justify-content:space-between;align-items:center;gap:15px;padding:12px 2px;display:flex}.people-list span b,.people-list span small{display:block}.people-list span small{color:#64716c;margin-top:3px}.people-list em{color:#426455;text-transform:uppercase;background:#e9f3ef;border-radius:99px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:700}.invitation-ready{background:#eaf8f2;border:1px solid #add7c5;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:16px;display:flex}.invitation-ready p{color:#4d675c;margin:4px 0 0;font-size:13px;line-height:1.45}.invitation-ready button{flex:none}.admin-access-note{color:#205f46;background:#e8f7f0;border:1px solid #acd7c4;border-radius:11px;flex-direction:column;grid-column:1/-1;gap:4px;padding:13px 14px;display:flex}.admin-access-note span{color:#4d6a5e;font-size:12px;line-height:1.4}.person-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.person-actions .danger-link{padding:6px 2px}.remove-confirm{background:#fff6f4;border:1px solid #e7c7c2;border-radius:11px;align-items:center;gap:8px;padding:7px;display:flex}.remove-confirm>span{color:#7b3129;font-size:12px;font-weight:700}.remove-confirm .secondary,.remove-confirm .danger{padding:7px 10px;font-size:12px}.family-calendar{margin-top:34px}.family-heading h2{margin:0;font-size:34px}.family-heading p:last-child{color:#64716c;margin:8px 0 0}.subscription-panel{background:linear-gradient(135deg,#edf9f4,#fff);border:1px solid #b9dccc;border-radius:19px;margin:22px 0 30px;padding:22px}.subscription-panel>div:first-child>p{color:#567068;max-width:760px;margin:6px 0 0;font-size:13px;line-height:1.5}.feed-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.feed-grid article{background:#ffffffd1;border:1px solid #d0e4db;border-radius:13px;padding:14px}.feed-grid article>b{margin-bottom:10px;font:700 18px/1.2 Fraunces,serif;display:block}.feed-grid article>div{flex-wrap:wrap;gap:6px;display:flex}.feed-button{color:#22684f;cursor:pointer;background:#fff;border:1px solid #bcd5ca;border-radius:8px;padding:7px 9px;font:700 10px/1.2 DM Sans,sans-serif;text-decoration:none}.family-event-list>article{background:#fff;border:1px solid #d7e3de;border-radius:16px;grid-template-columns:175px 1fr;gap:20px;margin-bottom:10px;padding:19px;display:grid}.family-date{border-right:1px solid #e2eae6;padding-right:18px}.family-date b,.family-date span{display:block}.family-date span{color:#64716c;margin-top:5px;font-size:13px}.family-event-list h3{margin:0 0 6px;font:700 20px/1.2 Fraunces,serif}.family-event-list p{color:#607069;margin:0;font-size:13px;line-height:1.5}.defaults-table{border:1px solid #d4e1dc;border-radius:14px;overflow:hidden}.defaults-head,.defaults-row{grid-template-columns:1fr 126px 126px 1.7fr;align-items:center;gap:9px;padding:10px 12px;display:grid}.defaults-head{color:#637069;letter-spacing:.08em;text-transform:uppercase;background:#eff6f3;font-size:9px;font-weight:700}.defaults-row{border-top:1px solid #e3ebe7}.defaults-row b{font-size:12px}.defaults-row input{background:#fff;border:1px solid #cbdad4;border-radius:9px;min-width:0;padding:9px 10px}.defaults-row input[type=time]{padding-left:8px;padding-right:5px;font-size:12px}.event-labels .sync-label{color:#68736e;background:#edf1ef}.event-labels .sync-label.synced{color:#176344;background:#daf3e7}.event-labels .sync-label.error{color:#96352b;background:#ffe3df}.connection-state{background:#e6f5ee;border-radius:14px;gap:14px;padding:17px;display:flex}.connection-state.pending{background:#fff4df}.connection-state>span{color:#fff;background:#32a77c;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.connection-state.pending>span{background:#d89932}.connection-state b{display:block}.connection-state p{color:#5d6c65;margin:4px 0 0;line-height:1.45}.calendar-connection-list{border:1px solid #d4e1dc;border-radius:13px;margin:19px 0}.calendar-connection-list>div{border-top:1px solid #e1e9e5;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.calendar-connection-list>div:first-child{border-top:0}.calendar-connection-list b,.calendar-connection-list small{display:block}.calendar-connection-list small{color:#64716c;margin-top:3px}.calendar-connection-list em{color:#8a5709;background:#fff0df;border-radius:99px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:700}.calendar-connection-list em.good{color:#225e46;background:#e3f5ed}.setup-steps{color:#52615a;background:#f4f7f5;border-radius:13px;padding:17px 17px 17px 38px;line-height:1.55}.setup-steps li+li{margin-top:7px}.sync-summary{flex-wrap:wrap;gap:9px;display:flex}.sync-summary span{color:#52615a;background:#eff4f1;border-radius:10px;padding:9px 11px;font-size:11px}.sync-summary b{color:#174e3a}.link-button{align-items:center;text-decoration:none;display:inline-flex}.tithing-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:38px 0 18px;display:grid}.tithing-summary article{background:linear-gradient(145deg,#fff,#f0f8f4);border:1px solid #d4e1dc;border-radius:17px;flex-direction:column;gap:8px;padding:20px;display:flex}.tithing-summary span{color:#64716c;font-size:12px;font-weight:600}.tithing-summary b{color:#174e3a;font:700 27px/1.1 Fraunces,serif}.tithing-nav{justify-content:flex-start;margin-top:18px}.tithing-nav>div{align-items:center}.appointment-section,.availability-section{margin-top:34px}.appointment-card{background:#fff;border:1px solid #d8e4df;border-radius:17px;grid-template-columns:155px 1fr auto;align-items:center;gap:20px;margin-bottom:10px;padding:19px;display:grid;box-shadow:0 7px 24px #1a42320b}.appointment-time{border-right:1px solid #e1e9e5;flex-direction:column;justify-content:center;align-self:stretch;padding-right:18px;display:flex}.appointment-time b,.appointment-time span{display:block}.appointment-time span{color:#64716c;margin-top:5px;font-size:13px}.appointment-card h3{margin:0 0 5px;font:700 20px/1.2 Fraunces,serif}.appointment-card p{color:#607069;margin:0;font-size:13px}.appointment-card small{color:#6e7974;margin-top:8px;display:block}.appointment-actions{align-items:center;gap:12px;display:flex}.calendar-state{color:#89570c;text-transform:uppercase;background:#fff0df;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800}.calendar-state.published{color:#1d674b;background:#def3e8}.reminder-state{color:#5b6b64;text-transform:uppercase;background:#eef3f1;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800}.reminder-state.sent{color:#1d674b;background:#def3e8}.reminder-state.error{color:#a63d2f;background:#fee7e3}.admin-appointment-heading{align-items:center}.admin-appointment-heading>div{align-items:baseline;gap:12px;display:flex}.manual-appointment-form{background:linear-gradient(135deg,#edf9f4,#fff);border:1px solid #c9dfd5;border-radius:19px;grid-template-columns:1.35fr 1fr 1fr;align-items:end;gap:14px;margin-bottom:24px;padding:22px;display:grid}.manual-appointment-form h3{margin:0;font:700 23px/1.2 Fraunces,serif}.manual-appointment-form p:not(.eyebrow){color:#607069;margin:5px 0 0}.manual-appointment-form label>span{color:#56665f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.manual-appointment-form label span em{float:right;color:#89938f;font-style:normal;font-weight:500}.manual-appointment-form input,.manual-appointment-form select,.manual-appointment-form textarea{color:#111714;background:#fff;border:1px solid #cbdad4;border-radius:10px;outline:none;width:100%;min-height:46px;padding:11px 12px;font-size:14px}.manual-appointment-form input:focus,.manual-appointment-form select:focus,.manual-appointment-form textarea:focus{border-color:#32a77c;box-shadow:0 0 0 3px #32a77c1f}.manual-appointment-form textarea{resize:vertical}.manual-appointment-form>div,.manual-notes,.manual-appointment-form>small{grid-column:1/-1}.manual-appointment-form>small{color:#64716c}.manual-appointment-form>button{justify-self:end}.availability-form{background:linear-gradient(135deg,#edf9f4,#fff);border:1px solid #c9dfd5;border-radius:19px;grid-template-columns:1.6fr 1fr 1fr 1fr auto;align-items:end;gap:12px;margin-bottom:34px;padding:22px;display:grid}.availability-form h2{margin:0;font-size:24px}.manual-appointment-form input,.manual-appointment-form select{height:48px;min-height:48px;font-size:15px}.manual-appointment-form textarea{height:auto;min-height:62px}.availability-form input,.availability-form .date-field-trigger{min-height:48px;font-size:16px}.availability-form label>span,.booking-form label>span{color:#56665f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.availability-form input,.booking-form input,.booking-form textarea{color:#111714;background:#fff;border:1px solid #cbdad4;border-radius:10px;outline:none;width:100%;padding:11px 12px}.availability-form input:focus,.booking-form input:focus,.booking-form textarea:focus{border-color:#32a77c;box-shadow:0 0 0 3px #32a77c1f}.window-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.window-grid article{background:#fff;border:1px solid #d8e4df;border-radius:15px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:17px;display:grid}.window-grid b,.window-grid span{display:block}.window-grid span{color:#64716c;margin-top:4px;font-size:12px}.window-grid small{color:#577067;font-weight:700}.public-booking-page{background:#f4f8f6;flex-direction:column;min-height:100vh;display:flex}.public-brand{background:#fffffff0;border-bottom:1px solid #dce7e2;align-items:center;gap:12px;padding:18px max(24px,50vw - 530px);display:flex}.public-brand img{border-radius:14px;width:46px;height:46px}.public-brand b,.public-brand small{display:block}.public-brand small{color:#64716c;letter-spacing:.09em;text-transform:uppercase;margin-top:3px;font-size:10px}.booking-main{width:min(1060px,100% - 48px)}.booking-intro{text-align:center;padding:72px 0 42px}.booking-intro h1{max-width:none;font-size:clamp(44px,6vw,68px)}.booking-intro>p:last-child{color:#5a6a63;max-width:620px;margin:20px auto 0;font-size:17px;line-height:1.6}.booking-layout{grid-template-columns:1.25fr .75fr;align-items:start;gap:22px;padding-bottom:70px;display:grid}.slot-picker,.booking-form,.booking-confirmation{background:#fff;border:1px solid #d4e1dc;border-radius:21px;padding:25px;box-shadow:0 16px 48px #1a423212}.slot-picker .list-heading{margin-bottom:20px}.slot-day{border-top:1px solid #e2eae6;grid-template-columns:165px 1fr;gap:15px;padding:17px 0;display:grid}.slot-day h3{margin:7px 0 0;font:700 16px/1.2 Fraunces,serif}.slot-day>div{flex-wrap:wrap;gap:8px;display:flex}.slot-day button{color:#285c48;cursor:pointer;background:#f8fbfa;border:1px solid #c9ddd4;border-radius:9px;padding:9px 11px;font-weight:700}.slot-day button:hover,.slot-day button.selected{color:#155139;background:#daf3e8;border-color:#2d9a72}.booking-form{position:sticky;top:22px}.booking-form h2{min-height:58px;margin:0 0 18px;font-size:25px;line-height:1.18}.booking-form label{margin-top:13px;display:block}.booking-form label span em{float:right;color:#89938f;font-style:normal;font-weight:500}.booking-form textarea{resize:vertical}.booking-form>button{width:100%;margin-top:18px}.contact-note{color:#6c7873;margin-top:10px;line-height:1.45;display:block}.booking-confirmation{text-align:center;max-width:650px;margin:10px auto 90px;padding:45px}.booking-confirmation>span{color:#fff;background:#32a77c;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 19px;font-size:25px;font-weight:800;display:grid}.booking-confirmation h2{margin:0;font-size:30px}.booking-confirmation>p:last-child{color:#5e6e67}.booking-confirmation .manage-link{justify-content:center;margin-top:22px}.manage-main{padding-bottom:80px}.manage-card{background:#fff;border:1px solid #d4e1dc;border-radius:21px;max-width:700px;margin:0 auto;padding:32px;box-shadow:0 16px 48px #1a423212}.manage-card>h2{margin:4px 0 22px;font-size:30px}.manage-time{background:#eff8f4;border-radius:14px;justify-content:space-between;gap:18px;padding:20px;font-size:18px;display:flex}.manage-reminder{color:#607069}.manage-actions{gap:12px;margin-top:22px;display:flex}.danger-button{color:#a0392d;cursor:pointer;background:#fff6f4;border:1px solid #e6bcb5;border-radius:10px;padding:11px 15px;font-weight:700}.reschedule-picker{border-top:1px solid #dfe8e4;margin-top:28px;padding-top:25px}.reschedule-picker .slot-day:first-of-type{border-top:0}.confirm-reschedule{width:100%;margin-top:20px}.manage-error{max-width:700px;margin:0 auto}@media (width<=800px){.topbar{height:auto;min-height:82px;padding-top:10px;padding-bottom:10px}.brand>span:last-child{display:none}.ward-chip .signed-in-account{max-width:210px}.ward-chip small{font-size:9px}.ward-chip b{font-size:12px}main{width:min(100% - 32px,1180px)}.hero{grid-template-columns:1fr;gap:28px;padding:70px 0 50px}.module-grid{grid-template-columns:1fr}.module-card{min-height:240px}.planner-header{align-items:start}.header-actions{flex-direction:column;align-items:stretch}.planner-nav{display:block}.planner-nav>div+div{border-top:1px solid #e5ece8;margin-top:7px;padding-top:7px}.filter-panel{grid-template-columns:1fr}.event-card{grid-template-columns:1fr auto}.event-date{border-bottom:1px solid #e1e9e5;border-right:0;grid-column:1/-1;padding:0 0 12px}.calendar-panel{overflow-x:auto}.weekday-row,.calendar-grid{min-width:760px}.form-grid,.invite-form{grid-template-columns:1fr}.form-grid .full,.invite-form fieldset,.invite-form button{grid-column:auto}.defaults-head{display:none}.defaults-row{grid-template-columns:1fr 1fr}.defaults-row b{grid-column:1/-1}.new-event{white-space:nowrap}.delete-confirm{flex-direction:column;align-items:stretch}.delete-confirm>div:last-child{justify-content:flex-end}.feed-grid,.family-event-list>article{grid-template-columns:1fr}.family-date{border-bottom:1px solid #e2eae6;border-right:0;padding:0 0 11px}.invitation-ready{flex-direction:column;align-items:stretch}.invitation-ready button{align-self:flex-start}.account-actions{gap:8px}footer{text-align:center;flex-direction:column}.tithing-summary,.appointment-card{grid-template-columns:1fr}.appointment-time{border-bottom:1px solid #e1e9e5;border-right:0;padding:0 0 12px}.appointment-actions{justify-content:space-between}.availability-form,.manual-appointment-form{grid-template-columns:1fr}.availability-form>div,.availability-form>button,.manual-appointment-form>div,.manual-appointment-form>label,.manual-appointment-form>small,.manual-appointment-form>button{grid-column:1/-1}.manual-appointment-form>button{width:100%}.window-grid{grid-template-columns:1fr}.booking-main{width:min(100% - 28px,1060px)}.booking-intro{padding:50px 0 30px}.booking-layout{grid-template-columns:1fr}.booking-form{position:static}.slot-day{grid-template-columns:1fr}.public-booking-page footer{flex-direction:column;gap:12px}.tithing-shell .header-actions{width:100%}}.medical-dashboard{margin-top:34px}.medical-intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.medical-intro h2{margin:0;font-size:34px}.medical-intro p:last-child{color:#64716c;margin:7px 0 0}.privacy-badge{color:#226148;background:#e3f5ed;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700}.medical-request-form{background:linear-gradient(135deg,#edf9f4,#fff);border:1px solid #c9dfd5;border-radius:18px;grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:12px;padding:20px;display:grid}.medical-request-form label>span,.medical-parent-form label>span,.signature-field>span{color:#56665f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.medical-request-form label span em,.medical-parent-form label span em{color:#89938f;font-style:normal;font-weight:500}.medical-request-form input,.medical-request-form select{background:#fff;border:1px solid #cbdad4;border-radius:10px;width:100%;height:48px;padding:11px 12px}.medical-request-card{background:#fff;border:1px solid #d8e4df;border-radius:16px;grid-template-columns:170px 1fr auto auto;align-items:center;gap:16px;margin-bottom:10px;padding:18px;display:grid}.medical-request-card>div:first-child b,.medical-request-card>div:first-child span{display:block}.medical-request-card>div:first-child span,.medical-request-card p{color:#64716c;margin:4px 0 0;font-size:12px}.medical-request-card h3{margin:0;font:700 19px/1.2 Fraunces,serif}.form-status{color:#89570c;text-transform:uppercase;background:#fff0d8;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800}.form-status.completed{color:#1f6f54;background:#dcf3e8}.medical-main{width:min(900px,100% - 38px);padding:58px 0 80px}.medical-activity{background:linear-gradient(145deg,#fff,#edf9f4);border:1px solid #cbe0d6;border-radius:22px;padding:30px}.medical-activity h1{max-width:none;font-size:44px}.medical-activity>div{background:#fff;border-radius:14px;gap:5px;margin-top:24px;padding:18px;display:grid}.medical-activity>div b{font:700 22px/1.2 Fraunces,serif}.medical-activity>div span,.medical-activity>div p,.medical-activity>small{color:#5d6c65}.medical-activity>div p{margin:4px 0 0}.medical-activity>small{margin-top:16px;font-size:12px;line-height:1.5;display:block}.medical-parent-form{gap:18px;margin-top:18px;display:grid}.medical-parent-form>section{background:#fff;border:1px solid #d4e1dc;border-radius:20px;padding:28px}.medical-parent-form h2{margin:0 0 20px;font-size:27px}.medical-fields{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.medical-fields .wide{grid-column:span 2}.medical-parent-form label{margin-top:14px;display:block}.medical-parent-form input:not([type=checkbox]):not([type=radio]),.medical-parent-form textarea{background:#fff;border:1px solid #cbdad4;border-radius:11px;outline:none;width:100%;padding:12px 13px}.medical-parent-form textarea{resize:vertical}.yes-no{border:1px solid #d8e4df;border-radius:12px;align-items:center;gap:16px;margin:15px 0 0;padding:14px;display:flex}.yes-no legend{float:left;width:min(70%,520px);margin-right:auto;font-weight:600}.yes-no label{align-items:center;gap:5px;margin:0;display:flex}.permission-copy{color:#4f5f58;background:#f3f7f5;border-radius:13px;padding:16px;font-size:13px;line-height:1.55}.consent-check{background:#eef9f4;border:1px solid #b8d8ca;border-radius:12px;align-items:flex-start;gap:9px;padding:15px;display:flex!important}.consent-check input{margin-top:3px}.consent-check span{color:#254d3e!important;letter-spacing:0!important;text-transform:none!important;margin:0!important;font-size:13px!important}.signature-field{margin-top:14px}.signature-field canvas{touch-action:none;background:#fbfdfc;border:1px solid #afcabc;border-radius:12px;width:100%;height:120px;display:block}.signature-field>div{justify-content:space-between;align-items:center;display:flex}.signature-field small{color:#718079}.medical-submit{width:100%;margin-top:22px;padding:16px}.medical-public .booking-confirmation .secondary{margin-top:20px}@media (width<=800px){.medical-request-form,.medical-request-card,.medical-fields{grid-template-columns:1fr}.medical-fields .wide{grid-column:auto}.medical-intro{flex-direction:column;align-items:flex-start}.medical-request-form button{width:100%}.medical-request-card{align-items:start}.yes-no{flex-wrap:wrap;align-items:flex-start}.yes-no legend{float:none;width:100%}.medical-main{padding-top:28px}.medical-activity,.medical-parent-form>section{padding:21px}.medical-activity h1{font-size:36px}}
