@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Amiri:wght@400;700&display=swap";
:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#111827cc;--bg-card-hover:#192337e6;--bg-glass:#ffffff0d;--bg-glass-hover:#ffffff14;--accent-gold:#d4a853;--accent-gold-light:#f0d48a;--accent-gold-dark:#b8922f;--accent-emerald:#10b981;--accent-emerald-light:#34d399;--accent-emerald-dark:#059669;--accent-purple:#8b5cf6;--accent-purple-light:#a78bfa;--accent-blue:#3b82f6;--accent-blue-light:#60a5fa;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-gold:#d4a853;--border-subtle:#ffffff14;--border-light:#ffffff1f;--gradient-gold:linear-gradient(135deg,#d4a853,#f0d48a);--gradient-emerald:linear-gradient(135deg,#059669,#34d399);--gradient-purple:linear-gradient(135deg,#7c3aed,#a78bfa);--gradient-hero:linear-gradient(135deg,#0a0e1a 0%,#1a1040 50%,#0a2540 100%);--gradient-card:linear-gradient(135deg,#d4a8531a,#10b9810d);--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 15px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-gold:0 4px 20px #d4a85333;--shadow-emerald:0 4px 20px #10b98133;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-main:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--font-arabic:"Amiri",serif;--sidebar-width:260px;--header-height:64px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;transition:all .3s}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);box-shadow:var(--shadow-md)}.glass-card-static{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px}.btn{border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gradient-gold);color:#0a0e1a;box-shadow:var(--shadow-gold)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px #d4a85359}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--accent-gold);color:var(--accent-gold)}.btn-emerald{background:var(--gradient-emerald);color:#fff;box-shadow:var(--shadow-emerald)}.btn-emerald:hover{transform:translateY(-2px);box-shadow:0 6px 30px #10b98159}.btn-danger{color:var(--accent-rose);background:#f43f5e26;border:1px solid #f43f5e4d}.btn-danger:hover{background:#f43f5e40}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-lg{border-radius:var(--radius-lg);padding:16px 36px;font-size:1.05rem}.btn-icon{border-radius:var(--radius-md);width:40px;height:40px;padding:0;font-size:1.2rem}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.input{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-main);outline:none;padding:12px 16px;font-size:.95rem;transition:all .3s}.input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px #d4a85326}.input::placeholder{color:var(--text-muted)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}select.input option{background:var(--bg-secondary);color:var(--text-primary)}textarea.input{resize:vertical;min-height:120px}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);z-index:100;flex-direction:column;height:100vh;padding:24px 16px;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-brand{align-items:center;gap:12px;margin-bottom:32px;padding:8px 12px;display:flex}.sidebar-brand-icon{background:var(--gradient-gold);border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;display:flex}.sidebar-brand h1{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-link{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;font-size:.92rem;font-weight:500;font-family:var(--font-main);background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s;display:flex}.sidebar-link:hover{background:var(--bg-glass);color:var(--text-primary)}.sidebar-link.active{color:var(--accent-gold);background:#d4a8531f}.sidebar-link .icon{text-align:center;width:24px;font-size:1.2rem}.sidebar-footer{border-top:1px solid var(--border-subtle);padding-top:16px}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:32px}.page-header{margin-bottom:32px}.page-header h1{margin-bottom:4px;font-size:1.75rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:.95rem}.checkbox-item{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:16px;padding:16px 20px;transition:all .3s;display:flex}.checkbox-item:hover{background:var(--bg-glass-hover);border-color:var(--border-light)}.checkbox-item.checked{background:#10b98114;border-color:#10b9814d}.checkbox-custom{border:2px solid var(--border-light);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s;display:flex}.checkbox-item.checked .checkbox-custom{background:var(--accent-emerald);border-color:var(--accent-emerald)}.checkbox-custom:after{content:"✓";color:#fff;opacity:0;font-size:.85rem;font-weight:700;transition:all .2s;transform:scale(0)}.checkbox-item.checked .checkbox-custom:after{opacity:1;transform:scale(1)}.checkbox-label{flex:1}.checkbox-label .name{font-size:.95rem;font-weight:500}.checkbox-item.checked .checkbox-label .name{color:var(--text-secondary);text-decoration:line-through}.checkbox-icon{font-size:1.3rem}.progress-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring .track{fill:none;stroke:var(--border-subtle)}.progress-ring .fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1s}.progress-ring .label{text-align:center;position:absolute}.progress-ring .label .value{font-size:1.75rem;font-weight:700}.progress-ring .label .unit{color:var(--text-secondary);font-size:.75rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-header{text-align:center;color:var(--text-muted);text-transform:uppercase;padding:8px 0;font-size:.75rem;font-weight:600}.calendar-day{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .3s;display:flex;position:relative}.calendar-day:hover{border-color:var(--border-light);transform:scale(1.05)}.calendar-day.today{border-color:var(--accent-gold);box-shadow:var(--shadow-gold)}.calendar-day .completion{color:var(--text-muted);margin-top:2px;font-size:.6rem}.calendar-day.level-0{background:var(--bg-glass)}.calendar-day.level-1{color:var(--accent-rose);background:#f43f5e33}.calendar-day.level-2{color:var(--accent-amber);background:#f59e0b33}.calendar-day.level-3{color:var(--accent-emerald-light);background:#10b98126}.calendar-day.level-4{color:var(--accent-emerald);background:#10b9814d}.calendar-day.level-5{background:var(--accent-emerald);color:#fff}.calendar-day.inactive{opacity:.3;cursor:default}.prayer-list{flex-direction:column;gap:8px;display:flex}.prayer-item{background:var(--bg-glass);border-radius:var(--radius-md);border:1px solid #0000;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;display:flex}.prayer-item.next{border-color:var(--accent-gold);background:#d4a85314}.prayer-item .prayer-name{font-size:.9rem;font-weight:500}.prayer-item .prayer-time{color:var(--accent-gold-light);font-family:Outfit,monospace;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;transition:all .3s}.stat-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-icon{margin-bottom:12px;font-size:1.5rem}.stat-card .stat-value{margin-bottom:4px;font-size:1.75rem;font-weight:700}.stat-card .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.journal-entry{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;padding:20px;transition:all .3s}.journal-entry:hover{border-color:var(--border-light)}.journal-entry .entry-date{color:var(--accent-gold);margin-bottom:8px;font-size:.8rem;font-weight:600}.journal-entry .entry-content{color:var(--text-secondary);font-size:.92rem;line-height:1.7}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--accent-gold);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.5s forwards fadeIn}.animate-slide-in{animation:.4s forwards slideIn}.animate-scale-in{animation:.3s forwards scaleIn}.mobile-nav{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 16px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-items{justify-content:space-around;align-items:center;display:flex}.mobile-nav-item{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font-size:.65rem;font-weight:500;font-family:var(--font-main);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-item.active{color:var(--accent-gold)}.mobile-nav-item .icon{font-size:1.3rem}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:16px 16px 80px}.mobile-nav{display:block}.stats-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{gap:4px}.page-header h1{font-size:1.4rem}.btn-lg{padding:14px 28px;font-size:.95rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.landing-page{background:var(--gradient-hero);min-height:100vh;overflow:hidden}.landing-nav{z-index:10;justify-content:space-between;align-items:center;padding:20px 40px;display:flex;position:relative}.landing-nav .brand{align-items:center;gap:12px;display:flex}.landing-nav .brand-icon{background:var(--gradient-gold);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.landing-nav .brand-name{color:var(--accent-gold-light);font-size:1.1rem;font-weight:700}.landing-hero{text-align:center;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:40px;display:flex;position:relative}.hero-content{z-index:2;max-width:700px}.hero-badge{border-radius:var(--radius-full);color:var(--accent-gold);background:#d4a8531f;border:1px solid #d4a85340;align-items:center;gap:8px;margin-bottom:24px;padding:8px 20px;font-size:.85rem;font-weight:500;animation:.6s fadeIn;display:inline-flex}.hero-title{margin-bottom:20px;font-size:3.5rem;font-weight:800;line-height:1.1;animation:.8s fadeIn}.hero-title .highlight{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);margin-bottom:36px;font-size:1.15rem;line-height:1.7;animation:1s fadeIn}.hero-actions{justify-content:center;gap:16px;animation:1.2s fadeIn;display:flex}.hero-decoration{z-index:1;background:radial-gradient(circle,#d4a85314 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-stars{z-index:0;position:absolute;inset:0;overflow:hidden}.star{background:var(--accent-gold);opacity:.3;border-radius:50%;width:3px;height:3px;animation:3s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.8}}.landing-features{background:#0003;padding:80px 40px}.features-title{text-align:center;margin-bottom:48px;font-size:2rem;font-weight:700}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1000px;margin:0 auto;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px 28px;transition:all .3s}.feature-card:hover{border-color:var(--accent-gold);box-shadow:var(--shadow-gold);transform:translateY(-4px)}.feature-card .feature-icon{margin-bottom:16px;font-size:2rem}.feature-card h3{margin-bottom:8px;font-size:1.1rem;font-weight:600}.feature-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.auth-page{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:420px;padding:40px}.auth-card .auth-brand{text-align:center;margin-bottom:32px}.auth-card .auth-brand .icon{margin-bottom:12px;font-size:2.5rem}.auth-card .auth-brand h1{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.auth-card .auth-brand p{color:var(--text-secondary);margin-top:4px;font-size:.88rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form .error-message{border-radius:var(--radius-md);color:var(--accent-rose);background:#f43f5e1a;border:1px solid #f43f5e4d;padding:12px 16px;font-size:.85rem}.auth-form .success-message{border-radius:var(--radius-md);color:var(--accent-emerald);background:#10b9811a;border:1px solid #10b9814d;padding:12px 16px;font-size:.85rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.88rem}.auth-footer a{color:var(--accent-gold);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.setup-page{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.setup-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:500px;padding:40px}.setup-card h1{text-align:center;margin-bottom:8px;font-size:1.5rem;font-weight:700}.setup-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.setup-form{flex-direction:column;gap:20px;display:flex}.tabs{background:var(--bg-glass);border-radius:var(--radius-md);gap:4px;margin-bottom:24px;padding:4px;display:flex}.tab{color:var(--text-secondary);font-family:var(--font-main);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.tab.active{background:var(--bg-card);color:var(--accent-gold);box-shadow:var(--shadow-sm)}.tab:hover:not(.active){color:var(--text-primary)}.tooltip{position:relative}.tooltip-text{visibility:hidden;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);white-space:nowrap;z-index:1000;margin-bottom:8px;padding:6px 12px;font-size:.75rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-text{visibility:visible}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state .empty-icon{opacity:.5;margin-bottom:16px;font-size:3rem}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:1.1rem;font-weight:600}.empty-state p{max-width:300px;margin:0 auto;font-size:.88rem}
