/* Growth tab */
.gr-top{margin-bottom:28px}
.gr-crumb{font-size:var(--fs-1);color:var(--dim);font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:2px}
.gr-h1{font-size:var(--fs-5);font-weight:700;letter-spacing:-.3px;margin-bottom:4px;color:#fff}
.gr-status{font-size:var(--fs-3);color:rgba(255,255,255,.65);display:flex;align-items:center;gap:7px;margin-top:9px}
.gr-status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:grPulse 2s infinite}
@keyframes grPulse{0%,100%{opacity:1}50%{opacity:.4}}
.gr-sep{color:var(--dim)}

/* Layout */
.gr-layout{display:grid;grid-template-columns:1fr 320px;gap:24px}

/* Cards */
.gr-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-l);padding:22px 24px;margin-bottom:16px}
.gr-card-h{font-size:var(--fs-3);font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;color:#fff}
.gr-card-tag{font-size:var(--fs-1);font-weight:500;color:var(--accent);background:rgba(0,122,255,.1);padding:3px 10px;border-radius:10px}
.gr-label{font-size:var(--fs-1);font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;margin-top:4px;display:flex;align-items:center;justify-content:space-between}

/* Weekly chart */
.gr-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}
.gr-day{text-align:center}
.gr-day-label{font-size:var(--fs-1);color:var(--dim);font-weight:500;margin-bottom:6px}
.gr-day-bar-wrap{height:72px;background:rgba(255,255,255,.03);border-radius:6px;position:relative;overflow:hidden}
.gr-day-bar{position:absolute;bottom:0;left:0;right:0;border-radius:6px 6px 0 0;transition:.3s}
.gr-day-val{font-size:var(--fs-1);font-family:var(--mono);color:var(--dim);margin-top:4px}

/* Streaks */
.gr-streaks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}
.gr-streak{background:rgba(255,255,255,.03);border-radius:var(--r-m);padding:16px 18px;text-align:center}
.gr-streak-val{font-size:var(--fs-6);font-weight:700;letter-spacing:-.5px}
.gr-streak-label{font-size:var(--fs-1);color:var(--dim);margin-top:4px}

/* Habit rows */
.gr-habit{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:.5px solid var(--border)}
.gr-habit:last-child{border-bottom:none}
.gr-habit-icon{font-size:var(--fs-5);flex-shrink:0}
.gr-habit-info{flex:1}
.gr-habit-name{font-size:var(--fs-3);font-weight:500;color:#fff}
.gr-habit-freq{font-size:var(--fs-1);color:var(--dim);margin-top:2px}
.gr-habit-progress{width:100px;height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;flex-shrink:0}
.gr-habit-fill{height:100%;border-radius:3px}
.gr-habit-pct{font-size:var(--fs-2);font-family:var(--mono);color:var(--muted);width:40px;text-align:right;flex-shrink:0}

/* Learn progress */
.gr-learn-item{padding:14px 0;border-bottom:.5px solid var(--border)}
.gr-learn-item:last-child{border-bottom:none}
.gr-learn-title{font-size:var(--fs-3);font-weight:500;margin-bottom:8px;color:#fff}
.gr-learn-bar-wrap{height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin-bottom:6px}
.gr-learn-bar{height:100%;border-radius:3px;background:var(--purple)}
.gr-learn-meta{font-size:var(--fs-1);color:var(--dim);font-family:var(--mono);display:flex;justify-content:space-between}

/* AI Insights */
.gr-insight{background:var(--surface);border:.5px solid var(--border);border-radius:var(--r-l);padding:20px 22px;margin-bottom:12px;border-left:3px solid var(--accent)}
.gr-insight.tip{border-left-color:var(--accent)}
.gr-insight.trend{border-left-color:var(--green)}
.gr-insight.warning{border-left-color:var(--orange)}
.gr-insight-text{font-size:var(--fs-3);line-height:1.6;color:rgba(255,255,255,.8)}
.gr-insight-type{font-size:var(--fs-1);color:var(--dim);font-family:var(--mono);margin-top:8px}

/* Goals */
.gr-goal{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:.5px solid var(--border)}
.gr-goal:last-child{border-bottom:none}
.gr-goal-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-s);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-1)}
.gr-goal-check.done{background:var(--green);border-color:var(--green);color:#fff}
.gr-goal-text{font-size:var(--fs-3);color:#fff}
.gr-goal-text.done{color:var(--dim);text-decoration:line-through}
.gr-goal-deadline{font-size:var(--fs-1);font-family:var(--mono);color:var(--dim);margin-left:auto;flex-shrink:0}
.gr-goal-del{opacity:0;border:none;background:rgba(255,69,58,.15);color:#ff453a;cursor:pointer;font-size:var(--fs-1);padding:2px 7px;border-radius:10px;flex-shrink:0;transition:.12s}
.gr-goal:hover .gr-goal-del{opacity:1}
.gr-goal-check{cursor:pointer;transition:.15s}
.gr-goal-check:hover:not(.done){border-color:var(--green);color:var(--green)}
.gr-goal-add{display:flex;align-items:center;gap:8px;padding:12px 0 0}
.gr-goal-add input{flex:1;background:transparent;border:none;outline:none;font-size:var(--fs-2);color:var(--muted);font-family:var(--font)}
.gr-goal-add button{background:rgba(0,122,255,.12);border:none;color:var(--accent);font-size:var(--fs-3);cursor:pointer;padding:4px 10px;border-radius:6px;font-family:var(--font)}

/* AI coach button */
.gr-coach{background:rgba(0,122,255,.08);border:1px solid rgba(0,122,255,.2);border-radius:var(--r-l);padding:18px 22px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:14px;margin-bottom:20px}
.gr-coach:hover{background:rgba(0,122,255,.14);border-color:rgba(0,122,255,.45)}
.gr-coach-btn{color:#fff;background:var(--accent);border-radius:999px;padding:7px 16px;font-size:var(--fs-2);font-weight:500;white-space:nowrap}
.gr-coach-icon{font-size:var(--fs-6)}
.gr-coach-info{flex:1}
.gr-coach-title{font-size:var(--fs-3);font-weight:600;color:#fff}
.gr-coach-sub{font-size:var(--fs-2);color:var(--dim);margin-top:2px}

/* Two-column row */
.gr-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gr-card-half{margin-bottom:0}

/* Empty state */
.gr-empty{text-align:center;padding:40px 20px;color:var(--dim);font-size:var(--fs-2)}
.gr-empty-sub{font-size:var(--fs-1);margin-top:6px;color:var(--dim)}
