.prayer-strip__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1240px;margin:auto;padding:0 20px 8px}
.prayer-strip__footer .prayer-strip__source{margin:0;padding:0}
.prayer-strip .prayer-strip__calendar-button{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #d8bf8340;border-radius:6px;background:#ffffff07;color:#ead49c;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.prayer-strip__calendar-button svg{width:13px;height:13px}
.prayer-strip__calendar-button:hover{background:#d8bf8317}
.prayer-strip__calendar-button:disabled{opacity:.5;cursor:wait}
.prayer-calendar{box-sizing:border-box;width:min(880px,calc(100% - 28px));max-height:85vh;max-height:85dvh;margin:auto;padding:0;border:1px solid #e6e7dd;border-radius:20px;background:#fffefa;color:#234237;box-shadow:0 28px 95px #082b3340;font:14px/1.5 Arial,Helvetica,sans-serif;overflow:auto;overscroll-behavior:contain}
.prayer-calendar *{box-sizing:border-box}
.prayer-calendar::backdrop{background:rgba(8,32,24,.55);backdrop-filter:blur(4px)}
.prayer-calendar__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px 22px;background:linear-gradient(120deg,#f3f6ef,#fffdf6);border-bottom:1px solid #e6eadd}
.prayer-calendar__eyebrow{font-size:9px;letter-spacing:1.4px;color:#99804a;font-weight:700}
.prayer-calendar__head h2{margin:7px 0 6px;font-size:24px;line-height:1.3;color:#163e2f;letter-spacing:-.6px}
.prayer-calendar__head p{margin:0;font-size:13px;color:#708172}
.prayer-calendar__close{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #dee5d9;border-radius:50%;background:#fffefa;color:#58715f;font:22px/1 Arial;cursor:pointer}
.prayer-calendar__close:hover{background:#edf2e8}
.prayer-calendar__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px 0}
.prayer-calendar__toolbar label{display:flex;align-items:center;gap:10px;color:#708172;font-size:12px}
.prayer-calendar__toolbar select{max-width:210px;padding:8px 12px;min-height:40px;border:1px solid #dce4d8;border-radius:9px;background:#f5f8f1;color:#234a36;font:inherit;font-size:13px}
.prayer-calendar__toolbar>span{font-size:11px;color:#718170;text-align:right}
.prayer-calendar__status{margin:12px 28px;color:#7c897b;font-size:11px;line-height:1.6}
.prayer-calendar__scroll{max-height:48vh;overflow:auto;margin:0 28px 22px;border:1px solid #e3e8dc;border-radius:12px;overscroll-behavior:contain}
.prayer-calendar__scroll[hidden],.prayer-calendar__retry[hidden]{display:none}
.prayer-calendar table{width:100%;min-width:580px;border-collapse:separate;border-spacing:0;background:#fffefa}
.prayer-calendar th,.prayer-calendar td{padding:10px 12px;text-align:center;border-bottom:1px solid #edf0e7;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}
.prayer-calendar thead th{position:sticky;top:0;z-index:1;background:#eef3e9;color:#36563d;font-size:11px;font-weight:600}
.prayer-calendar th:first-child{text-align:left}
.prayer-calendar tbody th{font-weight:600;color:#3c5740}
.prayer-calendar tbody th small{display:block;font-size:10px;color:#84917e;font-weight:400}
.prayer-calendar tbody tr:nth-child(even){background:#fafbf7}
.prayer-calendar tbody tr.is-today{background:#eaf3e5}
.prayer-calendar tbody tr.is-today th{border-left:3px solid #bd9e58}
.prayer-calendar tbody tr.is-today td{color:#24533a;font-weight:700}
.prayer-calendar tbody tr.is-today small{color:#587e4f}
.prayer-calendar tbody tr:last-child>*{border-bottom:0}
.prayer-calendar__foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 28px;border-top:1px solid #e8ecdf;background:#f8faf3}
.prayer-calendar__foot p{margin:0;font-size:10px;color:#60745d;line-height:1.7}
.prayer-calendar__foot p span,.prayer-calendar__foot small{font-size:9px;color:#86917f}
.prayer-calendar__retry{margin:0 28px 20px;padding:9px 16px;border:0;border-radius:8px;background:#245b41;color:#fffefa;font:inherit;font-size:12px;cursor:pointer}
.prayer-calendar__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.prayer-calendar :focus-visible{outline:2px solid #ad935a;outline-offset:3px}
@media(max-width:600px){.prayer-strip__footer{padding:0 14px 8px;gap:8px}.prayer-strip__footer .prayer-strip__source{font-size:8px;text-align:right;max-width:65%}.prayer-calendar{border-radius:16px}.prayer-calendar__head{padding:21px 18px 17px}.prayer-calendar__head h2{font-size:21px}.prayer-calendar__eyebrow{font-size:8px;letter-spacing:.7px}.prayer-calendar__toolbar{padding:16px 18px 0;align-items:flex-start;flex-wrap:wrap;gap:8px}.prayer-calendar__toolbar>span{text-align:left}.prayer-calendar__status{margin:12px 18px}.prayer-calendar__scroll{margin:0 14px 18px}.prayer-calendar__foot{padding:14px 18px;flex-direction:column;align-items:flex-start;gap:5px}.prayer-calendar__retry{margin-left:18px}}
/* On phones, each date is a compact card with all six times visible. */
@media(max-width:640px){
 .prayer-calendar__scroll{margin:0 14px 18px;border:0;border-radius:0;overflow-x:hidden;overflow-y:auto;background:transparent}
 .prayer-calendar__scroll table{display:block;min-width:0;width:100%;background:transparent}
 .prayer-calendar__scroll thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .prayer-calendar__scroll tbody{display:grid;gap:10px;width:100%;padding:0 1px 1px}
 .prayer-calendar__scroll tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 8px;padding:12px;border:1px solid #e3e8dc;border-radius:12px;background:#fffefa}
 .prayer-calendar__scroll tbody tr:nth-child(even){background:#fafbf7}
 .prayer-calendar__scroll tbody tr>th,.prayer-calendar__scroll tbody tr:last-child>th{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 9px;margin-bottom:1px;border:0;border-bottom:1px solid #e9ede2;white-space:normal;font-size:13px;text-align:left}
 .prayer-calendar__scroll tbody tr>th small{display:block;font-size:10px;text-align:right}
 .prayer-calendar__scroll tbody tr>td{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:3px 2px;border:0;white-space:normal;font-size:14px;font-weight:600;line-height:1.5}
 .prayer-calendar__scroll tbody tr>td::before{content:attr(data-label);font-size:10px;font-weight:400;color:#7b8b76}
 .prayer-calendar__scroll tbody tr.is-today{background:#edf5e9;border-color:#bfd2b6;border-left:3px solid #bd9e58}
 .prayer-calendar__scroll tbody tr.is-today th{border-left:0;color:#28553a}
 .prayer-calendar__scroll tbody tr.is-today td::before{color:#62805a}
}
.prayer-calendar__toolbar{flex-wrap:wrap}
.prayer-calendar__exports{display:flex;align-items:center;gap:8px}
.prayer-calendar__exports button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #d9e2d2;border-radius:9px;background:#f3f7ed;color:#315b3d;font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.prayer-calendar__exports button:last-child{border-color:#23513a;background:#23513a;color:#fffbed}
.prayer-calendar__exports svg{width:15px;height:15px;flex:none}
.prayer-calendar__exports button:hover{background:#eaf1e2;border-color:#9bae90}
.prayer-calendar__exports button:last-child:hover{background:#173e2b}
.prayer-calendar__exports button:disabled{opacity:.45;cursor:wait}
.prayer-calendar__export-hint{margin:9px 28px 0;color:#84917e;font-size:10px;line-height:1.5}
@media(max-width:600px){.prayer-calendar__exports{flex-basis:100%}.prayer-calendar__exports button{flex:1;min-height:40px}.prayer-calendar__export-hint{margin:10px 18px 0}}
@media(prefers-reduced-motion:reduce){.prayer-calendar__exports button{transition:none}}
