:root{
  --navy:#16436b;
  --teal:#0c8990;
  --teal-dark:#086c74;
  --bg:#eff6f7;
  --text:#18384a;
  --muted:#71858f;
  --line:#dce9eb;
  --danger:#b42318;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:Tahoma,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 5%,#dff2f2 0,transparent 34%),
    linear-gradient(180deg,#f7fbfb,#edf4f5);
}
button,input{font-family:inherit}
.shell{width:min(100%,500px);margin:auto;padding:22px 15px 34px}
.brand{display:flex;align-items:center;gap:12px;padding:4px 5px 18px}
.logo{
  width:72px;height:72px;display:grid;place-items:center;
  background:#fff;border-radius:22px;font-size:29px;font-weight:900;color:var(--navy);
  box-shadow:0 10px 30px rgba(18,75,88,.12)
}
.logo span{color:var(--teal)}
.brand h1{margin:0;font-size:26px}
.brand p{margin:5px 0 0;color:var(--muted);font-size:13px}
.card{
  background:#fff;border:1px solid #e5eff0;border-radius:27px;
  box-shadow:0 14px 38px rgba(15,73,85,.08)
}
.main-card{text-align:center;padding:28px 21px 22px}
.mosque-icon{
  width:76px;height:76px;margin:0 auto 13px;display:grid;place-items:center;
  border-radius:24px;background:#e7f5f5;font-size:42px
}
.main-card h2{margin:0;font-size:25px}
.message{margin:11px auto 23px;max-width:360px;color:#536e7a;line-height:1.9;font-size:15px}
.send-button{
  width:100%;min-height:145px;border:0;border-radius:27px;padding:20px;
  background:linear-gradient(145deg,var(--navy),var(--teal));
  color:#fff;font-size:20px;font-weight:900;cursor:pointer;
  box-shadow:0 13px 28px rgba(12,137,144,.28);
  transition:transform .15s ease,opacity .15s ease
}
.send-button:active{transform:scale(.985)}
.send-button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.bell{display:block;font-size:38px;margin-bottom:9px}
.cooldown{
  margin-top:15px;padding:12px;border-radius:15px;
  background:#fff5e8;border:1px solid #ffdaa8;color:#74501c
}
.status{margin:15px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.notification-card{margin-top:15px;padding:19px}
.notification-card h3{margin:0 0 5px;font-size:17px}
.notification-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.secondary-button{
  width:100%;margin-top:14px;padding:13px;border-radius:14px;
  border:1px solid var(--teal);background:#fff;color:var(--teal-dark);
  font-weight:900;cursor:pointer
}
.small-status{margin-top:9px!important;text-align:center}
.note{
  margin:15px 0 4px;padding:12px;text-align:center;border-radius:14px;
  color:var(--muted);font-size:12px;background:#ffffff99
}
footer{text-align:center;color:#81939b;font-size:11px;padding-top:12px}
.hidden{display:none!important}
.modal{
  position:fixed;inset:0;background:rgba(13,39,53,.5);
  display:grid;place-items:center;padding:20px;z-index:50
}
.modal-card{
  width:min(100%,410px);background:#fff;border-radius:23px;padding:23px;
  box-shadow:0 20px 60px #0004
}
.modal-card h3{margin:0 0 7px}.modal-card p{color:var(--muted);font-size:13px}
.modal-card input{
  width:100%;padding:14px;border:1px solid #ccdcdf;border-radius:14px;
  font-size:17px;outline:none
}
.modal-card input:focus{border-color:var(--teal)}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.primary-small,.cancel-small{border:0;border-radius:13px;padding:12px;font-weight:900;cursor:pointer}
.primary-small{background:var(--teal);color:#fff}.cancel-small{background:#edf3f4;color:var(--text)}
.error{color:var(--danger)!important;min-height:18px}
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  width:min(92%,450px);padding:14px 16px;border-radius:15px;
  background:#173747;color:#fff;text-align:center;z-index:80;
  box-shadow:0 15px 35px #0003
}
@media (display-mode:standalone){
  body{padding-top:env(safe-area-inset-top)}
}
