:root{--accent:#0e8d44;--accent2:#00b09b;--white:#ffffff;--bg:var(--white);--card:var(--white);--text:#0b1220;--muted:#5b6576;--border:rgba(15,23,42,0.10);--shadow:0 1px 0 rgba(15,23,42,0.04),0 12px 30px rgba(15,23,42,0.08);--shadow-hover:0 2px 0 rgba(15,23,42,0.06),0 16px 40px rgba(15,23,42,0.12);--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--transition:160ms ease;--topbar-h:60px;--topbar-bg:rgba(255,255,255,0.88);--nav-hover-text:rgba(11,18,32,0.92);--surface:rgba(15,23,42,0.02);--surface-hover:rgba(15,23,42,0.05);--surface-raised:#F9FAFB;--border-strong:rgba(15,23,42,0.16);--success:#059669;--success-soft-bg:#ECFDF5;--success-soft-border:#34D399;--success-dot:#10B981;--warning:#D97706;--warning-soft-bg:#FEF3C7;--warning-soft-border:#FCD34D;--warning-soft-text:#92400E;--error:#EF4444;--info-bg:rgba(0,176,155,0.06);--info-border:rgba(0,176,155,0.15);--streak-bg:linear-gradient(135deg,rgba(14,141,68,0.08),rgba(0,176,155,0.10));--streak-text:#065e25;--streak-border:rgba(14,141,68,0.20);--tts-bg:rgba(15,23,42,0.04);--tts-border:var(--border);--tts-text:var(--muted);--tts-active-bg:rgba(239,68,68,0.08);--tts-active-border:rgba(239,68,68,0.30);--tts-active-text:#DC2626;--toggle-off:#CBD5E1;--toggle-on:#10B981;--toggle-knob:#ffffff;--search-hero-from:#00b09b;--search-hero-to:#0e8d44;--search-hero-text:#ffffff;--search-hero-muted:rgba(255,255,255,0.80);--match-bg:rgba(14,141,68,0.10);--match-text:#065e25;--match-border:rgba(14,141,68,0.25);--stat-blue:#3B82F6;--stat-green:#10B981;--stat-amber:#F59E0B;--stat-gray:#6B7280;--stat-indigo:#6366F1;--terminal-bg:#0f172a;--terminal-text:#e2e8f0}[data-theme=dark]{--bg:#0f172a;--card:#1e293b;--text:#f8fafc;--muted:#94a3b8;--border:rgba(255,255,255,0.12);--shadow:0 1px 0 rgba(0,0,0,0.2),0 12px 30px rgba(0,0,0,0.3);--shadow-hover:0 2px 0 rgba(0,0,0,0.3),0 16px 40px rgba(0,0,0,0.4);--topbar-bg:rgba(15,23,42,0.88);--nav-hover-text:rgba(248,250,252,0.92);--surface:rgba(255,255,255,0.04);--surface-hover:rgba(255,255,255,0.07);--surface-raised:rgba(255,255,255,0.06);--border-strong:rgba(255,255,255,0.18);--success-soft-bg:rgba(5,150,105,0.12);--success-soft-border:rgba(52,211,153,0.30);--warning-soft-bg:rgba(217,119,6,0.12);--warning-soft-border:rgba(252,211,77,0.30);--warning-soft-text:#FCD34D;--info-bg:rgba(0,176,155,0.10);--info-border:rgba(0,176,155,0.20);--streak-bg:linear-gradient(135deg,rgba(0,176,155,0.12),rgba(14,141,68,0.10));--streak-text:#6EE7B7;--streak-border:rgba(0,176,155,0.25);--tts-bg:rgba(255,255,255,0.06);--tts-border:rgba(255,255,255,0.12);--tts-text:var(--muted);--tts-active-bg:rgba(239,68,68,0.15);--tts-active-border:rgba(239,68,68,0.35);--tts-active-text:#FCA5A5;--toggle-off:#475569;--toggle-knob:#e2e8f0;--search-hero-from:rgba(0,176,155,0.18);--search-hero-to:rgba(14,141,68,0.14);--search-hero-text:var(--text);--search-hero-muted:var(--muted);--match-bg:rgba(0,176,155,0.14);--match-text:#6EE7B7;--match-border:rgba(0,176,155,0.30);--terminal-bg:#020617;--terminal-text:#cbd5e1}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{padding:0;margin:0;background:var(--bg);color:var(--text)}body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid rgba(0,176,155,.65);outline-offset:2px;border-radius:4px}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hover) 50%,var(--surface) 75%);background-size:1200px 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-sm)}.skeletonBlock{height:20px;border-radius:6px;margin-bottom:10px}.skeletonBlock:nth-child(2){width:80%}.skeletonBlock:nth-child(3){width:60%}.skipLink{position:absolute;left:-9999px;z-index:999;padding:10px 16px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;border-radius:0 0 8px 0;text-decoration:none}.skipLink:focus{left:0;top:0}.emptyState{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center;color:var(--muted);font-size:14px}.emptyStateIcon{font-size:36px;line-height:1;opacity:.55}.container{width:100%;max-width:1120px;margin:0 auto;padding:16px}.footer{margin-top:24px;border-top:2px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(90deg,#00b09b,#0e8d44) border-box;background-color:rgba(0,176,155,.04)}.footerInner{padding:20px 0 26px;justify-content:space-between;gap:16px;flex-wrap:wrap}.footerBrand,.footerInner{display:flex;align-items:center}.footerBrand{gap:12px;min-width:0}.footerBrandIcon{width:36px;height:36px;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,176,155,.3))}.footerTitle{font-weight:800;font-size:15px;letter-spacing:.2px;background:linear-gradient(90deg,#00b09b,#0e8d44);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footerMeta{margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.5}.footerLinks{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.footerLink{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.03);color:var(--text);font-size:13px;font-weight:600;letter-spacing:.1px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.footerLinkTelegram{border-color:rgba(0,176,155,.3);background:rgba(0,176,155,.07);color:#007c6e}.footerLinkTelegram:hover{border-color:rgba(0,176,155,.55);background:rgba(0,176,155,.14);box-shadow:0 4px 14px rgba(0,176,155,.18);transform:translateY(-2px)}.footerLinkWhatsApp{border-color:rgba(14,141,68,.3);background:rgba(14,141,68,.07);color:#076c30}.footerLinkWhatsApp:hover{border-color:rgba(14,141,68,.55);background:rgba(14,141,68,.14);box-shadow:0 4px 14px rgba(14,141,68,.18);transform:translateY(-2px)}.footerLink:active{transform:translateY(0);box-shadow:none}@media (max-width:540px){.footerInner{flex-direction:column;align-items:flex-start;gap:14px}.footerLinks{width:100%}.footerLink{flex:1 1;justify-content:center}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--topbar-bg);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--border)}.nav{display:flex;justify-content:space-between;height:var(--topbar-h);padding:0 16px;max-width:1120px;margin:0 auto}.brand,.nav{align-items:center}.brand{flex:1 1;display:inline-flex;justify-content:flex-start;gap:10px;font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--text);flex-shrink:0}.brand:hover .brandLogo{transform:scale(1.05)}.brandLogo{width:28px;height:28px;display:block;transition:transform .2s ease}.brandText{line-height:1}.navlinks{display:flex;gap:4px;font-size:14px;color:var(--muted);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.mobile-nav{display:none}.navlinks::-webkit-scrollbar{display:none}.navBtn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;min-height:36px;border-radius:999px;border:1px solid transparent;color:var(--muted);background:transparent;font-family:inherit;font-size:14px;font-weight:500;white-space:nowrap;transition:transform .12s ease,background var(--transition),border-color var(--transition),color var(--transition);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.navBtn:hover{background:rgba(14,141,68,.05);border-color:rgba(14,141,68,.15);color:var(--accent);transform:translateY(-1px)}.navBtn:active{transform:translateY(0)}.navBtnActive{background:rgba(14,141,68,.08);border-color:rgba(14,141,68,.18);color:var(--accent);font-weight:600}.navBtnActive:hover{background:rgba(14,141,68,.12);border-color:rgba(14,141,68,.25);color:var(--accent)}.navBtnText{display:inline-block}.navBtnIcon{display:none}.headerIconBtn{cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;padding:0;border:1px solid var(--border);background:transparent;color:var(--muted);transition:transform .12s ease,background var(--transition),border-color var(--transition),color var(--transition);flex-shrink:0;-webkit-tap-highlight-color:transparent}.headerIconBtn:hover{background:rgba(14,141,68,.05);border-color:rgba(14,141,68,.15);color:var(--accent);transform:translateY(-1px)}.headerIconBtn:active{transform:translateY(0)}.themeToggleWrapper{flex:1 1;display:flex;align-items:center;justify-content:flex-end}@media (max-width:640px){.desktop-nav{display:none!important}.mobile-nav.navlinks{display:flex;position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:20px;right:20px;z-index:50;background:var(--topbar-bg);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border);border-radius:999px;justify-content:space-around;padding:8px 12px;box-shadow:0 12px 40px rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,255,255,.05)}.navBtn{flex-direction:column;gap:4px;padding:6px 4px;min-height:auto;font-size:11px;border-radius:16px;flex:1 1;transition:all .2s ease}.navBtn,.navBtnActive{background:transparent}.navBtnActive{color:var(--accent)}.navBtnActive:hover{background:transparent}.navBtn:hover{background:rgba(15,23,42,.04)}.navBtnIcon{display:flex;align-items:center;justify-content:center;margin-bottom:2px}.footer{padding-bottom:110px}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow);transition:box-shadow var(--transition)}.title{font-size:18px;font-weight:700;line-height:1.35;margin:0 0 8px;letter-spacing:-.01em}.meta{color:var(--muted);font-size:13px;line-height:1.55;word-break:break-word}.arabic{font-family:Noto Naskh Arabic,Amiri,Scheherazade New,Geeza Pro,serif;font-size:26px;line-height:2.2;margin:16px 0 14px;direction:rtl;unicode-bidi:plaintext;text-align:center;word-spacing:.1em;white-space:pre-wrap;color:var(--text);padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.translation{font-size:15px;line-height:1.75;color:var(--text);margin:12px 0;text-align:justify;text-justify:inter-word;text-align-last:left;word-break:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.translation p+p{margin-top:12px}.translation li,.translation p{text-align:justify;text-justify:inter-word;text-align-last:left}.lessonPointText{display:block;white-space:pre-line}.sectionLabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-weight:700;margin:16px 0 8px;padding-left:8px;border-left:3px solid var(--accent2);line-height:1}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);font-size:12px;color:var(--muted)}.prayerGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.prayerCell{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:rgba(15,23,42,.015);transition:border-color .14s ease,background .14s ease}.prayerCellActive{border-color:rgba(14,141,68,.45);background:rgba(14,141,68,.1)}.prayerName{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.prayerTime{margin-top:6px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:18px}.nextBox{border:1px solid rgba(30,176,202,.4);background:rgba(30,176,202,.08);border-radius:14px;padding:12px 14px}@media (max-width:420px){.prayerGrid{grid-template-columns:1fr}}.prayerWidget{position:relative;border-radius:18px;overflow:hidden;color:#fff;background:linear-gradient(165deg,#00b09b,#00a38f);box-shadow:0 18px 50px rgba(0,0,0,.12);border:0}.prayerWidgetWatermark{position:absolute;inset:0;opacity:.1;pointer-events:none;transform:translateY(6%)}.prayerWidgetInner{position:relative;padding:clamp(20px,3.8vw,32px);display:grid;grid-gap:24px;gap:24px}.prayerWidgetTop{text-align:center;display:grid;grid-gap:14px;gap:14px}.prayerWidgetClock{font-weight:800;letter-spacing:.02em;line-height:1;font-size:clamp(46px,9vw,72px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:opacity .18s ease,transform .18s ease}.prayerWidgetSubtitle{font-size:clamp(16px,2.6vw,20px);color:rgba(255,255,255,.88);font-weight:600;letter-spacing:.01em}.prayerWidgetDates{display:grid;grid-gap:4px;gap:4px;justify-items:center}.prayerWidgetHijri{font-size:14px;font-weight:500;color:rgba(255,255,255,.78)}.prayerWidgetGregorian{font-size:12px;color:rgba(255,255,255,.56)}.prayerWidgetControls{display:grid;grid-gap:8px;gap:8px;justify-items:center}.prayerWidgetSelect{width:min(460px,100%);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 14px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.84);outline:none;font-size:13px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.prayerWidgetSelect:focus{border-color:rgba(255,255,255,.28);box-shadow:0 0 0 3px rgba(255,255,255,.1)}.prayerWidgetSelect optgroup,.prayerWidgetSelect option{color:#000}.prayerWidgetStatus{font-size:12px;color:rgba(255,255,255,.66);padding:0;border-radius:12px;width:min(460px,100%)}.prayerWidgetError{font-size:13px;color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.1);padding:10px 12px;border-radius:12px;width:min(720px,100%)}.prayerWidgetBottom{margin-top:4px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.prayerWidgetCol{text-align:center;padding:14px 10px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;min-width:0}.prayerWidgetCol:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);transform:translateY(-1px)}.prayerWidgetColActive{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.1)}.prayerWidgetLabel{font-weight:600;font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.84)}.prayerWidgetTime{margin-top:8px;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prayerWidgetIcon{width:26px;height:26px;margin:10px auto 2px;display:block;opacity:.9}@media (max-width:560px){.prayerWidgetInner{padding:20px 16px;gap:18px}.prayerWidgetTop{gap:12px}.prayerWidgetSubtitle{font-size:16px}.prayerWidgetError,.prayerWidgetSelect,.prayerWidgetStatus{width:100%}.prayerWidgetBottom{grid-template-columns:1fr 1fr}.prayerWidgetBottom>:nth-child(5){grid-column:1/-1}}.list{margin:8px 0 0;padding:0 0 0 18px}.list li{margin:8px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:rgba(15,23,42,.02);color:var(--text);border-radius:999px;padding:10px 16px;min-height:40px;font-size:14px;font-family:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .12s ease}.btn:hover{border-color:rgba(0,176,155,.4);background:rgba(0,176,155,.07);box-shadow:0 2px 8px rgba(0,176,155,.12)}.btn:active{transform:translateY(1px);box-shadow:none}.btnPrimary{border-color:rgba(14,141,68,.4);background:rgba(14,141,68,.1);color:#065e25;font-weight:600}.btnPrimary:hover{border-color:rgba(14,141,68,.55);background:rgba(14,141,68,.16);box-shadow:0 2px 8px rgba(14,141,68,.16)}.btnGhost{border-color:rgba(0,176,155,.4);background:rgba(0,176,155,.1);color:#007264;font-weight:600}.btnGhost:hover{border-color:rgba(0,176,155,.55);background:rgba(0,176,155,.16);box-shadow:0 2px 8px rgba(0,176,155,.14)}.input{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(15,23,42,.02);color:var(--text);outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.input:focus{border-color:rgba(30,176,202,.55);box-shadow:0 0 0 3px rgba(30,176,202,.18);background:rgba(30,176,202,.05)}.input::placeholder{color:rgba(91,101,118,.85)}.row{display:flex;gap:10px;align-items:center}.muted{color:var(--muted)}.splitShell{display:block}.sidebarPanel{display:none}.contentPanel{display:block}.readingWrap{max-width:820px;margin:0 auto;padding:4px 0 48px;display:grid;grid-gap:14px;gap:14px}.listItem{display:block;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .12s ease;border-left:3px solid transparent}.listItem:hover{border-color:rgba(0,176,155,.3) rgba(0,176,155,.3) rgba(0,176,155,.3) rgba(0,176,155,.55);background:rgba(0,176,155,.05);box-shadow:0 2px 10px rgba(0,176,155,.08);transform:translateY(-1px)}.listItemActive{border-color:rgba(14,141,68,.35);border-left-color:var(--accent);background:rgba(14,141,68,.08)}@keyframes fadeIn{0%{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fadeIn{animation:fadeIn .16s ease-out}.contentEnter{animation:fadeIn .18s ease-out}.mobileOnly{display:block}.desktopOnly{display:none}@media (min-width:960px){.splitShell{display:grid;grid-template-columns:380px 1fr;grid-gap:16px;gap:16px;height:calc(100dvh - var(--topbar-h));overflow:hidden;padding:16px;margin:-16px}.sidebarPanel{display:block}.contentPanel,.sidebarPanel{height:100%;overflow:auto;padding-right:6px}.contentPanel{scroll-behavior:smooth}.arabic{font-size:28px;line-height:2.25;text-align:center;margin:16px 0 14px}.mobileOnly{display:none}.desktopOnly{display:block}}@media (prefers-reduced-motion:reduce){.btn,.input,.listItem{transition:none}.contentEnter,.fadeIn{animation:none}}@media (max-width:420px){.container{padding:12px}.arabic{font-size:22px;line-height:2.1}.btn{padding:10px 14px}.sectionLabel{margin:12px 0 6px}}.calGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.calDow{text-align:center;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:8px 0}.calCell{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 8px 6px;min-height:50px;background:rgba(15,23,42,.02);text-align:left;cursor:pointer;transition:transform var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition);color:var(--text)}.calCell:hover{border-color:rgba(0,176,155,.4);background:rgba(0,176,155,.06);box-shadow:0 2px 8px rgba(0,176,155,.1);transform:translateY(-1px)}.calCell:disabled{cursor:default;opacity:.86}.calCellEmpty{background:rgba(15,23,42,.01);border-style:dashed;opacity:.55}.calCellToday{border-color:rgba(14,141,68,.4);background:rgba(14,141,68,.1)}.calCellEvent{border-color:rgba(30,176,202,.45)}.calCellHadith{border-color:rgba(14,141,68,.3)}.calCellSelected{outline:2px solid var(--accent);outline-offset:1px;background:rgba(14,141,68,.12)!important;border-color:rgba(14,141,68,.45)!important}.calG{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;color:var(--text)}.calH{margin-top:4px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calDotEvent{top:10px;background:rgba(30,176,202,.95);box-shadow:0 0 0 3px rgba(30,176,202,.18)}.calDotEvent,.calDotHadith{position:absolute;right:10px;width:9px;height:9px;border-radius:999px}.calDotHadith{bottom:10px;background:rgba(14,141,68,.95);box-shadow:0 0 0 3px rgba(14,141,68,.18)}.calShell{display:grid;grid-gap:14px;gap:14px}.calLeft,.calRight{display:block}@media (min-width:960px){.calShell{grid-template-columns:420px 1fr;gap:16px;height:calc(100dvh - var(--topbar-h));overflow:hidden;padding:16px;margin:-16px}.calLeft,.calRight{height:100%;overflow:auto;padding-right:6px}.calRight{scroll-behavior:smooth}}.calModalOverlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px}.calModalBackdrop{position:fixed;inset:0;border:0;background:rgba(0,0,0,.35);cursor:pointer}.calModal{position:relative;z-index:1;width:min(720px,100%);max-height:min(82dvh,760px);overflow:auto;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);padding:14px}@media (prefers-reduced-motion:reduce){.calCell{transition:none}}@keyframes bounceIn{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pwaSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes spin{to{transform:rotate(1turn)}}.streakBadge{display:flex;align-items:center;gap:8px;background:var(--streak-bg);padding:10px 20px;border-radius:9999px;color:var(--streak-text);font-weight:700;border:1px solid var(--streak-border);box-shadow:0 2px 8px rgba(14,141,68,.08);width:-moz-fit-content;width:fit-content;margin-bottom:4px;animation:bounceIn .5s ease-out;font-size:14px}.streakBadge svg{color:var(--accent);fill:var(--accent)}.markReadBtn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 4px 14px rgba(14,141,68,.3);transition:transform .16s ease,box-shadow .16s ease}.markReadBtn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(14,141,68,.35)}.markReadBtn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(14,141,68,.2)}.readConfirmation{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:var(--success-soft-bg);color:var(--success);border:2px dashed var(--success-soft-border);border-radius:var(--radius-md);font-size:16px;font-weight:700}.ttsBtn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--tts-bg);color:var(--tts-text);border:1px solid var(--tts-border);border-radius:20px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:8px;transition:background var(--transition),border-color var(--transition),color var(--transition)}.ttsBtn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.ttsBtnActive{color:var(--tts-active-text)}.ttsBtnActive,.ttsBtnActive:hover{background:var(--tts-active-bg);border-color:var(--tts-active-border)}.searchHero{background:linear-gradient(135deg,var(--search-hero-from) 0,var(--search-hero-to) 100%);padding:32px 24px;border-radius:var(--radius-lg);color:var(--search-hero-text);box-shadow:0 10px 30px rgba(0,0,0,.1);border:1px solid var(--border)}.searchHeroTitle{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800}.searchHeroDesc{margin:0 0 24px;color:var(--search-hero-muted);font-size:15px;max-width:600px;line-height:1.6}.searchForm{display:flex;gap:12px;width:100%}.searchInputWrap{position:relative;flex:1 1}.searchInputIcon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);opacity:.6}.searchInput{width:100%;padding:14px 14px 14px 48px;border-radius:var(--radius-md);border:1px solid var(--border);font-size:15px;font-family:inherit;color:var(--text);background:var(--card);outline:none;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:border-color var(--transition),box-shadow var(--transition)}.searchInput:focus{border-color:rgba(0,176,155,.55);box-shadow:0 0 0 3px rgba(0,176,155,.18)}.searchInput::placeholder{color:var(--muted)}.searchSubmitBtn{padding:0 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:15px;font-family:inherit;cursor:pointer;transition:opacity var(--transition),transform .12s ease;white-space:nowrap}.searchSubmitBtn:hover{opacity:.9}.searchSubmitBtn:active{transform:scale(.98)}.searchSubmitBtn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.searchForm{flex-direction:column}.searchSubmitBtn{padding:12px}.searchHero{padding:24px 16px}.searchHeroTitle{font-size:20px}}.matchBadge{position:absolute;top:16px;right:16px;background:var(--match-bg);color:var(--match-text);border:1px solid var(--match-border);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;z-index:10}.resultHeading{font-size:18px;color:var(--text);margin:0;padding-left:8px;font-weight:700}.emptyCard{padding:40px;text-align:center;color:var(--muted);background:var(--card);border-radius:var(--radius-md);border:1px dashed var(--border-strong);line-height:1.6}.statGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.statCard{background:var(--card);padding:20px;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);transition:box-shadow var(--transition),transform .12s ease}.statCard:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.statCardIcon{padding:12px;border-radius:var(--radius-sm);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.statCardLabel{color:var(--muted);font-size:13px;font-weight:600}.statCardValue{font-size:26px;font-weight:800;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chartGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:20px;gap:20px}.chartCard{background:var(--card);padding:24px;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow)}.chartCardTitle{margin:0 0 16px;color:var(--text);font-size:16px;font-weight:700}.diagOuter{background:var(--card);padding:24px;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow)}.diagHeader{justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.diagHeader,.diagHeaderTitle{display:flex;align-items:center}.diagHeaderTitle{gap:8px}.diagHeaderTitle h3{margin:0;color:var(--text);font-size:18px}.diagRefreshBtn{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;transition:opacity var(--transition),transform .12s ease}.diagRefreshBtn:hover{opacity:.9;transform:translateY(-1px)}.diagRefreshBtn:active{transform:translateY(0)}.diagGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.serviceCard{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.serviceCardHeader{display:flex;align-items:center;gap:16px}.serviceCardIconWrap{padding:12px;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--muted);display:flex;align-items:center;justify-content:center}.serviceCardInfo{flex:1 1}.serviceCardTitle{font-weight:600;color:var(--text)}.serviceCardDesc{font-size:12px;color:var(--muted)}.serviceLog{background:var(--terminal-bg);border-radius:var(--radius-sm);padding:12px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;height:160px;overflow-y:auto;color:var(--terminal-text)}.serviceLogEntry{margin-bottom:6px;display:flex;gap:8px;line-height:1.4}.serviceLogTime{color:var(--muted);flex-shrink:0}.serviceLogSuccess{color:#6EE7B7}.serviceLogError{color:#FCA5A5}.serviceLogInfo{color:#D1D5DB}.pushDetails{display:flex;flex-direction:column;gap:8px;font-size:12px;padding:10px 12px;background:var(--surface-raised);border-radius:var(--radius-sm);border:1px solid var(--border)}.pushDetailRow{display:flex;justify-content:space-between}.pushDetailLabel{color:var(--muted)}.pushDetailBtn,.pushDetailValue{font-weight:600;color:var(--text)}.pushDetailBtn{margin-top:8px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:12px;font-family:inherit;cursor:pointer;text-align:center;width:100%;display:block;transition:background var(--transition),border-color var(--transition)}.pushDetailBtn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.pushWarningBox{display:flex;gap:6px;font-size:11px;background:var(--warning-soft-bg);color:var(--warning-soft-text);padding:8px 10px;border-radius:6px;border:1px solid var(--warning-soft-border);line-height:1.3;margin-top:4px}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;display:flex;justify-content:center;align-items:center;padding:16px}.modalPanel{background:var(--card);border-radius:var(--radius-md);width:100%;max-width:640px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.2);overflow:hidden;border:1px solid var(--border)}.modalPanelWide{max-width:800px;max-height:90vh}.modalHeader{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;background:var(--card);z-index:10}.modalHeader h2,.modalHeader h4{margin:0;font-weight:700;color:var(--text)}.modalCloseBtn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);padding:4px;line-height:1;border-radius:4px;transition:color var(--transition),background var(--transition)}.modalCloseBtn:hover{color:var(--text);background:var(--surface-hover)}.modalBody{padding:20px;overflow-y:auto;flex:1 1}.modalFooter{padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-raised);display:flex;justify-content:flex-end;gap:12px;position:-webkit-sticky;position:sticky;bottom:0}.toggleLabel{position:relative;display:inline-block;width:42px;height:22px;cursor:pointer}.toggleLabel[data-disabled=true]{cursor:not-allowed;opacity:.6}.toggleInput{opacity:0;width:0;height:0;position:absolute}.toggleTrack{position:absolute;inset:0;background-color:var(--toggle-off);border-radius:22px;transition:background-color .2s}.toggleInput:checked+.toggleTrack{background-color:var(--toggle-on)}.toggleKnob{position:absolute;height:16px;width:16px;left:3px;bottom:3px;background-color:var(--toggle-knob);border-radius:50%;transition:left .2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.toggleInput:checked~.toggleKnob{left:23px}.notifDropdown{position:absolute;top:100%;right:0;margin-top:8px;width:300px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-hover);z-index:100;display:flex;flex-direction:column;gap:12px;text-align:left}.notifTitle{margin:0;font-size:14px;font-weight:600;color:var(--text)}.notifDesc{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.4}.notifDivider{border:0;border-top:1px solid var(--border);margin:0}.notifToggleRow{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.notifToggleLabel{font-size:13px;font-weight:500;color:var(--text)}.notifTestBtn{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background var(--transition),border-color var(--transition)}.notifTestBtn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.notifStatus{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.notifStatusWarning{color:var(--warning);margin-top:4px}.notifStatusError{color:var(--error);margin-top:4px}.notifDot{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:var(--success-dot);border-radius:50%;border:2px solid var(--card)}.pwaBanner{position:fixed;bottom:0;left:0;right:0;z-index:60;padding:12px;pointer-events:none;transition:bottom var(--transition)}@media (max-width:640px){.pwaBanner{bottom:calc(84px + env(safe-area-inset-bottom))}}.pwaBannerInner{max-width:480px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 -4px 24px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);padding:20px;pointer-events:auto;position:relative;overflow:hidden}.pwaBannerAccent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:16px 16px 0 0}.pwaBannerCloseBtn{position:absolute;top:10px;right:10px;background:var(--surface);border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.pwaBannerCloseBtn:hover{background:var(--surface-hover)}.pwaBannerContent{display:flex;align-items:center;gap:14px}.pwaBannerIcon{width:50px;height:50px;border-radius:var(--radius-md);background:var(--info-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--info-border);color:var(--accent)}.pwaBannerText{flex:1 1;padding-right:24px}.pwaBannerTitle{margin:0 0 3px;font-size:15px;font-weight:700;color:var(--text)}.pwaBannerDesc{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}.pwaBannerActions{margin-top:14px}.pwaBannerInstallBtn{width:100%;padding:11px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;font-weight:700;font-size:14px;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--transition),transform .12s ease;box-shadow:0 4px 12px rgba(14,141,68,.25)}.pwaBannerInstallBtn:hover{opacity:.9}.pwaBannerInstallBtn:active{transform:scale(.98)}.pwaBannerIosHint{font-size:13px;color:var(--text);background:var(--info-bg);border:1px solid var(--info-border);padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:8px;line-height:1.5}.pwaBannerIosHint svg{flex-shrink:0;color:var(--accent)}.cmsContainer{max-width:1200px;margin:0 auto}.cmsBackLink{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-weight:600;margin-bottom:16px;font-size:14px;transition:color var(--transition)}.cmsBackLink:hover,.cmsTitle{color:var(--text)}.cmsTitle{margin:0;font-size:24px;font-weight:800}.cmsDesc{margin:8px 0 0;color:var(--muted)}.cmsTableWrap{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.cmsTable{width:100%;text-align:left;border-collapse:collapse}.cmsTable thead{background:var(--surface-raised);border-bottom:1px solid var(--border)}.cmsTable th{padding:14px 20px;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cmsTable td{padding:14px 20px;color:var(--text)}.cmsTable tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition)}.cmsTable tbody tr:hover{background:var(--surface)}.cmsTable tbody tr:last-child{border-bottom:none}.cmsSortBtn{display:flex;align-items:center;gap:6px;cursor:pointer;background:none;border:none;padding:0;color:inherit;font:inherit}.cmsBadge{padding:5px 12px;border-radius:9999px;font-size:12px;font-weight:600;white-space:nowrap}.cmsBadgeApproved{background:var(--success-soft-bg);color:var(--success)}.cmsBadgePending{background:var(--warning-soft-bg);color:var(--warning-soft-text)}.cmsEditBtn{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:13px;font-family:inherit;box-shadow:0 1px 4px rgba(14,141,68,.2);transition:opacity var(--transition),transform .12s ease}.cmsEditBtn:hover{opacity:.9;transform:translateY(-1px)}.cmsEditBtn:active{transform:translateY(0)}.cmsFormGroup{display:flex;flex-direction:column;gap:8px}.cmsLabel{display:block;font-weight:600;color:var(--text);font-size:14px}.cmsTextarea{width:100%;min-height:120px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:15px;font-family:inherit;background:var(--card);color:var(--text);outline:none;transition:border-color var(--transition),box-shadow var(--transition);resize:vertical}.cmsTextarea:focus{border-color:rgba(0,176,155,.55);box-shadow:0 0 0 3px rgba(0,176,155,.18)}.cmsTextareaArabic{font-family:Noto Naskh Arabic,Amiri,serif;font-size:20px;direction:rtl}.cmsLessonRow{display:flex;gap:10px;margin-bottom:10px}.cmsLessonNum{font-weight:700;margin-top:10px;color:var(--muted)}.modalBtnCancel{padding:10px 20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.modalBtnCancel:hover{background:var(--surface-hover);border-color:var(--border-strong)}.modalBtnDraft{padding:10px 20px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition)}.modalBtnDraft:hover{background:var(--surface-hover)}.modalBtnWarning{padding:10px 20px;background:var(--warning-soft-bg);border:1px solid var(--warning-soft-border);border-radius:var(--radius-sm);color:var(--warning-soft-text);font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--transition)}.modalBtnWarning:hover{opacity:.85}.modalBtnApprove{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--success);border:none;border-radius:var(--radius-sm);color:#fff;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity var(--transition),transform .12s ease}.modalBtnApprove:hover{opacity:.9;transform:translateY(-1px)}.modalBtnApprove:active{transform:translateY(0)}.adminCmsLink{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;padding:10px 20px;border-radius:var(--radius-sm);text-decoration:none;font-weight:700;font-size:14px;transition:opacity var(--transition),transform .12s ease;box-shadow:0 2px 8px rgba(14,141,68,.2)}.adminCmsLink:hover{opacity:.9;transform:translateY(-1px)}.loadingText{padding:40px;text-align:center;color:var(--muted)}.spinAnimation{animation:spin 1s linear infinite}.deviceCard{padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);display:flex;flex-direction:column;gap:6px}.deviceCardHeader{display:flex;justify-content:space-between;align-items:center}.deviceCardName{font-weight:600;color:var(--text);font-size:14px}.deviceCardId{font-size:11px;color:var(--muted);font-family:SF Mono,monospace}.deviceCardMeta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.deviceCardUA{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;font-family:SF Mono,monospace}@media (max-width:480px){.calCell{padding:6px 4px 4px;min-height:44px}.calG{font-size:13px}.calH{font-size:10px;margin-top:2px}.calDotEvent,.calDotHadith{width:6px;height:6px;right:4px}.calDotEvent{top:4px}.calDotHadith{bottom:4px}}