/* Prayer surfaces reuse the existing shared layout, typography and form presentation. */
#prayerToday{margin:0 var(--page-gutter,16px)}
.prayer-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 8px}
.prayer-entry .link{min-height:44px;min-width:44px;white-space:normal;text-align:start}
.prayer-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.prayer-next{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:72px;text-align:start;color:var(--ink);background:none;border:0}
.prayer-next>span:first-child{display:grid;gap:4px;min-width:0}.prayer-next b{font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.prayer-next small{color:var(--muted);font-size:var(--support-size,.875rem);line-height:1.4}.prayer-clock{font-variant-numeric:tabular-nums;margin-inline-start:8px}.prayer-next svg{width:18px;height:18px;flex:none}
.prayer-settings{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px}.prayer-settings>div{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}.prayer-settings small,.prayer-place small{display:block;color:var(--muted);font-size:var(--support-size,.875rem);line-height:1.5;margin-top:4px}
.prayer-place{margin:0 0 16px;overflow-wrap:anywhere}.prayer-day-nav{display:flex;align-items:center;gap:8px;margin:12px 0}.prayer-day-nav h3{flex:1;text-align:center;font-size:1rem;min-width:0;overflow-wrap:anywhere}.prayer-day-nav .icon{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:12px}
.prayer-list{margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.prayer-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;min-height:48px;border-bottom:1px solid var(--line)}.prayer-list>div:last-child{border:0}.prayer-list dt{overflow-wrap:anywhere}.prayer-list dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.next-prayer{background:var(--lapis-soft);color:var(--ink)}.next-prayer dt{font-weight:700}
.prayer-notify-section{border-top:1px solid var(--line);margin-block:16px;padding-block:12px}.prayer-notify-section h3,.prayer-calculated{font-size:var(--support-size,.875rem)}.prayer-notify-section .btn,.prayer-notify-section .link{min-height:44px;max-width:100%;white-space:normal;margin-top:8px}
.prayer-setup .small{margin-block:8px;line-height:1.6}.prayer-advanced{margin-block:16px;padding:12px;border:1px solid var(--line);border-radius:12px}.prayer-adjustments{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:8px}.prayer-adjustments label{display:grid;gap:8px;font-size:var(--support-size,.875rem)}.prayer-setup fieldset,.prayer-preferences fieldset{min-width:0;padding:0;border:0;margin:12px 0}.prayer-setup legend,.prayer-preferences legend{font-size:var(--support-size,.875rem);margin-bottom:12px;overflow-wrap:anywhere}.prayer-setup [aria-invalid=true]{border-color:var(--danger)}.prayer-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.prayer-submit{margin-top:16px}.prayer-view>button,.prayer-preferences>.primary{margin-block:12px}.prayer-choices .reminder-choice{padding-block:8px;border-bottom:1px solid var(--line)}
:is(.prayer-view,.prayer-setup,.prayer-preferences) .err{margin-block:12px}.prayer-view .link{min-height:44px;min-width:44px;white-space:normal}.prayer-setup .task-status p{margin-block:8px}.prayer-card button:focus-visible{outline:3px solid var(--lapis);outline-offset:-4px}
[dir=rtl] :is(.prayer-next,.prayer-day-nav) svg{transform:rotate(180deg)}

/* Compact overview and a two-step location/review flow. */
.prayer-next>span:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;flex:1}.prayer-next-label{flex-basis:100%}.prayer-countdown{margin-inline-start:auto}.prayer-next{min-height:64px;padding:10px 12px}.prayer-clock{margin-inline-start:4px}
.prayer-setup [hidden]{display:none!important}.prayer-setup-section{margin-bottom:20px}.prayer-setup-section h3{font-size:1rem;margin:0 0 12px}.prayer-source{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.prayer-source button{min-height:44px;padding:8px;border:1px solid var(--control-line);border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:.875rem;white-space:normal;overflow-wrap:anywhere}.prayer-source button[aria-pressed=true]{background:var(--lapis);color:var(--on-lapis);border-color:var(--lapis);font-weight:700}
.prayer-setup .field{margin-bottom:12px}.prayer-setup .flabel{font-size:.875rem}.prayer-setup .small{line-height:1.5;margin-block:8px}.prayer-setup .inp{max-width:100%;min-width:0}.prayer-mosque{margin:12px 0}.prayer-mosque summary,.prayer-advanced summary{min-height:44px;display:flex;align-items:center;font-size:.875rem;cursor:pointer}.prayer-mosque .link,.prayer-review .link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;white-space:normal}.prayer-advanced{margin-block:12px;padding:8px 12px}.prayer-advanced[open] summary{margin-bottom:12px}.prayer-submit{display:grid;gap:8px;margin-top:16px}.prayer-submit .link{min-height:44px}.prayer-review h3{font-size:1rem}.prayer-review .prayer-list>div{padding:10px 12px}.prayer-source button:focus-visible{outline:3px solid var(--lapis);outline-offset:3px}

/* Published timetables and explicitly confirmed places. */
.prayer-place-results{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.prayer-place-results button{display:grid;gap:4px;width:100%;min-height:52px;padding:12px;text-align:start;border:1px solid var(--control-line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit}.prayer-place-results b{font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.prayer-place-results small,.prayer-selected-place small{display:block;color:var(--muted);font-size:var(--support-size,.875rem);line-height:1.5}.prayer-place-results button:focus-visible{outline:3px solid var(--lapis);outline-offset:3px}.prayer-selected-place{padding:12px;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;background:var(--fill);overflow-wrap:anywhere}.prayer-selected-place .link,.prayer-source-link{display:inline-flex;align-items:center;min-height:44px;white-space:normal}.prayer-geocode-credit{font-size:var(--meta-size,.75rem)!important;line-height:1.5}.prayer-table-head,.mosque-list>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr);gap:8px}.prayer-table-head{padding:8px 12px 0;font-size:var(--support-size,.875rem);color:var(--muted)}.prayer-table-head b{text-align:end;overflow-wrap:anywhere}.prayer-list.mosque-list>div{padding:10px 12px;align-items:start;min-height:48px}.mosque-list dd{text-align:end;font-size:var(--support-size,.875rem);white-space:normal;overflow-wrap:anywhere;line-height:1.5}.mosque-list dt{font-weight:600;font-size:var(--support-size,.875rem);line-height:1.5}.prayer-column-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.prayer-jamaah{font-weight:500!important}.prayer-setup [data-search-status]{margin-block:8px}.prayer-review .mosque-list>div{padding:10px 12px}.prayer-settings .btn{flex:0 1 auto;max-width:100%}.prayer-source{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}.prayer-review{min-width:0}
@media(max-width:360px){.prayer-list.mosque-list>div,.prayer-table-head{padding-inline:8px;gap:6px}.mosque-list dd,.mosque-list dt{font-size:.875rem}}
@media(min-width:720px){.prayer-table-head,.prayer-list.mosque-list>div{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr)}}

/* Source coverage is explicit; search and confirmation share one compact place group. */
.prayer-timetable-source button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:12px;text-align:start;min-height:68px;min-width:0}
.prayer-timetable-source b{font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}
.prayer-timetable-source small{font-size:.75rem;line-height:1.4;font-weight:500}
.prayer-timetable-source button:not([aria-pressed=true]) small{color:var(--muted)}
.prayer-timetable-source button[aria-pressed=true]::before{content:'✓';align-self:flex-end;line-height:1;position:absolute;inset-inline-end:8px;top:12px;font-weight:800}
.prayer-timetable-source button{position:relative;padding-inline-end:24px}
.prayer-selected-heading{display:flex;align-items:center;gap:8px;min-width:0}
.prayer-selected-heading>span{flex:1;min-width:0}
.prayer-selected-heading>span>small{font-size:.75rem;margin-bottom:4px}
.prayer-selected-heading .link{flex:none;min-width:44px;max-width:35%;text-align:end;line-height:1.4;overflow-wrap:anywhere}
.prayer-selected-place b{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.prayer-setup-section{margin-bottom:16px}.prayer-setup-section h3{margin-bottom:8px}
.prayer-source-help{margin-bottom:0!important}.prayer-selected-place .link{font-size:.875rem}
.prayer-place-results{max-height:32dvh;overflow:auto;overscroll-behavior:contain;padding:3px;scroll-padding:4px}
.prayer-place-results:empty{margin:0;padding:0}.prayer-place-results button{font-size:.875rem;padding:10px 12px}
.prayer-place-results b{font-size:.875rem}.prayer-geocode-credit{margin-bottom:0!important}

.prayer-setup [data-source-section]{padding-top:16px;border-top:1px solid var(--line)}
.prayer-setup [data-no-local-mosque]{margin:0 0 12px!important}

/* City-based mosque discovery: clear connection status and compact, reachable actions. */
.prayer-mosque-results{list-style:none;display:grid;gap:8px;padding:3px;margin:12px 0;max-height:40dvh;overflow:auto;overscroll-behavior:contain;scroll-padding:4px}
.prayer-mosque-results:empty{padding:0;margin:0}.prayer-mosque-results li{min-width:0}
.prayer-mosque-choice,.prayer-directory-entry{border:1px solid var(--control-line);border-radius:12px;background:var(--card);color:var(--ink);padding:12px;text-align:start;overflow-wrap:anywhere}
.prayer-mosque-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:52px;font:inherit}.prayer-mosque-choice>span:first-child{min-width:0;flex:1}.prayer-mosque-choice svg{width:18px;height:18px}.prayer-mosque-choice[aria-pressed=true]{border-color:var(--lapis);box-shadow:inset 0 0 0 1px var(--lapis)}
.prayer-mosque-choice b,.prayer-directory-entry b{display:block;font-size:.875rem;line-height:1.5}.prayer-mosque-choice small,.prayer-directory-entry small{display:block;color:var(--muted);font-size:.875rem;line-height:1.5;margin-top:4px}.prayer-directory-entry .link{display:inline-flex;align-items:center;min-height:44px;white-space:normal;text-align:start;line-height:1.5;font-size:.875rem}
.prayer-mosque-choice:focus-visible,.prayer-directory-entry a:focus-visible{outline:3px solid var(--lapis);outline-offset:3px}.prayer-geocode-credit a{display:inline-block;min-height:44px;line-height:44px;color:var(--lapis)}
[dir=rtl] .prayer-mosque-choice svg{transform:rotate(180deg)}
