@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600&display=swap";:root{color:#18322c;font-synthesis:none;--green:#123c34;--green-2:#1f5b4e;--mint:#dceae3;--cream:#f5f3ed;--gold:#ca9e4b;--line:#d9ddd7;background:#f5f3ed;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.topbar{z-index:20;background:#fff;border-bottom:1px solid #e8e8e3;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{color:var(--green);letter-spacing:-.5px;align-items:center;gap:10px;font-size:20px;font-weight:500;text-decoration:none;display:flex}.brand-mark{background:var(--green);color:#f5d99d;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.topbar nav{gap:30px;display:flex}.topbar nav a{color:#53645f;align-items:center;gap:7px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.hero{background:var(--green);color:#fff;min-height:520px;padding:76px clamp(20px,8vw,120px);position:relative;overflow:hidden}.hero-pattern{opacity:.15;background-image:radial-gradient(circle at 80% 20%,#c7a65f 0 2px,#0000 3px),linear-gradient(135deg,#0000 48%,#d7bd83 49%,#0000 51%);background-size:46px 46px,100px 100px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000);mask-image:linear-gradient(90deg,#0000 20%,#000)}.hero-content{max-width:760px;position:relative}.eyebrow{color:#9b7240;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.eyebrow.light{color:#d8bd84}.hero h1{letter-spacing:-2.8px;margin:0 0 22px;font-family:Fraunces,serif;font-size:clamp(46px,7vw,78px);font-weight:600;line-height:1.02}.hero h1 em{color:#ddc489;font-style:normal}.hero-content>p:not(.eyebrow):not(.hero-error){color:#c8d5d1;max-width:630px;font-size:18px;line-height:1.6}.location-search{color:#788682;background:#fff;border-radius:14px;align-items:center;max-width:610px;margin-top:34px;padding:7px 7px 7px 17px;display:flex;box-shadow:0 16px 40px #061a1555}.location-search input{color:#18322c;border:0;outline:0;flex:1;min-width:0;padding:13px;font-size:16px}.location-search button,.primary{background:var(--gold);color:#1e302c;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-weight:700;display:inline-flex}.location-link{color:#c6d5d1;background:0 0;border:0;align-items:center;gap:7px;padding:15px 0;display:flex}.hero-error{color:#ffd7ce;font-size:14px}.discovery-section{max-width:1440px;margin:auto;padding:70px clamp(20px,6vw,90px) 110px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;display:flex}.section-heading h2,.admin-heading h1{letter-spacing:-1.2px;margin:0;font-family:Fraunces,serif;font-size:clamp(32px,4vw,46px)}.public-tabs,.admin-tabs{background:#e7e7e0;border-radius:11px;gap:5px;padding:4px;display:flex}.public-tabs button,.admin-tabs button{color:#65736f;background:0 0;border:0;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:600}.public-tabs button.active,.admin-tabs button.active{color:var(--green);background:#fff;box-shadow:0 2px 7px #182e2915}.feature-grid,.event-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature-grid article{background:#fff;border:1px solid #e4e4df;border-radius:18px;padding:30px}.feature-grid svg{color:#a67c39}.feature-grid h3{margin:20px 0 8px}.feature-grid p{color:#71807b;line-height:1.6}.event-card{background:#fff;border:1px solid #e1e2dd;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #163a3210}.event-accent{background:#dce9e3;justify-content:space-between;align-items:start;height:105px;padding:16px;display:flex}.event-accent.jummah{background:#d6e5df}.event-accent.obituary{background:#e4dfda}.event-accent>span,.type-chip{text-transform:uppercase;letter-spacing:.8px;background:#fffc;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}.date-tile{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:52px;height:58px;padding:5px;line-height:1;display:grid}.date-tile b{font-size:20px}.date-tile small{text-transform:uppercase;color:#d6c083}.event-body{padding:23px}.mosque-name{color:#a47738;text-transform:uppercase;letter-spacing:.7px;font-size:12px;font-weight:700}.event-body h3{margin:8px 0;font-size:21px}.event-description{color:#71807b;min-height:44px;line-height:1.5}.event-meta{border-top:1px solid #eee;gap:8px;padding-top:15px;display:grid}.event-meta span{color:#586b65;gap:8px;font-size:13px;display:flex}.event-meta svg{width:15px}.event-body>a{color:var(--green);align-items:center;gap:6px;margin-top:18px;font-weight:700;text-decoration:none;display:inline-flex}.public-empty,.empty{text-align:center;color:#71807b;padding:70px 20px}.public-empty svg{color:#9b7240;width:36px;height:36px}.public-empty h3{color:var(--green)}.detail-page{max-width:1120px;margin:auto;padding:55px 22px 100px}.back-link{color:#51655f;align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px;margin-top:30px;display:grid}.detail-main,.mosque-panel{background:#fff;border:1px solid #e0e1dc;border-radius:18px;padding:clamp(24px,5vw,48px)}.detail-main h1{margin:18px 0;font-family:Fraunces,serif;font-size:clamp(36px,6vw,58px);line-height:1.08}.detail-description{color:#63746f;font-size:17px;line-height:1.7}.occurrence-list{gap:10px;margin:30px 0;display:grid}.occurrence-list>div{background:#f2f5f1;border-radius:12px;align-items:start;gap:13px;padding:15px;display:flex}.occurrence-list svg{color:#a87937}.occurrence-list span{gap:6px;display:grid}.occurrence-list small{color:#71807b;align-items:center;gap:5px;display:flex}.occurrence-list small svg{width:14px;height:14px}.detail-section{border-top:1px solid #e8e8e3;margin-top:26px;padding-top:22px}.detail-section h2{font-size:17px}.detail-section p,.detail-section a,.mosque-panel p,.mosque-panel a{color:#536a63;align-items:center;gap:8px;text-decoration:none;display:flex}.mosque-panel{align-self:start;padding:26px}.mosque-panel h2{margin-top:4px}.admin-page{max-width:1440px;margin:auto;padding:48px clamp(18px,5vw,72px) 100px}.admin-heading{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.admin-heading>div>p:last-child{color:#71807b}.live-pill{color:#31725f;background:#e1f0e9;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.admin-tabs{width:fit-content;margin-bottom:20px}.panel{background:#fff;border:1px solid #dedfd9;border-radius:18px;min-height:430px;padding:22px;box-shadow:0 10px 40px #1f3b3310}.panel-tools{align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-tools h2{margin-right:auto}.search{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;min-width:280px;padding:0 12px;display:flex}.search input{border:0;outline:0;width:100%;padding:11px 0}.panel-tools select,label select{border:1px solid var(--line);color:#40534d;background:#fff;border-radius:10px;padding:11px 35px 11px 12px}.summary-strip{color:#63736e;background:#f2f4f0;border-radius:9px;justify-content:space-between;margin-bottom:16px;padding:11px 14px;font-size:12px;display:flex}.summary-strip span{align-items:center;gap:6px;display:flex}.mosque-grid,.review-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.mosque-card,.review-card{border:1px solid #dfe1dc;border-radius:14px;padding:18px}.card-top{align-items:start;gap:11px;display:flex}.card-top>div{flex:1}.card-top h3{margin:0 0 5px}.card-top p{color:#6c7b77;margin:0;font-size:13px}.status-dot{background:#b5bbb8;border-radius:50%;width:9px;height:9px;margin-top:7px}.status-dot.healthy{background:#3d9777}.status-dot.failing{background:#d35f4c}.status-dot.warning,.status-dot.pending_setup{background:#dc9e39}.source-chip{text-transform:uppercase;background:#f0eee9;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700}.website-row{background:#f4f5f2;border-radius:8px;margin:16px 0;padding:10px}.website-row a{color:#245e4f;align-items:center;gap:6px;text-decoration:none;display:flex}.missing{color:#ab5948;align-items:center;gap:5px;display:flex}dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}dt{color:#87918e;text-transform:uppercase;font-size:10px}dd{margin:4px 0;font-size:12px;font-weight:600}.error-note,.form-error{color:#ae4b3b;font-size:12px}.card-actions,.review-actions{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.card-actions button,.review-actions button,.dialog-actions>button:not(.primary){border:1px solid var(--line);color:#40534d;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:8px 11px;display:inline-flex}.card-actions button:disabled{opacity:.45;cursor:not-allowed}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #ecece7;padding:14px 12px;font-size:13px}th{color:#788581;text-transform:uppercase;letter-spacing:.6px;font-size:11px}td small{color:#84908d;margin-top:4px;display:block}.job-status{background:#ecece8;border-radius:20px;padding:4px 8px;font-size:11px}.job-status.completed{color:#286951;background:#e0efe8}.job-status.failed{color:#a44c3a;background:#f6e1dc}.compact{padding:8px 11px;font-size:12px}.review-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.review-card h3{margin:10px 0 5px}.review-card p{color:#6e7d78;margin:0 0 8px}.review-card small{color:#87938f}.review-actions{flex-wrap:nowrap}.center-card{text-align:center;background:#fff;border:1px solid #e0e1dc;border-radius:18px;width:min(440px,100% - 32px);margin:90px auto;padding:38px}.center-card p{color:#72807c}.center-card form{text-align:left}.icon-circle{background:var(--mint);width:50px;height:50px;color:var(--green);border-radius:50%;place-items:center;margin:auto;display:grid}.wide{width:100%;margin-top:18px}.auth-link{text-decoration:none}.center-card details{text-align:left;color:#71807b;margin-top:22px}.center-card summary{cursor:pointer;font-size:12px}.center-card details button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}label{color:#4f625c;gap:7px;font-size:12px;font-weight:700;display:grid}label input{border:1px solid var(--line);border-radius:9px;outline:0;width:100%;padding:11px 12px}label input:focus{border-color:#44806f;box-shadow:0 0 0 3px #dceae3}label textarea{resize:vertical;border:1px solid var(--line);border-radius:9px;width:100%;padding:11px 12px}.assignment{align-items:center;gap:7px;display:flex}.assignment select{border:1px solid var(--line);border-radius:8px;max-width:190px;padding:8px}.modal-backdrop{z-index:50;background:#071b17aa;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:18px;width:min(580px,100%);padding:25px;box-shadow:0 30px 80px #0005}.dialog-title{justify-content:space-between;align-items:center;display:flex}.dialog-title h2{margin:0}.dialog-title button{color:#697974;background:0 0;border:0}.dialog-intro{color:#6e7d79;line-height:1.5}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:22px;display:grid}.form-grid .full{grid-column:1/-1}.dialog-actions{justify-content:end;gap:9px;margin-top:8px;display:flex}@media (width<=900px){.feature-grid,.event-grid{grid-template-columns:1fr 1fr}.mosque-grid,.review-grid,.detail-layout{grid-template-columns:1fr}.topbar nav a:not(:last-child){display:none}.section-heading,.admin-heading{flex-direction:column;align-items:start}.live-pill{margin-top:12px}.panel-tools{flex-wrap:wrap}.search{flex:1}.review-card{align-items:start}}@media (width<=600px){.topbar{height:64px}.topbar nav{gap:12px}.hero{min-height:500px;padding:55px 20px 65px}.hero h1{letter-spacing:-1.5px}.location-search{flex-wrap:wrap;padding:10px}.location-search svg{margin-left:4px}.location-search button{width:100%}.feature-grid,.event-grid{grid-template-columns:1fr}.discovery-section,.admin-page{padding-left:15px;padding-right:15px}.public-tabs{width:100%;overflow-x:auto}.public-tabs button{white-space:nowrap;flex:1}.admin-tabs{width:100%;overflow-x:auto}.admin-tabs button{white-space:nowrap}.panel{padding:14px}.panel-tools>*{width:100%}.search{min-width:0}.summary-strip{flex-direction:column;align-items:start;gap:7px}dl{grid-template-columns:1fr 1fr}.review-card{display:block}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1}.card-actions button{flex:1;justify-content:center}}
