/* GOALS PAGE */
.goals-page{position:fixed;inset:0;background:var(--bg);z-index:180;overflow-y:auto;padding-bottom:90px;transform:translateX(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
.goals-page.open{transform:translateX(0)}
.goals-header{position:sticky;top:0;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:10;backdrop-filter:blur(8px)}
.goals-back{background:none;border:1px solid var(--border-g);border-radius:8px;color:var(--text-dim);padding:6px 11px;font-size:.75rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.goals-back:hover{border-color:var(--gold);color:var(--gold)}
.goals-title{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:var(--gold)}
.goals-tabs{display:flex;gap:0;padding:0 16px;margin:12px 0 0;border-bottom:1px solid var(--border-g)}
.gtab{flex:1;padding:9px 4px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-b);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s;text-align:center}
.gtab.active{color:var(--gold);border-bottom-color:var(--gold)}
.goals-panel{display:none;padding:16px}
.goals-panel.active{display:block}

/* VISION TAB */
.vision-field{margin-bottom:16px}
.vision-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);margin-bottom:6px;display:block}
.vision-textarea{width:100%;background:var(--bg3);border:1px solid var(--border-g);border-radius:11px;color:var(--text);font-family:var(--font-b);font-size:.85rem;padding:11px 13px;outline:none;transition:border-color .2s;resize:none;min-height:80px;line-height:1.6}
.vision-textarea:focus{border-color:var(--gold)}
.vision-textarea::placeholder{color:var(--text-dim)}
.vision-revision{background:var(--card);border:1px solid var(--border-g);border-radius:11px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.vision-rev-info{font-size:.72rem;color:var(--text-dim);line-height:1.6}
.vision-rev-info b{color:var(--text-mid)}
.vision-rev-btn{background:rgba(201,168,76,.12);border:1px solid var(--gold-d);border-radius:8px;color:var(--gold);padding:8px 12px;font-size:.72rem;font-family:var(--font-b);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}
.vision-rev-btn:hover{background:rgba(201,168,76,.22)}
.vision-save-hint{font-size:.65rem;color:var(--text-dim);text-align:center;margin-top:10px}

/* STRATEGY TAB */
.sg-filter{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}
.sg-fchip{background:var(--bg3);border:1px solid var(--border-g);border-radius:20px;padding:4px 10px;font-size:.67rem;color:var(--text-dim);cursor:pointer;transition:all .2s}
.sg-fchip.active{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--gold)}
.sg-card{background:var(--card);border:1px solid var(--border-g);border-radius:13px;padding:13px 14px;margin-bottom:10px;position:relative;overflow:hidden}
.sg-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-d),var(--gold))}
.sg-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.sg-name{font-size:.9rem;font-weight:700;color:var(--text);flex:1}
.sg-cat{font-size:.58rem;letter-spacing:.07em;padding:3px 7px;border-radius:4px;background:rgba(201,168,76,.1);color:var(--gold);border:1px solid var(--gold-d);white-space:nowrap;flex-shrink:0}
.sg-desc{font-size:.73rem;color:var(--text-dim);margin-bottom:8px;line-height:1.5}
.sg-meta{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}
.sg-meta-item{font-size:.68rem;color:var(--text-dim)}
.sg-meta-item b{color:var(--text-mid)}
.sg-metric-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.sg-metric-cur{background:var(--bg3);border:1px solid var(--border-g);border-radius:7px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:5px 9px;outline:none;transition:border-color .2s;width:100px}
.sg-metric-cur:focus{border-color:var(--gold)}
.sg-metric-label{font-size:.7rem;color:var(--text-dim)}
.sg-prog{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:4px}
.sg-prog-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:3px;transition:width .6s ease}
.sg-pct{font-size:.62rem;color:var(--text-dim)}
.sg-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.sg-act-btn{background:none;border:1px solid var(--border-g);border-radius:7px;color:var(--text-dim);padding:5px 10px;font-size:.67rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.sg-act-btn:hover{border-color:var(--gold);color:var(--gold)}
.sg-act-btn.del{border-color:rgba(224,85,85,.3);color:var(--red)}
.sg-act-btn.del:hover{background:rgba(224,85,85,.1)}
.sg-revision{font-size:.62rem;color:var(--text-dim);margin-top:6px}
.add-sg-btn{width:100%;padding:12px;border:1px dashed var(--border-g);border-radius:11px;background:none;color:var(--text-dim);font-family:var(--font-b);font-size:.82rem;cursor:pointer;transition:all .2s;margin-top:4px}
.add-sg-btn:hover{border-color:var(--gold);color:var(--gold)}
.strategy-revision{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;font-size:.7rem;color:var(--text-dim)}

/* TACTICS TAB */
.tactics-section-title{font-family:var(--font-d);font-size:1.05rem;font-weight:600;color:var(--gold);margin:18px 0 10px;letter-spacing:.04em}
.tactics-section-title:first-child{margin-top:0}
.okr-card{background:var(--card);border:1px solid var(--border-g);border-radius:11px;padding:11px 13px;margin-bottom:8px}
.okr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:5px}
.okr-text{font-size:.82rem;color:var(--text);flex:1;line-height:1.4}
.okr-goal-link{font-size:.62rem;color:var(--gold-d);margin-bottom:6px}
.okr-metric-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.okr-cur-inp{background:var(--bg3);border:1px solid var(--border-g);border-radius:7px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:5px 9px;outline:none;transition:border-color .2s;width:90px}
.okr-cur-inp:focus{border-color:var(--gold)}
.okr-metric-lbl{font-size:.7rem;color:var(--text-dim)}
.okr-prog{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:3px}
.okr-prog-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:2px;transition:width .5s ease}
.okr-pct{font-size:.6rem;color:var(--text-dim)}
.okr-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;padding:2px 5px;border-radius:4px;transition:color .2s;flex-shrink:0}
.okr-del:hover{color:var(--red)}
.add-okr-btn{width:100%;padding:10px;border:1px dashed var(--border-g);border-radius:9px;background:none;color:var(--text-dim);font-family:var(--font-b);font-size:.78rem;cursor:pointer;transition:all .2s;margin-bottom:4px}
.add-okr-btn:hover{border-color:var(--gold);color:var(--gold)}
.tactic-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:10px;margin-bottom:5px;transition:all .2s}
.tactic-item.done-item{opacity:.5;border-color:transparent}
.tactic-cb{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-g);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:none}
.tactic-cb:hover{border-color:var(--gold)}
.tactic-cb.checked{background:var(--gold);border-color:var(--gold)}
.tactic-cb.checked::after{content:'✓';color:var(--bg);font-size:.75rem;font-weight:700}
.tactic-text{font-size:.82rem;flex:1;color:var(--text-mid)}
.tactic-text.done{text-decoration:line-through;color:var(--text-dim)}
.tactic-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;padding:2px 5px;border-radius:4px;transition:color .2s;flex-shrink:0}
.tactic-del:hover{color:var(--red)}
.tactic-add-row{display:flex;gap:8px;margin-top:6px}
.tactics-quarter-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}
.week-reset-hint{font-size:.65rem;color:var(--text-dim);text-align:center;margin-top:6px;line-height:1.5}

/* REVIEWS TAB */
.review-card{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:13px 14px;margin-bottom:10px}
.review-card-date{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);margin-bottom:9px}
.review-field-label{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.review-field-val{font-size:.8rem;color:var(--text-mid);line-height:1.5;margin-bottom:8px;white-space:pre-wrap}
.review-del-btn{background:none;border:1px solid rgba(224,85,85,.3);border-radius:7px;color:var(--red);padding:5px 10px;font-size:.67rem;cursor:pointer;font-family:var(--font-b);transition:all .2s;margin-top:4px}
.review-del-btn:hover{background:rgba(224,85,85,.1)}

/* SUNDAY WIDGET */
.sunday-widget{margin:14px 16px 0;background:rgba(201,168,76,.07);border:1px solid var(--gold-d);border-radius:13px;padding:14px 15px;display:none}
.sunday-widget.show{display:block}
.sunday-widget-title{font-family:var(--font-d);font-size:1rem;font-weight:600;color:var(--gold);margin-bottom:10px}
.sunday-textarea{width:100%;background:var(--bg3);border:1px solid var(--border-g);border-radius:9px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:9px 11px;outline:none;resize:none;min-height:60px;margin-bottom:8px;transition:border-color .2s}
.sunday-textarea:focus{border-color:var(--gold)}
.sunday-textarea::placeholder{color:var(--text-dim)}

/* TAXI ODO */
.taxi-odo-block{background:var(--bg3);border:1px solid var(--border-g);border-radius:12px;padding:12px 13px;margin-bottom:12px}
.taxi-sect-lbl{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px;font-weight:700}
.taxi-odo-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.taxi-odo-item{display:flex;flex-direction:column;gap:4px}
.taxi-odo-lbl{font-size:.65rem;color:var(--text-dim)}
.taxi-odo-inp{background:var(--bg2);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.9rem;padding:8px 10px;outline:none;transition:border-color .2s;width:100%}
.taxi-odo-inp:focus{border-color:var(--gold)}
.taxi-odo-interm{margin-bottom:7px}
.taxi-now-btn{background:rgba(201,168,76,.12);border:1px solid var(--gold-d);border-radius:6px;color:var(--gold);font-family:var(--font-b);font-size:.62rem;padding:3px 7px;cursor:pointer;transition:all .2s;white-space:nowrap}
.taxi-now-btn:hover{background:rgba(201,168,76,.22)}
.taxi-now-btn:active{transform:scale(.96)}

/* WORKOUT WARMUP */
.sp-warmup-card{background:rgba(232,200,74,.06);border:1px solid rgba(232,200,74,.2);border-radius:10px;margin-bottom:10px;overflow:hidden}
.sp-warmup-card.done{background:rgba(76,175,125,.06);border-color:rgba(76,175,125,.25)}
.sp-warmup-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:8px}
.sp-warmup-tag{font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e8c84a}
.sp-warmup-card.done .sp-warmup-tag{color:#4caf7d}
.sp-warmup-body{padding:0 12px 12px}
.sp-warmup-item{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:.78rem;border-bottom:1px solid var(--border)}
.sp-warmup-item:last-of-type{border-bottom:none}

/* WORKOUT ADD SET */
.sp-add-set-btn{background:rgba(201,168,76,.12);border:1px solid var(--gold-d);border-radius:6px;color:var(--gold);font-size:.85rem;padding:0 7px;height:26px;cursor:pointer;transition:all .2s;margin-left:4px;flex-shrink:0}
.sp-add-set-btn:hover{background:rgba(201,168,76,.25)}

