/* ================================================================
   HabityZen Dashboard - Hardcoded Premium Styles
   All values explicit - no broken variable dependencies
   ================================================================ */

/* ================================================================
   1. AUTH PAGES
   ================================================================ */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;font-family:'Tajawal',sans-serif;background:linear-gradient(160deg,#EBF8FF 0%,#F7FEE7 40%,#ECFEFF 70%,#F8FAFC 100%);position:relative;overflow:hidden}
.auth-page::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2300A8FC' fill-opacity='0.03'%3E%3Cpath d='M20 20.5V18H18v2.5h-2.5V22H18v2.5h2V22h2.5v-1.5H20z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.auth-container{display:grid;grid-template-columns:1fr 1fr;max-width:980px;width:100%;border-radius:24px;overflow:hidden;box-shadow:0 32px 64px rgba(0,0,0,0.07),0 0 0 1px rgba(0,0,0,0.03);position:relative;z-index:1;animation:authReveal .6s ease}
.auth-card{background:#fff;padding:56px 48px}
.auth-header{text-align:center;margin-bottom:36px}
.auth-header img{margin:0 auto 20px;display:block}
.auth-title{font-family:'Cairo',sans-serif;font-size:1.75rem;font-weight:800;color:#0F172A;margin-bottom:10px}
.auth-subtitle{color:#64748B;font-size:.95rem;line-height:1.6}
.auth-form .form-group{margin-bottom:22px}
.auth-form .form-label{display:block;font-weight:600;margin-bottom:8px;font-size:.9rem;color:#334155}
.auth-form .form-input{width:100%;padding:15px 20px;border:2px solid #E2E8F0;border-radius:14px;font-family:'Tajawal',sans-serif;font-size:.95rem;transition:.3s;background:#F8FAFC;color:#0F172A}
.auth-form .form-input:focus{outline:none;border-color:#00A8FC;background:#fff;box-shadow:0 0 0 4px rgba(0,168,252,0.1)}
.auth-form .form-input::placeholder{color:#94A3B8}
.auth-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:.85rem}
.auth-remember{display:flex;align-items:center;gap:8px;color:#64748B;cursor:pointer}
.auth-remember input{accent-color:#00A8FC;width:16px;height:16px}
.auth-forgot{color:#00A8FC;font-weight:600;font-size:.85rem}
.auth-forgot:hover{text-decoration:underline}
.auth-divider{text-align:center;margin:28px 0;position:relative;color:#94A3B8;font-size:.85rem}
.auth-divider span{background:#fff;padding:0 16px;position:relative;z-index:1}
.auth-divider::before{content:'';position:absolute;top:50%;right:0;left:0;height:1px;background:#E2E8F0}
.auth-social-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border:2px solid #E2E8F0;border-radius:14px;font-family:'Tajawal',sans-serif;font-size:.92rem;font-weight:500;color:#334155;background:#fff;cursor:pointer;transition:.3s}
.auth-social-btn:hover{border-color:#00A8FC;background:#F0F9FF;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.05)}
.auth-footer-text{text-align:center;font-size:.9rem;color:#64748B;margin-top:28px}
.auth-footer-text a{color:#00A8FC;font-weight:700}
.auth-alert{padding:16px 20px;border-radius:12px;font-size:.9rem;margin-bottom:20px;font-weight:500;display:flex;align-items:center;gap:10px}
.auth-alert--success{background:#D1FAE5;color:#059669;border:1px solid #A7F3D0}
.auth-alert--error{background:#FEE2E2;color:#DC2626;border:1px solid #FECACA}
.auth-info{background:linear-gradient(135deg,#00A8FC 0%,#84CC16 100%);padding:56px 48px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.auth-info::before{content:'';position:absolute;top:-40%;right:-20%;width:350px;height:350px;background:radial-gradient(circle,rgba(255,255,255,0.12),transparent 70%);border-radius:50%}
.auth-info::after{content:'';position:absolute;bottom:-30%;left:-15%;width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,0.08),transparent 70%);border-radius:50%}
.auth-info-content{position:relative;z-index:1;color:#fff}
.auth-info-content h2{font-family:'Cairo',sans-serif;font-size:2.2rem;font-weight:800;margin-bottom:18px;line-height:1.25}
.auth-info-content p{opacity:.85;margin-bottom:32px;font-size:1.05rem;line-height:1.7}
.auth-info-features{display:flex;flex-direction:column;gap:14px}
.auth-info-feature{display:flex;align-items:center;gap:10px;font-size:.95rem;padding:10px 18px;background:rgba(255,255,255,0.12);border-radius:12px;backdrop-filter:blur(4px)}
.auth-info-feature::before{content:'✓';font-weight:700;opacity:.9}

/* ================================================================
   2. DASHBOARD LAYOUT
   ================================================================ */
.dash-body{background:#F1F5F9;font-family:'Tajawal',sans-serif;min-height:100vh}
.dash-sidebar{position:fixed;top:0;right:0;bottom:0;width:272px;background:linear-gradient(180deg,#0F172A 0%,#1E293B 100%);color:#fff;display:flex;flex-direction:column;z-index:100;transition:.35s cubic-bezier(.4,0,.2,1);border-left:1px solid rgba(0,168,252,0.1)}
.dash-sidebar__header{padding:24px 22px;border-bottom:1px solid rgba(255,255,255,0.06)}
.dash-sidebar__logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.dash-sidebar__logo img{filter:brightness(0) invert(1);height:32px}
.dash-sidebar__logo-text{font-family:'Montserrat',sans-serif;font-size:1.15rem;font-weight:800;background:linear-gradient(135deg,#00A8FC,#84CC16);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.dash-sidebar__nav{flex:1;padding:16px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.dash-sidebar__nav-section{margin-bottom:8px}
.dash-sidebar__nav-title{font-size:.72rem;font-weight:600;color:rgba(255,255,255,0.3);text-transform:uppercase;letter-spacing:1px;padding:12px 14px 6px;display:block}
.dash-sidebar__link{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:12px;font-size:.9rem;font-weight:500;color:rgba(255,255,255,0.55);transition:.25s;text-decoration:none;position:relative}
.dash-sidebar__link:hover{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.9)}
.dash-sidebar__link.active{background:linear-gradient(135deg,rgba(0,168,252,0.15),rgba(132,204,22,0.08));color:#fff}
.dash-sidebar__link.active::before{content:'';position:absolute;right:0;top:6px;bottom:6px;width:3px;background:linear-gradient(180deg,#00A8FC,#84CC16);border-radius:0 3px 3px 0}
.dash-sidebar__link-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}
.dash-sidebar__divider{height:1px;background:rgba(255,255,255,0.06);margin:12px 8px}
.dash-sidebar__footer{padding:18px 20px;border-top:1px solid rgba(255,255,255,0.06)}
.dash-sidebar__plan-badge{display:block;text-align:center;font-size:.78rem;color:#94A3B8;margin-bottom:12px;padding:6px 14px;background:rgba(255,255,255,0.04);border-radius:50px}
.dash-sidebar__upgrade-btn{display:block;text-align:center;padding:10px 20px;background:linear-gradient(135deg,#00A8FC,#84CC16);color:#fff;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;transition:.3s}
.dash-sidebar__upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,168,252,0.3)}
.dash-sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99;opacity:0;visibility:hidden;transition:.3s}
.dash-sidebar-overlay.open{opacity:1;visibility:visible}

.dash-main{margin-right:272px;min-height:100vh;display:flex;flex-direction:column}
.dash-topbar{background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E2E8F0;position:sticky;top:0;z-index:50}
.dash-topbar__toggle{display:none;font-size:1.3rem;padding:6px;background:none;border:none;cursor:pointer;color:#334155}
.dash-topbar__breadcrumb{font-size:.9rem;color:#64748B}
.dash-topbar__breadcrumb a{color:#00A8FC;text-decoration:none;font-weight:500}
.dash-topbar__breadcrumb-sep{margin:0 8px;color:#CBD5E1}
.dash-topbar__breadcrumb-current{color:#334155;font-weight:600}
.dash-topbar__search{display:flex;align-items:center;gap:8px;background:#F1F5F9;border-radius:50px;padding:8px 18px;max-width:300px;flex:1;margin:0 20px}
.dash-topbar__search-icon{font-size:.85rem;color:#94A3B8}
.dash-topbar__search-input{border:none;background:transparent;font-family:'Tajawal',sans-serif;font-size:.88rem;color:#334155;width:100%;outline:none}
.dash-topbar__actions{display:flex;align-items:center;gap:16px}
.dash-topbar__notif{font-size:1.15rem;position:relative;background:none;border:none;cursor:pointer;padding:6px}
.dash-topbar__notif-dot{position:absolute;top:4px;left:4px;width:8px;height:8px;background:#EF4444;border-radius:50%;border:2px solid #fff}
.dash-topbar__user{display:flex;align-items:center;gap:10px;cursor:pointer}
.dash-topbar__user-avatar{width:38px;height:38px;background:linear-gradient(135deg,#00A8FC,#84CC16);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 2px 8px rgba(0,168,252,0.2)}
.dash-topbar__user-name{font-size:.9rem;font-weight:600;color:#334155}
.dash-content{padding:28px;flex:1}

/* ================================================================
   3. DASHBOARD COMPONENTS
   ================================================================ */

/* -- Welcome Banner -- */
.dash-welcome{background:linear-gradient(135deg,#00A8FC 0%,#84CC16 100%);border-radius:20px;padding:36px 40px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;position:relative;overflow:hidden;box-shadow:0 12px 32px rgba(0,168,252,0.2)}
.dash-welcome::before{content:'';position:absolute;top:-60%;right:-15%;width:350px;height:350px;background:radial-gradient(circle,rgba(255,255,255,0.1),transparent 70%);border-radius:50%}
.dash-welcome__content{position:relative;z-index:1}
.dash-welcome__greeting{font-family:'Cairo',sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:6px}
.dash-welcome__content p{opacity:.85;font-size:.95rem}
.dash-welcome__date{text-align:center;position:relative;z-index:1}
.dash-welcome__day-number{font-family:'Montserrat',sans-serif;font-size:3rem;font-weight:800;display:block;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,0.1)}
.dash-welcome__shape--1,.dash-welcome__shape--2{position:absolute;border-radius:50%;background:rgba(255,255,255,0.06)}
.dash-welcome__shape--1{width:200px;height:200px;bottom:-60%;left:10%}
.dash-welcome__shape--2{width:120px;height:120px;top:-30%;right:25%}

/* -- Stat Cards -- */
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}
.dash-stat-card{background:#fff;border-radius:16px;padding:22px;display:flex;align-items:center;gap:16px;border:1px solid #E2E8F0;transition:.35s;cursor:default}
.dash-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.06);border-color:transparent}
.dash-stat-card__icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.dash-stat-card__icon--primary{background:rgba(0,168,252,0.1);color:#00A8FC}
.dash-stat-card__icon--success{background:rgba(16,185,129,0.1);color:#10B981}
.dash-stat-card__icon--warning{background:rgba(245,158,11,0.1);color:#F59E0B}
.dash-stat-card__icon--secondary{background:rgba(132,204,22,0.1);color:#84CC16}
.dash-stat-card__value{display:block;font-family:'Cairo',sans-serif;font-size:1.6rem;font-weight:800;color:#0F172A;line-height:1.2}
.dash-stat-card__label{font-size:.82rem;color:#94A3B8;margin-top:2px}
.dash-stat-card__trend{font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:50px;margin-top:4px}
.dash-stat-card__trend--up{background:#D1FAE5;color:#059669}
.dash-stat-card__trend--down{background:#FEE2E2;color:#DC2626}

/* -- Section Cards -- */
.dash-section{background:#fff;border-radius:18px;padding:28px;margin-bottom:24px;border:1px solid #E2E8F0;transition:.3s}
.dash-section:hover{box-shadow:0 4px 16px rgba(0,0,0,0.03)}
.dash-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #F1F5F9}
.dash-section__title{font-family:'Cairo',sans-serif;font-size:1.15rem;font-weight:700;color:#0F172A}
.dash-section__action{font-size:.85rem}

/* -- Grid -- */
.dash-grid{display:grid;gap:18px}
.dash-grid--2{grid-template-columns:repeat(2,1fr)}
.dash-grid--3{grid-template-columns:repeat(3,1fr)}
.dash-grid--4{grid-template-columns:repeat(4,1fr)}

/* -- Habit Items -- */
.dash-habit-list{display:flex;flex-direction:column;gap:10px}
.dash-habit-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#F8FAFC;border-radius:14px;transition:.3s;cursor:pointer;border:1px solid transparent}
.dash-habit-item:hover{background:rgba(0,168,252,0.04);border-color:rgba(0,168,252,0.1);transform:translateX(-4px)}
.dash-habit-item.completed{opacity:.5}
.dash-habit-item.completed .dash-habit-check{background:#10B981;border-color:#10B981;color:#fff}
.dash-habit-check{width:30px;height:30px;border:2.5px solid #CBD5E1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0;transition:.3s}
.dash-habit-check:hover{border-color:#00A8FC}
.dash-habit-name{flex:1;font-weight:600;font-size:.95rem;color:#334155}
.dash-habit-category{font-size:.72rem;color:#64748B;background:#F1F5F9;padding:4px 12px;border-radius:50px;font-weight:500;border:1px solid #E2E8F0}
.dash-habit-streak{font-size:.82rem;color:#F59E0B;font-weight:700;display:flex;align-items:center;gap:4px}
.dash-habit-streak__icon{font-size:.9rem}

/* -- Mood Picker -- */
.dash-mood-picker{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 0}
.dash-mood-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 16px;border-radius:18px;border:2.5px solid #E2E8F0;transition:.35s;min-width:78px;background:#fff;cursor:pointer;font-size:1.8rem}
.dash-mood-btn:hover{border-color:#00A8FC;transform:translateY(-6px);box-shadow:0 8px 24px rgba(0,168,252,0.1)}
.dash-mood-btn.selected{border-color:#00A8FC;background:linear-gradient(135deg,rgba(0,168,252,0.05),rgba(132,204,22,0.05));box-shadow:0 8px 32px rgba(0,168,252,0.18);transform:translateY(-6px) scale(1.05)}
.dash-mood-btn span{font-size:.72rem;color:#64748B;font-family:'Tajawal',sans-serif}
.dash-mood-result{margin-top:18px;padding:16px 20px;border-radius:14px;text-align:center;font-weight:500}
.dash-mood-result--success{background:#D1FAE5;color:#059669}

/* -- AI Chat -- */
.dash-ai-chat{border-radius:18px;overflow:hidden;border:1px solid #E2E8F0;background:#fff}
.dash-ai-chat__header{padding:18px 24px;background:linear-gradient(135deg,#0F172A,#1E293B);color:#fff;display:flex;align-items:center;gap:12px}
.dash-ai-chat__title{font-family:'Cairo',sans-serif;font-weight:700;font-size:1rem}
.dash-ai-chat__status{font-size:.75rem;color:#10B981;display:flex;align-items:center;gap:5px}
.dash-ai-chat__status::before{content:'';width:7px;height:7px;background:#10B981;border-radius:50%;display:inline-block}
.dash-ai-messages{padding:24px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:#F8FAFC}
.dash-ai-msg{padding:14px 20px;border-radius:18px;max-width:80%;font-size:.92rem;line-height:1.8;position:relative}
.dash-ai-msg--bot{background:#fff;border:1px solid #E2E8F0;align-self:flex-start;border-top-right-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}
.dash-ai-msg--user{background:linear-gradient(135deg,#00A8FC,#0090D9);color:#fff;align-self:flex-end;border-top-left-radius:4px;box-shadow:0 4px 12px rgba(0,168,252,0.2)}
.dash-ai-msg__time{font-size:.7rem;color:#94A3B8;margin-top:6px;display:block}
.dash-ai-msg--user .dash-ai-msg__time{color:rgba(255,255,255,0.6)}
.dash-ai-input{display:flex;gap:10px;padding:16px 20px;background:#fff;border-top:1px solid #E2E8F0}
.dash-ai-input__field{flex:1;border:2px solid #E2E8F0;border-radius:50px;padding:12px 24px;font-family:'Tajawal',sans-serif;font-size:.92rem;transition:.3s;background:#F8FAFC}
.dash-ai-input__field:focus{outline:none;border-color:#00A8FC;background:#fff}
.dash-ai-input__send{padding:12px 28px;background:linear-gradient(135deg,#00A8FC,#84CC16);color:#fff;border:none;border-radius:50px;font-family:'Tajawal',sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:.3s}
.dash-ai-input__send:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,168,252,0.25)}

/* -- Challenge Cards -- */
.dash-challenge-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #E2E8F0;transition:.3s}
.dash-challenge-card:hover{box-shadow:0 6px 20px rgba(0,0,0,0.05);transform:translateY(-3px)}
.dash-challenge-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.dash-challenge-card__title{font-family:'Cairo',sans-serif;font-weight:700;font-size:1rem;color:#0F172A}
.dash-challenge-card__days{font-size:.78rem;color:#64748B;background:#F1F5F9;padding:4px 12px;border-radius:50px}
.dash-challenge-card__progress{height:10px;background:#F1F5F9;border-radius:50px;overflow:hidden;margin-bottom:10px}
.dash-challenge-card__progress-fill{height:100%;background:linear-gradient(90deg,#00A8FC,#84CC16);border-radius:50px;transition:width .6s;position:relative}
.dash-challenge-card__progress-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:shimmerSlide 2s infinite}
.dash-challenge-card__percentage{font-size:.85rem;font-weight:700;color:#00A8FC;text-align:left}

/* -- Leaderboard -- */
.dash-leaderboard{display:flex;flex-direction:column;gap:8px}
.dash-leaderboard__item{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#F8FAFC;border-radius:12px;transition:.3s}
.dash-leaderboard__item:hover{background:#EBF8FF}
.dash-leaderboard__rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:#E2E8F0;color:#475569;flex-shrink:0}
.dash-leaderboard__item:nth-child(1) .dash-leaderboard__rank{background:linear-gradient(135deg,#F59E0B,#EAB308);color:#fff}
.dash-leaderboard__item:nth-child(2) .dash-leaderboard__rank{background:#CBD5E1;color:#fff}
.dash-leaderboard__item:nth-child(3) .dash-leaderboard__rank{background:#D97706;color:#fff}
.dash-leaderboard__avatar{width:32px;height:32px;background:linear-gradient(135deg,#00A8FC,#84CC16);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;flex-shrink:0}
.dash-leaderboard__name{flex:1;font-weight:500;font-size:.9rem;color:#334155}
.dash-leaderboard__score{font-weight:700;font-size:.9rem;color:#00A8FC}

/* -- Community Posts -- */
.dash-post-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #E2E8F0;margin-bottom:16px;transition:.3s}
.dash-post-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.04)}
.dash-post-card__author{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.dash-post-card__author-avatar{width:42px;height:42px;background:linear-gradient(135deg,#00A8FC,#84CC16);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;flex-shrink:0}
.dash-post-card__author-name{font-weight:600;font-size:.95rem;color:#0F172A}
.dash-post-card__author-time{font-size:.78rem;color:#94A3B8}
.dash-post-card__content{font-size:.95rem;line-height:1.8;color:#475569;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #F1F5F9}
.dash-post-card__reactions{display:flex;gap:10px}
.dash-reaction-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:50px;border:1px solid #E2E8F0;background:#F8FAFC;cursor:pointer;font-size:.82rem;color:#64748B;transition:.25s;font-family:'Tajawal',sans-serif}
.dash-reaction-btn:hover{border-color:#00A8FC;background:#EBF8FF;color:#00A8FC}
.dash-reaction-btn__emoji{font-size:1rem}

/* -- Achievements/Badges -- */
.dash-level-card{background:linear-gradient(135deg,#0F172A,#1E293B);border-radius:20px;padding:36px;color:#fff;text-align:center;margin-bottom:24px;position:relative;overflow:hidden}
.dash-level-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(0,168,252,0.1),transparent 60%)}
.dash-level-card h2{font-family:'Cairo',sans-serif;font-weight:800;font-size:1.8rem;margin-bottom:8px;position:relative;z-index:1}
.dash-level-card .progress-bar{height:12px;background:rgba(255,255,255,0.1);border-radius:50px;overflow:hidden;margin:16px auto;max-width:400px;position:relative;z-index:1}
.dash-level-card .progress-bar__fill{height:100%;background:linear-gradient(90deg,#00A8FC,#84CC16);border-radius:50px;position:relative}
.dash-level-card .progress-bar__fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:shimmerSlide 2s infinite}
.dash-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.dash-badge-card{background:#fff;border-radius:16px;padding:20px 16px;text-align:center;border:1px solid #E2E8F0;transition:.35s;cursor:default}
.dash-badge-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,0.06)}
.dash-badge-card--unlocked{border-color:transparent}
.dash-badge-card--locked{opacity:.4;filter:grayscale(1)}
.dash-badge-card--bronze{border-color:#D97706;box-shadow:0 0 0 1px #D97706}
.dash-badge-card--silver{border-color:#94A3B8;box-shadow:0 0 0 1px #94A3B8}
.dash-badge-card--gold{border-color:#F59E0B;box-shadow:0 4px 16px rgba(245,158,11,0.15)}
.dash-badge-card--platinum{border-color:#818CF8;box-shadow:0 4px 16px rgba(129,140,248,0.15)}
.dash-badge-card--diamond{border-color:#06B6D4;box-shadow:0 4px 20px rgba(6,182,212,0.2)}
.dash-badge-card__icon{font-size:2.2rem;margin-bottom:10px;display:block}
.dash-badge-card__name{font-weight:600;font-size:.85rem;color:#334155;margin-bottom:4px}
.dash-badge-card__tier{font-size:.72rem;color:#94A3B8;text-transform:uppercase;letter-spacing:.5px}

/* -- Settings -- */
.dash-settings-section{margin-bottom:32px}
.dash-settings-section__title{font-family:'Cairo',sans-serif;font-weight:700;font-size:1.1rem;color:#0F172A;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #F1F5F9}
.dash-settings-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #F8FAFC}
.dash-settings-row__label{font-weight:600;font-size:.92rem;color:#334155}
.dash-settings-row__desc{font-size:.82rem;color:#94A3B8;margin-top:2px}
.dash-toggle{position:relative;width:48px;height:26px;flex-shrink:0}
.dash-toggle input{opacity:0;width:0;height:0}
.dash-toggle__slider{position:absolute;cursor:pointer;inset:0;background:#CBD5E1;border-radius:50px;transition:.3s}
.dash-toggle__slider::before{content:'';position:absolute;height:20px;width:20px;right:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 3px rgba(0,0,0,0.15)}
.dash-toggle input:checked + .dash-toggle__slider{background:linear-gradient(135deg,#00A8FC,#84CC16)}
.dash-toggle input:checked + .dash-toggle__slider::before{transform:translateX(-22px)}
.dash-settings-danger{background:#FEF2F2;border:1px solid #FECACA;border-radius:16px;padding:24px;margin-top:24px}
.dash-settings-danger__title{font-family:'Cairo',sans-serif;font-weight:700;color:#DC2626;font-size:1rem;margin-bottom:8px}
.dash-settings-danger__desc{font-size:.88rem;color:#7F1D1D;line-height:1.6;margin-bottom:16px}
.dash-settings-danger__btn{background:#DC2626;color:#fff;border:none;padding:10px 24px;border-radius:10px;font-family:'Tajawal',sans-serif;font-weight:600;cursor:pointer;transition:.3s}
.dash-settings-danger__btn:hover{background:#B91C1C;box-shadow:0 4px 12px rgba(220,38,38,0.2)}

/* -- Empty State -- */
.dash-empty-state{text-align:center;padding:48px 24px;color:#94A3B8}
.dash-empty-state__icon{font-size:3rem;margin-bottom:16px;display:block;opacity:.5}
.dash-empty-state__title{font-family:'Cairo',sans-serif;font-weight:700;font-size:1.1rem;color:#475569;margin-bottom:8px}
.dash-empty-state__desc{font-size:.9rem;line-height:1.6;max-width:360px;margin:0 auto}

/* ================================================================
   4. ANIMATIONS
   ================================================================ */
@keyframes authReveal{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes shimmerSlide{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(0,168,252,0.2)}50%{box-shadow:0 0 0 10px rgba(0,168,252,0)}}
@keyframes moodBounce{0%{transform:translateY(-6px) scale(1.05)}50%{transform:translateY(0) scale(1)}100%{transform:translateY(-6px) scale(1.05)}}

/* ================================================================
   5. RESPONSIVE
   ================================================================ */
@media(max-width:1280px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-grid--3{grid-template-columns:repeat(2,1fr)}.dash-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1024px){.dash-sidebar{transform:translateX(100%)}.dash-sidebar.open{transform:translateX(0)}.dash-main{margin-right:0}.dash-topbar__toggle{display:block}.dash-topbar__search{display:none}}
@media(max-width:768px){.auth-container{grid-template-columns:1fr;max-width:480px}.auth-info{display:none}.auth-card{padding:40px 28px}.dash-stats{grid-template-columns:1fr}.dash-grid--2,.dash-grid--3,.dash-grid--4{grid-template-columns:1fr}.dash-mood-picker{gap:8px}.dash-mood-btn{min-width:60px;padding:14px 10px;font-size:1.4rem}.dash-welcome{flex-direction:column;text-align:center;gap:16px}.dash-badges-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
@media(max-width:480px){.dash-content{padding:16px}.dash-welcome{padding:24px}.dash-mood-btn{min-width:50px;padding:12px 8px;font-size:1.2rem}}
@media print{.dash-sidebar,.dash-topbar,.dash-sidebar-overlay{display:none!important}.dash-main{margin:0!important}}
