.nv-page{--nv-bg-a:#090d16;--nv-bg-b:#020408;--nv-primary:#10b981;--nv-primary-rgb:16, 185, 129;--nv-accent:#6366f1;--nv-text:#f8fafc;--nv-muted:#94a3b8;--nv-card:#0f172a7a;--nv-border:#ffffff14;min-height:100vh;color:var(--nv-text);background:linear-gradient(135deg, var(--nv-bg-a), var(--nv-bg-b));font-family:var(--font-sans,"Plus Jakarta Sans", system-ui, sans-serif)}.nv-page.theme-fajr{--nv-bg-a:#0c152b;--nv-bg-b:#1e112c;--nv-primary:#f472b6;--nv-primary-rgb:244, 114, 182;--nv-accent:#a78bfa}.nv-page.theme-sunrise{--nv-bg-a:#1e152a;--nv-bg-b:#3b1d1d;--nv-primary:#fb923c;--nv-primary-rgb:251, 146, 60;--nv-accent:#facc15}.nv-page.theme-dhuhr{--nv-bg-a:#0369a1;--nv-bg-b:#075985;--nv-primary:#2dd4bf;--nv-primary-rgb:45, 212, 191;--nv-accent:#38bdf8}.nv-page.theme-asr{--nv-bg-a:#1e293b;--nv-bg-b:#451a03;--nv-primary:#fbbf24;--nv-primary-rgb:251, 191, 36;--nv-accent:#f97316}.nv-page.theme-maghrib{--nv-bg-a:#1a0b2e;--nv-bg-b:#0f051d;--nv-primary:#ef4444;--nv-primary-rgb:239, 68, 68;--nv-accent:#f97316}.nv-shell{flex-direction:column;gap:2rem;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 1.5rem 2rem;display:flex}.nv-header,.nv-hero-footer,.nv-weekly-title,.nv-prayer-row,.nv-prayer-name,.nv-tabs,.nv-search{align-items:center;display:flex}.nv-header{justify-content:space-between}.nv-brand{color:var(--nv-text);align-items:center;gap:.75rem;font-size:1.8rem;font-weight:800;text-decoration:none;display:inline-flex}.nv-brand-icon{color:var(--nv-primary);filter:drop-shadow(0 0 8px rgba(var(--nv-primary-rgb), .45))}.nv-glass{background:var(--nv-card);border:1px solid var(--nv-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;box-shadow:0 8px 32px #00000052}.nv-btn{border:1px solid var(--nv-border);color:var(--nv-text);cursor:pointer;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1.05rem;font-weight:700;display:inline-flex}.nv-btn:hover{background:#ffffff1a}.nv-primary{color:#020617;background:var(--nv-primary);border-color:#0000}.nv-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:2rem;display:grid}.nv-hero{flex-direction:column;justify-content:space-between;min-height:400px;padding:2.25rem;display:flex}.nv-location{color:var(--nv-muted);gap:.5rem;display:flex}.nv-countdown{text-align:center}.nv-countdown-label{color:var(--nv-muted);letter-spacing:.12em;margin-bottom:.5rem;font-size:1rem;font-weight:800}.nv-countdown-time{font-size:clamp(3.4rem,8vw,5.5rem);font-weight:900;line-height:1}.nv-progress{background:#ffffff17;border-radius:999px;height:6px;margin-top:1.5rem;overflow:hidden}.nv-progress-fill{background:linear-gradient(90deg, var(--nv-primary), var(--nv-accent));border-radius:999px;height:100%;transition:width 1s linear}.nv-hero-footer{border-top:1px solid var(--nv-border);color:var(--nv-muted);justify-content:space-between;gap:1rem;padding-top:1.25rem}.nv-prayer-card,.nv-weekly{padding:1.5rem}.nv-prayer-card h2,.nv-weekly h2{margin:0;font-size:1.1rem}.nv-prayer-list{gap:.75rem;margin-top:1.25rem;display:grid}.nv-prayer-row{background:#ffffff0a;border-radius:14px;justify-content:space-between;padding:.85rem 1rem}.nv-prayer-row.active{color:#020617;background:var(--nv-primary)}.nv-prayer-name{gap:.75rem}.nv-weekly-title{border-bottom:1px solid var(--nv-border);gap:.65rem;padding-bottom:1rem}.nv-table-wrap{overflow-x:auto}.nv-table{border-collapse:collapse;width:100%;min-width:760px}.nv-table th,.nv-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:.9rem .75rem}.nv-table th{color:var(--nv-muted);text-transform:uppercase;font-size:.78rem}.nv-table tr.today{color:var(--nv-primary)}.nv-footer{color:var(--nv-muted);text-align:center;font-size:.85rem}.nv-loading{text-align:center;min-height:360px;color:var(--nv-muted);place-content:center;gap:1rem;display:grid}.nv-spinner{color:var(--nv-primary);font-size:3rem}.nv-modal-overlay{z-index:1000;background:#020617c7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.nv-modal{width:min(640px,100%);max-height:88vh;padding:1.5rem;position:relative;overflow:auto}.nv-close{color:var(--nv-muted);cursor:pointer;background:0 0;border:0;font-size:1.8rem;position:absolute;top:1rem;right:1rem}.nv-tabs{gap:.75rem;margin:1rem 0}.nv-tabs>*{flex:1}.nv-form-stack{flex-direction:column;gap:1rem;display:flex}.nv-input{border:1px solid var(--nv-border);width:100%;min-height:42px;color:var(--nv-text);background:#ffffff0f;border-radius:10px;padding:.75rem .9rem}.nv-input option{color:#020617}.nv-muted{color:var(--nv-muted);text-align:center;font-size:.86rem}.nv-error{color:#f87171;text-align:center;font-size:.86rem}.nv-results{gap:.25rem;max-height:180px;padding:.5rem;display:grid;overflow:auto}.nv-result{color:var(--nv-text);text-align:left;cursor:pointer;background:#ffffff0a;border:0;border-radius:10px;padding:.7rem}.nv-coords{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.nv-note{color:var(--nv-muted);padding:1rem;font-size:.88rem}@media (max-width:860px){.nv-main-grid{grid-template-columns:1fr}.nv-hero-footer{flex-direction:column;align-items:flex-start}.nv-shell{padding:0 1rem 1rem}.nv-coords{grid-template-columns:1fr}}.nv-page{height:100vh;overflow-y:auto}.nv-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.nv-nav a.nv-btn{color:var(--nv-text);text-decoration:none}.nv-btn-home{border-color:rgba(var(--nv-primary-rgb), .55);background:rgba(var(--nv-primary-rgb), .16)}.nv-short{display:none}@media (max-width:600px){.nv-header{flex-wrap:nowrap;gap:.5rem}.nv-brand{gap:.5rem}.nv-nav{flex-wrap:nowrap;gap:.35rem}.nv-nav .nv-btn{white-space:nowrap;padding:.5rem .7rem;font-size:.85rem}.nv-long{display:none}.nv-short{display:inline}}@media (max-width:400px){.nv-brand span{display:none}}.nv-header{min-height:var(--header-height);margin-bottom:-.5rem}.nv-brand{font-size:var(--brand-size);letter-spacing:-.025em;font-weight:700}.nv-nav .nv-btn{border-radius:8px;padding:.6rem 1rem;font-size:.9rem}@media (max-width:600px){.nv-header{min-height:56px}.nv-brand{font-size:1.25rem}.nv-nav .nv-btn{padding:.5rem .7rem;font-size:.85rem}}.nv-nav .nv-btn{height:39px;font-family:inherit;line-height:1}@media (max-width:600px){.nv-nav .nv-btn{height:36px}}
