:root {
  --red:#e63946;--red-dark:#b52d38;--red-light:#ff6b75;--red-glow:rgba(230,57,70,0.25);
  --green:#2a9d8f;--green-dark:#1d7a6e;--green-light:#3dc4b4;--green-glow:rgba(42,157,143,0.25);
  --amber:#f59e0b;--purple:#8b5cf6;--blue:#06b6d4;
  --white:#ffffff;--bg:#0a0a0f;--bg2:#111118;--bg3:#16161f;--bg4:#1c1c28;
  --glass:rgba(255,255,255,0.04);--glass2:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.08);--border2:rgba(255,255,255,0.14);
  --text:#f0f0f8;--text2:#9898b0;--text3:#5a5a78;
  --radius:16px;--radius-sm:10px;
  --shadow:0 8px 32px rgba(0,0,0,0.4);
  --shadow-red:0 0 24px var(--red-glow),0 8px 32px rgba(0,0,0,0.4);
  --shadow-green:0 0 24px var(--green-glow),0 8px 32px rgba(0,0,0,0.4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Syne',sans-serif}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}

/* ── PAGES ── */
.page{display:none;min-height:100vh}.page.active{display:block}
#dashboard-page{display:none}#dashboard-page.active{display:flex}

/* ── LOADING ── */
#loading-screen{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity .4s}
.loading-logo{font-family:'Syne',sans-serif;font-size:36px;font-weight:800;background:linear-gradient(135deg,var(--red),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:loadPulse 1.5s ease-in-out infinite}
@keyframes loadPulse{0%,100%{opacity:1}50%{opacity:.5}}
.loading-bar{width:200px;height:3px;background:var(--bg3);border-radius:4px;overflow:hidden}
.loading-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--green));border-radius:4px;animation:loadBar 1.5s ease-in-out infinite}
@keyframes loadBar{0%{width:0;margin-left:0}50%{width:100%;margin-left:0}100%{width:0;margin-left:100%}}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:rgba(10,10,15,0.8);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--red),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{color:var(--text2);text-decoration:none;font-size:14px;font-weight:500;transition:.2s}
.nav-links a:hover{color:var(--text)}
.nav-cta{display:flex;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s;border:none;font-family:'Inter',sans-serif;text-decoration:none}
.btn-outline{background:transparent;border:1px solid var(--border2);color:var(--text)}
.btn-outline:hover{border-color:var(--red);color:var(--red)}
.btn-primary{background:linear-gradient(135deg,var(--red),#c1121f);color:#fff;box-shadow:0 4px 20px var(--red-glow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--red-glow)}
.btn-green{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 4px 20px var(--green-glow)}
.btn-green:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--green-glow)}
.btn-lg{padding:14px 32px;font-size:16px}

/* ── HERO ── ----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.hero{margin-top: 85px;}

/* ── FEATURES / TESTIMONIALS / PRICING ── */
.section{padding:100px 48px}
.section-label{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.section-title{font-family:'Syne',sans-serif;font-size:clamp(28px,4vw,48px);font-weight:800;line-height:1.2;margin-bottom:16px}
.section-sub{font-size:16px;color:var(--text2);max-width:500px;line-height:1.7}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:60px}
.feature-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:all .3s;position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--glass),transparent);opacity:0;transition:.3s}
.feature-card:hover{border-color:var(--border2);transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-card:hover::before{opacity:1}
.feature-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px}
.feature-icon.red{background:rgba(230,57,70,.15);color:var(--red)}
.feature-icon.green{background:rgba(42,157,143,.15);color:var(--green)}
.feature-icon.purple{background:rgba(139,92,246,.15);color:#8b5cf6}
.feature-icon.amber{background:rgba(245,158,11,.15);color:#f59e0b}
.feature-card h3{font-size:18px;font-weight:700;margin-bottom:8px}
.feature-card p{font-size:14px;color:var(--text2);line-height:1.6}

/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* ── AUTH ── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);position:relative;overflow:hidden}
.auth-bg-orbs .orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.2}
.auth-bg-orbs .orb:nth-child(1){width:500px;height:500px;background:var(--red);top:-200px;right:-200px}
.auth-bg-orbs .orb:nth-child(2){width:400px;height:400px;background:var(--green);bottom:-150px;left:-150px}
.auth-card{background:var(--bg3);border:1px solid var(--border2);border-radius:24px;padding:48px;width:100%;max-width:440px;position:relative;z-index:1;box-shadow:var(--shadow)}
.auth-logo{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;background:linear-gradient(135deg,var(--red),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}
.auth-title{font-family:'Syne',sans-serif;font-size:28px;font-weight:700;margin-bottom:6px}
.auth-sub{font-size:14px;color:var(--text2);margin-bottom:32px}
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:8px}
.form-input{width:100%;background:var(--bg4);border:1px solid var(--border);border-radius:12px;padding:13px 16px;color:var(--text);font-size:14px;font-family:'Inter',sans-serif;transition:.2s;outline:none}
.form-input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}
.form-input::placeholder{color:var(--text3)}
.input-wrap{position:relative}
.input-wrap .form-input{padding-right:44px}
.input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text3);cursor:pointer;transition:.2s;font-size:14px}
.input-icon:hover{color:var(--text)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--text2)}
.auth-footer a{color:var(--green);text-decoration:none;font-weight:600}
.otp-inputs{display:flex;gap:12px;justify-content:center;margin:24px 0}
.otp-input{width:52px;height:52px;text-align:center;font-size:22px;font-weight:700;font-family:'Syne',sans-serif;background:var(--bg4);border:2px solid var(--border);border-radius:12px;color:var(--text);outline:none;transition:.2s}
.otp-input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}
.divider{display:flex;align-items:center;gap:12px;margin:24px 0;font-size:12px;color:var(--text3)}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--border)}

/* ── GOOGLE BUTTON ── */
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px;background:var(--bg4);border:1px solid var(--border2);border-radius:12px;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s;font-family:'Inter',sans-serif}
.btn-google:hover{background:var(--glass2);border-color:rgba(234,67,53,.4);box-shadow:0 0 20px rgba(234,67,53,.1)}
.google-icon{width:20px;height:20px;flex-shrink:0}

/* ── DEMO BANNER ── */
.demo-banner{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(230,57,70,.1));border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:13px}
.demo-banner i{color:var(--amber);font-size:16px;flex-shrink:0}
.demo-banner span{color:var(--text2);flex:1}
.demo-banner strong{color:var(--amber)}
.demo-upgrade-btn{background:linear-gradient(135deg,var(--amber),#d97706);color:#fff;padding:6px 14px;border-radius:50px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:.2s;white-space:nowrap}
.demo-upgrade-btn:hover{transform:scale(1.05)}

/* ── TIME GREETING HERO ── */
.time-hero{border-radius:20px;padding:22px 26px;margin-bottom:24px;position:relative;overflow:hidden;display:flex;align-items:center;gap:20px}
.time-hero.morning{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(251,191,36,.08));border:1px solid rgba(245,158,11,.25)}
.time-hero.afternoon{background:linear-gradient(135deg,rgba(230,57,70,.12),rgba(255,107,117,.06));border:1px solid rgba(230,57,70,.2)}
.time-hero.night{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(99,102,241,.08));border:1px solid rgba(139,92,246,.25)}
.time-hero-icon{font-size:48px;flex-shrink:0;animation:timeIconFloat 3s ease-in-out infinite}
@keyframes timeIconFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-6px) rotate(5deg)}}
.time-hero-content{flex:1}
.time-hero-greeting{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;line-height:1.2;margin-bottom:4px}
.time-hero.morning .time-hero-greeting{color:#fbbf24}
.time-hero.afternoon .time-hero-greeting{color:var(--red-light)}
.time-hero.night .time-hero-greeting{color:#a78bfa}
.time-hero-sub{font-size:13px;color:var(--text2);margin-bottom:10px}
.time-hero-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.time-meta-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:50px;font-size:clamp(10px,2vw,11px);font-weight:600}
.morning .time-meta-chip{background:rgba(245,158,11,.15);color:#f59e0b}
.afternoon .time-meta-chip{background:rgba(230,57,70,.15);color:var(--red-light)}
.night .time-meta-chip{background:rgba(139,92,246,.2);color:#a78bfa}
.time-hero-bg-text{position:absolute;right:-10px;bottom:-20px;font-size:clamp(60px,15vw,120px);opacity:.04;font-family:'Syne',sans-serif;font-weight:900;pointer-events:none;line-height:1}

/* ── DASHBOARD LAYOUT ── */
.sidebar{width:260px;min-height:100vh;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:50;transition:transform .3s}
.sidebar-logo{padding:24px;font-family:'Syne',sans-serif;font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--red),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.sidebar-close-btn{display:none;background:none;border:none;color:var(--text2);cursor:pointer;font-size:18px;padding:4px}
.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text2);font-size:14px;font-weight:500}
.nav-item:hover{background:var(--glass2);color:var(--text)}
.nav-item.active{background:linear-gradient(135deg,rgba(230,57,70,.15),rgba(42,157,143,.1));color:var(--text);border:1px solid var(--border)}
.nav-item.active i{color:var(--green)}
.nav-item i{width:18px;text-align:center;font-size:14px}
.nav-section-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text3);padding:12px 14px 4px;margin-top:8px}
.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border)}
.user-info{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--glass);cursor:pointer;transition:.2s}
.user-info:hover{background:var(--glass2)}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--green));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:'Syne',sans-serif;color:#fff;flex-shrink:0;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-email{font-size:11px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-content{margin-left:260px;flex:1;padding:32px;overflow-y:auto;min-height:100vh}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.page-title{font-family:'Syne',sans-serif;font-size:28px;font-weight:800}
.page-title span{color:var(--green)}
.header-actions{display:flex;gap:12px;align-items:center}
.icon-btn{width:40px;height:40px;border-radius:10px;background:var(--glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:var(--text2)}
.icon-btn:hover{background:var(--glass2);color:var(--text)}
.hamburger-btn{display:none;width:40px;height:40px;border-radius:10px;background:var(--glass);border:1px solid var(--border);align-items:center;justify-content:center;cursor:pointer;color:var(--text2);font-size:16px}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:28px}
.stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden;transition:all .3s}
.stat-card::after{content:'';position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.08}
.stat-card:nth-child(1)::after{background:var(--red)}.stat-card:nth-child(2)::after{background:#f59e0b}
.stat-card:nth-child(3)::after{background:var(--green)}.stat-card:nth-child(4)::after{background:#8b5cf6}.stat-card:nth-child(5)::after{background:var(--red-light)}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.stat-icon{font-size:18px;margin-bottom:10px}
.stat-value{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;line-height:1}
.stat-label{font-size:11px;color:var(--text2);margin-top:5px}
.stat-change{font-size:10px;margin-top:6px;display:flex;align-items:center;gap:4px}
.stat-change.up{color:var(--green)}

/* ── ZONES ── */
.zones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.zone-card{border-radius:var(--radius);padding:24px;cursor:pointer;transition:all .35s;position:relative;overflow:hidden;border:1px solid transparent}
.zone-morning{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(251,191,36,.06));border-color:rgba(245,158,11,.2)}
.zone-afternoon{background:linear-gradient(135deg,rgba(230,57,70,.12),rgba(255,107,117,.06));border-color:rgba(230,57,70,.2)}
.zone-night{background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(167,139,250,.06));border-color:rgba(139,92,246,.2)}
.zone-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.zone-morning:hover{border-color:rgba(245,158,11,.4);box-shadow:0 8px 32px rgba(245,158,11,.15)}
.zone-afternoon:hover{border-color:rgba(230,57,70,.4);box-shadow:0 8px 32px rgba(230,57,70,.15)}
.zone-night:hover{border-color:rgba(139,92,246,.4);box-shadow:0 8px 32px rgba(139,92,246,.15)}
.zone-icon{font-size:36px;margin-bottom:14px;animation:zonePulse 3s ease-in-out infinite;display:block}
@keyframes zonePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.zone-name{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;margin-bottom:3px}
.zone-time{font-size:11px;color:var(--text2);margin-bottom:14px}
.zone-progress{height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.zone-progress-fill{height:100%;border-radius:4px;transition:width .8s ease}
.zone-morning .zone-progress-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.zone-afternoon .zone-progress-fill{background:linear-gradient(90deg,var(--red),var(--red-light))}
.zone-night .zone-progress-fill{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}
.zone-count{font-size:12px;color:var(--text2);margin-top:8px}

/* ── HABITS ── */
.habits-section{margin-bottom:28px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.section-title-sm{font-family:'Syne',sans-serif;font-size:18px;font-weight:700}
.habits-list{display:flex;flex-direction:column;gap:12px}
.habit-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:14px;transition:all .25s;position:relative;overflow:hidden}
.habit-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}
.habit-card[data-zone="morning"]::before{background:#f59e0b}
.habit-card[data-zone="afternoon"]::before{background:var(--red)}
.habit-card[data-zone="night"]::before{background:#8b5cf6}
.habit-card:hover{border-color:var(--border2);transform:translateX(4px)}
.habit-card.completed{opacity:.65}
.habit-card.completed .habit-name{text-decoration:line-through;color:var(--text2)}
.habit-check-btn{width:36px;height:36px;border-radius:50%;background:var(--glass);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;color:var(--text2)}
.habit-check-btn:hover{border-color:var(--green);color:var(--green)}
.habit-check-btn.done{background:var(--green);border-color:var(--green);color:#fff;animation:checkPop .3s ease}
@keyframes checkPop{0%{transform:scale(1.4)}100%{transform:scale(1)}}
.habit-icon-badge{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.habit-info{flex:1;min-width:0}
.habit-name{font-size:14px;font-weight:600;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.habit-meta{font-size:11px;color:var(--text2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.habit-zone-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:50px;font-size:10px;font-weight:600}
.badge-morning{background:rgba(245,158,11,.15);color:#f59e0b}
.badge-afternoon{background:rgba(230,57,70,.15);color:var(--red)}
.badge-night{background:rgba(139,92,246,.15);color:#8b5cf6}
.habit-actions{display:flex;gap:6px;opacity:0;transition:.2s;flex-shrink:0}
.habit-card:hover .habit-actions{opacity:1}
.hab-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--glass);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:var(--text2);font-size:11px}
.hab-btn.edit:hover{color:var(--green);border-color:var(--green)}
.hab-btn.del:hover{color:var(--red);border-color:var(--red)}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:.3s}
.modal-overlay.open{opacity:1;visibility:visible}
.modal{background:var(--bg3);border:1px solid var(--border2);border-radius:24px;padding:28px;width:100%;max-width:520px;box-shadow:var(--shadow);transform:translateY(20px) scale(.96);transition:.3s;max-height:92vh;overflow-y:auto}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.modal-title{font-family:'Syne',sans-serif;font-size:20px;font-weight:700}
.modal-close{width:34px;height:34px;border-radius:10px;background:var(--glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);transition:.2s}
.modal-close:hover{background:var(--glass2);color:var(--text)}
.color-picker{display:flex;gap:8px;flex-wrap:wrap}
.color-opt{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:.2s}
.color-opt.selected,.color-opt:hover{border-color:#fff;transform:scale(1.15)}
.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.icon-opt{width:34px;height:34px;border-radius:8px;background:var(--glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;transition:.2s}
.icon-opt:hover,.icon-opt.selected{background:var(--glass2);border-color:var(--border2)}
.form-select{width:100%;background:var(--bg4);border:1px solid var(--border);border-radius:12px;padding:12px 16px;color:var(--text);font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:.2s;cursor:pointer}
.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}
.form-textarea{resize:vertical;min-height:70px;line-height:1.5}

/* ── DEMO LOCKOUT MODAL ── */
.demo-lock-modal .modal{max-width:420px;text-align:center;padding:40px 32px}
.demo-lock-icon{font-size:64px;margin-bottom:16px;animation:lockBounce .6s ease}
@keyframes lockBounce{0%{transform:scale(0.5)}70%{transform:scale(1.1)}100%{transform:scale(1)}}
.demo-lock-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;margin-bottom:8px}
.demo-lock-sub{font-size:14px;color:var(--text2);line-height:1.6;margin-bottom:24px}
.demo-lock-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ── CHARTS ── */
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.chart-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.chart-card.full{grid-column:1/-1}
.chart-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:18px}
.chart-wrap{position:relative;height:220px}

/* ── CALENDAR ── */
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.cal-day-name{text-align:center;font-size:11px;font-weight:600;color:var(--text2);padding:6px}
.cal-day{aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;cursor:pointer;transition:.2s;border:1px solid transparent}
.cal-day:hover{background:var(--glass2)}
.cal-day.today{border-color:var(--green);color:var(--green);font-weight:700}
.cal-day.completed{background:rgba(42,157,143,.2);color:var(--green-light)}
.cal-day.missed{background:rgba(230,57,70,.15);color:var(--red-light)}
.cal-day.empty{opacity:0;pointer-events:none}

/* ── BADGES ── */
.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;margin-top:16px}
.badge-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px;text-align:center;transition:.3s;position:relative;overflow:hidden}
.badge-card.unlocked{border-color:var(--green-dark);box-shadow:0 0 20px var(--green-glow),inset 0 0 40px rgba(42,157,143,.04)}
.badge-card.unlocked::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(42,157,143,.05),transparent);pointer-events:none}
.badge-card.locked{opacity:.45;filter:grayscale(.3)}
.badge-icon{font-size:40px;margin-bottom:10px;display:block}
.badge-card.unlocked .badge-icon{animation:badgeGlow 2s ease-in-out infinite}
@keyframes badgeGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(42,157,143,.4))}50%{filter:drop-shadow(0 0 10px rgba(42,157,143,.7))}}
.badge-name{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;margin-bottom:3px}
.badge-desc{font-size:11px;color:var(--text2);line-height:1.4}
.badge-unlocked-tag{position:absolute;top:10px;right:10px;background:var(--green);color:#fff;font-size:9px;font-weight:700;padding:2px 7px;border-radius:50px}
.badge-progress{margin-top:8px;height:3px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}
.badge-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green-light));border-radius:4px;transition:width .6s ease}

/* ── PROFILE ── */
.profile-header{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.profile-avatar-lg{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--green));display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;font-family:'Syne',sans-serif;color:#fff;flex-shrink:0;overflow:hidden}
.profile-avatar-lg img{width:100%;height:100%;object-fit:cover}
.profile-name{font-family:'Syne',sans-serif;font-size:22px;font-weight:800}
.profile-email{color:var(--text2);font-size:13px;margin-top:4px}
.settings-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:20px}
.settings-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;margin-bottom:18px}
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}
.setting-row:last-child{border-bottom:none}
.setting-info h4{font-size:14px;font-weight:600;margin-bottom:2px}
.setting-info p{font-size:12px;color:var(--text2)}
.toggle{position:relative;width:44px;height:24px;cursor:pointer;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:var(--bg4);border-radius:50px;border:1px solid var(--border);transition:.3s}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--text3);left:2px;top:2px;transition:.3s}
.toggle input:checked + .toggle-slider{background:var(--green);border-color:var(--green)}
.toggle input:checked + .toggle-slider::before{background:#fff;transform:translateX(20px)}

/* ── AI CARD ── */
.ai-card{background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(42,157,143,.08));border:1px solid rgba(139,92,246,.25);border-radius:var(--radius);padding:18px 22px;display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.ai-icon{width:42px;height:42px;border-radius:14px;background:rgba(139,92,246,.15);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.ai-title{font-size:12px;font-weight:700;color:#a78bfa;margin-bottom:4px}
.ai-text{font-size:13px;color:var(--text2);line-height:1.5}

/* ── SEARCH / FILTER ── */
.search-bar{display:flex;align-items:center;gap:10px;background:var(--bg4);border:1px solid var(--border);border-radius:12px;padding:10px 16px;margin-bottom:16px;transition:.2s}
.search-bar:focus-within{border-color:var(--green)}
.search-bar i{color:var(--text3)}
.search-bar input{background:none;border:none;outline:none;color:var(--text);font-size:14px;flex:1;font-family:'Inter',sans-serif}
.search-bar input::placeholder{color:var(--text3)}
.filter-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.filter-tab{padding:6px 14px;border-radius:50px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif}
.filter-tab:hover{border-color:var(--border2);color:var(--text)}
.filter-tab.active{background:var(--green);border-color:var(--green);color:#fff}

/* ── TOAST ── */
.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.toast{background:var(--bg3);border:1px solid var(--border2);border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);transform:translateX(120%);transition:transform .3s ease;min-width:260px;max-width:340px}
.toast.show{transform:translateX(0)}
.toast-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.toast.success .toast-icon{background:rgba(42,157,143,.2);color:var(--green)}
.toast.error .toast-icon{background:rgba(230,57,70,.2);color:var(--red)}
.toast.info .toast-icon{background:rgba(139,92,246,.2);color:#8b5cf6}
.toast-msg{font-size:13px;font-weight:500;flex:1}
.toast-close{color:var(--text3);cursor:pointer;font-size:12px}
.toast-close:hover{color:var(--text)}

/* ── BOTTOM NAV ── */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(14,14,20,.98);border-top:1px solid var(--border);padding:6px 0;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:200;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 -2px 20px rgba(0,0,0,.5)}
.bottom-nav-items{display:flex;justify-content:space-around}
.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;cursor:pointer;transition:.2s;color:var(--text3);border-radius:12px;min-width:52px}
.bottom-nav-item.active{color:var(--green)}
.bottom-nav-item i{font-size:18px}
.bottom-nav-item span{font-size:9px;font-weight:600;font-family:'Syne',sans-serif;letter-spacing:.5px;text-transform:uppercase}

/* ── SIDEBAR OVERLAY ── */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:49;backdrop-filter:blur(4px)}
.sidebar-overlay.show{display:block}

/* ── SPINNER ── */
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── QUOTE CARD ── */
.quote-card{border-radius:20px;padding:22px 24px;display:flex;align-items:flex-start;gap:18px;margin-bottom:24px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(42,157,143,.09),rgba(230,57,70,.07));border:1px solid rgba(139,92,246,.28)}
.quote-card-orb{position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(rgba(139,92,246,.2),transparent);pointer-events:none}
.quote-card-left{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.quote-day-badge{background:linear-gradient(135deg,var(--purple),#6d28d9);color:#fff;font-size:9px;font-weight:800;padding:3px 9px;border-radius:50px;letter-spacing:1px;font-family:'Syne',sans-serif;white-space:nowrap}
.quote-icon-wrap{font-size:28px;line-height:1;animation:quoteIconFloat 4s ease-in-out infinite}
@keyframes quoteIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.quote-card-body{flex:1;min-width:0}
.quote-label{font-size:11px;font-weight:700;color:#a78bfa;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.quote-text{font-size:15px;font-weight:600;font-family:'Syne',sans-serif;line-height:1.5;color:var(--text);margin-bottom:8px;font-style:italic}
.quote-author{font-size:12px;color:var(--text2);margin-bottom:10px;font-weight:500}
.quote-footer{display:flex;align-items:center;gap:10px}
.quote-category-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:50px;background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.3);color:#a78bfa;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.quote-share-btn{background:var(--glass2);border:1px solid var(--border);border-radius:8px;color:var(--text2);padding:5px 9px;cursor:pointer;transition:.2s;font-size:12px}
.quote-share-btn:hover{color:var(--purple);border-color:var(--purple)}
/* ── ANALYTICS FILTER ── */
.analytics-filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.analytics-period-tabs{display:flex;gap:6px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:4px}
.analytics-tab{padding:7px 16px;border-radius:9px;border:none;background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:6px}
.analytics-tab.active{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 2px 10px var(--green-glow)}
.analytics-period-label{font-size:12px;color:var(--text2);font-weight:600}
.analytics-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.analytics-stat{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}
.analytics-stat-val{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:var(--green)}
.analytics-stat-lbl{font-size:11px;color:var(--text2);margin-top:3px}
/* ── BADGES IN PROFILE ── */
.profile-badges-section{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;display:none}
/* ── NAV NEW BADGE ── */
.nav-new-badge{background:linear-gradient(135deg,var(--red),#c1121f);color:#fff;font-size:8px;font-weight:800;padding:1px 6px;border-radius:50px;margin-left:auto;letter-spacing:.5px;animation:newBadgePulse 2s ease-in-out infinite}
@keyframes newBadgePulse{0%,100%{opacity:1}50%{opacity:.6}}
/* ── FOCUS TIMER ── */
.feature-section-wrap{max-width:900px;margin:0 auto;width:100%}
.focus-container{display:grid;grid-template-columns:1fr 260px;gap:20px;align-items:start}
.focus-card{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:24px;text-align:center}
.focus-mode-tabs{display:flex;gap:4px;justify-content:center;margin-bottom:18px;background:var(--bg4);border-radius:12px;padding:4px}
.focus-mode-btn{flex:1;padding:8px 6px;border-radius:9px;border:none;background:transparent;color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif}
.focus-mode-btn.active{background:var(--bg3);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.focus-habit-select{margin-bottom:20px;text-align:left}
.focus-ring-wrap{position:relative;width:190px;height:190px;margin:0 auto 20px}
.focus-ring{width:190px;height:190px;transform:rotate(-90deg)}
.focus-ring-bg{fill:none;stroke:var(--bg4);stroke-width:12}
.focus-ring-fill{fill:none;stroke:var(--green);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s linear;filter:drop-shadow(0 0 6px var(--green-glow))}
.focus-ring-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.focus-time{font-family:'Syne',sans-serif;font-size:40px;font-weight:800;color:var(--text);line-height:1}
.focus-mode-label{font-size:11px;color:var(--text2);font-weight:600;letter-spacing:1px;text-transform:uppercase}
.focus-session-count{font-size:11px;color:var(--text3)}
.focus-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px}
.focus-btn-main{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border:none;border-radius:50px;padding:12px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:all .25s;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px var(--green-glow)}
.focus-btn-main:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--green-glow)}
.focus-btn-main.running{background:linear-gradient(135deg,var(--red),var(--red-dark));box-shadow:0 4px 16px var(--red-glow)}
.focus-btn-sm{width:42px;height:42px;border-radius:50%;background:var(--glass);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);transition:.2s;font-size:14px}
.focus-btn-sm:hover{background:var(--glass2);color:var(--text)}
.focus-tips{background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.15);border-radius:10px;padding:10px 14px}
.focus-tip{font-size:13px;color:var(--text2);line-height:1.5}
.focus-stats-col{display:flex;flex-direction:column;gap:10px}
.focus-stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}
.focus-stat-num{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:var(--green)}
.focus-stat-lbl{font-size:11px;color:var(--text2);margin-top:3px}
.focus-history{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px}
.focus-history-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.focus-history-item:last-child{border-bottom:none}
.focus-history-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}
.focus-history-info{flex:1;min-width:0}
.focus-history-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-history-time{font-size:11px;color:var(--text2)}
.focus-history-dur{font-size:11px;color:var(--green);font-weight:700;margin-left:auto;flex-shrink:0}

/* ── HEATMAP ── */
.heatmap-card{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:20px;overflow-x:auto;margin-bottom:20px;-webkit-overflow-scrolling:touch}
.heatmap-header-row{margin-bottom:6px}
.heatmap-month-labels{display:flex;gap:0;padding-left:36px;font-size:10px;color:var(--text3);font-weight:600}
.heatmap-body{display:flex;gap:6px;min-width:max-content}
.heatmap-day-labels{display:flex;flex-direction:column;gap:0;font-size:10px;color:var(--text3);padding-top:2px;flex-shrink:0;width:28px}
.heatmap-day-labels span{height:14px;line-height:14px;display:block;margin-bottom:2px}
.heatmap-grid{display:flex;gap:3px;flex-wrap:nowrap}
.heatmap-week{display:flex;flex-direction:column;gap:2px}
.heatmap-cell{width:13px;height:13px;border-radius:3px;cursor:pointer;transition:.15s;flex-shrink:0}
.heatmap-cell:hover{transform:scale(1.4);z-index:1;position:relative}
.heatmap-legend{display:flex;align-items:center;gap:6px;margin-top:14px;justify-content:flex-end}
.heatmap-legend-cells{display:flex;gap:3px}
.heatmap-legend .heatmap-cell{cursor:default}
.heatmap-legend .heatmap-cell:hover{transform:none}
.heatmap-bottom-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.heatmap-bstat{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:16px;text-align:center}
.heatmap-bstat-val{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:var(--green);display:block}
.heatmap-bstat-lbl{font-size:11px;color:var(--text2);margin-top:3px;display:block}

/* ── MEDITATION ── */
.meditation-container{max-width:900px;margin:0 auto;width:100%}
.meditation-tabs{display:flex;gap:6px;background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:5px;margin-bottom:24px}
.meditation-tab{flex:1;padding:9px 12px;border-radius:10px;border:none;background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.meditation-tab.active{background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(42,157,143,.2));color:var(--text);border:1px solid rgba(139,92,246,.3)}
.meditation-main{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
/* Breathing section */
.breathing-card{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:28px;text-align:center}
.breathing-select-row{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.breathing-preset-btn{flex:1;min-width:100px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--glass);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:.2s;font-family:'Inter',sans-serif}
.breathing-preset-btn:hover{background:var(--glass2)}
.breathing-preset-btn.active{border-color:var(--purple);background:rgba(139,92,246,.15);color:#a78bfa}
.breath-ring-wrap{position:relative;width:200px;height:200px;margin:0 auto 24px}
.breath-ring-svg{width:200px;height:200px;overflow:visible}
.breath-ring-bg{fill:none;stroke:var(--bg4);stroke-width:10}
.breath-ring-progress{fill:none;stroke:url(#breathGradient);stroke-width:10;stroke-linecap:round;transition:all .05s linear}
.breath-ring-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.breath-emoji{font-size:44px;transition:transform 1s ease;display:block}
.breath-phase{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;margin-top:6px;transition:color .5s}
.breath-count{font-size:13px;color:var(--text3);margin-top:2px}
.breath-controls{display:flex;gap:12px;justify-content:center;margin-bottom:16px}
.breath-btn{background:linear-gradient(135deg,var(--purple),#6d28d9);color:#fff;border:none;border-radius:50px;padding:12px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:all .25s;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px rgba(139,92,246,.3)}
.breath-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(139,92,246,.4)}
.breath-btn.running{background:linear-gradient(135deg,var(--red),var(--red-dark));box-shadow:0 4px 16px var(--red-glow)}
.breath-instruction{background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.15);border-radius:12px;padding:12px 16px;font-size:13px;color:var(--text2);line-height:1.5}
/* Meditation sessions */
.meditation-sessions-grid{display:grid;grid-template-columns:1fr;gap:12px}
.meditation-session-card{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.meditation-session-card:hover{border-color:var(--border2);transform:translateX(4px)}
.meditation-session-card.playing{border-color:var(--purple);background:rgba(139,92,246,.08)}
.meditation-session-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.meditation-session-info{flex:1;min-width:0}
.meditation-session-name{font-size:14px;font-weight:700;margin-bottom:3px}
.meditation-session-desc{font-size:12px;color:var(--text2)}
.meditation-session-meta{display:flex;gap:8px;margin-top:5px;flex-wrap:wrap}
.meditation-meta-chip{font-size:10px;font-weight:600;padding:2px 8px;border-radius:50px}
.chip-duration{background:rgba(42,157,143,.15);color:var(--green)}
.chip-level{background:rgba(139,92,246,.15);color:#a78bfa}
.meditation-session-play{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--glass);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text2);transition:.2s}
.meditation-session-card:hover .meditation-session-play,.meditation-session-card.playing .meditation-session-play{background:var(--purple);border-color:var(--purple);color:#fff}
/* Meditation player */
.meditation-player-card{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(42,157,143,.08));border:1px solid rgba(139,92,246,.25);border-radius:20px;padding:24px;margin-bottom:20px;display:none}
.meditation-player-card.visible{display:block}
.meditation-player-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.meditation-player-icon{font-size:40px}
.meditation-player-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800}
.meditation-player-sub{font-size:13px;color:var(--text2);margin-top:3px}
.meditation-progress-bar{height:5px;background:rgba(255,255,255,.1);border-radius:5px;overflow:hidden;margin-bottom:8px;cursor:pointer}
.meditation-progress-fill{height:100%;background:linear-gradient(90deg,var(--purple),var(--green));border-radius:5px;transition:width .5s linear}
.meditation-progress-time{display:flex;justify-content:space-between;font-size:11px;color:var(--text2);margin-bottom:16px}
.meditation-player-controls{display:flex;align-items:center;justify-content:center;gap:12px}
.mp-btn{background:var(--glass2);border:1px solid var(--border);border-radius:50px;padding:9px 18px;color:var(--text2);cursor:pointer;font-size:12px;font-weight:600;transition:.2s;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:6px}
.mp-btn:hover{background:var(--glass2);color:var(--text)}
.mp-btn-main{background:linear-gradient(135deg,var(--purple),#6d28d9);color:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .25s;box-shadow:0 4px 16px rgba(139,92,246,.4)}
.mp-btn-main:hover{transform:scale(1.08)}
/* Meditation quotes sub-tab */
.meditation-quotes-grid{display:grid;grid-template-columns:1fr;gap:14px}
.med-quote-card{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:22px;position:relative;overflow:hidden;transition:all .3s}
.med-quote-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:var(--shadow)}
.med-quote-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0}
.med-quote-card:nth-child(1)::before{background:linear-gradient(90deg,var(--purple),var(--green))}
.med-quote-card:nth-child(2)::before{background:linear-gradient(90deg,var(--amber),var(--red))}
.med-quote-card:nth-child(3)::before{background:linear-gradient(90deg,var(--blue),var(--purple))}
.med-quote-card:nth-child(4)::before{background:linear-gradient(90deg,var(--green),var(--blue))}
.med-quote-text{font-family:'Syne',sans-serif;font-size:15px;font-weight:600;line-height:1.6;color:var(--text);margin-bottom:12px;font-style:italic}
.med-quote-author{font-size:12px;color:var(--text2);font-weight:600}
.med-quote-tag{display:inline-flex;padding:3px 10px;border-radius:50px;font-size:10px;font-weight:700;margin-top:8px}
/* Meditation tips */
.meditation-tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.meditation-tip-card{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:20px}
.meditation-tip-icon{font-size:28px;margin-bottom:10px}
.meditation-tip-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:6px}
.meditation-tip-text{font-size:13px;color:var(--text2);line-height:1.6}
/* Meditation stats sidebar */
.meditation-stats-col{display:flex;flex-direction:column;gap:12px}
.med-stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}
.med-stat-val{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:var(--purple)}
.med-stat-lbl{font-size:11px;color:var(--text2);margin-top:3px}
.med-streak-card{background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(42,157,143,.08));border:1px solid rgba(139,92,246,.2);border-radius:14px;padding:16px}
.med-streak-num{font-family:'Syne',sans-serif;font-size:32px;font-weight:800;color:#a78bfa}
.med-streak-lbl{font-size:12px;color:var(--text2)}
.med-recent{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px}
.med-recent-title{font-size:12px;font-weight:700;margin-bottom:10px;color:var(--text2)}
.med-recent-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}
.med-recent-item:last-child{border-bottom:none}
.med-recent-icon{font-size:16px}
.med-recent-name{flex:1;color:var(--text2)}
.med-recent-mins{color:var(--purple);font-weight:700}

/* ── CHALLENGES ── */
.challenges-container{max-width:900px;margin:0 auto;width:100%}
.challenges-active-label{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:14px}
.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:12px}
.challenge-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden;transition:all .3s}
.challenge-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.challenge-card.active-joined{border-color:var(--green-dark);box-shadow:0 0 20px var(--green-glow)}
.challenge-card-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.challenge-badge-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.challenge-info{flex:1;min-width:0}
.challenge-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:4px}
.challenge-desc{font-size:12px;color:var(--text2);line-height:1.5}
.challenge-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.challenge-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:50px;font-size:10px;font-weight:700}
.chip-days{background:rgba(245,158,11,.15);color:#f59e0b}
.chip-difficulty{background:rgba(139,92,246,.15);color:#8b5cf6}
.chip-participants{background:rgba(42,157,143,.15);color:var(--green)}
.challenge-progress-bar{height:5px;background:var(--bg4);border-radius:5px;overflow:hidden;margin-bottom:7px}
.challenge-progress-fill{height:100%;border-radius:5px;transition:width .6s ease}
.challenge-progress-lbl{font-size:11px;color:var(--text2);display:flex;justify-content:space-between}
.challenge-join-btn{width:100%;padding:10px;border-radius:12px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s;font-family:'Inter',sans-serif;margin-top:12px}
.challenge-join-btn.join{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 3px 12px var(--green-glow)}
.challenge-join-btn.join:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--green-glow)}
.challenge-join-btn.joined{background:var(--glass2);border:1px solid var(--green-dark);color:var(--green)}
.challenge-crown{position:absolute;top:12px;right:12px;font-size:16px}
.challenges-available{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}

/* ── MOOD TRACKER ── */
.mood-container{max-width:900px;margin:0 auto;width:100%}
.mood-main-grid{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}
.mood-checkin-card{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:24px;margin-bottom:0}
.mood-checkin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:8px}
.mood-checkin-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:700}
.mood-checkin-date{font-size:12px;color:var(--text2)}
.mood-section-lbl{font-size:11px;font-weight:700;color:var(--text2);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px}
.mood-emoji-row{display:flex;gap:8px;justify-content:space-between;margin-bottom:20px}
.mood-emoji-btn{flex:1;background:var(--glass);border:2px solid transparent;border-radius:14px;padding:11px 4px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:24px;font-family:'Inter',sans-serif;color:var(--text2)}
.mood-emoji-btn span{font-size:9px;font-weight:700;letter-spacing:.3px}
.mood-emoji-btn:hover{background:var(--glass2);transform:scale(1.04)}
.mood-emoji-btn.selected{border-color:var(--green);background:rgba(42,157,143,.12);color:var(--text);transform:scale(1.07);box-shadow:0 0 14px var(--green-glow)}
.energy-slider-wrap{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.energy-icon{font-size:18px}
.energy-slider{flex:1;-webkit-appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--amber),var(--green));cursor:pointer;outline:none}
.energy-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:pointer;transition:.15s}
.energy-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}
.energy-val-badge{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;font-size:12px;font-weight:800;padding:4px 11px;border-radius:50px;font-family:'Syne',sans-serif;white-space:nowrap}
.mood-history-section{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:20px;margin-top:20px}
.mood-history-chart-wrap{height:150px;margin-bottom:18px;position:relative}
.mood-history-list{display:flex;flex-direction:column;gap:8px}
.mood-history-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--glass);border:1px solid var(--border);border-radius:12px}
.mood-history-emoji{font-size:22px;flex-shrink:0}
.mood-history-info{flex:1;min-width:0}
.mood-history-date{font-size:12px;font-weight:600}
.mood-history-note{font-size:11px;color:var(--text2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mood-history-right{text-align:right;flex-shrink:0}
.mood-history-energy{font-size:12px;font-weight:700;color:var(--green)}
.mood-history-label{font-size:10px;color:var(--text3)}
.mood-side-col{display:flex;flex-direction:column;gap:12px}
.mood-insight-card{background:linear-gradient(135deg,rgba(236,72,153,.1),rgba(139,92,246,.1));border:1px solid rgba(236,72,153,.2);border-radius:16px;padding:18px;display:flex;align-items:flex-start;gap:12px}
.mood-insight-icon{font-size:26px;flex-shrink:0}
.mood-insight-title{font-size:13px;font-weight:700;color:#f9a8d4;margin-bottom:4px}
.mood-insight-text{font-size:12px;color:var(--text2);line-height:1.5}
.mood-stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}
.mood-stat-val{font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:#ec4899}
.mood-stat-lbl{font-size:11px;color:var(--text2);margin-top:3px}
.mood-streak-card{background:linear-gradient(135deg,rgba(236,72,153,.12),rgba(139,92,246,.08));border:1px solid rgba(236,72,153,.2);border-radius:14px;padding:16px;text-align:center}
.mood-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}
.mood-week-day{display:flex;flex-direction:column;align-items:center;gap:3px}
.mood-week-emoji{font-size:16px;line-height:1}
.mood-week-lbl{font-size:9px;color:var(--text3)}
/* ── CHALLENGE JOIN MODAL ── */
.challenge-join-modal .modal{max-width:420px;text-align:center;padding:32px 24px}
.challenge-complete-banner{background:linear-gradient(135deg,rgba(42,157,143,.2),rgba(84,204,22,.15));border:1px solid rgba(42,157,143,.4);border-radius:12px;padding:12px 16px;text-align:center;font-size:14px;font-weight:700;color:var(--green);margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1200px){
  .stats-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .nav{padding:14px 24px}
  .section{padding:60px 24px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .zones-grid{grid-template-columns:1fr}
  .charts-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .focus-container{grid-template-columns:1fr}
  .focus-stats-col{display:grid;grid-template-columns:repeat(3,1fr)}
  .focus-history{grid-column:1/-1}
  .analytics-summary-row{grid-template-columns:repeat(2,1fr)}
  .heatmap-bottom-stats{grid-template-columns:repeat(2,1fr)}
  .meditation-main{grid-template-columns:1fr}
  .meditation-stats-col{display:grid;grid-template-columns:repeat(3,1fr)}
  .med-streak-card{grid-column:1/-1}
  .med-recent{grid-column:1/-1}
  .meditation-tips-grid{grid-template-columns:repeat(2,1fr)}
  .mood-main-grid{grid-template-columns:1fr}
  .mood-side-col{display:grid;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);z-index:200;box-shadow:var(--shadow)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-close-btn{display:flex;align-items:center;justify-content:center}
  .main-content{margin-left:0!important;padding:14px 12px 88px}
  .bottom-nav{display:block}
  .nav-links{display:none}
  .footer-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:clamp(32px,8vw,50px)}
  .page-header{flex-direction:column;align-items:flex-start;gap:10px}
  .charts-grid{grid-template-columns:1fr}
  .zones-grid{grid-template-columns:1fr}
  .hamburger-btn{display:flex}
  .badges-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .section-title{font-size:20px}
  .stats-mini{grid-template-columns:repeat(2,1fr)}
  .quick-features-row{grid-template-columns:repeat(2,1fr)}
  .sub-modal{max-width:100%;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0}
  .sub-overlay{align-items:flex-end;padding:0}
  .sub-plans{gap:8px}
  .sub-plan{padding:12px 8px}
  .sub-plan-price{font-size:20px}
  .time-hero{padding:16px 18px;gap:14px}
  .time-hero-icon{font-size:36px}
  .time-hero-greeting{font-size:18px}
  .time-hero-sub{font-size:12px;margin-bottom:8px}
  .time-hero-meta{gap:6px}
  .time-meta-chip{padding:3px 9px;font-size:10px}
  .auth-card{padding:28px 20px}
  .modal{padding:22px 18px}
  .otp-inputs{gap:8px}
  .otp-input{width:44px;height:44px;font-size:18px}
  .profile-header{flex-direction:column;text-align:center}
  .profile-header .btn{margin-left:0!important}
  .icon-picker{grid-template-columns:repeat(6,1fr)}
  .quote-card{flex-direction:column;gap:12px;padding:18px}
  .quote-card-left{flex-direction:row;align-items:center}
  .quote-text{font-size:14px}
  .analytics-filter-row{flex-direction:column;align-items:flex-start}
  .analytics-period-tabs{width:100%}
  .analytics-summary-row{grid-template-columns:repeat(2,1fr)}
  .focus-container{grid-template-columns:1fr}
  .focus-stats-col{display:grid;grid-template-columns:repeat(3,1fr)}
  .focus-history{grid-column:1/-1}
  .focus-ring-wrap{width:160px;height:160px}
  .focus-ring{width:160px;height:160px}
  .focus-time{font-size:32px}
  .heatmap-bottom-stats{grid-template-columns:repeat(2,1fr)}
  .profile-badges-section{display:block!important}
  .meditation-main{grid-template-columns:1fr}
  .meditation-stats-col{display:grid;grid-template-columns:repeat(2,1fr)}
  .med-streak-card,.med-recent{grid-column:1/-1}
  .meditation-tips-grid{grid-template-columns:1fr}
  .breath-ring-wrap{width:170px;height:170px}
  .breath-ring-svg{width:170px;height:170px}
  .breathing-select-row{gap:6px}
  .breathing-preset-btn{min-width:80px;font-size:11px;padding:8px 8px}
  .challenges-grid{grid-template-columns:1fr}
  .challenges-available{grid-template-columns:1fr}
  .mood-main-grid{grid-template-columns:1fr}
  .mood-side-col{display:grid;grid-template-columns:1fr 1fr}
  .mood-emoji-row{gap:5px}
  .mood-emoji-btn{font-size:20px;padding:9px 3px}
  .mood-emoji-btn span{font-size:8px}
  .meditation-tab{font-size:11px;padding:7px 6px;gap:4px}
  .meditation-quotes-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .nav{padding:12px 16px}
  .hero-btns{flex-direction:column;align-items:center}
  .btn-lg{width:100%;justify-content:center;max-width:280px}
  .badges-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{gap:24px}
  .time-hero{padding:14px;gap:12px}
  .time-hero-icon{font-size:30px}
  .time-hero-greeting{font-size:16px}
  .time-hero-sub{display:none}
  .time-meta-chip{padding:2px 8px;font-size:9px;gap:3px}
  .icon-picker{grid-template-columns:repeat(5,1fr)}
  .demo-lock-btns{flex-direction:column}
  .demo-lock-btns .btn{justify-content:center}
  .analytics-summary-row{grid-template-columns:1fr 1fr}
  .heatmap-cell{width:10px;height:10px}
  .focus-stats-col{grid-template-columns:1fr 1fr}
  .heatmap-bottom-stats{grid-template-columns:1fr 1fr}
  .focus-mode-btn{font-size:10px;padding:6px 3px}
  .meditation-stats-col{grid-template-columns:1fr 1fr}
  .mood-side-col{grid-template-columns:1fr}
  .mood-emoji-row{gap:4px}
  .meditation-tabs{gap:3px}
  .meditation-tab{font-size:10px;padding:7px 4px}
  .meditation-tips-grid{grid-template-columns:1fr}
  .quick-feature-row{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  .stats-grid{grid-template-columns:1fr}
  .badges-grid{grid-template-columns:1fr}
  .analytics-summary-row{grid-template-columns:1fr}
  .mood-emoji-row{gap:3px}
  .mood-emoji-btn{font-size:18px;padding:8px 2px}
}
/* ── QUICK FEATURE ROW ── */
.quick-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}
.quick-feature-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:13px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .25s}
.quick-feature-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:var(--shadow)}
.qf-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.qf-info{flex:1;min-width:0}
.qf-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qf-sub{font-size:10px;color:var(--text2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:768px){.quick-feature-row{grid-template-columns:1fr 1fr}}
/* ── NOTIFICATION PANEL ── */
.notif-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;background:var(--red);color:#fff;font-size:9px;font-weight:800;border-radius:50px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-family:'Syne',sans-serif;border:2px solid var(--bg4);animation:nbPulse 2s ease-in-out infinite;pointer-events:none}
@keyframes nbPulse{0%,100%{box-shadow:0 0 0 0 var(--rg)}50%{box-shadow:0 0 0 4px transparent}}
.notif-panel{position:fixed;width:340px;max-width:calc(100vw - 24px);background:var(--bg3);border:1px solid var(--border2);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.6);z-index:9000;display:none;flex-direction:column;max-height:480px;overflow:hidden}
.notif-panel-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg4);border-radius:16px 16px 0 0}
.notif-panel-body{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.notif-panel-item{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);transition:.15s;overflow-wrap:break-word;word-break:break-word}
.notif-panel-item:last-child{border-bottom:none}
.notif-panel-item:hover{background:var(--glass)}
.notif-panel-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
@media(max-width:480px){.notif-panel{width:calc(100vw - 24px);right:12px!important}}
/* ── MOTIVATION SECTION ── */
.motiv-hero-wrap{margin-bottom:28px}
.motiv-hero-card{border-radius:24px;padding:36px 32px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(139,92,246,.18),rgba(42,157,143,.12),rgba(230,57,70,.08));border:1px solid rgba(139,92,246,.3);min-height:220px;display:flex;align-items:center}
.motiv-hero-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Syne',sans-serif;font-size:clamp(60px,12vw,120px);font-weight:800;color:rgba(255,255,255,.03);white-space:nowrap;pointer-events:none;user-select:none;letter-spacing:8px}
.motiv-hero-content{position:relative;z-index:1;width:100%}
.motiv-hero-label{font-size:11px;font-weight:700;color:#a78bfa;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.motiv-hero-quote{font-family:'Syne',sans-serif;font-size:clamp(16px,3vw,22px);font-weight:700;line-height:1.5;color:var(--text);margin-bottom:14px;font-style:italic;word-break:break-word}
.motiv-hero-author{font-size:14px;color:var(--text2);margin-bottom:22px;font-weight:500}
.motiv-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.motiv-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif}
.motiv-share-btn:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.motiv-share-btn .fab,.motiv-share-btn .fas{font-size:13px}
.motiv-share-btn:nth-child(1){color:#1DA1F2;border-color:rgba(29,161,242,.3)}
.motiv-share-btn:nth-child(1):hover{background:rgba(29,161,242,.12)}
.motiv-share-btn:nth-child(2){color:#25D366;border-color:rgba(37,211,102,.3)}
.motiv-share-btn:nth-child(2):hover{background:rgba(37,211,102,.12)}
.motiv-share-btn:nth-child(3){color:#a78bfa;border-color:rgba(139,92,246,.3)}
.motiv-share-btn:nth-child(3):hover{background:rgba(139,92,246,.12)}
.motiv-share-btn:nth-child(4){color:var(--green);border-color:rgba(42,157,143,.3)}
.motiv-share-btn:nth-child(4):hover{background:rgba(42,157,143,.12)}
/* Quote grid */
.motiv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.motiv-card{background:var(--bg3);border:1px solid var(--border);border-radius:18px;padding:22px;position:relative;overflow:hidden;transition:all .3s;cursor:default}
.motiv-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.motiv-card.today-card{border-color:rgba(139,92,246,.4);box-shadow:0 0 20px rgba(139,92,246,.15)}
.motiv-card-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0}
.motiv-card-icon{font-size:28px;margin-bottom:10px}
.motiv-card-quote{font-size:14px;font-weight:600;font-family:'Syne',sans-serif;line-height:1.55;color:var(--text);font-style:italic;margin-bottom:10px;word-break:break-word}
.motiv-card-author{font-size:12px;color:var(--text2);font-weight:500}
.motiv-today-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:50px;background:rgba(139,92,246,.15);color:#a78bfa;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:8px}
.motiv-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.motiv-card-share{display:flex;gap:6px}
.motiv-card-share-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--glass);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);font-size:11px;transition:.2s}
.motiv-card-share-btn:hover{background:var(--glass2);color:var(--text)}
@media(max-width:768px){.motiv-hero-card{padding:24px 20px;min-height:180px}.motiv-grid{grid-template-columns:1fr}.motiv-hero-quote{font-size:16px}}
@media(max-width:480px){.motiv-hero-actions{gap:6px}.motiv-share-btn{padding:7px 11px;font-size:11px}}

/* ── SUBSCRIPTION / PAYMENT OVERLAY ── */
.sub-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(16px);z-index:8000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:.4s}
.sub-overlay.open{opacity:1;visibility:visible}
.sub-modal{background:var(--bg3);border:1px solid var(--border2);border-radius:24px;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.7);overflow:hidden;transform:translateY(20px);transition:.4s}
.sub-overlay.open .sub-modal{transform:translateY(0)}
.sub-header{padding:28px 28px 0;text-align:center}
.sub-lock-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,rgba(230,57,70,.2),rgba(139,92,246,.2));border:1px solid rgba(230,57,70,.3);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}
.sub-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;margin-bottom:6px}
.sub-sub{font-size:13px;color:var(--text2);line-height:1.5;margin-bottom:6px}
.sub-trial-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:50px;background:rgba(42,157,143,.12);border:1px solid rgba(42,157,143,.25);color:var(--green);font-size:11px;font-weight:700;margin-bottom:20px}
.sub-plans{display:flex;gap:10px;padding:0 28px 20px;flex-wrap:wrap}
.sub-plan{flex:1;min-width:120px;border:2px solid var(--border);border-radius:16px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .25s;position:relative;background:var(--bg4)}
.sub-plan:hover{border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.05);transform:translateY(-2px)}
.sub-plan.selected{border-color:var(--purple);background:rgba(139,92,246,.1);box-shadow:0 0 20px rgba(139,92,246,.2)}
.sub-plan.popular::before{content:'BEST VALUE';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--red),var(--purple));color:#fff;font-size:8px;font-weight:800;padding:2px 8px;border-radius:50px;white-space:nowrap;letter-spacing:.5px}
.sub-plan-duration{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.sub-plan-price{font-family:'Syne',sans-serif;font-size:24px;font-weight:800;color:var(--text);margin-bottom:2px}
.sub-plan-price span{font-size:12px;font-weight:500;color:var(--text2)}
.sub-plan-save{font-size:10px;font-weight:700;color:var(--green);margin-top:4px;min-height:14px}
.sub-footer{padding:0 28px 28px}
.sub-pay-btn{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;transition:.25s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}
.sub-pay-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,58,237,.4)}
.sub-pay-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.sub-secured{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--text3);margin-bottom:14px}
.sub-note{font-size:11px;color:var(--text3);text-align:center;line-height:1.6}
/* Expire warning */
.expire-banner{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(230,57,70,.08));border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;margin-bottom:16px;cursor:pointer;transition:.2s}
.expire-banner:hover{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(230,57,70,.12))}
.expire-banner-icon{font-size:20px;flex-shrink:0}
.expire-banner-text{flex:1;font-size:12px;color:var(--text2);line-height:1.5}
.expire-banner-text strong{color:var(--amber);display:block;font-size:13px;margin-bottom:2px}
/* Profile subscription card */
.sub-status-card{background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:16px}
.sub-status-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.sub-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:700}
.sub-active{background:rgba(42,157,143,.15);color:var(--green);border:1px solid rgba(42,157,143,.3)}
.sub-trial{background:rgba(6,182,212,.15);color:#06b6d4;border:1px solid rgba(6,182,212,.3)}
.sub-expired{background:rgba(230,57,70,.15);color:var(--red);border:1px solid rgba(230,57,70,.3)}
@media(max-width:480px){.sub-plans{flex-direction:column}.sub-modal{border-radius:18px}}

/*----Income and Trade Button*/
.hf-trade-btn {
  background: linear-gradient(135deg, rgba(232,25,44,.14), transparent) !important;
  border: 1px solid rgba(232,25,44,.3) !important;
  animation: sidePulseRed 2.2s ease-in-out infinite;
  position: relative; overflow: hidden;
}
.hf-trade-btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(232,25,44,.15), transparent);
  transform: translateX(-100%);
  animation: hfShineRed 2.5s ease-in-out infinite;
}
.hf-trade-btn:hover {
  background: linear-gradient(135deg, rgba(232,25,44,.28), rgba(232,25,44,.1)) !important;
  border-color: rgba(232,25,44,.6) !important;
  transform: translateX(3px);
}
.hf-income-btn {
  background: linear-gradient(135deg, rgba(0,214,122,.12), transparent) !important;
  border: 1px solid rgba(0,214,122,.28) !important;
  animation: sidePulseGreen 2.2s ease-in-out infinite;
  position: relative; overflow: hidden;
}
.hf-income-btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(0,214,122,.12), transparent);
  transform: translateX(-100%);
  animation: hfShineGreen 2.5s ease-in-out infinite;
}
.hf-income-btn:hover {
  background: linear-gradient(135deg, rgba(0,214,122,.25), rgba(0,214,122,.08)) !important;
  border-color: rgba(0,214,122,.5) !important;
  transform: translateX(3px);
}
@keyframes sidePulseRed {
  0%,100% { box-shadow: 0 0 0 0 rgba(232,25,44,.3); }
  50%      { box-shadow: 0 0 0 5px transparent; }
}
@keyframes sidePulseGreen {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,214,122,.2); }
  50%      { box-shadow: 0 0 0 5px transparent; }
}
@keyframes hfShineRed {
  0%  { transform: translateX(-100%); }
  55% { transform: translateX(100%); }
  100%{ transform: translateX(100%); }
}
@keyframes hfShineGreen {
  0%  { transform: translateX(-100%); }
  60% { transform: translateX(100%); }
  100%{ transform: translateX(100%); }
}
