:root{
  --bg: #f4f5f8;
  --card: #ffffff;
  --card-glass: rgba(255,255,255,.55);
  --border-glass: rgba(255,255,255,.55);
  --blur: 20px;
  --text: #1c1d21;
  --muted: #7b7f8a;
  --border: rgba(20,20,43,.07);
  --shadow: 0 10px 30px rgba(20,20,43,.07);
  --primary: #4f46e5;
  --primary-soft: rgba(79,70,229,.10);
  --success: #16a34a;
  --success-soft: rgba(22,163,74,.12);
  --warning: #d97706;
  --warning-soft: rgba(217,119,6,.12);
  --danger: #dc2626;
  --danger-soft: rgba(220,38,38,.10);
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
}

body.tg-dark{
  --bg: #16171b;
  --card: #1f2025;
  --card-glass: rgba(31,32,37,.48);
  --border-glass: rgba(255,255,255,.12);
  --text: #f1f1f4;
  --muted: #9a9da7;
  --border: rgba(255,255,255,.08);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --primary-soft: rgba(129,120,255,.16);
  --success-soft: rgba(22,163,74,.22);
  --warning-soft: rgba(217,119,6,.22);
  --danger-soft: rgba(220,38,38,.20);
}

*{ box-sizing: border-box; }

.hidden{ display:none !important; }

body{
  margin:0;
  font-family:"Vazirmatn", tahoma, sans-serif;
  background:
    radial-gradient(circle at 15% 0%, rgba(79,70,229,.22), transparent 50%),
    radial-gradient(circle at 90% 15%, rgba(22,163,74,.18), transparent 45%),
    radial-gradient(circle at 30% 90%, rgba(217,119,6,.14), transparent 50%),
    var(--bg);
  background-attachment:fixed;
  color:var(--text);
  -webkit-tap-highlight-color: transparent;
}

#app{
  max-width:480px;
  margin:0 auto;
  padding:16px 16px calc(84px + env(safe-area-inset-bottom)) 16px;
  min-height:100vh;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:6px 4px 18px 4px;
}
.app-logo{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
  margin-inline-end:10px;
  box-shadow:var(--shadow);
  border:2px solid var(--card-glass, var(--card));
}
.greeting{
  display:flex;
  align-items:center;
}
.greeting-info{
  display:flex;
  flex-direction:column;
}
.greeting-text{
  display:flex;
  align-items:center;
}
.greeting-emoji{
  font-size:20px;
  line-height:1;
  margin-inline-end:6px;
  display:inline-block;
}
.greeting-sub{
  font-size:13px;
  font-weight:600;
}
.onboarding-welcome{
  text-align:center;
  padding:18px 12px;
}
.onboarding-title{
  font-size:16px;
  font-weight:700;
  margin-bottom:6px;
}
.onboarding-body{
  font-size:13px;
  color:var(--muted);
  margin-bottom:10px;
  line-height:1.7;
}
.onboarding-arrow{
  font-size:13px;
  font-weight:600;
  color:var(--primary, #5b4bff);
}
.onboarding-hint{
  animation: onboardPulse 1s ease-in-out 3;
  border-radius:12px;
}
@keyframes onboardPulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(91,75,255,.35); }
  50% { box-shadow: 0 0 0 6px rgba(91,75,255,0); }
}

.night-emoji{
  animation: nightGlow 2s ease-in-out infinite;
}
@keyframes nightGlow{
  0%, 100% { opacity:.6; transform:scale(1); }
  50% { opacity:1; transform:scale(1.12); }
}
.date-text{
  font-size:13px;
  color:var(--muted);
  margin-top:2px;
}

.card{
  background:var(--card-glass);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border:1px solid var(--border-glass);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:18px;
  margin-bottom:16px;
}
.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.card-head h2{
  font-size:16px;
  margin:0;
  font-weight:700;
}
.pill{
  font-size:12px;
  font-weight:700;
  color:var(--primary);
  background:var(--primary-soft);
  padding:4px 10px;
  border-radius:999px;
}
.subhead{
  font-size:13px;
  font-weight:700;
  color:var(--muted);
  margin:18px 2px 8px 2px;
}

.list{ display:flex; flex-direction:column; gap:8px; }
.empty{
  color:var(--muted);
  font-size:13.5px;
  text-align:center;
  padding:18px 6px;
}

.task-item{
  display:flex;
  flex-direction:column;
  border-radius:var(--radius-sm);
  transition:background .2s ease;
  overflow:hidden;
}
.task-item-main{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 8px;
}
.task-item:active{ background:var(--primary-soft); }
.task-item.done .task-title{
  color:var(--muted);
  text-decoration:line-through;
}
.check{
  flex:0 0 auto;
  width:24px; height:24px;
  border-radius:50%;
  border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:13px;
  color:transparent;
  background:transparent;
}
.task-item.done .check{
  background:var(--success);
  border-color:var(--success);
  color:#fff;
}
.task-title{
  flex:1;
  font-size:14.5px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-title-input{
  flex:1;
  font-family:inherit;
  font-size:14.5px;
  border:1px solid var(--primary);
  border-radius:var(--radius-sm);
  padding:6px 8px;
  background:var(--card);
  color:var(--text);
}
.icon-btn{
  flex:0 0 auto;
  width:30px; height:30px;
  border:none;
  background:transparent;
  color:var(--muted);
  font-size:15px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.icon-btn:active{ background:var(--border); }
.icon-btn.danger:active{ color:var(--danger); background:var(--danger-soft); }

.add-row{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.add-row input{
  flex:1;
  font-family:inherit;
  font-size:14px;
  padding:11px 14px;
  border-radius:var(--radius-md);
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--text);
}
.btn-add{
  flex:0 0 auto;
  width:42px; height:42px;
  border-radius:50%;
  border:none;
  background:var(--primary);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.hint{
  font-size:12.5px;
  color:var(--warning);
  margin:10px 2px 0 2px;
}
.hint.hidden{ display:none; }

.hint-static{
  font-size:12.5px;
  color:var(--muted, #666);
  margin:10px 2px 0 2px;
}

.tasks-title-block{
  margin:10px 2px 12px 2px;
}
.tasks-title{
  font-size:16px;
  font-weight:800;
  color:var(--text);
}
.tasks-subtitle{
  font-size:13px;
  font-weight:600;
  color:var(--primary);
  margin-top:2px;
}

.hint-info{
  font-size:12.5px;
  color:var(--muted, #666);
  background:var(--surface-2, #f4f4f6);
  border-radius:var(--radius-sm, 10px);
  padding:8px 10px;
  margin:0 0 10px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  line-height:1.6;
}
.hint-info.hidden{ display:none; }
.hint-info-block{
  display:block;
}
.hint-info-block.hidden{ display:none; }
.hint-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.hint-row:last-of-type{ margin-bottom:8px; }
.hint-dot{
  flex:0 0 auto;
  width:16px; height:16px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:10px;
  color:#fff;
  box-sizing:border-box;
}
.hint-dot-empty{
  border:2px solid var(--border);
  background:transparent;
}
.hint-dot-partial{
  background:var(--warning, #f5a623);
}
.hint-dot-done{
  background:var(--success, #2ecc71);
}
.hint-dot-streak{
  background:transparent;
  font-size:13px;
  width:auto;
  height:auto;
}
.hint-info-block .hint-dismiss{
  display:block;
}
.hint-dismiss{
  flex:0 0 auto;
  border:none;
  background:transparent;
  color:var(--primary);
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
  padding:2px 4px;
}

.habit-item{
  padding:10px 8px;
  border-radius:var(--radius-sm);
}
.habit-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.habit-dot{
  flex:0 0 26px;
  box-sizing:border-box;

  width:26px;
  height:26px;
  min-width:26px;
  max-width:26px;
  min-height:26px;
  max-height:26px;
  aspect-ratio:1 / 1;

  padding:0;
  margin:0;

  -webkit-appearance:none;
  appearance:none;

  border-radius:50%;
  border:3px solid var(--border);

  display:flex;
  align-items:center;
  justify-content:center;

  line-height:1;
  font-size:13px;
  color:transparent;
  background:transparent;
  cursor:pointer;
}
.habit-dot.full{ background:var(--success); border-color:var(--success); color:#fff; }
.habit-dot.partial{ background:var(--warning-soft); border-color:var(--warning); color:var(--warning); }
.habit-title{
  flex:1;
  font-size:14.5px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.habit-emoji{ margin-left:4px; }
.habit-bar-wrap{
  height:6px;
  border-radius:999px;
  background:var(--border);
  margin-top:8px;
  overflow:hidden;
}
.habit-bar{
  height:100%;
  border-radius:999px;
  background:var(--primary);
  transition:width .4s ease;
}
.habit-value-row{
  display:flex;
  gap:8px;
  margin-top:8px;
}
.habit-value-row input{
  flex:1;
  font-family:inherit;
  font-size:13.5px;
  padding:8px 10px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:var(--bg);
  color:var(--text);
}
.habit-value-row button{
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  padding:6px 14px;
  border-radius:var(--radius-sm);
  border:none;
  background:var(--primary);
  color:#fff;
}

.habit-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:2px;
  padding-right:36px;
}
.streak{
  font-size:11.5px;
  color:var(--warning);
}
.habit-today-value{
  font-size:11.5px;
  color:var(--muted);
}


.habit-trend{
  margin-top:10px;
  padding:10px;
  border-radius:var(--radius-sm);
  background:var(--bg);
}
.habit-trend.hidden{ display:none; }
.habit-trend-label{
  font-size:11.5px;
  color:var(--muted);
  margin-bottom:6px;
}
.habit-heatmap{
  width:100%;
  height:auto;
  display:block;
}
.habit-linechart{
  width:100%;
  height:60px;
  display:block;
  margin-top:10px;
}


/* --- Apple Notes-inspired notes UI (RTL, backed by shared bot notes storage) --- */
.notes-view{
  --notes-accent:#f2b705;
  --notes-accent-soft:rgba(242,183,5,.14);
  --notes-surface:#f2f2f7;
}
body.tg-dark .notes-view{
  --notes-accent:#ffd60a;
  --notes-accent-soft:rgba(255,214,10,.14);
  --notes-surface:#16171b;
}
.notes-shell{ position:relative; min-height:calc(100vh - 170px); }
.notes-browser{ position:relative; min-height:calc(100vh - 185px); padding-bottom:76px; }
.notes-large-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:14px;
  padding:4px 2px 12px;
}
.notes-large-head h2, .notes-list-title{
  margin:0; font-size:30px; line-height:1.2; font-weight:800; letter-spacing:-.6px;
}
.notes-kicker{ color:var(--muted); font-size:12px; margin-bottom:2px; }
.notes-text-btn{
  font:inherit; border:none; background:transparent; color:var(--notes-accent);
  font-size:14px; font-weight:700; padding:7px 2px; cursor:pointer;
}
.notes-search{
  height:38px; display:flex; align-items:center; gap:8px; padding:0 11px;
  border-radius:12px; background:rgba(118,118,128,.12); margin-bottom:22px;
}
body.tg-dark .notes-search{ background:rgba(118,118,128,.22); }
.notes-search-icon{ color:var(--muted); font-size:20px; line-height:1; transform:rotate(-15deg); }
.notes-search input{
  min-width:0; flex:1; border:none; outline:none; background:transparent; color:var(--text);
  font:inherit; font-size:14px; padding:0; direction:rtl;
}
.notes-search input::placeholder{ color:var(--muted); }
.notes-section-label{ color:var(--muted); font-size:13px; font-weight:700; margin:0 10px 7px; }
.notes-folder-card{
  overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--card);
  box-shadow:0 5px 18px rgba(20,20,43,.035);
}
.notes-folder-row{
  width:100%; min-height:52px; display:flex; align-items:center; gap:11px;
  border:none; border-bottom:1px solid var(--border); background:transparent; color:var(--text);
  padding:8px 13px; font:inherit; text-align:right; cursor:pointer;
}
.notes-folder-row:last-child{ border-bottom:none; }
.notes-folder-icon{
  width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  color:var(--notes-accent); background:var(--notes-accent-soft); font-size:16px; font-weight:900;
}
.notes-folder-name{ flex:1; font-size:15px; font-weight:650; }
.notes-folder-count{ color:var(--muted); font-size:13px; }
.notes-folder-chevron{ color:#b7b7bd; font-size:25px; line-height:1; transform:scaleX(-1); }
.notes-list-head{ min-height:34px; display:flex; align-items:center; justify-content:space-between; margin:0 -2px 2px; }
.notes-back-btn, .notes-more-btn{
  border:none; background:transparent; color:var(--notes-accent); font:inherit; cursor:pointer;
}
.notes-back-btn{ display:flex; align-items:center; gap:2px; padding:4px 0; font-size:14px; font-weight:650; }
.notes-back-btn span{ font-size:29px; line-height:.7; transform:scaleX(-1); }
.notes-more-btn{
  min-width:34px; height:34px; border-radius:50%; background:var(--notes-accent-soft);
  font-size:16px; font-weight:900; letter-spacing:1px; display:flex; align-items:center; justify-content:center;
}
.notes-list-title{ margin-top:4px; }
.notes-list-meta{ color:var(--muted); font-size:12.5px; margin:4px 2px 12px; }
.notes-list{
  overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--card);
  box-shadow:0 5px 18px rgba(20,20,43,.035);
}
.notes-list-row{
  width:100%; display:flex; align-items:center; gap:8px; border:none; border-bottom:1px solid var(--border);
  background:transparent; color:var(--text); padding:12px 13px; text-align:right; font:inherit; cursor:pointer;
}
.notes-list-row:last-child{ border-bottom:none; }
.notes-list-row:active{ background:var(--notes-accent-soft); }
.notes-list-row-main{ flex:1; min-width:0; }
.notes-row-title{ font-size:15px; font-weight:750; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.notes-row-preview{
  margin-top:2px; color:var(--muted); font-size:13px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.notes-row-meta{ margin-top:3px; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11.5px; }
.notes-empty{ text-align:center; color:var(--muted); padding:36px 12px; font-size:13.5px; }
.notes-empty-icon{ font-size:29px; margin-bottom:6px; opacity:.8; }
.note-compose-btn{
  position:fixed; z-index:24; left:max(18px, calc((100vw - 480px)/2 + 18px));
  bottom:calc(82px + env(safe-area-inset-bottom)); width:50px; height:50px; border-radius:50%;
  border:none; background:var(--notes-accent); color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.18);
  font-size:24px; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.note-compose-btn:active{ transform:scale(.94); }
.note-editor-screen{
  position:fixed; z-index:70; top:0; left:0; right:0;
  height:var(--tg-vh, 100vh);
  background:var(--card); color:var(--text);
  padding:calc(10px + env(safe-area-inset-top)) max(18px, calc((100vw - 480px)/2 + 18px)) calc(18px + env(safe-area-inset-bottom));
  display:flex; flex-direction:column;
}
.note-editor-screen.hidden{ display:none; }
.note-editor-nav{ display:flex; align-items:center; justify-content:space-between; min-height:42px; gap:12px; }
.note-editor-done{ font-size:15px; }
.note-editor-nav-actions{ display:flex; align-items:center; gap:8px; min-width:0; }
.note-editor-folder-btn{
  max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  border:none; border-radius:999px; background:var(--notes-accent-soft); color:var(--notes-accent);
  font:inherit; font-size:12px; font-weight:700; padding:7px 10px; cursor:pointer;
}
.note-editor-paper{ flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; padding:12px 2px 4px; }
.note-editor-title{
  border:none; outline:none; background:transparent; color:var(--text); font:inherit; font-size:24px; font-weight:800;
  padding:6px 0 9px; width:100%;
}
.note-editor-title::placeholder{ color:var(--muted); opacity:.65; }
.note-editor-body{
  flex:1; min-height:48vh; width:100%; border:none; outline:none; resize:none; background:transparent; color:var(--text);
  font:inherit; font-size:16px; line-height:1.95; padding:0; direction:rtl;
}
.note-editor-body::placeholder{ color:var(--muted); opacity:.65; }
.note-editor-status{ min-height:20px; color:var(--muted); font-size:11.5px; text-align:center; padding-top:4px; }
.notes-sheet-backdrop{ position:fixed; z-index:88; inset:0; background:rgba(0,0,0,.28); }
.notes-sheet{
  position:fixed; z-index:89; left:50%; bottom:0; transform:translate(-50%, 105%); width:min(480px, 100%);
  max-height:72vh; overflow:auto; background:var(--card); color:var(--text); border-radius:20px 20px 0 0;
  padding:9px 14px calc(15px + env(safe-area-inset-bottom)); box-shadow:0 -10px 40px rgba(0,0,0,.18);
  transition:transform .18s ease;
}
.notes-sheet.open{ transform:translate(-50%, 0); }
.notes-sheet-handle{ width:38px; height:4px; background:#b9b9bf; border-radius:99px; margin:0 auto 10px; opacity:.65; }
.notes-sheet-title{ text-align:center; font-size:13px; font-weight:700; color:var(--muted); padding:2px 8px 8px; }
.notes-sheet-row{
  width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:none; border-bottom:1px solid var(--border); background:transparent; color:var(--text);
  font:inherit; font-size:14px; text-align:right; padding:8px 5px; cursor:pointer;
}
.notes-sheet-row:active{ background:var(--notes-accent-soft); }
.notes-sheet-accent{ color:var(--notes-accent); font-weight:700; }
.notes-sheet-danger{ color:var(--danger); }
.notes-sheet-cancel{
  width:100%; min-height:44px; border:none; background:transparent; color:var(--notes-accent);
  font:inherit; font-size:14px; font-weight:700; margin-top:6px; cursor:pointer;
}
body.note-editor-open{ overflow:hidden; }
@media (max-width:360px){
  .notes-large-head h2,.notes-list-title{ font-size:27px; }
  .note-editor-folder-btn{ max-width:135px; }
}

.segmented{
  display:flex;
  background:var(--bg);
  border-radius:999px;
  padding:3px;
  gap:2px;
}
.segmented button{
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.segmented button.active{
  background:var(--card);
  color:var(--primary);
  box-shadow:0 2px 8px rgba(20,20,43,.08);
}
.report-summary{
  display:flex;
  gap:10px;
}
.stat-box{
  flex:1;
  background:var(--bg);
  border-radius:var(--radius-md);
  padding:12px;
  text-align:center;
}
.stat-num{ font-size:20px; font-weight:800; }
.stat-label{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.report-review{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.review-line{
  font-size:13px;
  background:var(--bg);
  border-radius:var(--radius-sm);
  padding:10px 12px;
}
.review-line b{ color:var(--primary); }
.habit-report-row{
  padding:10px 8px;
}
.habit-report-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13.5px;
  margin-bottom:8px;
}
.habit-report-strip{
  display:block;
  width:100%;
  height:14px;
}
.habit-report-pct{
  font-size:11.5px;
  color:var(--muted);
  margin-top:6px;
}
.report-combined-chart{
  margin-top:12px;
  padding:12px;
  border-radius:var(--radius-md);
  background:var(--bg);
}
.report-combined-label{
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
}
.report-combined-svg{
  display:block;
  width:100%;
  height:90px;
}
.streak{
  font-size:12px;
  color:var(--warning);
  font-weight:700;
  white-space:nowrap;
}
.goal-item{ padding:10px 8px; }
.goal-top{
  display:flex;
  justify-content:space-between;
  font-size:13.5px;
  margin-bottom:6px;
}

.tabbar{
  position:fixed;
  bottom:0; right:0; left:0;
  max-width:480px;
  margin:0 auto;
  display:flex;
  background:var(--card);
  border-top:1px solid var(--border);
  padding:8px 8px calc(8px + env(safe-area-inset-bottom)) 8px;
  gap:4px;
}
.tab{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:6px 0;
  border:none;
  background:transparent;
  color:var(--muted);
  font-family:inherit;
  font-size:11px;
  border-radius:var(--radius-sm);
  transition:color .2s ease;
}
.tab-icon{ font-size:18px; display:inline-block; transition:transform .15s ease; }
@keyframes tabPop{ 0%{ transform:scale(1); } 45%{ transform:scale(1.28); } 100%{ transform:scale(1); } }

.view{ display:none; }
.view.active{ display:block; animation:fadeIn .32s cubic-bezier(.22,.9,.35,1); }
@keyframes fadeIn{ from{opacity:0; transform:translateY(10px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);} }

.toast{
  position:fixed;
  bottom:calc(78px + env(safe-area-inset-bottom));
  right:50%;
  transform:translateX(50%) translateY(20px);
  background:var(--text);
  color:var(--card);
  font-size:13px;
  padding:10px 18px;
  border-radius:999px;
  opacity:0;
  pointer-events:none;
  transition:all .25s ease;
  max-width:90%;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.toast.show{
  opacity:1;
  transform:translateX(50%) translateY(0);
}


/* Hide task input after all 3 daily tasks have been created */
#taskForm.task-form-hidden {
  display: none !important;
}

.habit-dot-ring{
  position:relative;
  width:26px; height:26px;
  border:none;
  background:transparent;
  padding:0;
  display:flex; align-items:center; justify-content:center;
  flex:0 0 auto;
}
.habit-ring-svg{
  position:absolute; inset:0;
  width:26px; height:26px;
  transform:rotate(-90deg);
}
.habit-ring-bg{ fill:none; stroke:var(--border); stroke-width:3; }
.habit-ring-fg{
  fill:none;
  stroke:var(--primary);
  stroke-width:3;
  stroke-linecap:round;
  transition:stroke-dashoffset .4s ease;
}
.habit-dot-ring.partial .habit-ring-fg{ stroke:var(--warning); }
.habit-dot-ring.full .habit-ring-fg{ stroke:var(--success); }
.habit-dot-check{
  position:relative;
  font-size:12px;
  font-weight:700;
  color:var(--success);
}


/* ===== UI polish v1: unified icons, cleaner habit actions, mobile action sheet ===== */
.ui-icon{
  width:18px;
  height:18px;
  display:block;
  flex:0 0 auto;
}
.icon-btn{
  transition:background .15s ease, color .15s ease, transform .12s ease;
}
.icon-btn:active{
  transform:scale(.88);
}
.icon-btn svg{
  pointer-events:none;
}

.check,
.habit-dot{
  cursor:pointer;
  transition:transform .12s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.check:active,
.habit-dot:active{
  transform:scale(.86);
}
.control-pressed{
  animation:controlPress .28s cubic-bezier(.2,.9,.3,1);
}
@keyframes controlPress{
  0%{ transform:scale(1); }
  45%{ transform:scale(.82); }
  100%{ transform:scale(1); }
}

.habit-item{
  transition:background .18s ease;
}
.habit-row{
  min-height:34px;
}
.habit-title{
  display:flex;
  align-items:center;
}
.habit-title-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.habit-title-input{
  min-width:0;
}
.habit-more-btn{
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  margin-inline-start:2px;
  border:none;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, transform .12s ease;
}
.habit-more-btn:active{
  background:var(--border);
  color:var(--text);
  transform:scale(.9);
}
.habit-more-btn .ui-icon{
  width:19px;
  height:19px;
  pointer-events:none;
}

.action-sheet-backdrop{
  position:fixed;
  z-index:108;
  inset:0;
  background:rgba(12,14,20,.30);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  animation:actionBackdropIn .16s ease both;
}
@keyframes actionBackdropIn{
  from{ opacity:0; }
  to{ opacity:1; }
}
.action-sheet{
  position:fixed;
  z-index:109;
  left:50%;
  bottom:0;
  width:min(480px, 100%);
  transform:translate(-50%, 110%);
  padding:9px 14px calc(14px + env(safe-area-inset-bottom));
  border-radius:20px 20px 0 0;
  border:1px solid var(--border-glass);
  border-bottom:none;
  background:var(--card);
  box-shadow:0 -16px 46px rgba(20,20,43,.16);
  transition:transform .22s cubic-bezier(.22,.9,.35,1);
}
.action-sheet.open{
  transform:translate(-50%, 0);
}
.action-sheet-handle{
  width:38px;
  height:4px;
  border-radius:999px;
  margin:0 auto 9px;
  background:var(--muted);
  opacity:.35;
}
.action-sheet-title{
  padding:2px 10px 9px;
  text-align:center;
  color:var(--muted);
  font-size:12.5px;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.action-sheet-row{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 10px;
  border:none;
  border-bottom:1px solid var(--border);
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:14px;
  text-align:right;
  cursor:pointer;
}
.action-sheet-row:active{
  background:var(--primary-soft);
}
.action-sheet-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-soft);
  color:var(--primary);
}
.action-sheet-icon .ui-icon{
  width:17px;
  height:17px;
}
.action-sheet-danger{
  color:var(--danger);
}
.action-sheet-danger .action-sheet-icon{
  background:var(--danger-soft);
  color:var(--danger);
}
.action-sheet-cancel{
  width:100%;
  min-height:44px;
  margin-top:8px;
  border:none;
  border-radius:12px;
  background:var(--bg);
  color:var(--muted);
  font:inherit;
  font-size:13.5px;
  font-weight:600;
  cursor:pointer;
}
.action-sheet-cancel:active{
  background:var(--border);
}

.tab-icon{
  width:21px;
  height:21px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
}
.tab-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tab.active .tab-icon{
  animation:tabPop .3s cubic-bezier(.34,1.56,.64,1);
}

@media (prefers-reduced-motion: reduce){
  .action-sheet,
  .action-sheet-backdrop,
  .icon-btn,
  .habit-more-btn,
  .check,
  .habit-dot{
    animation:none !important;
    transition:none !important;
  }
}

/* Today dashboard */
.today-dashboard{
  position:relative;
  overflow:hidden;
  padding:13px 16px 12px;
  background:
    linear-gradient(145deg, rgba(79,70,229,.10), rgba(255,255,255,.30) 46%, rgba(22,163,74,.07)),
    var(--card-glass);
}
.today-dashboard::after{
  content:"";
  position:absolute;
  width:96px;
  height:96px;
  border-radius:50%;
  inset:auto auto -62px -38px;
  background:rgba(79,70,229,.07);
  pointer-events:none;
}
.today-dashboard-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.today-dashboard-copy{
  min-width:0;
}
.today-dashboard-kicker{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  margin-bottom:2px;
}
.today-dashboard-message{
  color:var(--text);
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
.today-dashboard-percent{
  flex:0 0 auto;
  direction:ltr;
  color:var(--primary);
  font-size:23px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.5px;
  transition:color .3s ease;
}
.today-dashboard-progress{
  position:relative;
  z-index:1;
  height:6px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(79,70,229,.10);
}
.today-dashboard-progress-fill{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--primary), #766df4);
  transition:width .55s cubic-bezier(.2,.75,.25,1), background .25s ease;
}
.today-dashboard-stats{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:9px;
  color:var(--muted);
  font-size:11.5px;
  font-weight:700;
}
.today-dashboard-stat{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.today-dashboard-stat-icon{
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--primary);
}
.today-dashboard-stat-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.today-dashboard-divider{
  width:1px;
  height:14px;
  background:var(--border);
  opacity:.75;
}
.today-dashboard.complete .today-dashboard-percent{
  color:var(--success);
}
.today-dashboard.complete .today-dashboard-progress-fill{
  background:var(--success);
}
.ring-fg.complete{
  stroke:var(--success);
}
.ring-label.complete{
  color:var(--success);
}

body.tg-dark .today-dashboard{
  background:
    linear-gradient(145deg, rgba(129,120,255,.13), rgba(31,32,37,.22) 48%, rgba(22,163,74,.09)),
    var(--card-glass);
}

@media (max-width:360px){
  .today-dashboard{
    padding:12px 13px 11px;
  }
  .today-dashboard-message{
    font-size:13px;
  }
  .today-dashboard-percent{
    font-size:21px;
  }
  .today-dashboard-stats{
    gap:8px;
    font-size:11.5px;
  }
  .today-dashboard-divider{
    height:14px;
  }
}

/* Header logo replacing the old daily progress ring */
.header-logo-wrap{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.header-logo{
  display:block;
  width:56px;
  height:56px;
  box-sizing:border-box;
  object-fit:cover;
  border-radius:50%;
  border:2px solid var(--card-glass, var(--card));
  box-shadow:var(--shadow);
}


/* ===== Today UI Final v1: quieter first screen, unified actions ===== */
#view-today .today-dashboard,
#view-today .today-tasks-card,
#view-today .today-habits-card{
  margin-bottom:12px;
}

#view-today .today-tasks-card,
#view-today .today-habits-card{
  padding:16px;
}

#view-today .today-tasks-card .card-head,
#view-today .today-habits-card .card-head{
  margin-bottom:9px;
}

#view-today .today-tasks-card .list,
#view-today .today-habits-card .list{
  gap:4px;
}

#view-today .tasks-title-block{
  margin:4px 2px 7px;
}

#view-today .tasks-subtitle{
  font-size:12.5px;
  font-weight:600;
}

#view-today .today-empty-state{
  padding:10px 6px 8px;
  font-size:13px;
}

#view-today .task-item,
#view-today .habit-item{
  padding:8px 6px;
}

#view-today .task-item{
  min-height:44px;
  gap:9px;
}

#view-today .habit-row{
  min-height:38px;
  gap:9px;
}

#view-today .add-row{
  margin-top:10px;
  align-items:center;
}

#view-today .add-row input{
  padding:10px 13px;
}

#view-today .btn-add{
  width:38px;
  height:38px;
  font-size:19px;
  box-shadow:0 6px 16px rgba(79,70,229,.16);
  transition:transform .12s ease, box-shadow .18s ease;
}

#view-today .btn-add:active{
  transform:scale(.92);
  box-shadow:0 3px 10px rgba(79,70,229,.12);
}

#view-today .hint{
  margin-top:7px;
  font-size:12px;
}

.item-more-btn{
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:0;
  margin-inline-start:0;
  border:none;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, transform .12s ease;
}

.item-more-btn:active{
  background:var(--border);
  color:var(--text);
  transform:scale(.9);
}

.item-more-btn .ui-icon{
  width:19px;
  height:19px;
  pointer-events:none;
}

.section-info-btn{
  width:30px;
  height:30px;
  flex:0 0 30px;
  padding:0;
  border:none;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  background:transparent;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, transform .12s ease;
}
.section-info-btn svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.section-info-btn .info-dot{
  fill:currentColor;
  stroke:none;
}
.section-info-btn.active{
  color:var(--primary);
  background:var(--primary-soft);
}
.section-info-btn:active{
  transform:scale(.9);
}

#view-today .hint-info-block{
  margin:0 0 8px;
  padding:9px 10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.28);
}
body.tg-dark #view-today .hint-info-block{
  background:rgba(255,255,255,.035);
}
#view-today .hint-row{
  margin-bottom:5px;
  font-size:12px;
}
#view-today .hint-info-block .hint-dismiss{
  margin-top:2px;
  margin-inline-start:auto;
}

@media (max-width:360px){
  #view-today .today-tasks-card,
  #view-today .today-habits-card{
    padding:14px;
  }
  #view-today .btn-add{
    width:36px;
    height:36px;
  }
}

/* ===== Today Habits Compact v1: tighter, clearer habit list ===== */
#view-today .today-habits-card{
  padding:14px 14px 12px;
}

#view-today .today-habits-card .card-head{
  margin-bottom:4px;
  min-height:32px;
}

#view-today .today-habits-card .card-head h2{
  margin:0;
  line-height:1.35;
}

#view-today .today-habits-card .section-info-btn{
  width:28px;
  height:28px;
  flex-basis:28px;
}

#view-today #habitsList{
  gap:0;
  margin:0;
}

#view-today .habit-item{
  padding:0;
  border-radius:0;
  border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

#view-today .habit-item:last-child{
  border-bottom:none;
}

#view-today .habit-row{
  min-height:54px;
  gap:9px;
  padding:7px 1px;
}

#view-today .habit-content{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}

#view-today .habit-title{
  width:100%;
  min-width:0;
  font-size:14.5px;
  font-weight:650;
  line-height:1.35;
}

#view-today .habit-emoji{
  margin-left:3px;
}

#view-today .habit-meta{
  min-height:14px;
  margin:0;
  padding:0;
  gap:7px;
  line-height:1.25;
}

#view-today .habit-meta:empty{
  display:none;
}

#view-today .habit-meta .streak,
#view-today .habit-meta .habit-today-value{
  font-size:11px;
  line-height:1.25;
}

#view-today .habit-more-btn{
  width:30px;
  height:30px;
  flex-basis:30px;
  margin-inline-start:0;
}

#view-today .habit-more-btn .ui-icon{
  width:17px;
  height:17px;
}

#view-today .habit-dot,
#view-today .habit-dot-ring{
  flex-basis:26px;
}

#view-today .today-habits-card > .add-row{
  margin-top:7px;
  padding-top:10px;
  border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);
}

#view-today .today-habits-card > .add-row input{
  min-height:38px;
  padding-top:8px;
  padding-bottom:8px;
}

#view-today .today-habits-card > .add-row .btn-add{
  width:36px;
  height:36px;
  font-size:18px;
}

#view-today .habit-value-form:not(.hidden),
#view-today .habit-trend:not(.hidden){
  padding:0 35px 8px 1px;
}

body.tg-dark #view-today .habit-item{
  border-bottom-color:rgba(255,255,255,.07);
}

body.tg-dark #view-today .today-habits-card > .add-row{
  border-top-color:rgba(255,255,255,.07);
}

@media (max-width:360px){
  #view-today .today-habits-card{
    padding:13px 12px 11px;
  }
  #view-today .habit-row{
    min-height:50px;
    padding:6px 0;
  }
}


/* ===== Today Habits Compact v2: denser rows + animated repeat marker ===== */
#view-today .today-habits-card{
  padding:11px 13px 10px;
}

#view-today .today-habits-card .card-head{
  min-height:28px;
  margin-bottom:1px;
}

#view-today .today-habits-card .card-head h2{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:16px;
  line-height:1.55;
}

#view-today .habit-loop-icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
  color:var(--primary);
  transform-origin:50% 50%;
  animation:habitLoopMoment 8s ease-in-out infinite;
}

#view-today .habit-loop-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Mostly still; one soft loop every few seconds. */
@keyframes habitLoopMoment{
  0%, 78%, 100%{ transform:rotate(0deg); }
  86%{ transform:rotate(180deg); }
  94%{ transform:rotate(360deg); }
}

#view-today .today-habits-card .section-info-btn{
  width:25px;
  height:25px;
  flex-basis:25px;
}

#view-today .habit-row{
  min-height:46px;
  gap:7px;
  padding:5px 1px;
}

#view-today .habit-content{
  gap:1px;
}

#view-today .habit-title{
  font-size:14px;
  line-height:1.28;
}

#view-today .habit-meta{
  min-height:12px;
  gap:5px;
  line-height:1.15;
}

#view-today .habit-meta .streak,
#view-today .habit-meta .habit-today-value{
  font-size:10.5px;
  line-height:1.15;
}

#view-today .habit-more-btn{
  width:27px;
  height:27px;
  flex-basis:27px;
}

#view-today .habit-more-btn .ui-icon{
  width:16px;
  height:16px;
}

#view-today .today-habits-card > .add-row{
  margin-top:4px;
  padding-top:7px;
}

#view-today .today-habits-card > .add-row input{
  min-height:34px;
  padding-top:6px;
  padding-bottom:6px;
}

#view-today .today-habits-card > .add-row .btn-add{
  width:33px;
  height:33px;
  font-size:17px;
}

@media (prefers-reduced-motion:reduce){
  #view-today .habit-loop-icon{ animation:none; }
}

@media (max-width:360px){
  #view-today .today-habits-card{
    padding:10px 11px 9px;
  }
  #view-today .habit-row{
    min-height:44px;
    padding:4px 0;
  }
}


/* ===== Habit loop header icon v3: periodic SVG motion ===== */


/* ===== Today Visual Polish Final v1 =====
   Design-system pass only: calmer background, quieter surfaces, tighter
   hierarchy, unified SVG language and denser first-screen spacing. */

:root{
  --bg:#f7f8fb;
  --card-glass:rgba(255,255,255,.68);
  --border-glass:rgba(255,255,255,.82);
  --blur:24px;
  --text:#20212a;
  --muted:#7e8390;
  --border:rgba(31,35,48,.075);
  --shadow:0 6px 24px rgba(31,35,48,.045);
  --radius-lg:28px;
}

body.tg-dark{
  --bg:#17181d;
  --card-glass:rgba(31,32,37,.62);
  --border-glass:rgba(255,255,255,.09);
  --text:#f3f3f6;
  --muted:#9ea2ad;
  --border:rgba(255,255,255,.075);
  --shadow:0 6px 24px rgba(0,0,0,.24);
}

body{
  background:
    radial-gradient(circle at 12% 3%, rgba(79,70,229,.12), transparent 44%),
    radial-gradient(circle at 90% 12%, rgba(22,163,74,.08), transparent 40%),
    radial-gradient(circle at 28% 92%, rgba(217,119,6,.06), transparent 44%),
    var(--bg);
  background-attachment:fixed;
}

#app{
  padding-top:12px;
  padding-inline:15px;
}

.topbar{
  padding:2px 3px 12px;
  min-height:54px;
}

.header-logo-wrap{
  width:50px;
  height:50px;
  flex-basis:50px;
}

.header-logo{
  width:50px;
  height:50px;
  border-width:1px;
  box-shadow:0 4px 16px rgba(31,35,48,.055);
}

.greeting-sub{
  font-size:13.5px;
  font-weight:700;
  color:var(--text);
  letter-spacing:-.1px;
}

#view-today .card{
  border-radius:28px;
  border-color:var(--border-glass);
  background:var(--card-glass);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:var(--shadow);
}

#view-today .today-dashboard,
#view-today .today-tasks-card,
#view-today .today-habits-card{
  margin-bottom:10px;
}

/* Dashboard: keep the message dominant; percent and chrome stay secondary. */
#view-today .today-dashboard{
  padding:12px 15px 11px;
  background:
    linear-gradient(145deg, rgba(79,70,229,.045), rgba(255,255,255,.12) 52%, rgba(22,163,74,.028)),
    var(--card-glass);
}

#view-today .today-dashboard::after{
  opacity:.42;
  width:84px;
  height:84px;
}

#view-today .today-dashboard-kicker{
  font-size:10.5px;
  font-weight:700;
  margin-bottom:1px;
}

#view-today .today-dashboard-message{
  font-size:14.5px;
  font-weight:750;
  line-height:1.42;
}

#view-today .today-dashboard-percent{
  font-size:20.5px;
  font-weight:850;
  letter-spacing:-.35px;
}

#view-today .today-dashboard-progress{
  height:5px;
  margin-top:8px;
  background:rgba(79,70,229,.085);
}

#view-today .today-dashboard-progress-fill{
  background:linear-gradient(90deg, var(--primary), #6e66ed);
}

#view-today .today-dashboard-stats{
  margin-top:8px;
  gap:8px;
  font-size:11px;
  font-weight:650;
}

#view-today .today-dashboard-stat{
  gap:4px;
}

#view-today .today-dashboard-stat-icon{
  width:16px;
  height:16px;
}

#view-today .today-dashboard-stat-icon svg{
  width:15px;
  height:15px;
  stroke-width:1.8;
}

#view-today .today-dashboard-divider{
  height:12px;
  opacity:.5;
}

/* Shared section-heading language. */
#view-today .card-head h2{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:17px;
  font-weight:750;
  letter-spacing:-.15px;
}

.section-title-icon,
#view-today .habit-loop-icon{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--primary);
}

.section-title-icon svg,
#view-today .habit-loop-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Keep the chosen subtle loop motion, but make it less attention-seeking. */
#view-today .habit-loop-icon{
  animation:habitLoopMoment 10s ease-in-out infinite;
  opacity:.9;
}

/* Tasks: denser, quieter and less instructional once content exists. */
#view-today .today-tasks-card{
  padding:14px 14px 12px;
}

#view-today .today-tasks-card .card-head{
  margin-bottom:5px;
  min-height:30px;
}

#view-today .today-tasks-card .pill{
  font-size:11px;
  font-weight:750;
  padding:3px 8px;
}

#view-today .tasks-title-block{
  margin:1px 2px 3px;
}

#view-today .tasks-subtitle{
  font-size:11.5px;
  font-weight:550;
  color:var(--muted);
}

#view-today .today-empty-state{
  padding:8px 4px 6px;
  font-size:12.5px;
  color:var(--muted);
}

#view-today .task-item{
  min-height:42px;
  padding:6px 2px;
  gap:8px;
}



body.tg-dark #view-today .check{
  border-color:rgba(255,255,255,.14);
}

#view-today .item-more-btn{
  width:29px;
  height:29px;
  flex-basis:29px;
  color:color-mix(in srgb, var(--muted) 78%, transparent);
}

#view-today .item-more-btn .ui-icon{
  width:16px;
  height:16px;
}


/* Habits: preserve compact rows, refine separators and secondary controls. */
#view-today .today-habits-card{
  padding:10px 12px 9px;
}

#view-today .today-habits-card .card-head{
  min-height:27px;
  margin-bottom:0;
}

#view-today #habitsList{
  gap:0;
}

#view-today .habit-item{
  border-bottom-color:rgba(31,35,48,.055);
}

body.tg-dark #view-today .habit-item{
  border-bottom-color:rgba(255,255,255,.055);
}

#view-today .habit-row{
  min-height:44px;
  padding:4px 1px;
  gap:7px;
}

#view-today .habit-title{
  font-size:13.8px;
  font-weight:650;
}


#view-today .habit-more-btn{
  width:25px;
  height:25px;
  flex-basis:25px;
  color:color-mix(in srgb, var(--muted) 76%, transparent);
}

#view-today .habit-more-btn .ui-icon{
  width:15px;
  height:15px;
}

#view-today .today-habits-card .section-info-btn{
  width:24px;
  height:24px;
  flex-basis:24px;
  color:color-mix(in srgb, var(--muted) 82%, transparent);
}

#view-today .today-habits-card .section-info-btn svg{
  width:17px;
  height:17px;
}

#view-today .habit-dot{
  border-color:rgba(31,35,48,.13);
}

#view-today .habit-ring-bg{
  stroke:rgba(31,35,48,.13);
}

body.tg-dark #view-today .habit-dot{
  border-color:rgba(255,255,255,.14);
}

body.tg-dark #view-today .habit-ring-bg{
  stroke:rgba(255,255,255,.14);
}

#view-today .today-habits-card > .add-row{
  margin-top:3px;
  padding-top:6px;
  border-top-color:rgba(31,35,48,.05);
}

body.tg-dark #view-today .today-habits-card > .add-row{
  border-top-color:rgba(255,255,255,.055);
}

/* Inputs and add buttons: present, but no longer the loudest controls. */

#view-today .add-row input{
  min-height:36px;
  padding:7px 12px;
  font-size:13px;
  border-color:rgba(31,35,48,.075);
  background:rgba(255,255,255,.34);
  box-shadow:none;
}

body.tg-dark #view-today .add-row input{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.08);
}

#view-today .today-tasks-card .btn-add{
  width:36px;
  height:36px;
  flex:0 0 36px;
  font-size:18px;
  box-shadow:0 4px 12px rgba(79,70,229,.13);
}

#view-today .today-habits-card .btn-add{
  width:32px;
  height:32px;
  flex:0 0 32px;
  font-size:16px;
  box-shadow:0 4px 12px rgba(79,70,229,.11);
}

/* Bottom navigation: lighter boundary, stronger active label. */
.tabbar{
  background:var(--card);
  border-top-color:rgba(31,35,48,.055);
  box-shadow:0 -4px 16px rgba(31,35,48,.025);
  padding-top:7px;
}

body.tg-dark .tabbar{
  background:rgba(31,32,37,.96);
  border-top-color:rgba(255,255,255,.065);
  box-shadow:0 -4px 16px rgba(0,0,0,.12);
}

.tab{
  gap:3px;
  font-size:10.8px;
  font-weight:550;
  padding:5px 0;
}

.tab.active{
  font-weight:750;
}

.tab-icon svg{
  width:20px;
  height:20px;
  stroke-width:1.8;
}

/* Dark mode equivalents for the refined dashboard surface. */
body.tg-dark #view-today .today-dashboard{
  background:
    linear-gradient(145deg, rgba(129,120,255,.07), rgba(31,32,37,.10) 52%, rgba(22,163,74,.045)),
    var(--card-glass);
}

@media (max-width:360px){
  #app{ padding-inline:12px; }
  .header-logo-wrap,
  .header-logo{ width:46px; height:46px; }
  .header-logo-wrap{ flex-basis:46px; }

  #view-today .today-dashboard{ padding:11px 13px 10px; }
  #view-today .today-tasks-card{ padding:12px 12px 10px; }
  #view-today .today-habits-card{ padding:9px 10px 8px; }

  #view-today .habit-row{
    min-height:42px;
    padding:3px 0;
  }
}

@media (prefers-reduced-motion:reduce){
  #view-today .habit-loop-icon{ animation:none !important; }
}


/* ===== Today Final Pixel Polish v1 =====
   Small finishing refinements only: calmer hierarchy, clearer dashboard stats,
   slightly denser task card, and better action-column alignment. */

#view-today .today-dashboard-percent{
  font-size:18.5px;
  font-weight:820;
}

#view-today .today-dashboard-stats{
  color:color-mix(in srgb, var(--text) 66%, var(--muted));
  font-size:11.25px;
}

#view-today .today-dashboard-stat{
  color:color-mix(in srgb, var(--text) 66%, var(--muted));
}

#view-today .today-dashboard-stat-icon{
  color:color-mix(in srgb, var(--primary) 82%, var(--text));
}

#view-today .today-tasks-card{
  padding:12px 14px 10px;
}

#view-today .today-tasks-card .card-head{
  margin-bottom:4px;
}

#view-today .today-empty-state{
  padding:6px 4px 4px;
  font-size:13px;
}

#view-today .task-item{
  min-height:38px;
  padding:4px 2px;
}

#view-today .today-tasks-card > .add-row{
  margin-top:5px;
}

#view-today .item-more-btn,
#view-today .habit-more-btn,
#view-today .task-more-btn{
  min-width:28px;
  max-width:28px;
  width:28px;
  flex:0 0 28px;
  align-self:center;
  justify-self:center;
  margin-inline-start:8px;
  margin-inline-end:0;
}

#view-today .habit-more-btn,
#view-today .task-more-btn{
  position:relative;
  top:0;
}

#view-today .habit-row{
  grid-template-columns:28px 1fr 26px;
}

@media (max-width:360px){
  #view-today .today-dashboard-percent{ font-size:17.5px; }
  #view-today .today-tasks-card{ padding:11px 12px 9px; }
  #view-today .task-item{ min-height:36px; }
}


#view-today .today-dashboard-divider{
  height:11px;
  opacity:.36;
}

/* Section cards: same internal rhythm. */
#view-today .today-tasks-card,
#view-today .today-habits-card{
  padding:12px;
}

#view-today .today-tasks-card .card-head,
#view-today .today-habits-card .card-head{
  min-height:28px;
  margin-bottom:4px;
}

#view-today .pill{
  font-size:10.75px;
  font-weight:600;
  padding:3px 8px;
}

/* Task rows: fixed status / content / action rhythm. */
#view-today #tasksList{
  gap:0;
}

#view-today .task-item{
  min-height:40px;
  padding:4px 0;
  gap:8px;
  border-radius:10px;
}


#view-today .check{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-color:rgba(31,35,48,.13);
}

/* Habits keep one extra line for meta, while matching the same columns. */
#view-today .habit-row{
  min-height:44px;
  padding:4px 0;
  gap:8px;
}

#view-today .habit-title{
  font-size:13.75px;
}

#view-today .habit-meta{
  gap:6px;
  margin-top:1px;
}

#view-today .habit-meta .streak,
#view-today .habit-meta .habit-today-value{
  font-size:10px;
  font-weight:500;
}

#view-today .habit-item{
  border-bottom-color:rgba(31,35,48,.045);
}

body.tg-dark #view-today .habit-item{
  border-bottom-color:rgba(255,255,255,.05);
}

/* One stable action column on both task and habit rows. */
#view-today .task-more-btn,
#view-today .habit-more-btn{
  width:var(--today-control-col);
  min-width:var(--today-control-col);
  max-width:var(--today-control-col);
  height:28px;
  flex:0 0 var(--today-control-col);
  padding:0;
  margin-inline-start:6px;
  margin-inline-end:0;
  align-self:center;
  color:color-mix(in srgb, var(--muted) 66%, transparent);
}

#view-today .task-more-btn .ui-icon,
#view-today .habit-more-btn .ui-icon{
  width:15px;
  height:15px;
}

/* Inputs and add actions: same dimensions, quieter visual weight. */
#view-today .add-row{
  gap:8px;
}

#view-today .today-tasks-card > .add-row,
#view-today .today-habits-card > .add-row{
  margin-top:5px;
}

#view-today .add-row input{
  min-height:36px;
  padding:7px 12px;
  font-size:13px;
  font-weight:400;
  background:rgba(255,255,255,.28);
  border-color:rgba(31,35,48,.065);
}

#view-today .today-tasks-card .btn-add,
#view-today .today-habits-card .btn-add{
  width:34px;
  height:34px;
  flex:0 0 34px;
  font-size:17px;
  box-shadow:0 3px 10px rgba(79,70,229,.10);
}

/* Information panels use one quiet, secondary visual language. */
#view-today .task-focus-hint,
#view-today .hint-info-block{
  border-color:rgba(31,35,48,.065);
  background:rgba(255,255,255,.22);
  box-shadow:none;
}

#view-today .task-focus-hint-title,
#view-today .task-focus-hint-text,
#view-today .hint-info-block{
  color:var(--muted);
  font-weight:400;
}

/* Color discipline: purple = brand, green = done, orange = progress/streak. */
#view-today .streak{
  color:var(--warning);
}

#view-today .task-item.done .check,
#view-today .habit-dot.full{
  background:var(--success);
  border-color:var(--success);
}

/* Bottom navigation: quieter boundary, slightly denser rhythm. */
.tabbar{
  padding:6px 8px calc(6px + env(safe-area-inset-bottom));
  gap:4px;
  border-top-color:rgba(31,35,48,.045);
  box-shadow:0 -3px 12px rgba(31,35,48,.018);
}

body.tg-dark .tabbar{
  border-top-color:rgba(255,255,255,.055);
  box-shadow:0 -3px 12px rgba(0,0,0,.10);
}

.tab{
  gap:2px;
  padding:4px 0 5px;
  font-size:10.5px;
  font-weight:400;
}

.tab.active{
  font-weight:700;
}

.tab-icon svg{
  width:19px;
  height:19px;
  stroke-width:1.75;
}

/* Interaction feedback: short and tactile, never decorative or distracting. */
#view-today .check,
#view-today .habit-dot,
#view-today .btn-add,
#view-today .item-more-btn,
#view-today .section-info-btn{
  transition:transform .12s ease, background-color .18s ease, border-color .18s ease,
             color .18s ease, box-shadow .18s ease;
}

#view-today .check:active,
#view-today .habit-dot:active{
  transform:scale(.88);
}

#view-today .btn-add:active{
  transform:scale(.93);
}

#view-today .item-more-btn:active,
#view-today .section-info-btn:active{
  transform:scale(.90);
}

#view-today .today-dashboard-progress-fill{
  transition:width .42s cubic-bezier(.22,.8,.3,1), background-color .2s ease;
}

@media (max-width:360px){
  #app{ padding-inline:12px; }
  .header-logo-wrap,
  .header-logo{ width:46px; height:46px; }
  .header-logo-wrap{ flex-basis:46px; }

  #view-today .today-dashboard{ padding:10px 12px 9px; }
  #view-today .today-tasks-card,
  #view-today .today-habits-card{ padding:11px; }
  #view-today .task-item{ min-height:38px; }
  #view-today .habit-row{ min-height:42px; }
}

@media (prefers-reduced-motion:reduce){
  #view-today .check,
  #view-today .habit-dot,
  #view-today .btn-add,
  #view-today .item-more-btn,
  #view-today .section-info-btn,
  #view-today .today-dashboard-progress-fill{
    transition:none !important;
  }
}

/* ===== Today Final Lock Polish v1 =====
   Last four refinements before locking the Today screen. */

/* 1) Section icons: quieter and perfectly matched. */
#view-today .task-focus-icon,
#view-today .habit-loop-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  opacity:.78;
  color:var(--primary);
}

#view-today .task-focus-icon svg,
#view-today .habit-loop-icon svg{
  width:18px;
  height:18px;
  stroke-width:1.7;
}

/* 2) Bottom nav: slightly shorter without sacrificing a usable tap target. */
.tabbar{
  padding:3px 8px calc(3px + env(safe-area-inset-bottom));
}

.tab{
  min-height:44px;
  padding:2px 0 3px;
  gap:1px;
}

.tab-icon svg{
  width:18px;
  height:18px;
}

/* 3) Secondary controls: still quiet, but easier to discover. */
#view-today .task-more-btn,
#view-today .habit-more-btn{
  color:var(--muted);
  opacity:.82;
}

#view-today .task-more-btn:active,
#view-today .habit-more-btn:active{
  opacity:1;
}

@media (prefers-reduced-motion:reduce){
  #view-today .habit-loop-icon{ animation:none !important; }
}


/* ===== Notes Visual Redesign v1 =====
   Bring Notes into the same quiet, premium design system as Today. */

.notes-view{
  --notes-accent:var(--primary);
  --notes-accent-soft:rgba(79,70,229,.09);
  --notes-card:rgba(255,255,255,.68);
  --notes-border:rgba(255,255,255,.82);
}
body.tg-dark .notes-view{
  --notes-accent:var(--primary);
  --notes-accent-soft:rgba(129,120,255,.12);
  --notes-card:rgba(31,32,37,.62);
  --notes-border:rgba(255,255,255,.09);
}

.notes-shell{
  min-height:calc(100vh - 154px);
}
.notes-browser{
  min-height:calc(100vh - 168px);
  padding:2px 0 68px;
}

.notes-large-head{
  align-items:center;
  padding:0 2px 10px;
}
.notes-large-head h2,
.notes-list-title{
  font-size:25px;
  line-height:1.25;
  font-weight:750;
  letter-spacing:-.35px;
}
.notes-kicker{ display:none !important; }

.notes-search{
  height:40px;
  gap:8px;
  margin:0 0 16px;
  padding:0 12px;
  border:1px solid var(--notes-border);
  border-radius:16px;
  background:var(--notes-card);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 4px 18px rgba(31,35,48,.035);
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.notes-search:focus-within{
  border-color:rgba(79,70,229,.20);
  box-shadow:0 5px 18px rgba(79,70,229,.055);
}
body.tg-dark .notes-search{
  background:var(--notes-card);
}
.notes-search-icon{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  transform:none;
}
.notes-search-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notes-search input{
  font-size:13.5px;
  font-weight:450;
}

.notes-section-head{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 2px 7px;
}
.notes-section-label{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  font-weight:650;
}
.notes-new-folder-btn{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:4px 9px;
  border:1px solid rgba(79,70,229,.10);
  border-radius:999px;
  background:var(--notes-accent-soft);
  color:var(--notes-accent);
  font:inherit;
  font-size:11.5px;
  font-weight:650;
  cursor:pointer;
  transition:transform .12s ease, background-color .18s ease;
}
.notes-new-folder-btn svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notes-new-folder-btn:active{ transform:scale(.96); }

.notes-folder-card,
.notes-list{
  overflow:hidden;
  border:1px solid var(--notes-border);
  border-radius:22px;
  background:var(--notes-card);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 6px 24px rgba(31,35,48,.04);
}
.notes-folder-row{
  min-height:49px;
  gap:10px;
  padding:7px 12px;
  border-bottom-color:rgba(31,35,48,.055);
  transition:background-color .15s ease, transform .10s ease;
}
body.tg-dark .notes-folder-row{
  border-bottom-color:rgba(255,255,255,.055);
}
.notes-folder-row:active{
  background:var(--notes-accent-soft);
  transform:scale(.995);
}
.notes-folder-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
  color:var(--notes-accent);
  background:var(--notes-accent-soft);
}
.notes-folder-icon .ui-icon{
  width:16px;
  height:16px;
  stroke-width:1.75;
}
.notes-folder-name{
  font-size:14px;
  font-weight:600;
}
.notes-folder-count{
  min-width:18px;
  text-align:center;
  color:var(--muted);
  font-size:11.5px;
  font-weight:500;
}
.notes-folder-chevron{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:color-mix(in srgb, var(--muted) 72%, transparent);
  font-size:0;
  transform:none;
}
.notes-folder-chevron .ui-icon{
  width:16px;
  height:16px;
  stroke-width:1.7;
}

.notes-list-head{
  min-height:34px;
  margin:0 0 2px;
}
.notes-back-btn,
.notes-more-btn{
  color:var(--notes-accent);
}
.notes-back-btn{
  gap:4px;
  padding:4px 2px;
  font-size:12.5px;
  font-weight:600;
}
.notes-back-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notes-back-btn span{
  font-size:inherit;
  line-height:inherit;
  transform:none;
}
.notes-more-btn{
  min-width:30px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--notes-accent-soft);
  padding:0;
  letter-spacing:0;
}
.notes-more-btn svg{
  width:17px;
  height:17px;
  fill:currentColor;
  stroke:none;
}
.notes-list-title{ margin-top:3px; }
.notes-list-meta{
  margin:3px 2px 10px;
  font-size:11.5px;
}
.notes-list-row{
  gap:8px;
  padding:10px 12px;
  border-bottom-color:rgba(31,35,48,.055);
  transition:background-color .15s ease;
}
body.tg-dark .notes-list-row{
  border-bottom-color:rgba(255,255,255,.055);
}
.notes-row-title{
  font-size:14px;
  font-weight:650;
}
.notes-row-preview{
  margin-top:2px;
  font-size:12px;
  line-height:1.55;
}
.notes-row-meta{
  margin-top:3px;
  gap:7px;
  font-size:10.5px;
}
.notes-row-folder{
  color:var(--notes-accent);
  font-weight:550;
}
.notes-empty{
  padding:32px 12px;
  font-size:13px;
}
.notes-empty-icon{
  width:34px;
  height:34px;
  margin:0 auto 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--notes-accent);
  opacity:.72;
}
.notes-empty-icon .ui-icon{
  width:26px;
  height:26px;
  stroke-width:1.55;
}

.note-compose-btn{
  left:max(18px, calc((100vw - 480px)/2 + 18px));
  bottom:calc(70px + env(safe-area-inset-bottom));
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--notes-accent);
  color:#fff;
  box-shadow:0 6px 18px rgba(79,70,229,.20);
  font-size:0;
  transition:transform .12s ease, box-shadow .18s ease;
}
.note-compose-btn svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.note-compose-btn:active{
  transform:scale(.92);
  box-shadow:0 3px 10px rgba(79,70,229,.15);
}

/* Editor: same surfaces and purple accent, without compromising writing space. */
.note-editor-screen{
  background:
    radial-gradient(circle at 12% 4%, rgba(79,70,229,.08), transparent 42%),
    radial-gradient(circle at 90% 12%, rgba(22,163,74,.04), transparent 40%),
    var(--bg);
  padding:calc(10px + env(safe-area-inset-top)) max(14px, calc((100vw - 480px)/2 + 14px)) calc(14px + env(safe-area-inset-bottom));
}
.note-editor-nav{
  min-height:40px;
  gap:10px;
}
.note-editor-done{
  color:var(--notes-accent);
  font-size:13.5px;
  font-weight:650;
}
.note-editor-nav-actions{
  gap:7px;
}
.note-editor-folder-btn{
  max-width:180px;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:var(--notes-accent-soft);
  color:var(--notes-accent);
  font-size:11.5px;
  font-weight:600;
  padding:5px 9px;
}
.note-editor-folder-btn .ui-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  stroke-width:1.75;
}
.note-editor-folder-btn span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.note-editor-paper{
  margin-top:7px;
  padding:16px 16px 12px;
  border:1px solid var(--notes-border);
  border-radius:22px;
  background:var(--notes-card);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 6px 24px rgba(31,35,48,.04);
}
.note-editor-title{
  font-size:21px;
  font-weight:750;
  padding:4px 0 8px;
}
.note-editor-status{
  font-size:10.5px;
  padding-top:5px;
}

.notes-sheet-backdrop{
  background:rgba(20,21,28,.30);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.notes-sheet{
  border:1px solid var(--notes-border);
  border-bottom:none;
  border-radius:24px 24px 0 0;
  background:color-mix(in srgb, var(--card) 95%, transparent);
  box-shadow:0 -12px 40px rgba(31,35,48,.13);
}
.notes-sheet-title{
  font-size:12px;
  font-weight:600;
}
.notes-sheet-row{
  min-height:46px;
  justify-content:space-between;
  gap:9px;
  font-size:13.5px;
  padding:7px 6px;
  border-bottom-color:rgba(31,35,48,.06);
}
body.tg-dark .notes-sheet-row{
  border-bottom-color:rgba(255,255,255,.06);
}
.notes-sheet-action{
  justify-content:flex-start;
}
.notes-sheet-row-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}
.notes-sheet-row-icon .ui-icon{
  width:17px;
  height:17px;
  stroke-width:1.75;
}
.notes-sheet-accent,
.notes-sheet-accent .notes-sheet-row-icon{
  color:var(--notes-accent);
}
.notes-sheet-danger .notes-sheet-row-icon{
  color:var(--danger);
}
.notes-sheet-cancel{
  color:var(--notes-accent);
  font-size:13.5px;
  font-weight:650;
}

@media (max-width:360px){
  .notes-large-head h2,
  .notes-list-title{ font-size:23px; }
  .notes-folder-row{ min-height:47px; padding-inline:10px; }
  .note-editor-folder-btn{ max-width:130px; }
  .note-editor-paper{ padding:14px 13px 10px; }
}

@media (prefers-reduced-motion:reduce){
  .notes-search,
  .notes-new-folder-btn,
  .notes-folder-row,
  .note-compose-btn{
    transition:none !important;
  }
}


/* ===== Notes Polish v2: compact hierarchy + quick-access separation ===== */

#view-notes .notes-large-head{
  padding:0 2px 7px;
}

#view-notes .notes-large-head h2{
  font-size:22px;
  line-height:1.22;
  font-weight:750;
  letter-spacing:-.28px;
}

#view-notes .notes-search{
  height:38px;
  margin-bottom:13px;
  border-radius:15px;
}

#view-notes .notes-search input{
  font-size:13px;
  font-weight:450;
}

#view-notes .notes-search input::placeholder{
  color:var(--muted);
  opacity:.78;
}

#view-notes .notes-section{
  margin:0 0 12px;
}

#view-notes .notes-quick-section{
  margin-bottom:13px;
}

#view-notes .notes-section-head{
  min-height:30px;
  margin:0 2px 5px;
  align-items:center;
}

#view-notes .notes-section-label{
  margin:0 2px 5px;
  font-size:11.5px;
  font-weight:600;
  line-height:1.3;
  color:var(--muted);
}

#view-notes .notes-section-head .notes-section-label{
  margin:0;
}

#view-notes .notes-new-folder-btn{
  min-height:28px;
  padding:3px 8px;
  gap:4px;
  font-size:11px;
  font-weight:600;
}

#view-notes .notes-new-folder-btn svg{
  width:14px;
  height:14px;
}

#view-notes .notes-folder-card{
  border-radius:20px;
}

#view-notes .notes-folder-row{
  min-height:44px;
  padding:5px 10px;
  gap:8px;
}

#view-notes .notes-folder-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:8px;
}

#view-notes .notes-folder-icon .ui-icon{
  width:15px;
  height:15px;
}

#view-notes .notes-folder-name{
  font-size:13.5px;
  font-weight:600;
}

#view-notes .notes-folder-count{
  min-width:24px;
  height:22px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(79,70,229,.075);
  color:color-mix(in srgb, var(--primary) 72%, var(--muted));
  font-size:10.5px;
  font-weight:650;
  line-height:1;
}

body.tg-dark #view-notes .notes-folder-count{
  background:rgba(129,120,255,.11);
}

#view-notes .notes-folder-chevron{
  width:16px;
  height:16px;
  flex-basis:16px;
  opacity:.72;
}

#view-notes .notes-folder-chevron .ui-icon{
  width:14px;
  height:14px;
}

#view-notes .notes-quick-card .notes-folder-icon{
  background:rgba(79,70,229,.07);
}

#view-notes .notes-real-folder-row .notes-folder-icon{
  background:rgba(79,70,229,.105);
}

#view-notes .notes-folders-empty{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  color:var(--muted);
  font-size:11.5px;
  font-weight:400;
}

#view-notes .note-compose-btn{
  bottom:calc(78px + env(safe-area-inset-bottom));
  width:42px;
  height:42px;
  box-shadow:0 4px 13px rgba(79,70,229,.14);
}

#view-notes .note-compose-btn svg{
  width:18px;
  height:18px;
}

#view-notes .note-compose-btn:active{
  box-shadow:0 2px 8px rgba(79,70,229,.12);
}

@media (max-width:360px){
  #view-notes .notes-large-head h2{ font-size:21px; }
  #view-notes .notes-folder-row{ min-height:42px; padding-inline:9px; }
  #view-notes .notes-section{ margin-bottom:10px; }
}


/* ===== Notes Home Final Polish v3 =====
   Final home-screen refinements: quieter new-folder action, tighter section
   rhythm, and a compose button that sits closer to the content. */

#view-notes .notes-quick-section{
  margin-bottom:7px;
}

#view-notes .notes-section-head{
  margin-top:0;
}

#view-notes .notes-new-folder-btn{
  min-height:28px;
  padding:3px 4px;
  border:none;
  border-radius:9px;
  background:transparent;
  color:color-mix(in srgb, var(--primary) 88%, var(--text));
  box-shadow:none;
  font-weight:600;
}

#view-notes .notes-new-folder-btn svg{
  opacity:.88;
}

#view-notes .notes-new-folder-btn:active{
  transform:scale(.97);
  background:rgba(79,70,229,.065);
}

body.tg-dark #view-notes .notes-new-folder-btn:active{
  background:rgba(129,120,255,.09);
}

#view-notes .note-compose-btn{
  bottom:calc(86px + env(safe-area-inset-bottom));
}

@media (max-width:360px){
  #view-notes .notes-quick-section{ margin-bottom:6px; }
  #view-notes .note-compose-btn{ bottom:calc(84px + env(safe-area-inset-bottom)); }
}


/* =========================================================
   Notes Inner + Editor Polish v1
   Folder list + writing experience
   ========================================================= */

/* ---------- داخل پوشه ---------- */

#view-notes #notesListPane{
  padding-top:1px;
}

#view-notes .notes-list-head{
  min-height:34px;
  margin:0 1px 5px;
  align-items:center;
}

#view-notes .notes-back-btn{
  min-height:30px;
  padding:4px 6px;
  border-radius:9px;
  color:var(--muted);
  font-size:11.5px;
  font-weight:500;
  transition:background-color .15s ease,
             color .15s ease,
             transform .1s ease;
}

#view-notes .notes-back-btn svg{
  width:15px;
  height:15px;
  stroke-width:1.7;
}

#view-notes .notes-back-btn:active{
  color:var(--primary);
  background:rgba(79,70,229,.065);
  transform:scale(.97);
}

#view-notes #notesFolderMenuBtn{
  width:29px;
  height:29px;
  min-width:29px;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
}

#view-notes #notesFolderMenuBtn:active{
  color:var(--primary);
  background:rgba(79,70,229,.065);
}

#view-notes .notes-list-title{
  margin:2px 2px 0;
  font-size:21px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.25px;
  color:var(--text);
}

#view-notes .notes-list-meta{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  margin:2px 2px 8px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:400;
}

#view-notes .notes-list{
  border-radius:20px;
  box-shadow:0 5px 20px rgba(31,35,48,.035);
}

#view-notes .notes-list-row{
  min-height:70px;
  padding:9px 11px;
  gap:9px;
  align-items:center;
  background:transparent;
  transition:
    background-color .15s ease,
    transform .1s ease;
}

#view-notes .notes-list-row:active{
  background:rgba(79,70,229,.045);
  transform:scale(.997);
}


#view-notes .notes-row-title{
  font-size:13.8px;
  line-height:1.5;
  font-weight:650;
  color:var(--text);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

#view-notes .notes-row-preview{
  margin-top:2px;
  font-size:11.5px;
  line-height:1.65;
  font-weight:400;
  color:var(--muted);

  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}


#view-notes .notes-row-meta{
  min-height:15px;
  margin-top:3px;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:9.8px;
  color:color-mix(in srgb, var(--muted) 86%, transparent);
}

#view-notes .notes-row-folder{
  display:inline-flex;
  align-items:center;
  max-width:120px;
  padding:1px 6px;
  border-radius:999px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  background:rgba(79,70,229,.065);
  color:color-mix(in srgb, var(--primary) 76%, var(--muted));
  font-size:9.5px;
  font-weight:500;
}

#view-notes .notes-list-row > .notes-folder-chevron{
  width:15px;
  height:15px;
  flex:0 0 15px;
  opacity:.48;
}


#view-notes .notes-empty{
  min-height:150px;
  padding:30px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
}

#view-notes .notes-empty-icon{
  margin:0 0 3px;
  opacity:.52;
}


/* ---------- Editor ---------- */

.note-editor-screen{
  background:
    radial-gradient(circle at 12% 3%,
      rgba(79,70,229,.075),
      transparent 43%),
    radial-gradient(circle at 92% 10%,
      rgba(22,163,74,.035),
      transparent 42%),
    var(--bg);
}

.note-editor-nav{
  min-height:42px;
  padding:1px 1px 5px;
  gap:8px;
}

.note-editor-done{
  min-height:30px;
  padding:4px 9px;
  border-radius:9px;
  background:rgba(79,70,229,.075);
  color:var(--primary);
  font-size:12px;
  font-weight:600;
  transition:transform .1s ease,
             background-color .15s ease;
}

.note-editor-done:active{
  transform:scale(.96);
  background:rgba(79,70,229,.12);
}

.note-editor-nav-actions{
  gap:5px;
}

.note-editor-folder-btn{
  min-height:29px;
  max-width:155px;
  padding:4px 8px;
  border-radius:9px;
  border:1px solid rgba(79,70,229,.075);
  background:rgba(255,255,255,.28);
  color:var(--muted);
  font-size:10.8px;
  font-weight:500;
}

.note-editor-folder-btn .ui-icon{
  width:13px;
  height:13px;
  color:var(--primary);
  opacity:.8;
}

.note-editor-folder-btn:active{
  background:rgba(79,70,229,.06);
}

#noteEditorMore{
  width:29px;
  height:29px;
  min-width:29px;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
}

#noteEditorMore:active{
  color:var(--primary);
  background:rgba(79,70,229,.065);
}


/* خود کاغذ یادداشت باید آرام‌ترین بخش صفحه باشد */
.note-editor-paper{
  margin-top:4px;
  padding:14px 15px 12px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.88);

  background:rgba(255,255,255,.72);

  -webkit-backdrop-filter:none;
  backdrop-filter:none;

  box-shadow:
    0 5px 22px rgba(31,35,48,.035);
}

.note-editor-title{
  min-height:42px;
  padding:4px 0 9px;

  border:none;
  border-bottom:1px solid rgba(31,35,48,.055);
  border-radius:0;

  background:transparent;
  color:var(--text);

  font-size:19px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-.2px;

  outline:none;
  caret-color:var(--primary);
}


.note-editor-body{
  padding:11px 0 30px;
  border:none;
  background:transparent;
  color:var(--text);

  font-size:14.2px;
  line-height:2;
  font-weight:400;

  resize:none;
  outline:none;
  caret-color:var(--primary);
}

.note-editor-body::placeholder{
  color:var(--muted);
  opacity:.48;
}

.note-editor-title:focus,
.note-editor-body:focus{
  outline:none;
  box-shadow:none;
}

.note-editor-status{
  min-height:18px;
  padding:4px 4px 0;

  color:color-mix(in srgb, var(--muted) 80%, transparent);
  font-size:9.8px;
  font-weight:400;
  text-align:center;
}


/* Bottom Sheet یادداشت */
.notes-sheet{
  border-radius:22px 22px 0 0;
}

.notes-sheet-handle{
  width:32px;
  height:3px;
  margin-bottom:8px;
  opacity:.5;
}

.notes-sheet-title{
  padding-bottom:7px;
  font-size:11px;
  font-weight:500;
}

.notes-sheet-row{
  min-height:44px;
  font-size:13px;
  font-weight:450;
}

.notes-sheet-row-icon{
  opacity:.82;
}

.notes-sheet-cancel{
  font-size:12.5px;
  font-weight:600;
}


/* ---------- Dark mode ---------- */

body.tg-dark #view-notes .notes-list-row:active{
  background:rgba(129,120,255,.075);
}

body.tg-dark #view-notes .notes-row-folder{
  background:rgba(129,120,255,.10);
}

body.tg-dark .note-editor-done{
  background:rgba(129,120,255,.11);
}

body.tg-dark .note-editor-folder-btn{
  border-color:rgba(255,255,255,.065);
  background:rgba(255,255,255,.035);
}

body.tg-dark .note-editor-paper{
  border-color:rgba(255,255,255,.075);
  background:rgba(31,32,37,.74);
}

body.tg-dark .note-editor-title{
  border-bottom-color:rgba(255,255,255,.06);
}


/* ---------- Small phones ---------- */

@media (max-width:360px){

  #view-notes .notes-list-title{
    font-size:20px;
  }

  #view-notes .notes-list-row{
    min-height:66px;
    padding:8px 10px;
  }

  .note-editor-paper{
    padding:12px 13px 10px;
  }

  .note-editor-title{
    font-size:18px;
  }

  .note-editor-body{
    font-size:13.8px;
  }

  .note-editor-folder-btn{
    max-width:125px;
  }
}


/* ---------- Accessibility ---------- */

@media (prefers-reduced-motion:reduce){

  #view-notes .notes-list-row,
  #view-notes .notes-back-btn,
  .note-editor-done{
    transition:none !important;
  }
}



/* =========================================================
   Notes Editor Final Polish v2
   Calm writing surface + tighter toolbar
   ========================================================= */

/* کل Editor کمی فشرده‌تر */
.note-editor-screen{
  padding:
    calc(8px + env(safe-area-inset-top))
    max(14px, calc((100vw - 480px)/2 + 14px))
    calc(12px + env(safe-area-inset-bottom));
}


/* ---------- Toolbar ---------- */

.note-editor-nav{
  min-height:35px;
  padding:0 1px 2px;
  gap:6px;
  align-items:center;
}

.note-editor-nav-actions{
  gap:4px;
  align-items:center;
}

.note-editor-done{
  min-height:28px;
  padding:3px 8px;

  border:1px solid rgba(79,70,229,.06);
  border-radius:9px;

  background:rgba(79,70,229,.045);
  color:var(--primary);

  font-size:11.5px;
  font-weight:550;

  box-shadow:none;
}

.note-editor-done:active{
  background:rgba(79,70,229,.085);
  transform:scale(.97);
}


/* انتخاب پوشه و More دقیقاً هم‌ارتفاع */
.note-editor-folder-btn{
  min-height:28px;
  height:28px;
  max-width:150px;

  padding:3px 7px;

  border-radius:9px;
  border:1px solid rgba(31,35,48,.055);

  background:rgba(255,255,255,.22);
  color:var(--muted);

  font-size:10.5px;
  font-weight:450;
}

.note-editor-folder-btn .ui-icon{
  width:12px;
  height:12px;
  flex:0 0 12px;

  color:var(--primary);
  opacity:.72;
}

#noteEditorMore{
  width:28px;
  height:28px;
  min-width:28px;

  padding:0;
  border-radius:9px;

  color:var(--muted);
  background:transparent;
}

#noteEditorMore svg{
  width:16px;
  height:16px;
}

#noteEditorMore:active{
  background:rgba(79,70,229,.055);
  color:var(--primary);
}


/* ---------- Writing paper ---------- */

/*
   به‌جای کارت سفید سنگین، فقط یک سطح خیلی آرام برای نوشتن.
*/
.note-editor-paper{
  margin-top:1px;

  padding:12px 14px 10px;

  border-radius:18px;
  border:1px solid rgba(255,255,255,.52);

  background:rgba(255,255,255,.48);

  -webkit-backdrop-filter:none;
  backdrop-filter:none;

  box-shadow:none;
}


/* ---------- Title ---------- */

.note-editor-title{
  min-height:43px;

  padding:3px 0 8px;

  font-size:21px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-.25px;

  border-bottom-color:rgba(31,35,48,.045);

  caret-color:var(--primary);
}

.note-editor-title::placeholder{
  color:var(--muted);
  opacity:.40;
  font-weight:500;
}


/* ---------- Body ---------- */

.note-editor-body{
  padding:10px 0 28px;

  font-size:15px;
  line-height:1.9;
  font-weight:400;

  caret-color:var(--primary);
}

.note-editor-body::placeholder{
  color:var(--muted);
  opacity:.40;
}


/* ---------- Autosave status ---------- */

/*
   فقط پیام‌های واقعی مثل «ذخیره شد» یا خطا باقی می‌مانند.
   متن اولیه «یادداشت جدید» دیگر نمایش داده نمی‌شود.
*/
.note-editor-status{
  min-height:16px;
  padding:3px 4px 0;

  font-size:9.2px;
  font-weight:400;

  color:color-mix(in srgb, var(--muted) 68%, transparent);
}


/* ---------- Dark mode ---------- */

body.tg-dark .note-editor-done{
  border-color:rgba(129,120,255,.08);
  background:rgba(129,120,255,.065);
}

body.tg-dark .note-editor-folder-btn{
  border-color:rgba(255,255,255,.055);
  background:rgba(255,255,255,.025);
}

body.tg-dark .note-editor-paper{
  border-color:rgba(255,255,255,.055);
  background:rgba(31,32,37,.50);
}

body.tg-dark .note-editor-title{
  border-bottom-color:rgba(255,255,255,.05);
}


/* ---------- Small phones ---------- */

@media (max-width:360px){

  .note-editor-paper{
    padding:11px 12px 9px;
    border-radius:17px;
  }

  .note-editor-title{
    font-size:20px;
  }

  .note-editor-body{
    font-size:14.5px;
    line-height:1.9;
  }

  .note-editor-folder-btn{
    max-width:120px;
  }
}



/* =========================================================
   Notes Editor Final Direction Fix v3
   ========================================================= */

.note-editor-title,
.note-editor-body{
  unicode-bidi:plaintext;
}

/* عنوان هنوز secondary است، ولی بیش از حد محو نیست */
.note-editor-title::placeholder{
  color:var(--muted);
  opacity:.52;
  font-weight:500;
}

/* placeholder بدنه آرام‌تر از متن واقعی */
.note-editor-body::placeholder{
  color:var(--muted);
  opacity:.43;
}

/* خط زیر عنوان فقط یک جداکننده خیلی ظریف باشد */
.note-editor-title{
  border-bottom-color:rgba(31,35,48,.032);
}

body.tg-dark .note-editor-title{
  border-bottom-color:rgba(255,255,255,.038);
}


/* ===== Notes Editor Direction v4 ===== */

.note-editor-title,
.note-editor-body{
  direction:rtl !important;
  text-align:right !important;
}

.note-editor-title[dir="ltr"],
.note-editor-body[dir="ltr"]{
  direction:ltr !important;
  text-align:left !important;
}

.note-editor-title[dir="rtl"],
.note-editor-body[dir="rtl"]{
  direction:rtl !important;
  text-align:right !important;
}



/* =========================================================
   Notes List Final Polish v1
   Compact editorial list + clearer hierarchy
   ========================================================= */

/* ---------- header ---------- */

#view-notes #notesListPane{
  padding-top:0;
}

#view-notes .notes-list-head{
  min-height:32px;
  margin:0 1px 3px;
}

#view-notes .notes-back-btn{
  min-height:28px;
  padding:3px 5px;
  gap:3px;

  border-radius:8px;
  background:transparent;

  color:var(--muted);
  font-size:11.5px;
  font-weight:500;
}

#view-notes .notes-back-btn svg{
  width:14px;
  height:14px;
  stroke-width:1.7;
}

#view-notes .notes-back-btn:active{
  color:var(--primary);
  background:rgba(79,70,229,.055);
}

#view-notes #notesFolderMenuBtn{
  width:28px;
  height:28px;
  min-width:28px;

  border-radius:8px;
  background:transparent;

  color:var(--muted);
}

#view-notes #notesFolderMenuBtn:active{
  background:rgba(79,70,229,.055);
  color:var(--primary);
}


/* ---------- title + count ---------- */

#view-notes .notes-list-title{
  margin:2px 2px 0;

  font-size:20px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.2px;

  color:var(--text);
}

#view-notes .notes-list-meta{
  display:inline-flex;
  align-items:center;

  min-height:18px;
  margin:1px 2px 8px;

  color:var(--muted);
  font-size:10.5px;
  font-weight:400;
}


/* ---------- main list surface ---------- */

#view-notes .notes-list{
  overflow:hidden;

  border:1px solid rgba(255,255,255,.70);
  border-radius:20px;

  background:rgba(255,255,255,.52);

  -webkit-backdrop-filter:none;
  backdrop-filter:none;

  box-shadow:0 5px 20px rgba(31,35,48,.032);
}

body.tg-dark #view-notes .notes-list{
  border-color:rgba(255,255,255,.065);
  background:rgba(31,32,37,.54);
}


/* ---------- each note ---------- */

#view-notes .notes-list-row{
  min-height:66px;

  padding:8px 11px;
  gap:8px;

  border-bottom:1px solid rgba(31,35,48,.045);

  background:transparent;
  text-align:right;

  transition:
    background-color .14s ease,
    transform .10s ease;
}

body.tg-dark #view-notes .notes-list-row{
  border-bottom-color:rgba(255,255,255,.045);
}

#view-notes .notes-list-row:last-child{
  border-bottom:none;
}

#view-notes .notes-list-row:active{
  background:rgba(79,70,229,.042);
  transform:scale(.997);
}

#view-notes .notes-list-row-main{
  flex:1;
  min-width:0;
}


/* ---------- title ---------- */

#view-notes .notes-row-title{
  overflow:hidden;

  color:var(--text);

  font-size:14px;
  line-height:1.55;
  font-weight:600;

  white-space:nowrap;
  text-overflow:ellipsis;
}


/* ---------- body preview ---------- */

#view-notes .notes-row-preview{
  margin-top:1px;

  color:var(--muted);

  font-size:11.5px;
  line-height:1.65;
  font-weight:400;

  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;

  white-space:normal;
  overflow:hidden;
}

#view-notes .notes-row-preview:empty{
  display:none;
}


/* ---------- metadata ---------- */

#view-notes .notes-row-meta{
  min-height:15px;

  margin-top:3px;

  display:flex;
  align-items:center;
  gap:6px;

  color:color-mix(in srgb, var(--muted) 82%, transparent);

  font-size:9.8px;
  line-height:1.4;
  font-weight:400;
}


/* folder chip only appears in "all notes" */
#view-notes .notes-row-folder{
  display:inline-flex;
  align-items:center;

  max-width:120px;

  padding:1px 6px;

  border-radius:999px;

  background:rgba(79,70,229,.06);
  color:color-mix(in srgb, var(--primary) 76%, var(--muted));

  font-size:9.4px;
  font-weight:500;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

body.tg-dark #view-notes .notes-row-folder{
  background:rgba(129,120,255,.09);
}


/* ---------- chevron ---------- */

#view-notes .notes-list-row > .notes-folder-chevron{
  width:15px;
  height:15px;
  flex:0 0 15px;

  color:var(--muted);
  opacity:.42;
}

#view-notes .notes-list-row > .notes-folder-chevron .ui-icon{
  width:13px;
  height:13px;
  stroke-width:1.6;
}


/* ---------- empty state ---------- */

#view-notes .notes-empty{
  min-height:145px;

  padding:28px 14px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  gap:5px;

  color:var(--muted);

  font-size:12px;
  font-weight:400;
}

#view-notes .notes-empty-icon{
  width:30px;
  height:30px;

  margin:0 0 2px;

  color:var(--primary);
  opacity:.45;
}

#view-notes .notes-empty-icon .ui-icon{
  width:24px;
  height:24px;
  stroke-width:1.5;
}


/* ---------- compose FAB while inside a folder ---------- */

#view-notes .note-compose-btn{
  width:42px;
  height:42px;

  box-shadow:0 6px 18px rgba(79,70,229,.16);
}


/* ---------- small screens ---------- */

@media (max-width:360px){

  #view-notes .notes-list-title{
    font-size:19px;
  }

  #view-notes .notes-list-row{
    min-height:62px;
    padding:7px 10px;
  }

  #view-notes .notes-row-title{
    font-size:13.6px;
  }

  #view-notes .notes-row-preview{
    font-size:11.2px;
  }
}


/* ---------- motion accessibility ---------- */

@media (prefers-reduced-motion:reduce){

  #view-notes .notes-list-row,
  #view-notes .notes-back-btn{
    transition:none !important;
  }
}



/* =========================================================
   Notes List Metadata Final Fix v2
   ========================================================= */

/* navigation back to folders */
#view-notes .notes-list-head{
  margin-bottom:2px;
}

#view-notes .notes-back-btn{
  color:color-mix(in srgb, var(--muted) 92%, var(--text));
  font-weight:450;
}


/* tighter note rows */
#view-notes .notes-list-row{
  min-height:58px;
  padding:7px 10px;
}

#view-notes .notes-row-title{
  font-size:13.8px;
  line-height:1.45;
  font-weight:600;
}

#view-notes .notes-row-preview{
  margin-top:0;
  font-size:11.2px;
  line-height:1.55;
}


/* metadata is one quiet, aligned line */
#view-notes .notes-row-meta{
  min-height:14px;
  margin-top:2px;

  gap:5px;

  font-size:9.5px;
  line-height:1.3;
}

#view-notes .notes-row-date{
  color:color-mix(in srgb, var(--muted) 76%, transparent);
}


/* folder badge */
#view-notes .notes-row-folder{
  max-width:105px;

  padding:1px 6px;

  background:rgba(79,70,229,.055);
  color:color-mix(in srgb, var(--primary) 68%, var(--muted));

  font-size:9px;
  font-weight:500;
}


/* “بدون پوشه” should look secondary, not like an error/state */
#view-notes .notes-row-folder{
  border:1px solid rgba(79,70,229,.035);
}

body.tg-dark #view-notes .notes-row-folder{
  border-color:rgba(129,120,255,.05);
  background:rgba(129,120,255,.08);
}


/* chevron quieter */
#view-notes .notes-list-row > .notes-folder-chevron{
  opacity:.34;
}


@media (max-width:360px){

  #view-notes .notes-list-row{
    min-height:56px;
    padding:6px 9px;
  }

}


/* =========================================================
   Notes List Final Lock v3
   ========================================================= */

/* ردیف کمی فشرده‌تر */
#view-notes .notes-list-row{
  min-height:54px;
  padding-top:6px;
  padding-bottom:6px;
}

/* متادیتا مرتب‌تر و با فاصله بهتر */
#view-notes .notes-row-meta{
  margin-top:3px;
  gap:8px;
  align-items:center;
}

/* ساعت کمی آرام‌تر */
#view-notes .notes-row-date{
  color:color-mix(in srgb, var(--muted) 68%, transparent);
  font-size:9.3px;
}

/* پوشه فقط metadata باشد، نه عنصر برجسته */
#view-notes .notes-row-folder{
  padding:1px 6px;

  background:rgba(79,70,229,.035);
  border-color:rgba(79,70,229,.025);

  color:color-mix(in srgb, var(--primary) 48%, var(--muted));

  font-size:8.9px;
  font-weight:450;

  opacity:.88;
}

body.tg-dark #view-notes .notes-row-folder{
  background:rgba(129,120,255,.055);
  border-color:rgba(129,120,255,.035);

  color:color-mix(in srgb, #8a83ff 52%, var(--muted));
}

/* روی گوشی‌های باریک کمی فشرده‌تر */
@media (max-width:360px){
  #view-notes .notes-list-row{
    min-height:52px;
    padding-top:5px;
    padding-bottom:5px;
  }
}



/* =========================================================
   Notes List Final Detail Lock v4
   ========================================================= */

/* فلش مسیر مشخص باشد، ولی همچنان secondary بماند */
#view-notes .notes-list-row > .notes-folder-chevron{
  opacity:.40;
  color:color-mix(in srgb, var(--muted) 86%, var(--text));
}

#view-notes .notes-list-row > .notes-folder-chevron .ui-icon{
  stroke-width:1.7;
}



/* =========================================================
   Report Visual Redesign v1
   Matches Today / Notes design system without adding features.
   ========================================================= */

#view-report.report-view{
  padding-top:0;
}

#view-report .report-shell{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* ---------- page heading ---------- */

#view-report .report-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:1px 1px 3px;
}

#view-report .report-title-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

#view-report .report-title-wrap h2{
  margin:0;
  color:var(--text);
  font-size:22px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.2px;
}

#view-report .report-page-subtitle{
  margin-top:2px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:400;
  white-space:nowrap;
}

#view-report .report-title-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:var(--primary);
  background:rgba(79,70,229,.075);
}

#view-report .report-title-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ---------- range ---------- */

#view-report .report-range.segmented{
  flex:0 0 auto;
  padding:3px;
  gap:1px;
  border:1px solid rgba(31,35,48,.045);
  border-radius:12px;
  background:rgba(255,255,255,.34);
  box-shadow:none;
}

body.tg-dark #view-report .report-range.segmented{
  border-color:rgba(255,255,255,.055);
  background:rgba(255,255,255,.035);
}

#view-report .report-range.segmented button{
  min-width:53px;
  min-height:30px;
  padding:4px 9px;
  border-radius:9px;
  color:var(--muted);
  font-size:10.8px;
  font-weight:500;
  transition:background-color .15s ease,color .15s ease,transform .1s ease;
}

#view-report .report-range.segmented button.active{
  background:rgba(79,70,229,.085);
  color:var(--primary);
  font-weight:650;
  box-shadow:none;
}

#view-report .report-range.segmented button:active{
  transform:scale(.97);
}

/* ---------- summary ---------- */


#view-report .report-stat-card{
  min-width:0;
  min-height:72px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:10px;
  border:1px solid var(--border-glass);
  border-radius:18px;
  background:var(--card-glass);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 5px 20px rgba(31,35,48,.032);
}

#view-report .report-stat-icon{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  color:var(--primary);
  background:rgba(79,70,229,.065);
}

#view-report .report-stat-icon .ui-icon{
  width:16px;
  height:16px;
  stroke-width:1.7;
}

#view-report .report-stat-icon-habit{
  color:var(--warning);
  background:rgba(217,119,6,.07);
}

#view-report .report-stat-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

#view-report .report-stat-label{
  color:var(--muted);
  font-size:9.8px;
  font-weight:400;
  white-space:nowrap;
}

#view-report .report-stat-value{
  color:var(--text);
  font-size:12.5px;
  line-height:1.4;
  font-weight:650;
  white-space:nowrap;
}

#view-report .report-stat-percent{
  align-self:start;
  padding-top:2px;
  color:var(--primary);
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

/* ---------- shared report panels ---------- */

#view-report .report-panel,
#view-report .report-review{
  margin:0;
  padding:12px;
  border:1px solid var(--border-glass);
  border-radius:22px;
  background:var(--card-glass);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 5px 20px rgba(31,35,48,.032);
}

#view-report .report-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}

#view-report .report-panel-head-simple{
  align-items:center;
  margin-bottom:4px;
}

#view-report .report-panel-head h3{
  margin:0;
  color:var(--text);
  font-size:14px;
  line-height:1.45;
  font-weight:650;
}

#view-report .report-panel-head p{
  margin:1px 0 0;
  color:var(--muted);
  font-size:9.8px;
  line-height:1.5;
  font-weight:400;
}

/* ---------- combined trend ---------- */

#view-report .report-combined-chart{
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
}

#view-report .report-trend-summary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
  color:var(--muted);
  font-size:10px;
}

#view-report .report-trend-summary strong{
  color:var(--primary);
  font-size:17px;
  font-weight:700;
}

#view-report .report-trend-bars{
  height:92px;
  display:flex;
  align-items:stretch;
  gap:4px;
  direction:ltr;
}

#view-report .report-trend-bars-30{
  gap:2px;
}

#view-report .report-trend-bar-wrap{
  min-width:0;
  flex:1 1 0;
  display:flex;
  align-items:stretch;
}

#view-report .report-trend-bar-track{
  width:100%;
  position:relative;
  overflow:hidden;
  border-radius:5px;
  background:rgba(31,35,48,.035);
}

body.tg-dark #view-report .report-trend-bar-track{
  background:rgba(255,255,255,.045);
}

#view-report .report-trend-bar{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  min-height:0;
  border-radius:5px;
  background:rgba(79,70,229,.48);
  transition:height .35s ease;
}

#view-report .report-trend-bar.strong{
  background:rgba(79,70,229,.72);
}

#view-report .report-trend-bar.complete{
  background:var(--success);
}

#view-report .report-trend-bar.partial{
  background:rgba(79,70,229,.42);
}

#view-report .report-trend-bar.empty{
  height:0 !important;
}

#view-report .report-trend-axis{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:5px;
  color:color-mix(in srgb,var(--muted) 72%,transparent);
  font-size:8.8px;
  font-weight:400;
}

/* ---------- weekly review ---------- */

#view-report .report-review{
  display:flex;
  flex-direction:column;
  gap:0;
}

#view-report .report-review.hidden{
  display:none !important;
}

#view-report .review-line{
  min-height:39px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 1px;
  border-bottom:1px solid rgba(31,35,48,.045);
  border-radius:0;
  background:transparent;
  font-size:10.5px;
}

#view-report .review-line:last-child{
  border-bottom:none;
}

#view-report .review-line span{
  color:var(--muted);
  white-space:nowrap;
}

#view-report .review-line strong{
  min-width:0;
  color:var(--text);
  font-size:11px;
  font-weight:500;
  text-align:left;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* ---------- habits ---------- */

#view-report .report-habits-list{
  display:flex;
  flex-direction:column;
}

#view-report .habit-report-row{
  padding:9px 1px;
  border-bottom:1px solid rgba(31,35,48,.045);
}

body.tg-dark #view-report .habit-report-row,
body.tg-dark #view-report .review-line{
  border-bottom-color:rgba(255,255,255,.045);
}

#view-report .habit-report-row:last-child{
  border-bottom:none;
}

#view-report .habit-report-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}

#view-report .habit-report-title{
  min-width:0;
  overflow:hidden;
  color:var(--text);
  font-size:12.8px;
  line-height:1.45;
  font-weight:600;
  white-space:nowrap;
  text-overflow:ellipsis;
}

#view-report .streak{
  flex:0 0 auto;
  color:var(--warning);
  font-size:9.8px;
  font-weight:600;
}

#view-report .habit-report-strip{
  width:100%;
  height:auto;
  display:grid;
  grid-template-columns:repeat(7,16px);
  justify-content:start;
  gap:4px;
  direction:rtl;
}

#view-report .habit-report-strip.dense{
  grid-template-columns:repeat(30,minmax(4px,1fr));
  gap:2px;
}

#view-report .habit-report-day{
  display:block;
  width:16px;
  height:16px;
  border-radius:5px;
  border:1px solid rgba(31,35,48,.065);
  background:rgba(31,35,48,.025);
}

#view-report .habit-report-strip.dense .habit-report-day{
  width:auto;
  height:11px;
  border-radius:3px;
}

body.tg-dark #view-report .habit-report-day{
  border-color:rgba(255,255,255,.065);
  background:rgba(255,255,255,.025);
}

#view-report .habit-report-day.full{
  border-color:transparent;
  background:var(--success);
}

#view-report .habit-report-day.partial{
  border-color:transparent;
  background:var(--warning);
}

#view-report .habit-report-day.unstarted{
  border-style:dashed;
  background:transparent;
  opacity:.55;
}

#view-report .habit-report-footer{
  min-height:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:6px;
  color:var(--muted);
  font-size:9.5px;
}

#view-report .habit-report-footer strong{
  color:var(--primary);
  font-size:10.5px;
  font-weight:650;
}

/* ---------- goals ---------- */

#view-report .report-goals-panel.hidden{
  display:none !important;
}

#view-report .goal-item{
  padding:8px 1px;
  border-bottom:1px solid rgba(31,35,48,.045);
}

#view-report .goal-item:last-child{
  border-bottom:none;
}

#view-report .goal-top{
  margin-bottom:6px;
  color:var(--text);
  font-size:11.5px;
  font-weight:500;
}

#view-report .habit-bar-wrap{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(79,70,229,.07);
}

#view-report .habit-bar{
  height:100%;
  border-radius:999px;
  background:var(--primary);
}

/* ---------- empty states ---------- */

#view-report .empty{
  padding:14px 5px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.7;
  text-align:center;
}

/* ---------- responsive ---------- */

@media (max-width:360px){
  #view-report .report-page-head{
    gap:8px;
  }
  #view-report .report-title-wrap h2{
    font-size:20px;
  }
  #view-report .report-title-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
  #view-report .report-range.segmented button{
    min-width:47px;
    padding-inline:7px;
  }
  #view-report .report-stat-card{
    grid-template-columns:27px minmax(0,1fr) auto;
    gap:5px;
    padding:9px 8px;
  }
  #view-report .report-stat-icon{
    width:27px;
    height:27px;
  }
  #view-report .report-stat-percent{
    font-size:12.5px;
  }
  #view-report .report-panel,
  #view-report .report-review{
    padding:10px;
  }
}

@media (prefers-reduced-motion:reduce){
  #view-report .report-range.segmented button,
  #view-report .report-trend-bar{
    transition:none !important;
  }
}


/* =========================================================
   Report Readability + Accuracy Polish v2
   Exact chart scale, 7-day labels, compact habit rows, safe bottom spacing.
   ========================================================= */

/* Keep report content fully scrollable above the fixed bottom navigation. */
#view-report .report-shell{
  padding-bottom:calc(54px + env(safe-area-inset-bottom));
}

/* ---------- exact trend chart ---------- */

#view-report .report-trend-bars{
  direction:rtl;
}

#view-report .report-trend-bar-wrap{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
}

#view-report .report-trend-bar-track{
  flex:1 1 auto;
  min-height:0;
}

#view-report .report-trend-bar{
  height:100%;
  min-height:0;
  transform:scaleY(var(--report-pct, 0));
  transform-origin:center bottom;
  transition:transform .35s ease;
}

#view-report .report-trend-bar.empty{
  height:100% !important;
  transform:scaleY(0) !important;
}

#view-report .report-trend-bars-labeled{
  height:108px;
}

#view-report .report-trend-day-label{
  height:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:color-mix(in srgb,var(--muted) 72%,transparent);
  font-size:8.8px;
  line-height:1;
  font-weight:450;
}

/* 30-day report stays dense and uses the start/today axis. */
#view-report .report-trend-bars-30{
  height:92px;
}

/* ---------- denser habit rows ---------- */

#view-report .habit-report-row{
  padding:7px 1px;
}

#view-report .habit-report-top{
  justify-content:flex-start;
  gap:6px;
  margin-bottom:5px;
}

#view-report .habit-report-title{
  flex:0 1 auto;
  font-size:12.6px;
}

#view-report .streak{
  font-size:9.4px;
  font-weight:550;
}

#view-report .habit-report-strip{
  grid-template-columns:repeat(7,14px);
  gap:3px;
}

#view-report .habit-report-day{
  width:14px;
  height:14px;
  border-radius:4px;
}

#view-report .habit-report-strip.dense{
  gap:1.5px;
}

#view-report .habit-report-strip.dense .habit-report-day{
  height:9px;
  border-radius:3px;
}

#view-report .habit-report-footer{
  justify-content:flex-start;
  min-height:16px;
  gap:4px;
  margin-top:4px;
  font-size:9.2px;
}

#view-report .habit-report-footer strong{
  font-size:9.8px;
  font-weight:650;
}

#view-report .habit-report-footer-dot{
  color:color-mix(in srgb,var(--muted) 58%,transparent);
  font-size:10px;
  line-height:1;
}

@media (max-width:360px){
  #view-report .report-shell{
    padding-bottom:calc(50px + env(safe-area-inset-bottom));
  }

  #view-report .report-trend-bars-labeled{
    height:102px;
  }

  #view-report .habit-report-row{
    padding:6px 0;
  }
}

@media (prefers-reduced-motion:reduce){
  #view-report .report-trend-bar{
    transition:none !important;
  }
}


/* =========================================================
   Report Final Lock v3
   30-day habit grid + safe bottom + single-line metadata
   ========================================================= */

/* فضای کافی بالای Bottom Navigation */
#view-report .report-shell{
  padding-bottom:calc(118px + env(safe-area-inset-bottom));
}


/* ---------- 30-day habits: two rows of 15 ---------- */

#view-report .habit-report-strip.dense{
  width:100%;

  grid-template-columns:repeat(15, minmax(8px, 1fr));
  grid-auto-rows:10px;

  gap:3px;

  direction:rtl;
}

#view-report .habit-report-strip.dense .habit-report-day{
  width:100%;
  height:10px;

  min-width:0;

  border-radius:3px;
}


/* ---------- habit footer: one clean line ---------- */

#view-report .habit-report-footer{
  display:block;

  min-height:15px;

  margin-top:4px;

  color:var(--muted);

  font-size:9.3px;
  line-height:1.45;

  white-space:nowrap;
}

#view-report .habit-report-footer-line{
  display:inline-flex;
  align-items:center;
  gap:3px;

  white-space:nowrap;
}

#view-report .habit-report-footer-line strong{
  color:var(--primary);

  font-size:9.8px;
  font-weight:650;
}


/* قبلی دیگر استفاده نمی‌شود */
#view-report .habit-report-footer-dot{
  display:none;
}


/* آخرین ردیف گزارش همیشه از nav فاصله داشته باشد */
#view-report .report-habits-list > :last-child,
#view-report .report-goals-panel > :last-child{
  margin-bottom:8px;
}


@media (max-width:360px){

  #view-report .report-shell{
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }

  #view-report .habit-report-strip.dense{
    gap:2px;
  }

}



/* =========================================================
   Report Bottom Safe Area Final Fix v4
   The spacer lives on the report view itself so the fixed
   bottom navigation can never cover the final report row.
   ========================================================= */

#view-report{
  padding-bottom:0 !important;
}

/* قبلاً padding روی report-shell کافی نبود؛ آن را خنثی می‌کنیم */
#view-report .report-shell{
  padding-bottom:0 !important;
}

/* spacer واقعی در انتهای محتوای اسکرول */
#view-report::after{
  content:"";
  display:block;

  width:100%;
  height:calc(76px + env(safe-area-inset-bottom));

  flex:0 0 auto;
  pointer-events:none;
}

/* کمی فاصله طبیعی بعد از آخرین کارت */
#view-report .report-panel:last-of-type{
  margin-bottom:8px;
}

@media (max-width:360px){
  #view-report::after{
    height:calc(70px + env(safe-area-inset-bottom));
  }
}



/* ===== Technical Mutation Guard hotfix v1.1 =====
   Keep controls physically tappable; duplicate actions are blocked in JS. */
#view-today button.is-pending{
  opacity:.72;
}
#view-today input.is-pending{
  opacity:.82;
}

/* NOZAR_MINIAPP_SMART_HOME_SHORTCUT_V1
   Returning-user, native Add-to-Home-Screen prompt for Telegram + Bale. */
.home-shortcut-prompt{
  position:fixed;
  z-index:65;
  right:50%;
  bottom:calc(78px + env(safe-area-inset-bottom));
  width:min(calc(100vw - 24px), 456px);
  transform:translate(50%, 16px) scale(.985);
  opacity:0;
  pointer-events:none;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  color:var(--text);
  box-shadow:0 16px 42px rgba(20,20,43,.16);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:opacity .2s ease, transform .2s ease;
}
.home-shortcut-prompt.show{
  opacity:1;
  pointer-events:auto;
  transform:translate(50%, 0) scale(1);
}
.home-shortcut-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-soft);
  color:var(--primary);
}
.home-shortcut-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-shortcut-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.home-shortcut-copy strong{
  font-size:13.5px;
  font-weight:750;
  line-height:1.45;
}
.home-shortcut-copy span{
  color:var(--muted);
  font-size:11.5px;
  line-height:1.55;
}
.home-shortcut-actions{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.home-shortcut-actions button{
  min-width:68px;
  border:0;
  border-radius:10px;
  font-family:inherit;
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
  padding:7px 9px;
}
.home-shortcut-add{
  background:var(--primary);
  color:#fff;
}
.home-shortcut-add:disabled{
  opacity:.65;
  cursor:default;
}
.home-shortcut-later{
  background:transparent;
  color:var(--muted);
}
body.tg-dark .home-shortcut-prompt{
  box-shadow:0 16px 42px rgba(0,0,0,.38);
}
@media (max-width:360px){
  .home-shortcut-prompt{
    grid-template-columns:38px minmax(0, 1fr);
  }
  .home-shortcut-icon{
    width:38px;
    height:38px;
  }
  .home-shortcut-actions{
    grid-column:1 / -1;
    flex-direction:row-reverse;
  }
  .home-shortcut-actions button{
    flex:1;
  }
}



/* NOZAR_BRAND_HEADER_V3_20260919 */
.brand-topbar{
  align-items:center;
  gap:12px;
}
.miniapp-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.miniapp-brand-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.miniapp-brand-name{
  font-size:16px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:-.2px;
  color:var(--text);
  white-space:nowrap;
}
.brand-context{
  margin-inline-start:auto;
  text-align:left;
  justify-content:flex-end;
}
.brand-context .greeting-info{
  align-items:flex-end;
}
.brand-context .greeting-text{
  font-size:12px;
  font-weight:750;
  color:var(--text);
}
.brand-context .date-text{
  margin-top:2px;
  font-size:9.5px;
  color:var(--muted);
  white-space:nowrap;
}
@media(max-width:370px){
  .miniapp-brand-name{font-size:15px}
  .brand-context .greeting-text{font-size:11px}
  .brand-context .date-text{font-size:8.8px}
}
/* END NOZAR_BRAND_HEADER_V3_20260919 */

/* NOZAR_LOGO_RING_V1_START */
/* Brand logo: soft olive ring + very subtle warm gold depth */
.header-logo,
.admin-logo{
  box-sizing:border-box;
  background:rgba(255,255,255,.94);
  border:1.5px solid rgba(76,121,88,.30) !important;
  box-shadow:
    0 0 0 3px rgba(76,121,88,.055),
    0 6px 18px rgba(163,128,54,.11) !important;
}

/* Keep the effect elegant in Telegram dark theme too */
.tg-dark .header-logo,
.tg-dark .admin-logo{
  background:rgba(255,255,255,.96);
  border-color:rgba(92,142,104,.38) !important;
  box-shadow:
    0 0 0 3px rgba(92,142,104,.07),
    0 6px 18px rgba(184,146,66,.12) !important;
}
/* NOZAR_LOGO_RING_V1_END */

/* NOZAR_PLAN_CORE_V2 */
.plan-view{padding-bottom:12px}
.plan-shell{display:flex;flex-direction:column;gap:14px}
.plan-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 1px}
.plan-page-head h2{margin:3px 0 5px;font-size:21px;line-height:1.45;color:var(--text);letter-spacing:-.15px}
.plan-page-head p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.7}
.plan-kicker{font-size:12px;font-weight:850;color:var(--primary)}
.plan-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:0 5px 18px rgba(28,29,33,.025)}
.plan-panel-head,.plan-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plan-panel-head{margin-bottom:12px}
.plan-panel-head h3,.plan-subhead strong{margin:0;font-size:15px;color:var(--text)}
.plan-meta{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.6}
.plan-submeta{display:block;margin-top:2px;color:var(--muted);font-size:10.8px;font-weight:600}
.plan-mini-btn,.plan-link-btn,.plan-secondary-btn,.plan-disclosure-btn{font:inherit;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.plan-mini-btn{min-height:40px;background:var(--primary-soft);color:var(--primary);border-radius:12px;padding:8px 12px;font-size:12px;font-weight:850;white-space:nowrap}
.plan-link-btn{min-height:40px;background:transparent;color:var(--primary);padding:6px 2px;font-size:12px;font-weight:800}
.plan-secondary-btn{width:100%;min-height:44px;margin-top:11px;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:12px;padding:10px 12px;font-size:12px;font-weight:750}
.plan-list{display:flex;flex-direction:column;gap:8px}
.plan-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.75}
.plan-empty-compact{padding:10px 5px;text-align:right}
.plan-goal-card{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:15px;padding:12px;text-align:right;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.plan-goal-card:active{transform:scale(.995)}
.plan-goal-card-archived{opacity:.82}
.plan-goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-goal-title{font-size:13.8px;font-weight:850;line-height:1.55;min-width:0}
.plan-goal-pct{font-size:12.5px;font-weight:850;color:var(--primary);white-space:nowrap}
.plan-goal-bar{height:5px;margin-top:9px;border-radius:99px;background:var(--border);overflow:hidden}
.plan-goal-bar>i{display:block;height:100%;background:var(--primary);border-radius:inherit}
.plan-goal-next{display:flex;align-items:baseline;gap:7px;margin-top:9px;min-width:0}
.plan-goal-next span{font-size:10.5px;color:var(--muted);white-space:nowrap}
.plan-goal-next strong{font-size:11.7px;color:var(--text);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-goal-next-empty{display:block;color:var(--muted);font-size:11.2px}
.plan-goal-state{margin-top:8px;color:var(--muted);font-size:11px}
.plan-focus-empty,.plan-focus-value{border:1px dashed var(--border);border-radius:14px;padding:12px 13px;margin-bottom:14px;color:var(--muted);font-size:12.5px;line-height:1.75;cursor:pointer}
.plan-focus-value{display:flex;flex-direction:column;gap:3px;color:var(--text);border-style:solid;background:var(--primary-soft)}
.plan-focus-value span{font-size:10.5px;color:var(--primary);font-weight:800}
.plan-focus-value strong{font-size:13.2px;line-height:1.65}
.plan-subhead{margin:14px 0 7px;padding-top:2px}
.plan-subhead>div{min-width:0}
.plan-compact-list{gap:6px}
.plan-item{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid var(--border);border-radius:13px;background:var(--bg);padding:7px 8px}
.plan-item-check{width:32px;height:32px;border-radius:10px;border:1.5px solid var(--border);background:transparent;color:#fff;display:grid;place-items:center;flex:0 0 32px;font-size:13px}
.plan-item.done .plan-item-check{background:var(--primary);border-color:var(--primary)}
.plan-item.done .plan-item-title{text-decoration:line-through;opacity:.58}
.plan-item-copy{min-width:0;flex:1}
.plan-item-title{font-size:12.9px;font-weight:750;color:var(--text);line-height:1.5}
.plan-item-goal{margin-top:2px;color:var(--muted);font-size:10.6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-item-delete{width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:18px;border-radius:10px}
.plan-note-preview{width:100%;min-height:50px;margin-top:11px;border:1px solid var(--border);border-radius:13px;background:transparent;color:var(--text);padding:10px 12px;text-align:right;font:inherit}
.plan-note-preview span{display:block;font-size:10.8px;color:var(--muted);margin-bottom:3px}
.plan-note-preview strong{display:block;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-utility-entry{width:100%;min-height:58px;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:15px;padding:9px 11px;display:flex;align-items:center;gap:10px;text-align:right;font:inherit}
.plan-utility-icon{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 38px}
.plan-utility-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.plan-utility-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.plan-utility-copy strong{font-size:12.5px;font-weight:850}
.plan-utility-copy small{font-size:10.8px;color:var(--muted);line-height:1.5}
.plan-load-state{border:1px solid var(--border);border-radius:14px;padding:11px 12px;color:var(--muted);font-size:12px;line-height:1.6}
.plan-load-state.error{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text)}
.plan-load-state.error button{border:0;border-radius:10px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:11.5px;font-weight:800;padding:8px 10px;white-space:nowrap}
.plan-sheet{position:fixed;z-index:1003;right:50%;bottom:0;transform:translate(50%,105%);width:min(480px,100%);max-height:86vh;overflow:auto;background:var(--card);color:var(--text);border-radius:22px 22px 0 0;padding:10px 15px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(0,0,0,.18);transition:transform .2s ease}
.plan-sheet.open{transform:translate(50%,0)}
.plan-sheet-handle{width:38px;height:4px;border-radius:99px;background:var(--border);margin:2px auto 12px}
.plan-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.plan-sheet-head h3{margin:0;font-size:16px;line-height:1.5}
.plan-sheet-close{width:40px;height:40px;border:0;background:transparent;color:var(--muted);font-size:22px;padding:4px;border-radius:10px}
.plan-form{display:flex;flex-direction:column;gap:10px}
.plan-label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:750;color:var(--muted)}
.plan-label-optional{font-weight:600;opacity:.8}
.plan-input,.plan-textarea,.plan-select{width:100%;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:11px 12px;font:inherit;font-size:14px;outline:none}
.plan-input:focus,.plan-textarea:focus,.plan-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.plan-textarea{min-height:82px;resize:vertical;line-height:1.65}
.plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.plan-measure-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.plan-measure-btn{display:flex;flex-direction:column;gap:3px;text-align:center;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:8px 6px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.plan-measure-btn.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.plan-measure-title{font-size:12.5px;font-weight:800}
.plan-measure-desc{font-size:10px;color:var(--muted);line-height:1.4}
.plan-measure-btn.active .plan-measure-desc{color:var(--primary)}
@media(max-width:360px){.plan-measure-choice{grid-template-columns:1fr}}
.plan-submit{width:100%;min-height:46px;border:0;border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-weight:850;margin-top:3px}
.plan-submit:disabled{opacity:.55}
.plan-danger{width:100%;min-height:44px;border:1px solid rgba(220,38,38,.22);border-radius:12px;background:rgba(220,38,38,.06);color:#dc2626;font:inherit;font-weight:750}
.plan-muted-action{width:100%;min-height:44px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-weight:700}
.plan-sheet-section{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.plan-sheet-section-first{border-top:0;padding-top:0;margin-top:0}
.plan-sheet-section-title{font-size:12px;font-weight:850;margin-bottom:7px}
.plan-check-row{display:flex;align-items:center;gap:9px;min-height:42px;padding:7px 2px;font-size:12.5px}
.plan-check-row input{width:19px;height:19px;accent-color:var(--primary)}
.plan-progress-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.plan-progress-buttons button{min-height:40px;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:8px 3px;font:inherit;font-size:11px}
.plan-disclosure-btn{width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--primary);font-size:12px;font-weight:800}
.plan-advanced{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:10px}
.plan-disclosure{border:1px solid var(--border);border-radius:13px;background:transparent;margin-top:10px;overflow:hidden}
.plan-disclosure summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:10px 12px;font-size:12.5px;font-weight:800;color:var(--text)}
.plan-disclosure summary::-webkit-details-marker{display:none}
.plan-disclosure summary::after{content:"+";color:var(--muted);font-size:18px;font-weight:500}
.plan-disclosure[open] summary::after{content:"−"}
.plan-disclosure-body{border-top:1px solid var(--border);padding:12px}
.plan-goal-summary{border:1px solid var(--border);border-radius:15px;background:var(--bg);padding:12px;margin-bottom:10px}
.plan-goal-summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--muted)}
.plan-goal-summary-top strong{font-size:13px;color:var(--primary)}
.plan-goal-number{margin-top:7px;color:var(--muted);font-size:11.5px}
.plan-goal-detail-next{display:flex;flex-direction:column;gap:3px;margin-top:11px}
.plan-goal-detail-next span{font-size:10.5px;color:var(--muted)}
.plan-goal-detail-next strong{font-size:12.5px;line-height:1.6;color:var(--text)}
.plan-goal-reason{margin-top:11px;border-top:1px solid var(--border);padding-top:9px}
.plan-goal-reason span{font-size:10.5px;color:var(--muted)}
.plan-goal-reason p{margin:3px 0 0;font-size:11.8px;line-height:1.7;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.tg-dark .plan-panel{box-shadow:none}
@media(max-width:360px){.plan-panel{padding:12px}.plan-page-head h2{font-size:19px}.plan-form-grid{grid-template-columns:1fr}.plan-progress-buttons{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.plan-sheet{transition:none}.plan-goal-card:active{transform:none}}
/* END NOZAR_PLAN_CORE_V2 */


/* NOZAR_HABIT_SCHEDULING_UI_V1_STEP2 */
.habit-schedule-symbol{font-size:16px;font-weight:800;line-height:1;}
.habit-vacation-body{max-height:min(62vh,520px);overflow:auto;padding:2px 4px 4px;}
.habit-vacation-help{margin:0 4px 12px;padding:10px 12px;border-radius:12px;background:var(--primary-soft);color:var(--muted);font-size:12.5px;line-height:1.8;}
.habit-vacation-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 4px 10px;}
.habit-vacation-fields label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700;}
.habit-vacation-fields input{min-width:0;height:43px;padding:0 9px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;direction:ltr;}
.habit-vacation-save{width:calc(100% - 8px);min-height:44px;margin:0 4px 14px;border:0;border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-weight:800;cursor:pointer;}
.habit-vacation-save:disabled{opacity:.55;cursor:default;}
.habit-vacation-list{margin:0 4px;border-top:1px solid var(--border);padding-top:10px;}
.habit-vacation-list-title{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:800;}
.habit-vacation-existing{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;border-bottom:1px solid var(--border);font-size:12.5px;}
.habit-vacation-existing button{border:0;border-radius:9px;padding:7px 10px;background:var(--danger-soft);color:var(--danger);font:inherit;font-size:12px;font-weight:700;cursor:pointer;}
.habit-vacation-empty,.habit-vacation-loading{padding:18px 8px;text-align:center;color:var(--muted);font-size:13px;}
.habit-vacation-error{color:var(--danger);}
@media (max-width:360px){.habit-vacation-fields{grid-template-columns:1fr;}}

/* NOZAR_HABIT_SCHEDULING_UI_V1_STEP3 — numeric Today progress */
.habit-numeric-progress{display:inline-flex;align-items:center;gap:3px;font-weight:750}
.habit-numeric-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.habit-numeric-unit{font-weight:500;color:var(--muted)}
#view-today .habit-numeric-progress{font-size:10.5px}

/* NOZAR_HABIT_SCHEDULING_UI_V1 */
.habit-head-actions{display:flex;align-items:center;gap:6px}
.habit-manage-btn{border:0;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:11.5px;font-weight:750;padding:7px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.habit-manage-btn:active{transform:scale(.96)}
body.habit-settings-open{overflow:hidden}
.habit-settings-sheet{position:fixed;z-index:111;left:50%;bottom:0;width:min(500px,100%);max-height:min(88vh,780px);overflow:auto;transform:translate(-50%,110%);padding:9px 14px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border:1px solid var(--border-glass);border-bottom:0;background:var(--card);box-shadow:0 -16px 46px rgba(20,20,43,.16);transition:transform .22s cubic-bezier(.22,.9,.35,1)}
.habit-settings-sheet.open{transform:translate(-50%,0)}
.habit-settings-handle{width:38px;height:4px;border-radius:999px;margin:0 auto 10px;background:var(--muted);opacity:.35}
.habit-settings-head{position:sticky;top:-9px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 12px;background:var(--card);border-bottom:1px solid var(--border)}
.habit-settings-head h3{margin:0;font-size:16px;line-height:1.5}
.habit-settings-head p{margin:2px 0 0;color:var(--muted);font-size:11.5px}
.habit-settings-x{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.habit-settings-body{padding:8px 0 2px}
.habit-settings-loading,.habit-settings-empty{padding:28px 8px;text-align:center;color:var(--muted);font-size:13px}
.habit-settings-section{padding:12px 0;border-bottom:1px solid var(--border)}
.habit-settings-section:last-of-type{border-bottom:0}
.habit-settings-section h4{margin:0 0 10px;font-size:13px}
.habit-settings-field{display:block;margin:10px 0 0;min-width:0}
.habit-settings-field>span,.habit-settings-field>label,.habit-settings-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:11.5px;font-weight:650}
.habit-settings-field input,.habit-settings-field select{box-sizing:border-box;width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;padding:8px 10px;outline:none}
.habit-settings-field input:focus,.habit-settings-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.habit-settings-field small{display:block;margin-top:6px;color:var(--muted);font-size:10.5px;line-height:1.7}
.habit-settings-help{margin:0 0 8px;color:var(--muted);font-size:10.5px;line-height:1.8}
.habit-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.habit-settings-grid>.habit-settings-field:last-child:nth-child(odd){grid-column:1/-1}
.habit-schedule-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.habit-schedule-choice{min-height:42px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:12px;font-weight:650;padding:8px 10px;cursor:pointer;text-align:right}
.habit-schedule-choice.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.habit-schedule-radio{font-size:14px;line-height:1}
.habit-weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.habit-weekday{min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;padding:7px 2px;cursor:pointer}
.habit-weekday span{display:block;font-size:12px;font-weight:800}
.habit-weekday small{display:block;margin-top:2px;font-size:8.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.habit-weekday.active{background:var(--primary);border-color:var(--primary);color:#fff}
.habit-weekday.active small{color:rgba(255,255,255,.8)}
.habit-pause-btn,.habit-secondary-btn,.habit-coaching-link{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:12.5px;font-weight:700;padding:11px 12px;cursor:pointer}
.habit-pause-btn.is-paused{background:var(--success-soft);border-color:var(--success);color:var(--success)}
.habit-vacation-box{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}
.habit-settings-subtitle{font-size:11.5px;font-weight:750;margin-bottom:2px}
.habit-vacation-inputs{margin-bottom:8px}
.habit-vacation-list{margin-top:9px;display:flex;flex-direction:column;gap:6px}
.habit-vacation-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:10px;background:var(--card);font-size:10.5px;color:var(--muted)}
.habit-vacation-row button{border:0;background:var(--danger-soft);color:var(--danger);font:inherit;font-size:10px;font-weight:700;border-radius:8px;padding:5px 8px;cursor:pointer}
.habit-settings-muted{font-size:10.5px;color:var(--muted);padding:4px 0}
.habit-coaching-link{margin:12px 0 2px;color:var(--primary);background:var(--primary-soft);border-color:transparent;direction:ltr;text-align:center;font-size:10.5px}
.habit-settings-footer{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:2;margin:10px -2px calc(-16px - env(safe-area-inset-bottom));padding:10px 2px calc(16px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border)}
.habit-settings-save{width:100%;min-height:44px;border:0;border-radius:13px;background:var(--primary);color:#fff;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.habit-settings-save:disabled{opacity:.65;cursor:default}
.habit-manager-list{padding:6px 0}
.habit-manager-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;padding:12px 4px;cursor:pointer;text-align:right}
.habit-manager-row:last-child{border-bottom:0}
.habit-manager-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.habit-manager-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.habit-manager-copy small{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.habit-manager-arrow{font-size:24px;color:var(--muted);transform:rotate(180deg)}
@media(max-width:370px){.habit-schedule-choices{grid-template-columns:1fr}.habit-weekday small{display:none}.habit-settings-grid{grid-template-columns:1fr}.habit-settings-grid>.habit-settings-field:last-child:nth-child(odd){grid-column:auto}.habit-manage-btn{padding:6px 8px;font-size:10.5px}}
/* END NOZAR_HABIT_SCHEDULING_UI_V1 */

/* NOZAR_SETTINGS_V1_REMINDERS */
.reminder-shell{min-height:calc(100vh - 155px);padding-bottom:10px}
.reminder-page-head{display:flex;align-items:flex-start;gap:10px;padding:4px 2px 12px}
.reminder-page-head>div{min-width:0;flex:1}
.reminder-page-head h2{margin:0;font-size:24px;line-height:1.25;font-weight:900;letter-spacing:-.3px}
.reminder-page-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.reminder-kicker{color:var(--primary);font-size:11px;font-weight:800;margin-bottom:3px}
.reminder-content{display:flex;flex-direction:column;gap:10px}
.reminder-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.reminder-panel-title-wrap{padding:13px 14px 8px;display:flex;flex-direction:column;gap:3px}
.reminder-panel-title-wrap strong{font-size:13.5px;font-weight:850}
.reminder-panel-title-wrap small{font-size:11px;color:var(--muted)}
.reminder-setting-row,.reminder-habit-row{min-height:62px;display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid var(--border)}
.reminder-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.reminder-row-copy strong{font-size:13.5px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reminder-row-copy small{color:var(--muted);font-size:11px}
.reminder-time,.reminder-day-select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:7px 6px;font:inherit;font-size:12px;outline:none}
.reminder-time{width:80px;direction:ltr;text-align:center}
.reminder-day-select{width:78px}
.reminder-time:disabled,.reminder-day-select:disabled{opacity:.45}
.reminder-weekly-controls{display:flex;align-items:center;gap:5px}
.reminder-switch-wrap{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);cursor:pointer;flex:0 0 auto}
.reminder-switch-input{position:absolute;opacity:0;pointer-events:none}
.reminder-switch{width:40px;height:24px;background:rgba(120,120,128,.25);border-radius:999px;position:relative;transition:.18s ease;display:block}
.reminder-switch:after{content:"";position:absolute;width:20px;height:20px;top:2px;right:2px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s ease}
.reminder-switch-input:checked + .reminder-switch{background:var(--primary)}
.reminder-switch-input:checked + .reminder-switch:after{transform:translateX(-16px)}
.reminder-mini-switch{flex:0 0 auto;cursor:pointer}
.reminder-mini-switch input{position:absolute;opacity:0;pointer-events:none}
.reminder-mini-switch span{display:block;width:38px;height:23px;border-radius:999px;background:rgba(120,120,128,.25);position:relative;transition:.18s ease}
.reminder-mini-switch span:after{content:"";position:absolute;width:19px;height:19px;top:2px;right:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s ease}
.reminder-mini-switch input:checked + span{background:var(--primary)}
.reminder-mini-switch input:checked + span:after{transform:translateX(-15px)}
.reminder-habit-row.is-disabled,.reminder-mini-switch.is-disabled,.reminder-switch-wrap.is-disabled{opacity:.58}
.reminder-disclosure>summary{list-style:none;min-height:62px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
.reminder-disclosure>summary::-webkit-details-marker{display:none}
.reminder-disclosure>summary span{display:flex;flex-direction:column;gap:3px;min-width:0}
.reminder-disclosure>summary strong{font-size:13.5px;font-weight:820}
.reminder-disclosure>summary small{font-size:11px;color:var(--muted)}
.reminder-disclosure>summary b{font-size:17px;color:var(--muted);transition:transform .18s ease}
.reminder-disclosure[open]>summary b{transform:rotate(180deg)}
.reminder-disclosure[open]>summary{border-bottom:1px solid var(--border)}
.reminder-habit-list .reminder-habit-row:first-child{border-top:0}
.reminder-quiet-copy{padding:11px 14px 0;color:var(--muted);font-size:11px;line-height:1.6}
.reminder-quiet-row{padding:10px 14px 13px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.reminder-quiet-row>label:not(.reminder-switch-wrap){display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11.5px}
.reminder-timezone{color:var(--muted);text-align:center;font-size:10.8px;padding:2px 0 8px}
.reminder-loading{color:var(--muted);text-align:center;padding:32px 12px;font-size:12.5px}
.reminder-empty{color:var(--muted);text-align:center;padding:24px 14px;font-size:12px;display:flex;flex-direction:column;gap:5px;align-items:center}
.reminder-empty strong{color:var(--text);font-size:13px}
.reminder-empty span{line-height:1.6}
.reminder-error button{margin-top:7px;min-height:38px;border:0;border-radius:11px;background:var(--primary);color:#fff;font:inherit;font-size:11.5px;font-weight:800;padding:0 14px;cursor:pointer}
@media(max-width:390px){.reminder-setting-row,.reminder-habit-row{padding-inline:11px;gap:6px}.reminder-time{width:74px;padding-inline:4px}.reminder-day-select{width:72px;padding-inline:3px}.reminder-weekly-controls{flex-direction:column;align-items:stretch}.tab{font-size:9.7px}}
@media(prefers-reduced-motion:reduce){.reminder-switch,.reminder-switch:after,.reminder-mini-switch span,.reminder-mini-switch span:after,.reminder-disclosure>summary b{transition:none}}
/* END NOZAR_SETTINGS_V1_REMINDERS */

/* NOZAR_JALALI_DATE_INPUT_V1 */
.jalali-date-input{direction:ltr;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.jalali-date-input::placeholder{opacity:.55}


/* NOZAR_JALALI_DATE_PICKER_V1 */
.jalali-date-input[readonly]{cursor:pointer;caret-color:transparent;user-select:none;-webkit-user-select:none}
.jalali-picker{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;direction:rtl}
.jalali-picker.hidden{display:none}
.jalali-picker-backdrop{position:absolute;inset:0;background:rgba(18,20,28,.42);backdrop-filter:none;-webkit-backdrop-filter:none}
.jalali-picker-sheet{position:relative;width:min(100%,480px);box-sizing:border-box;border-radius:26px 26px 0 0;background:var(--card,#fff);color:var(--text,#20212a);padding:8px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(15,18,26,.24)}
.jalali-picker-handle{width:44px;height:4px;border-radius:99px;background:rgba(80,84,96,.23);margin:2px auto 10px}
.jalali-picker-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:10px}
.jalali-picker-title{text-align:center;font-weight:900;font-size:16px;letter-spacing:-.2px}
.jalali-picker-nav{width:42px;height:42px;border:0;border-radius:14px;background:var(--primary-soft,rgba(79,70,229,.08));color:var(--primary,#4f46e5);font:inherit;font-size:26px;line-height:1;cursor:pointer}
.jalali-picker-weekdays,.jalali-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.jalali-picker-weekdays{margin-bottom:5px;color:var(--muted,#777c89);font-size:11px;font-weight:850}
.jalali-picker-weekdays span{padding:5px 0}
.jalali-picker-grid{min-height:276px;align-content:start}
.jalali-picker-empty,.jalali-picker-day{aspect-ratio:1/1;min-height:38px}
.jalali-picker-day{border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:750;cursor:pointer;display:grid;place-items:center}
.jalali-picker-day.is-today{box-shadow:inset 0 0 0 1.5px var(--primary,#4f46e5);color:var(--primary,#4f46e5)}
.jalali-picker-day.is-selected{background:var(--primary,#4f46e5);color:#fff;box-shadow:0 7px 18px rgba(79,70,229,.22)}
.jalali-picker-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border,rgba(31,35,48,.08))}
.jalali-picker-actions button{min-height:43px;border:0;border-radius:14px;padding:8px 14px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.jalali-picker-today{flex:1;background:var(--primary-soft,rgba(79,70,229,.08));color:var(--primary,#4f46e5)}
.jalali-picker-close{background:rgba(31,35,48,.055);color:var(--text,#20212a)}
body.jalali-picker-open{overflow:hidden}
body.tg-dark .jalali-picker-sheet{background:var(--card,#1d2028)}
body.tg-dark .jalali-picker-close{background:rgba(255,255,255,.08);color:var(--text,#f4f4f5)}
@media(max-width:380px){.jalali-picker-sheet{padding-left:12px;padding-right:12px}.jalali-picker-weekdays,.jalali-picker-grid{gap:3px}.jalali-picker-empty,.jalali-picker-day{min-height:36px}}
/* END NOZAR_JALALI_DATE_PICKER_V1 */

/* NOZAR_RELEASE_3A_065_069 — Growth Me */
.reminder-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.reminder-back-plan{border:1px solid var(--line);background:var(--card);color:var(--primary);border-radius:12px;padding:8px 10px;font:inherit;font-size:11px;font-weight:800;white-space:nowrap}
.growth-me-view{padding-bottom:12px}
.growth-me-shell{display:flex;flex-direction:column;gap:12px}
.growth-me-head{padding:2px 2px 4px}
.growth-me-kicker{font-size:12px;font-weight:900;color:var(--primary)}
.growth-me-head h2{margin:3px 0 5px;font-size:21px;line-height:1.45;color:var(--text)}
.growth-me-head p{margin:0;color:var(--muted);font-size:12.5px}
.growth-me-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px}
.growth-me-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.growth-me-eyebrow{display:block;color:var(--primary);font-size:11px;font-weight:900;margin-bottom:3px}
.growth-me-panel-head h3{margin:0;color:var(--text);font-size:16px;line-height:1.5}
.growth-me-symbol{width:34px;height:34px;border-radius:12px;background:rgba(49,146,92,.10);color:var(--primary);display:grid;place-items:center;font-size:20px;font-weight:800;flex:none}
.growth-me-form{display:flex;flex-direction:column;gap:10px}
.growth-me-field{display:flex;flex-direction:column;gap:5px}
.growth-me-field>span{font-size:11px;font-weight:800;color:var(--muted)}
.growth-me-field input,.growth-me-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--input-bg,var(--bg));color:var(--text);border-radius:13px;padding:11px 12px;font:inherit;font-size:13px;line-height:1.8;outline:none;resize:vertical}
.growth-me-field input:focus,.growth-me-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(49,146,92,.10)}
.growth-me-extra-fields{display:flex;flex-direction:column;gap:9px}
.growth-me-form-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.growth-me-form-actions-end{justify-content:flex-end}
.growth-me-link-btn,.growth-archive-head button,.growth-random-btn{border:0;background:transparent;color:var(--primary);font:inherit;font-size:11.5px;font-weight:900;padding:8px 2px}
.growth-me-primary-btn{border:0;border-radius:13px;background:var(--primary);color:#fff;font:inherit;font-size:12.5px;font-weight:900;padding:10px 14px;min-height:40px}
.growth-me-primary-btn.is-pending,.growth-random-btn.is-pending{opacity:.55;pointer-events:none}
.growth-random-card{border:1px dashed rgba(49,146,92,.32);background:rgba(49,146,92,.055);border-radius:15px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.growth-random-card>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.growth-random-card span{font-size:10.5px;color:var(--primary);font-weight:900}
.growth-random-card strong{font-size:12.5px;line-height:1.7;color:var(--text);font-weight:800}
.growth-random-card small{font-size:10px;color:var(--muted)}
.growth-archive-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.growth-archive-head strong{font-size:12.5px;color:var(--text)}
.growth-entry-list{display:flex;flex-direction:column;gap:7px}
.growth-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--bg);border-radius:13px;padding:10px 11px}
.growth-entry-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.growth-entry-copy strong{font-size:12.5px;line-height:1.7;color:var(--text);font-weight:750;overflow-wrap:anywhere}
.growth-entry-copy small{font-size:10px;color:var(--muted)}
.growth-entry-kind{flex:none;border-radius:999px;background:rgba(49,146,92,.10);color:var(--primary);font-size:10px;font-weight:900;padding:5px 8px}
.growth-empty{border:1px dashed var(--line);border-radius:13px;padding:12px;color:var(--muted);font-size:11.5px;line-height:1.8;text-align:center}
.growth-kind-row{display:flex;gap:6px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none}
.growth-kind-row::-webkit-scrollbar{display:none}
.growth-kind-row button{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:7px 10px;font:inherit;font-size:10.5px;font-weight:850;white-space:nowrap}
.growth-kind-row button.active{border-color:rgba(49,146,92,.35);background:rgba(49,146,92,.10);color:var(--primary)}
body.tg-dark .growth-random-card{background:rgba(61,180,112,.08);border-color:rgba(61,180,112,.24)}
@media(max-width:360px){.growth-me-panel{padding:12px}.growth-me-head h2{font-size:18px}.growth-me-form-actions{align-items:stretch;flex-direction:column-reverse}.growth-me-primary-btn{width:100%}.plan-reminder-entry span{display:none}.reminder-page-head{align-items:center}}
@media(prefers-reduced-motion:reduce){.growth-me-primary-btn,.growth-kind-row button{transition:none}}
/* END NOZAR_RELEASE_3A_065_069 */

/* NOZAR_RELEASE_3B_071_082 */
.growth-me-field select{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--input-bg,var(--bg));color:var(--text);border-radius:13px;padding:11px 12px;font:inherit;font-size:13px;line-height:1.8;outline:none;min-height:44px}
.growth-me-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(49,146,92,.10)}
.growth-belief-list{display:flex;flex-direction:column;gap:7px}
.growth-belief-item{border:1px solid var(--line);background:var(--bg);border-radius:13px;padding:10px 11px;display:flex;flex-direction:column;gap:2px}
.growth-belief-item span{font-size:10px;color:var(--primary);font-weight:900}
.growth-belief-item strong{font-size:12.5px;line-height:1.75;color:var(--text);overflow-wrap:anywhere}
.growth-inner-block{border-top:1px solid var(--line);padding-top:11px;display:flex;flex-direction:column;gap:9px}
.growth-inner-title{font-size:12.5px;font-weight:900;color:var(--text)}
.growth-trust-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.growth-trust-stats>div{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.growth-trust-stats span{font-size:10.5px;color:var(--muted);font-weight:800}
.growth-trust-stats strong{grid-row:1/3;grid-column:2;font-size:20px;color:var(--primary);font-weight:950}
.growth-trust-stats small{font-size:9.5px;color:var(--muted)}
.growth-promise-list{display:flex;flex-direction:column;gap:7px}
.growth-promise-item{border:1px solid var(--line);background:var(--bg);border-radius:13px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:9px}
.growth-promise-item>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.growth-promise-item strong{font-size:12px;line-height:1.7;color:var(--text);overflow-wrap:anywhere}
.growth-promise-item small{font-size:9.5px;color:var(--muted)}
.growth-promise-actions{display:flex;gap:5px;flex:none}
.growth-promise-actions button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:7px 8px;font:inherit;font-size:10px;font-weight:900;min-height:34px}
.growth-promise-actions button:first-child{border-color:rgba(49,146,92,.32);background:rgba(49,146,92,.08);color:var(--primary)}
.growth-promise-status{flex:none;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:var(--line);color:var(--muted)}
.growth-promise-status.kept{background:rgba(49,146,92,.10);color:var(--primary)}
.growth-self-trust-card{border:1px dashed rgba(49,146,92,.34);background:rgba(49,146,92,.045);border-radius:15px;padding:12px;display:flex;flex-direction:column;gap:8px}
.growth-self-trust-card>p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.7}
@media(max-width:360px){.growth-promise-item{align-items:stretch;flex-direction:column}.growth-promise-actions{width:100%}.growth-promise-actions button{flex:1}.growth-trust-stats{grid-template-columns:1fr}}
body.tg-dark .growth-self-trust-card{background:rgba(61,180,112,.07);border-color:rgba(61,180,112,.24)}

/* NOZAR_RELEASE_3C_083_095 */
.growth-learning-form{gap:12px}
.growth-learning-source-row{display:grid;grid-template-columns:minmax(110px,.72fr) minmax(0,1.5fr);gap:8px}
.growth-learning-own-words textarea{min-height:112px}
.growth-learning-points-block{gap:7px}
.growth-learning-more{border:1px solid var(--line);background:var(--bg);border-radius:14px;overflow:hidden}
.growth-learning-more summary{list-style:none;cursor:pointer;padding:10px 12px;font-size:11.5px;font-weight:900;color:var(--primary)}
.growth-learning-more summary::-webkit-details-marker{display:none}
.growth-learning-more summary::after{content:"＋";float:left;font-size:14px}
.growth-learning-more[open] summary::after{content:"−"}
.growth-learning-more-body{border-top:1px solid var(--line);padding:11px;display:flex;flex-direction:column;gap:10px}
.growth-learning-level-field{border:0;padding:0;margin:0;min-width:0}
.growth-learning-level-field legend{padding:0;margin:0 0 7px;font-size:11px;font-weight:800;color:var(--muted)}
.growth-learning-levels{overflow:visible;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.growth-learning-levels button{padding-inline:5px;text-align:center}
.growth-learning-review-card{border:1px solid rgba(49,146,92,.28);background:rgba(49,146,92,.05);border-radius:17px;padding:12px;display:flex;flex-direction:column;gap:10px}
.growth-learning-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.growth-learning-review-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.growth-learning-review-head span{font-size:10px;color:var(--primary);font-weight:900}
.growth-learning-review-head strong{font-size:13px;line-height:1.7;color:var(--text);overflow-wrap:anywhere}
.growth-learning-review-head small{font-size:10px;color:var(--muted)}
.growth-learning-review-badge{flex:none;border-radius:999px;background:var(--card);border:1px solid var(--line);padding:5px 8px;color:var(--text)!important}
.growth-learning-recall-note{margin:0;color:var(--muted);font-size:10.5px;line-height:1.8}
.growth-learning-comparison{display:flex;flex-direction:column;gap:8px}
.growth-learning-compare-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.growth-learning-compare-head strong{font-size:12.5px;color:var(--text)}
.growth-learning-compare-head span{font-size:10px;color:var(--primary);font-weight:900}
.growth-learning-compare-block{border:1px solid var(--line);background:var(--card);border-radius:13px;padding:10px}
.growth-learning-compare-block.original{border-color:rgba(49,146,92,.25)}
.growth-learning-compare-block>span{display:block;font-size:10px;font-weight:900;color:var(--muted);margin-bottom:4px}
.growth-learning-compare-block p{margin:0;color:var(--text);font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.growth-learning-compare-block ul{margin:7px 0 0;padding:0 18px 0 0;color:var(--text);font-size:11.5px;line-height:1.8}
.growth-learning-next-review{font-size:10.5px;line-height:1.75;color:var(--muted);text-align:center}
.growth-learning-list{display:flex;flex-direction:column;gap:9px}
.growth-learning-entry{border:1px solid var(--line);background:var(--bg);border-radius:15px;padding:11px;display:flex;flex-direction:column;gap:9px}
.growth-learning-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.growth-learning-entry-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.growth-learning-entry-head span{font-size:9.5px;color:var(--primary);font-weight:900}
.growth-learning-entry-head strong{font-size:12.5px;line-height:1.7;color:var(--text);overflow-wrap:anywhere}
.growth-learning-entry-head small{font-size:9.5px;color:var(--muted);line-height:1.6}
.growth-learning-entry-head em{font-style:normal;flex:none;border-radius:999px;background:var(--card);border:1px solid var(--line);padding:5px 8px;font-size:9.5px;font-weight:900;color:var(--muted)}
.growth-learning-own{border-right:3px solid rgba(49,146,92,.28);padding-right:9px}
.growth-learning-own span{display:block;font-size:9.5px;color:var(--muted);font-weight:900;margin-bottom:3px}
.growth-learning-own p{margin:0;color:var(--text);font-size:11.5px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.growth-learning-points{display:flex;flex-direction:column;gap:6px}
.growth-learning-point{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.growth-learning-point>div:first-child{min-width:0;display:flex;align-items:flex-start;gap:7px}
.growth-learning-point>div:first-child span{width:20px;height:20px;flex:none;border-radius:50%;background:rgba(49,146,92,.10);color:var(--primary);display:grid;place-items:center;font-size:9px;font-weight:900}
.growth-learning-point strong{font-size:10.8px;line-height:1.65;color:var(--text);overflow-wrap:anywhere}
.growth-learning-point-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;flex:none;max-width:145px}
.growth-learning-point-actions button{border:1px solid var(--line);background:var(--bg);color:var(--primary);border-radius:9px;padding:6px 7px;font:inherit;font-size:9px;font-weight:900;min-height:31px}
.growth-learning-converted{border-radius:999px;background:rgba(49,146,92,.09);color:var(--primary);padding:5px 7px;font-size:8.8px;font-weight:900}
.growth-learning-entry-details{border-top:1px solid var(--line);padding-top:7px}
.growth-learning-entry-details summary{cursor:pointer;color:var(--primary);font-size:10px;font-weight:900}
.growth-learning-entry-details>div{display:flex;flex-direction:column;gap:7px;margin-top:7px}
.growth-learning-entry-details>div>div{border-radius:11px;background:var(--card);padding:8px 9px}
.growth-learning-entry-details span{display:block;font-size:9px;color:var(--muted);font-weight:900;margin-bottom:2px}
.growth-learning-entry-details p{margin:0;color:var(--text);font-size:10.8px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
body.tg-dark .growth-learning-review-card{background:rgba(61,180,112,.07);border-color:rgba(61,180,112,.22)}
@media(max-width:390px){.growth-learning-source-row{grid-template-columns:1fr}.growth-learning-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-learning-point{align-items:stretch;flex-direction:column}.growth-learning-point-actions{max-width:none;width:100%;justify-content:flex-start}.growth-learning-point-actions button{flex:1}.growth-learning-entry-head{gap:6px}}
/* END NOZAR_RELEASE_3C_083_095 */


/* NOZAR_RELEASE_3D_096_101 */
.growth-future-panel{gap:14px}
.growth-future-form{gap:12px}
.growth-future-identity textarea{min-height:92px}
.growth-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.growth-future-wide{grid-column:1/-1}
.growth-future-save-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.growth-future-save-row small{font-size:10px;color:var(--muted);line-height:1.6}
.growth-future-review-block{gap:11px}
.growth-future-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.growth-future-review-head>div{min-width:0}
.growth-future-review-head p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.75}
.growth-future-month{flex:none;border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:900;color:var(--primary)}
.growth-future-review-list{display:flex;flex-direction:column;gap:9px}
.growth-future-review-item{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:10px 11px;display:flex;flex-direction:column;gap:8px}
.growth-future-review-item header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:7px}
.growth-future-review-item header strong{font-size:11.5px;color:var(--text)}
.growth-future-review-item header small{font-size:9px;color:var(--primary);font-weight:900}
.growth-future-review-item>div{display:flex;flex-direction:column;gap:2px}
.growth-future-review-item>div span{font-size:9.5px;color:var(--muted);font-weight:900}
.growth-future-review-item>div p{margin:0;font-size:11px;line-height:1.75;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:390px){.growth-future-grid{grid-template-columns:1fr}.growth-future-wide{grid-column:auto}.growth-future-review-head{flex-direction:column}.growth-future-save-row .growth-me-primary-btn{width:100%}}

/* NOZAR_RELEASE_DAILY_RITUAL_QUICKADD_018_034 */
.daily-ritual-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 16px;
}
.daily-ritual-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.daily-ritual-kicker{font-size:11px;font-weight:850;color:var(--muted);letter-spacing:.01em}
.daily-ritual-copy strong{font-size:14px;line-height:1.65;color:var(--text)}
.daily-ritual-copy small{font-size:11.5px;line-height:1.6;color:var(--muted)}
.daily-ritual-actions{display:flex;flex-direction:column;gap:7px;flex:0 0 auto}
.daily-ritual-btn{
  min-width:94px;
  min-height:38px;
  border:0;
  border-radius:12px;
  padding:8px 11px;
  background:var(--accent);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:850;
}
.daily-ritual-btn-secondary{background:var(--accent-soft);color:var(--accent)}
.daily-ritual-sheet-intro{
  border-radius:13px;
  padding:10px 12px;
  background:var(--surface-2, rgba(127,127,127,.08));
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
}
.daily-ritual-optional{font-size:10px;color:var(--muted);font-weight:600}
.daily-ritual-task-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.daily-ritual-task-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;font-size:12px}
.daily-ritual-task-row span{color:var(--accent);font-weight:900}
.daily-ritual-task-row strong{font-weight:750;min-width:0;overflow-wrap:anywhere}
.daily-ritual-empty,.daily-ritual-complete-note{font-size:11.5px;color:var(--muted);padding:4px 0 8px}
.global-quick-add{
  position:fixed;
  z-index:1001;
  left:18px;
  bottom:calc(80px + env(safe-area-inset-bottom));
  width:56px;
  height:56px;
  border:0;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font:inherit;
  display:grid;
  place-items:center;
  box-shadow:0 9px 24px rgba(79,70,229,.28);
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.global-quick-add span{display:block;font-size:31px;line-height:1;font-weight:400;transform:translateY(-1px)}
.global-quick-add:active{transform:scale(.95);box-shadow:0 5px 16px rgba(79,70,229,.24)}
.global-quick-add:focus-visible{outline:3px solid var(--primary-soft);outline-offset:3px}
body.onboarding-active .global-quick-add,body.onboarding-checking .global-quick-add{display:none!important}
.quick-add-menu{display:flex;flex-direction:column;gap:14px}
.quick-add-primary{display:flex;flex-direction:column;gap:8px}
.quick-add-main-option{
  width:100%;min-height:58px;border:1px solid var(--border);border-radius:14px;
  background:var(--card);color:var(--text);padding:10px 13px;font:inherit;text-align:right;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.quick-add-main-option span{display:flex;min-width:0;flex-direction:column;gap:2px}
.quick-add-main-option strong{font-size:14px;font-weight:850;line-height:1.5}
.quick-add-main-option small{font-size:11px;line-height:1.55;color:var(--muted)}
.quick-add-main-option i{font-style:normal;color:var(--muted);font-size:24px;line-height:1}
.quick-add-main-option:active{transform:scale(.99);background:var(--primary-soft);border-color:rgba(79,70,229,.18)}
.quick-add-section-title{font-size:11.5px;font-weight:800;color:var(--muted);padding:0 2px}
.quick-add-growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.quick-add-growth-option{
  min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);
  padding:9px 10px;font:inherit;font-size:12.5px;font-weight:800;text-align:center;
  transition:background .15s ease,transform .15s ease;
}
.quick-add-growth-option:active{transform:scale(.98);background:var(--primary-soft)}
.quick-add-form{gap:9px}
.quick-add-form .plan-input,.quick-add-form .plan-textarea{min-height:48px;font-size:14px}
.quick-add-form .plan-textarea{min-height:118px}
.quick-add-form .plan-submit{min-height:50px;margin-top:4px}
.quick-add-helper{font-size:11.5px;line-height:1.75;color:var(--muted);padding:0 2px 2px}
.quick-add-back{min-height:42px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:750}
@media (max-width:380px){
  .daily-ritual-card{align-items:stretch;flex-direction:column}
  .daily-ritual-actions{flex-direction:row}
  .daily-ritual-btn{flex:1}
  .global-quick-add{left:14px;bottom:calc(78px + env(safe-area-inset-bottom));width:54px;height:54px}
}
@media (prefers-reduced-motion:reduce){
  .global-quick-add,.quick-add-main-option,.quick-add-growth-option{transition:none}
}
/* END NOZAR_RELEASE_DAILY_RITUAL_QUICKADD_018_034 */

/* NOZAR_RELEASE_NOTES_PRO_102_122_V1 */
#view-notes .notes-pro-toolbar{
  display:flex;align-items:center;gap:8px;margin:-2px 0 10px;flex-wrap:wrap;
}
#view-notes .notes-sort-wrap{
  display:flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;border:1px solid var(--notes-border);border-radius:13px;background:var(--notes-card);color:var(--muted);font-size:11.5px;
}
#view-notes .notes-sort-select{
  border:0;background:transparent;color:var(--text);font:inherit;font-size:12px;outline:none;min-width:100px;
}
#view-notes .notes-filter-btn,#view-notes .notes-clear-filter{
  min-height:38px;border:0;border-radius:13px;padding:0 13px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;
}
#view-notes .notes-filter-btn{background:var(--notes-accent-soft);color:var(--notes-accent)}
#view-notes .notes-clear-filter{background:rgba(31,35,48,.055);color:var(--muted)}
#view-notes .notes-active-filters{display:flex;gap:6px;flex-wrap:wrap;margin:-3px 0 10px}
#view-notes .notes-active-filters span{padding:5px 8px;border-radius:999px;background:var(--notes-accent-soft);color:var(--notes-accent);font-size:10.5px;font-weight:700}
#view-notes .notes-row-pin{display:inline-block;margin-left:5px;font-size:12px;vertical-align:1px}
#view-notes .notes-row-links{color:var(--muted);font-size:10.5px}
#view-notes .notes-load-more{width:100%;min-height:44px;border:0;background:transparent;color:var(--notes-accent);font:inherit;font-weight:750;cursor:pointer}
.note-editor-pin-btn{width:36px;height:36px;border:0;border-radius:50%;background:rgba(31,35,48,.05);opacity:.5;cursor:pointer;font-size:16px}
.note-editor-pin-btn.active{opacity:1;background:var(--notes-accent-soft)}
.note-editor-links{display:flex;gap:6px;flex-wrap:wrap;padding:0 1px 8px}
.note-editor-links span{display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border-radius:999px;background:var(--notes-accent-soft);color:var(--notes-accent);font-size:10.5px;font-weight:700}
.notes-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 2px 10px}
.notes-template-grid button{min-height:78px;border:1px solid var(--notes-border);border-radius:15px;background:var(--notes-card);color:var(--text);padding:11px;text-align:right;font:inherit;cursor:pointer}
.notes-template-grid strong,.notes-template-grid span{display:block}.notes-template-grid strong{font-size:12.5px}.notes-template-grid span{margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.6}
.notes-pro-form{display:grid;gap:10px;padding:2px 2px 8px}
.notes-pro-form label{display:grid;gap:6px;color:var(--muted);font-size:11.5px;font-weight:700}
.notes-pro-form input,.notes-pro-form select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--notes-border);border-radius:13px;background:var(--notes-card);color:var(--text);padding:0 11px;font:inherit;font-size:13px;outline:none}
.notes-pro-form button[type="submit"]{min-height:44px;border:0;border-radius:14px;background:var(--notes-accent);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.notes-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.tg-dark .note-editor-pin-btn{background:rgba(255,255,255,.06)}
@media(max-width:390px){
  #view-notes .notes-pro-toolbar{gap:6px}
  #view-notes .notes-sort-wrap{flex:1;min-width:0}
  #view-notes .notes-sort-select{min-width:0;width:100%}
  .notes-template-grid,.notes-date-grid{grid-template-columns:1fr}
}
/* END NOZAR_RELEASE_NOTES_PRO_102_122_V1 */

/* NOZAR_RELEASE_REPORT_WEEKLY_123_149 */
#view-report .report-progress-grid{
  display:flex;
  align-items:flex-end;
  gap:6px;
  min-height:142px;
  overflow-x:auto;
  padding:8px 2px 4px;
}
#view-report .report-progress-day{
  min-width:32px;
  flex:1 0 32px;
  text-align:center;
}
#view-report .report-progress-track{
  height:104px;
  border-radius:10px;
  background:var(--surface-soft,#eef1f3);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
#view-report .report-progress-track span{
  width:100%;
  height:calc(var(--report-pct,0) * 1%);
  min-height:2px;
  background:var(--accent,#2d7c68);
  border-radius:10px 10px 0 0;
}
#view-report .report-progress-day small{
  display:block;
  margin-top:6px;
  color:var(--muted,#7b858d);
  font-size:10px;
  white-space:nowrap;
}
#view-report .report-insights{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#view-report .report-insight{
  min-width:0;
  padding:12px;
  border:1px solid var(--border,#e4e8ea);
  border-radius:14px;
  background:var(--surface-soft,#f7f8f8);
}
#view-report .report-insight span,
#view-report .report-insight strong{
  display:block;
}
#view-report .report-insight span{
  color:var(--muted,#7b858d);
  font-size:12px;
  margin-bottom:6px;
}
#view-report .report-insight strong{
  font-size:13px;
  line-height:1.8;
  overflow-wrap:anywhere;
}
#view-report .weekly-review-form label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:700;
}
#view-report .weekly-review-form textarea{
  width:100%;
  min-height:70px;
  resize:vertical;
  border:1px solid var(--border,#dde3e5);
  border-radius:12px;
  background:var(--surface,#fff);
  color:var(--text,#1c252b);
  padding:10px 12px;
  font:inherit;
  line-height:1.8;
  box-sizing:border-box;
}
#view-report .weekly-review-actions,
#view-report .weekly-review-convert{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:12px;
}
#view-report .weekly-review-actions button,
#view-report .weekly-review-convert button{
  min-height:42px;
  border-radius:12px;
  border:1px solid var(--border,#dde3e5);
  padding:8px 12px;
  background:var(--surface,#fff);
  color:var(--text,#1c252b);
  font:inherit;
}
#view-report .weekly-review-actions button.primary{
  background:var(--accent,#2d7c68);
  color:#fff;
  border-color:transparent;
}
#view-report .weekly-review-convert span{
  width:100%;
  color:var(--muted,#7b858d);
  font-size:12px;
}
#view-report .report-calendar-head{
  align-items:flex-start;
  gap:12px;
}
#view-report .report-calendar-nav{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
#view-report .report-calendar-nav button{
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid var(--border,#dde3e5);
  background:var(--surface,#fff);
  color:var(--text,#1c252b);
  font-size:22px;
}
#view-report .report-calendar-weekdays,
#view-report .report-history-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
#view-report .report-calendar-weekdays{
  margin-bottom:6px;
  color:var(--muted,#7b858d);
  font-size:11px;
  text-align:center;
}
#view-report .report-calendar-cell{
  min-height:50px;
  border:1px solid var(--border,#e3e7e9);
  border-radius:10px;
  background:var(--surface,#fff);
  color:var(--text,#1c252b);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 2px;
}
#view-report .report-calendar-cell.active{
  background:color-mix(in srgb,var(--accent,#2d7c68) 8%,var(--surface,#fff));
}
#view-report .report-calendar-cell.strong{
  background:color-mix(in srgb,var(--accent,#2d7c68) 17%,var(--surface,#fff));
  border-color:color-mix(in srgb,var(--accent,#2d7c68) 36%,var(--border,#e3e7e9));
}
#view-report .report-calendar-dots{
  display:flex;
  gap:3px;
}
#view-report .report-calendar-dots i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--muted,#8b9499);
}
#view-report .report-calendar-dots i.habit{ background:var(--accent,#2d7c68); }
#view-report .report-calendar-dots i.growth{ background:var(--series-3,#9675a5); }
#view-report .report-day-detail{
  margin-top:12px;
  border-top:1px solid var(--border,#e4e8ea);
  padding-top:12px;
}
#view-report .report-day-detail-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
#view-report .report-day-detail-head button{
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:var(--text,#1c252b);
  font-size:24px;
}
#view-report .report-day-columns{
  display:grid;
  gap:10px;
  margin-top:10px;
}
#view-report .report-day-columns>div{
  padding:10px 12px;
  border-radius:12px;
  background:var(--surface-soft,#f7f8f8);
}
#view-report .report-day-columns span{
  font-size:12px;
  font-weight:700;
}
#view-report .report-day-columns ul{
  margin:7px 0 0;
  padding:0 18px 0 0;
  color:var(--muted,#667078);
  font-size:12px;
  line-height:1.9;
}
#view-report .report-heatmap-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(17px,1fr));
  gap:4px;
}
#view-report .report-heatmap-cell,
#view-report .report-heatmap-legend i{
  aspect-ratio:1;
  min-width:13px;
  border-radius:4px;
  background:var(--surface-soft,#edf0f1);
}
#view-report .report-heatmap-cell.level-2,
#view-report .report-heatmap-legend i.level-2{ background:color-mix(in srgb,var(--accent,#2d7c68) 35%,white); }
#view-report .report-heatmap-cell.level-3,
#view-report .report-heatmap-legend i.level-3{ background:color-mix(in srgb,var(--accent,#2d7c68) 65%,white); }
#view-report .report-heatmap-cell.level-4,
#view-report .report-heatmap-legend i.level-4{ background:var(--accent,#2d7c68); }
#view-report .report-heatmap-legend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  margin-top:8px;
  color:var(--muted,#7b858d);
  font-size:10px;
}
#view-report .report-heatmap-legend i{ width:13px; height:13px; }
@media (max-width:420px){
  #view-report .report-insights{ grid-template-columns:1fr; }
  #view-report .report-calendar-head{ flex-direction:column; }
  #view-report .report-calendar-nav{ width:100%; justify-content:space-between; }
  #view-report .report-calendar-cell{ min-height:46px; }
}
body.tg-dark #view-report .report-insight,
body.tg-dark #view-report .report-day-columns>div,
body.tg-dark #view-report .report-progress-track{
  background:rgba(255,255,255,.04);
}
/* END NOZAR_RELEASE_REPORT_WEEKLY_123_149 */
#view-report .report-self-trust-trend{ grid-column:1/-1; }
#view-report .report-self-trust-trend small{ display:block; margin-top:7px; color:var(--muted,#7b858d); font-size:10px; }
#view-report .report-trust-bars{ display:flex; align-items:flex-end; gap:3px; min-height:28px; overflow-x:auto; }
#view-report .report-trust-bars i{ flex:1 0 6px; min-width:6px; max-width:14px; height:8px; border-radius:3px; background:var(--surface-soft,#edf0f1); }
#view-report .report-trust-bars i.level-1{ height:12px; background:color-mix(in srgb,var(--accent,#2d7c68) 30%,white); }
#view-report .report-trust-bars i.level-2{ height:17px; background:color-mix(in srgb,var(--accent,#2d7c68) 50%,white); }
#view-report .report-trust-bars i.level-3{ height:22px; background:color-mix(in srgb,var(--accent,#2d7c68) 70%,white); }
#view-report .report-trust-bars i.level-4{ height:27px; background:var(--accent,#2d7c68); }

/* NOZAR_RELEASE_HABIT_DETAIL_SETTINGS_150_168_V1 */
.topbar-context-actions{display:flex;align-items:center;gap:8px;min-width:0}
.topbar-settings-btn{width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);display:grid;place-items:center;cursor:pointer;padding:0;flex:0 0 auto}
.topbar-settings-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar-settings-btn:active{transform:scale(.96)}

.privacy-curtain{display:none;position:fixed;inset:0;z-index:99999;background:var(--bg,#f4f5f8);color:var(--text,#1c1d21);align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:24px}
.privacy-curtain strong{font-size:24px;font-weight:900}
.privacy-curtain span{font-size:13px;color:var(--muted,#7b7f8a)}
body.privacy-screen-active .privacy-curtain{display:flex}
body.privacy-screen-active #app{visibility:hidden}
body.font-small{-webkit-text-size-adjust:92%;text-size-adjust:92%}
body.font-large{-webkit-text-size-adjust:114%;text-size-adjust:114%}

.habit-content{cursor:pointer;min-width:0}
.habit-content:active{opacity:.72}
.habit-detail-view,.settings-view{padding-bottom:14px}
.habit-detail-shell,.settings-shell{display:flex;flex-direction:column;gap:12px}
.habit-detail-head,.settings-page-head{display:flex;align-items:flex-start;gap:10px;padding:4px 2px 8px}
.habit-detail-head-copy,.settings-page-head>div{min-width:0;flex:1}
.habit-detail-kicker,.settings-kicker{display:block;color:var(--primary);font-size:11px;font-weight:800;margin-bottom:3px}
.habit-detail-head h2,.settings-page-head h2{margin:0;font-size:24px;line-height:1.25;font-weight:900;letter-spacing:-.3px}
.habit-detail-head p,.settings-page-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.subview-back-btn,.subview-action-btn{min-width:44px;height:44px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font:inherit;font-weight:800;cursor:pointer;display:grid;place-items:center}
.subview-back-btn{font-size:28px;line-height:1;transform:none}
.subview-action-btn{padding:0 12px;color:var(--primary);font-size:12px}
.habit-detail-loading{padding:36px 12px;text-align:center;color:var(--muted);font-size:13px}
.habit-detail-streaks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.habit-detail-stat{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 6px}
.habit-detail-stat span{grid-column:1/-1;color:var(--muted);font-size:11.5px;font-weight:700}
.habit-detail-stat strong{font-size:28px;line-height:1;font-weight:900}
.habit-detail-stat small{font-size:11px;color:var(--muted);padding-bottom:2px}
.habit-detail-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:14px}
.habit-detail-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}
.habit-detail-panel-head-simple{margin-bottom:14px}
.habit-detail-panel-head h3{margin:0;font-size:14.5px;font-weight:850}
.habit-detail-panel-head p{margin:3px 0 0;color:var(--muted);font-size:11.5px;line-height:1.55}
.habit-detail-range{display:flex;gap:3px;padding:3px;background:var(--bg);border-radius:11px;flex:0 0 auto}
.habit-detail-range button{border:0;background:transparent;color:var(--muted);border-radius:8px;min-height:32px;padding:0 7px;font:inherit;font-size:10.5px;font-weight:750;cursor:pointer}
.habit-detail-range button.active{background:var(--card);color:var(--primary);box-shadow:0 2px 8px rgba(20,20,43,.08)}
.habit-detail-chart{min-height:138px}
.habit-detail-chart-bars{height:112px;display:flex;align-items:flex-end;gap:3px;border-bottom:1px solid var(--border);padding:8px 2px 0;overflow:hidden}
.habit-detail-chart-bars.range-30{gap:2px}
.habit-detail-chart-bars.range-90{gap:1px}
.habit-detail-chart-bar{display:block;flex:1;min-width:2px;max-width:18px;border-radius:4px 4px 1px 1px;background:rgba(123,127,138,.2);transition:height .18s ease}
.habit-detail-chart-bar.full{background:var(--success)}
.habit-detail-chart-bar.partial{background:var(--warning)}
.habit-detail-chart-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:10.5px}
.habit-detail-chart-legend span{display:flex;align-items:center;gap:5px}
.habit-detail-chart-legend i{width:8px;height:8px;border-radius:3px;background:rgba(123,127,138,.25)}
.habit-detail-chart-legend i.full{background:var(--success)}
.habit-detail-chart-legend i.partial{background:var(--warning)}
.habit-detail-coach{display:flex;flex-direction:column;gap:11px}
.habit-detail-coach label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11.5px;font-weight:700}
.habit-detail-coach input,.habit-detail-coach textarea{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:13px;font:inherit;font-size:13.5px;outline:0;padding:10px 11px;direction:rtl;text-align:right}
.habit-detail-coach textarea{min-height:72px;resize:vertical;line-height:1.75}
.habit-detail-coach input:focus,.habit-detail-coach textarea:focus{border-color:var(--primary)}
.habit-detail-primary-btn{width:100%;min-height:46px;border:0;border-radius:14px;background:var(--primary);color:#fff;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.habit-detail-primary-btn.is-pending{opacity:.65}
.habit-detail-schedule-card{width:100%;min-height:64px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;padding:12px 14px;font:inherit;cursor:pointer}
.habit-detail-schedule-card span{display:flex;flex-direction:column;gap:4px}
.habit-detail-schedule-card strong{font-size:13.5px}
.habit-detail-schedule-card small{font-size:11.5px;color:var(--muted)}
.habit-detail-schedule-card b{font-size:24px;color:var(--muted);transform:scaleX(-1)}

.settings-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.settings-primary-panel{border-color:color-mix(in srgb,var(--primary) 22%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--card))}
.settings-row{min-height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}
.settings-row:last-child{border-bottom:0}
.settings-row-button{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;color:var(--text);font:inherit;text-align:right;cursor:pointer}
.settings-row-button b{font-size:21px;color:var(--muted);font-weight:600;transform:scaleX(-1)}
.settings-row span,.settings-block-title,.settings-switch-row>span,.settings-disclosure-summary span{display:flex;flex-direction:column;gap:3px;min-width:0}
.settings-row strong,.settings-block-title strong,.settings-switch-row strong,.settings-disclosure-summary strong{font-size:13.5px;font-weight:820}
.settings-row small,.settings-block-title small,.settings-switch-row small,.settings-disclosure-summary small{font-size:11px;color:var(--muted);line-height:1.55}
.settings-block{padding:12px 14px;border-bottom:1px solid var(--border)}
.settings-block:last-child{border-bottom:0}
.settings-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:9px;padding:3px;background:var(--bg);border-radius:12px}
.settings-choice-row button{min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:11.5px;font-weight:750;cursor:pointer}
.settings-choice-row button.active{background:var(--card);color:var(--primary);box-shadow:0 2px 8px rgba(20,20,43,.07)}
.settings-switch-row{min-height:68px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.settings-switch-row input{position:absolute;opacity:0;pointer-events:none}
.settings-switch-row i{width:44px;height:26px;border-radius:999px;background:#c9ccd4;position:relative;flex:0 0 auto;transition:.18s}
.settings-switch-row i:after{content:"";position:absolute;width:20px;height:20px;top:3px;right:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}
.settings-switch-row input:checked+i{background:var(--primary)}
.settings-switch-row input:checked+i:after{right:21px}
.settings-disclosure>summary{list-style:none;min-height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.settings-disclosure>summary::-webkit-details-marker{display:none}
.settings-disclosure-summary b{font-size:17px;color:var(--muted);transition:transform .18s ease}
.settings-disclosure[open]>.settings-disclosure-summary b{transform:rotate(180deg)}
.settings-disclosure[open]>.settings-disclosure-summary{border-bottom:1px solid var(--border)}
.settings-disclosure-body{background:color-mix(in srgb,var(--bg) 38%,var(--card))}
.settings-backup-head{padding:11px 14px 7px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border)}
.settings-backup-head strong{font-size:12.3px}
.settings-backup-head small{font-size:10.7px;color:var(--muted);line-height:1.5}
.settings-backup-list{padding:0 14px 9px}
.settings-backup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.settings-backup-row:last-child{border-bottom:0}
.settings-backup-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.settings-backup-row strong{font-size:11.8px}
.settings-backup-row small{font-size:10.5px;color:var(--muted)}
.settings-backup-row button{min-height:36px;border:0;border-radius:10px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:11px;font-weight:750;padding:0 10px;cursor:pointer}
.settings-empty{padding:14px;text-align:center;color:var(--muted);font-size:11px;line-height:1.6}
.settings-connections{padding:2px 14px 0}
.settings-connection-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--border)}
.settings-connection-row:last-child{border-bottom:0}
.settings-connection-row>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.settings-connection-row strong{font-size:12.3px}
.settings-connection-row small{font-size:10.5px;color:var(--muted)}
.settings-connection-row>b{font-size:10px;color:var(--success);background:var(--success-soft);border-radius:999px;padding:4px 7px}
.settings-connection-dot{width:9px;height:9px;border-radius:50%;background:var(--primary)}
.settings-connection-dot.bale{background:var(--success)}
.settings-connection-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 14px 4px}
.settings-connection-actions a{min-height:40px;border-radius:11px;background:var(--card);border:1px solid var(--border);color:var(--text);text-decoration:none;display:grid;place-items:center;font-size:11.3px;font-weight:750}
.settings-connection-help{margin:5px 14px 12px;color:var(--muted);font-size:10.7px;line-height:1.65}
body.tg-dark .topbar-settings-btn,body.tg-dark .habit-detail-stat,body.tg-dark .habit-detail-panel,body.tg-dark .habit-detail-schedule-card,body.tg-dark .settings-panel{background:var(--card)}
@media(max-width:360px){.habit-detail-range button{padding-inline:5px;font-size:10px}.settings-connection-actions{grid-template-columns:1fr}.topbar-settings-btn{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.habit-detail-chart-bar,.settings-switch-row i,.settings-switch-row i:after,.settings-disclosure-summary b{transition:none}}
/* END NOZAR_RELEASE_HABIT_DETAIL_SETTINGS_150_168_V1 */

/* NOZAR_ONBOARDING_V1 — simple, solid, fast activation surface */
body.onboarding-checking #app,
body.onboarding-active #app{
  visibility:hidden;
  pointer-events:none;
}

.onboarding-root{
  position:fixed;
  inset:0;
  z-index:9000;
  display:none;
  overflow:auto;
  background:var(--bg);
  color:var(--text);
  padding:
    max(20px, env(safe-area-inset-top))
    20px
    max(24px, env(safe-area-inset-bottom));
}

body.onboarding-checking .onboarding-root,
body.onboarding-active .onboarding-root{
  display:block;
}

body.role-pending .onboarding-root{
  visibility:hidden;
}

.onboarding-shell{
  width:min(100%, 440px);
  min-height:calc(var(--tg-vh, 100vh) - max(20px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)) - 8px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
}

.onboarding-loading{
  flex:1;
  min-height:60vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--muted);
  font-size:14px;
}

.onboarding-loading-brand{
  color:var(--text);
  font-size:23px;
  font-weight:800;
}

.onboarding-screen{
  flex:1;
  min-height:100%;
  display:flex;
  flex-direction:column;
  animation:onboardingEnter .18s ease-out both;
}

@keyframes onboardingEnter{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}

.onboarding-top{
  min-height:48px;
  display:flex;
  align-items:center;
}

.onboarding-back{
  width:44px;
  height:44px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.onboarding-main{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 2px 24px;
}

.onboarding-brand{
  margin:0 0 28px;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.2px;
}

.onboarding-title{
  margin:0;
  max-width:360px;
  font-size:clamp(25px, 7vw, 32px);
  line-height:1.65;
  font-weight:850;
  letter-spacing:-.65px;
}

.onboarding-copy{
  margin:15px 0 0;
  max-width:350px;
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
}

.onboarding-actions{
  padding-top:22px;
}

.onboarding-primary{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:15px;
  padding:12px 18px;
  background:var(--primary);
  color:#fff;
  font:inherit;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}

.onboarding-primary:disabled,
.onboarding-choice:disabled{
  opacity:.58;
  cursor:default;
}

.onboarding-question{
  margin:12px 0 26px;
  font-size:clamp(23px, 6.5vw, 29px);
  line-height:1.65;
  font-weight:850;
  letter-spacing:-.55px;
}

.onboarding-choices{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.onboarding-choice{
  width:100%;
  min-height:56px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--card);
  color:var(--text);
  padding:12px 15px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:right;
  font:inherit;
  font-size:14.5px;
  font-weight:700;
  cursor:pointer;
  box-shadow:none;
}

.onboarding-choice-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:17px;
}

.onboarding-choice-general{
  border-color:transparent;
  background:transparent;
  color:var(--muted);
  font-weight:650;
  justify-content:center;
  min-height:48px;
}

.onboarding-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.onboarding-input{
  width:100%;
  min-height:54px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--card);
  color:var(--text);
  padding:13px 15px;
  outline:none;
  font:inherit;
  font-size:16px;
  text-align:right;
}

.onboarding-input:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px var(--primary-soft);
}

.onboarding-helper{
  margin:0 2px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

.onboarding-secondary{
  width:100%;
  min-height:46px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:13.5px;
  font-weight:650;
  cursor:pointer;
}

.onboarding-inline-error{
  min-height:22px;
  margin:0;
  color:var(--danger);
  font-size:13px;
  line-height:1.7;
}

.onboarding-error-screen .onboarding-main{
  justify-content:center;
}

@media (max-width:360px){
  .onboarding-root{padding-inline:16px}
  .onboarding-question{font-size:22px}
  .onboarding-choice{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  .onboarding-screen{animation:none}
}

/* =========================================================
   NOZAR TODAY V1 — action first, calm surface, fast WebView
   Final scoped overrides after legacy Today styles.
   ========================================================= */
#view-today{
  --today-v1-radius:18px;
  --today-v1-control:36px;
}

#view-today .today-tasks-card,
#view-today .today-habits-card{
  margin-bottom:10px;
  padding:13px 14px 12px;
  border:1px solid var(--border);
  border-radius:var(--today-v1-radius);
  background:var(--card);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

#view-today .today-tasks-card .card-head,
#view-today .today-habits-card .card-head{
  min-height:34px;
  margin-bottom:5px;
}

#view-today .card-head h2{
  margin:0;
  font-size:16px;
  font-weight:750;
  line-height:1.55;
}

#view-today .section-title-icon,
#view-today .habit-loop-icon{
  width:18px;
  height:18px;
  flex-basis:18px;
  animation:none;
  opacity:.88;
}

#view-today .section-title-icon svg,
#view-today .habit-loop-icon svg{
  width:18px;
  height:18px;
}

#view-today .pill{
  min-width:39px;
  padding:4px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  text-align:center;
  cursor:default !important;
}

#view-today .today-empty-state,
#view-today .today-habit-empty{
  padding:9px 2px 8px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.8;
}

#view-today .today-habit-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#view-today .today-empty-action{
  min-height:40px;
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--primary);
  font:inherit;
  font-size:11.5px;
  font-weight:800;
}

#view-today .task-item{
  min-height:46px;
  padding:5px 0;
  gap:9px;
}

#view-today .task-title{
  font-size:14px;
  font-weight:550;
  line-height:1.7;
}

#view-today .check,
#view-today .habit-dot{
  width:24px;
  height:24px;
  min-width:24px;
  flex:0 0 24px;
}

#view-today .habit-dot-ring{
  width:24px;
  height:24px;
}


#view-today .task-more-btn,
#view-today .habit-more-btn{
  width:var(--today-v1-control);
  min-width:var(--today-v1-control);
  max-width:var(--today-v1-control);
  height:var(--today-v1-control);
  flex-basis:var(--today-v1-control);
  margin-inline-start:2px;
}

#view-today .today-tasks-card > .add-row{
  margin-top:7px;
  gap:8px;
}

#view-today .today-tasks-card > .add-row input{
  min-height:44px;
  padding:9px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--bg);
  color:var(--text);
  font-size:13px;
}

#view-today .today-tasks-card .btn-add{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:12px;
  box-shadow:none;
}

#view-today .task-form-hidden{
  display:none;
}

#view-today #taskLimitMsg{
  margin:7px 2px 0;
  color:var(--muted);
  font-size:11px;
}

#view-today .habit-manage-btn{
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--primary);
  font-size:11px;
  font-weight:750;
}

#view-today .habit-row{
  min-height:48px;
  padding:5px 0;
  gap:8px;
}

#view-today .habit-title{
  font-size:13.8px;
  font-weight:600;
  line-height:1.6;
}

#view-today .habit-item{
  border-bottom-color:var(--border);
}

#view-today .habit-item:last-child{
  border-bottom:0;
}

/* One contextual ritual action, never a permanent dashboard card. */
#view-today .daily-ritual-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:11px 13px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--card);
  box-shadow:none;
}

#view-today .daily-ritual-copy{
  gap:1px;
}

#view-today .daily-ritual-copy strong{
  font-size:13px;
  font-weight:750;
  line-height:1.65;
}

#view-today .daily-ritual-copy small{
  font-size:10.5px;
  line-height:1.55;
}

#view-today .daily-ritual-actions{
  display:flex;
  flex-direction:row;
  gap:6px;
}

#view-today .daily-ritual-btn{
  min-width:78px;
  min-height:40px;
  padding:7px 10px;
  border-radius:11px;
  box-shadow:none;
  font-size:11.5px;
}

/* Progress is evidence after action, not the hero of Today. */
#view-today .today-progress-card{
  margin:2px 2px 4px;
  padding:10px 2px 6px;
  background:transparent;
  border:0;
  box-shadow:none;
}

#view-today .today-progress-card .today-dashboard-head{
  display:block;
}

#view-today .today-progress-card .today-dashboard-kicker{
  margin-bottom:1px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:650;
}

#view-today .today-progress-card .today-dashboard-message{
  color:var(--text);
  font-size:12.5px;
  font-weight:650;
  line-height:1.65;
}

#view-today .today-progress-card .today-dashboard-progress{
  height:4px;
  margin-top:7px;
  border-radius:999px;
  background:color-mix(in srgb, var(--primary) 9%, transparent);
}

#view-today .today-progress-card .today-dashboard-progress-fill{
  background:var(--primary);
  transition:width .2s ease;
}

#view-today .today-progress-card.complete .today-dashboard-progress-fill{
  background:var(--success);
}

#view-today .today-progress-card .today-dashboard-stats{
  margin-top:7px;
  gap:7px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:500;
}

#view-today .today-progress-card .today-dashboard-divider{
  height:10px;
  opacity:.45;
}

/* Initial-load skeletons avoid flashing misleading empty states. */
#view-today .today-skeleton-row{
  min-height:46px;
  display:grid;
  grid-template-columns:32px 1fr 36px;
  align-items:center;
  gap:9px;
  padding:5px 0;
}

#view-today .today-skeleton-row span,
#view-today .today-skeleton-row b,
#view-today .today-skeleton-row i{
  display:block;
  border-radius:999px;
  background:color-mix(in srgb, var(--muted) 13%, transparent);
  animation:todayV1Pulse 1.2s ease-in-out infinite alternate;
}

#view-today .today-skeleton-row span{
  width:30px;
  height:30px;
}

#view-today .today-skeleton-row b{
  width:min(68%, 210px);
  height:11px;
}

#view-today .today-skeleton-row i{
  width:28px;
  height:8px;
  justify-self:center;
}

@keyframes todayV1Pulse{
  from{opacity:.48}
  to{opacity:.9}
}

#view-today.today-loading-state #taskForm,
#view-today.today-loading-state #taskLimitMsg,
#view-today.today-loading-state #habitManageBtn{
  visibility:hidden;
}

#view-today.today-error-state .today-habits-card,
#view-today.today-error-state #taskForm,
#view-today.today-error-state #taskLimitMsg{
  display:none;
}

#view-today .today-load-error{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:16px 2px 10px;
}

#view-today .today-load-error strong{
  color:var(--text);
  font-size:14px;
}

#view-today .today-load-error span{
  color:var(--muted);
  font-size:11.5px;
  line-height:1.7;
}

#view-today .today-load-error button{
  min-height:42px;
  margin-top:3px;
  padding:8px 13px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--primary);
  font:inherit;
  font-size:12px;
  font-weight:800;
}

body.tg-dark #view-today .today-tasks-card,
body.tg-dark #view-today .today-habits-card,
body.tg-dark #view-today .daily-ritual-strip{
  background:var(--card);
  border-color:var(--border);
  box-shadow:none;
}

@media(max-width:380px){
  #view-today .today-tasks-card,
  #view-today .today-habits-card{padding:12px}
  #view-today .daily-ritual-strip{align-items:stretch;flex-direction:column;gap:8px}
  #view-today .daily-ritual-actions{width:100%}
  #view-today .daily-ritual-btn{width:100%}
  #view-today .today-habit-empty{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  #view-today .today-progress-card .today-dashboard-progress-fill,
  #view-today .today-skeleton-row span,
  #view-today .today-skeleton-row b,
  #view-today .today-skeleton-row i{
    animation:none !important;
    transition:none !important;
  }
}
/* END NOZAR TODAY V1 */

/* NOZAR_HABIT_SYSTEM_V1 */
.quick-habit-measure-toggle{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:var(--card);cursor:pointer}
.quick-habit-measure-toggle input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--primary)}
.quick-habit-measure-toggle span{display:flex;min-width:0;flex-direction:column;gap:2px}
.quick-habit-measure-toggle strong{font-size:12.5px;color:var(--text)}
.quick-habit-measure-toggle small{font-size:10.5px;line-height:1.5;color:var(--muted)}
.quick-habit-measure-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}
.quick-habit-measure-fields .plan-label:first-child{grid-column:1/-1}
.quick-habit-measure-fields .plan-input{min-height:44px}
.habit-manager-add{width:100%;min-height:44px;margin:8px 0 10px;border:1px solid rgba(79,70,229,.22);border-radius:13px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:12.5px;font-weight:850;cursor:pointer}
.habit-detail-coach-summary{padding-bottom:12px}
.habit-detail-coach-summary .habit-detail-panel-head{margin-bottom:0;align-items:center}
.habit-detail-inline-action{flex:0 0 auto;min-height:38px;padding:0 12px;border:0;border-radius:11px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:11.5px;font-weight:850;cursor:pointer}
.habit-detail-coach-meta{display:flex;flex-direction:column;gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid var(--border)}
.habit-detail-coach-meta span{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;font-size:11.5px;line-height:1.7;color:var(--text)}
.habit-detail-coach-meta b{font-size:10.5px;color:var(--muted);font-weight:800}
.habit-detail-schedule-card:active,.habit-detail-inline-action:active,.habit-manager-add:active{transform:scale(.99)}
@media(max-width:360px){.quick-habit-measure-fields{grid-template-columns:1fr}.quick-habit-measure-fields .plan-label:first-child{grid-column:auto}.habit-detail-coach-meta span{grid-template-columns:1fr;gap:2px}}
@media(prefers-reduced-motion:reduce){.habit-detail-schedule-card,.habit-detail-inline-action,.habit-manager-add{transition:none}}
/* END NOZAR_HABIT_SYSTEM_V1 */

/* NOZAR_GROWTH_HOME_V1 */
.growth-home-v1{gap:14px}
.growth-home-head{padding:4px 2px 0}
.growth-home-head h2{max-width:340px;margin-top:4px}
.growth-home-head p{max-width:390px;line-height:1.85}
.growth-quick-capture{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.growth-quick-capture button{min-width:0;min-height:68px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:16px;padding:9px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:inherit;box-shadow:none}
.growth-quick-capture button span{font-size:19px;line-height:1;color:var(--primary)}
.growth-quick-capture button strong{font-size:10.5px;line-height:1.5;font-weight:850;white-space:nowrap}
.growth-quick-capture button:active{transform:scale(.98)}
.growth-focus-card{border:1px solid rgba(49,146,92,.24);background:rgba(49,146,92,.055);border-radius:17px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.growth-focus-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.growth-focus-copy span{font-size:10px;font-weight:900;color:var(--primary)}
.growth-focus-copy strong{font-size:13px;line-height:1.7;color:var(--text)}
.growth-focus-copy small{font-size:10.5px;line-height:1.6;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}
.growth-focus-card>button{flex:none;border:0;background:var(--primary);color:#fff;border-radius:11px;min-height:38px;padding:8px 11px;font:inherit;font-size:10.5px;font-weight:900}
.growth-hub-list{display:flex;flex-direction:column;gap:8px}
.growth-hub-section{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden;box-shadow:none}
.growth-hub-section>summary{list-style:none;cursor:pointer;min-height:70px;padding:12px;display:grid;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:9px}
.growth-hub-section>summary::-webkit-details-marker,.growth-tool>summary::-webkit-details-marker{display:none}
.growth-hub-icon{width:40px;height:40px;border-radius:13px;background:rgba(49,146,92,.09);color:var(--primary);display:grid;place-items:center;font-size:19px;font-weight:900}
.growth-hub-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.growth-hub-copy strong{font-size:14px;line-height:1.6;color:var(--text)}
.growth-hub-copy small{font-size:10.5px;line-height:1.6;color:var(--muted)}
.growth-hub-meta{font-size:9.5px;font-weight:850;color:var(--primary);background:rgba(49,146,92,.07);border-radius:999px;padding:5px 7px;white-space:nowrap}
.growth-hub-chevron{font-size:18px;color:var(--muted);transition:transform .18s ease;transform:rotate(0deg)}
.growth-hub-section[open]>summary{border-bottom:1px solid var(--line)}
.growth-hub-section[open]>summary .growth-hub-chevron{transform:rotate(180deg)}
.growth-hub-body{padding:9px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.growth-tool{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden}
.growth-tool>summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.growth-tool>summary>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.growth-tool>summary strong{font-size:12.5px;line-height:1.6;color:var(--text)}
.growth-tool>summary small{font-size:10px;line-height:1.55;color:var(--muted)}
.growth-tool>summary i{font-style:normal;color:var(--primary);font-size:15px;font-weight:900}
.growth-tool[open]>summary{border-bottom:1px solid var(--line)}
.growth-tool[open]>summary i{font-size:0}
.growth-tool[open]>summary i::after{content:"−";font-size:15px}
.growth-tool-body{padding:10px}
.growth-tool-body>.growth-me-panel,.growth-hub-flat{border:0;border-radius:0;padding:0;box-shadow:none;background:transparent}
.growth-hub-flat{display:flex;flex-direction:column;gap:10px}
.growth-hub-flat>.growth-tool{background:var(--card)}
.growth-hub-flat>.growth-archive-head{margin-top:2px}
.growth-hub-section .growth-me-panel{box-shadow:none}
.growth-hub-section .growth-inner-block{margin-top:2px}
.growth-hub-section .growth-empty{background:transparent}
body.tg-dark .growth-focus-card{background:rgba(61,180,112,.07);border-color:rgba(61,180,112,.2)}
@media(max-width:390px){
  .growth-quick-capture{grid-template-columns:repeat(2,minmax(0,1fr))}
  .growth-quick-capture button{min-height:58px;flex-direction:row;gap:7px;padding:8px 10px}
  .growth-quick-capture button span{font-size:17px}
  .growth-hub-section>summary{grid-template-columns:38px minmax(0,1fr) 18px;min-height:66px;padding:11px}
  .growth-hub-icon{width:38px;height:38px}
  .growth-hub-meta{grid-column:2;justify-self:start;padding:3px 6px;margin-top:1px}
  .growth-hub-chevron{grid-column:3;grid-row:1/3}
  .growth-focus-copy small{max-width:190px}
}
@media(prefers-reduced-motion:reduce){.growth-quick-capture button,.growth-hub-chevron{transition:none!important}}
/* END NOZAR_GROWTH_HOME_V1 */


/* NOZAR_NOTES_V1 — write first, organize when needed */
#view-notes .notes-browser{
  display:flex;
  flex-direction:column;
  gap:14px;
}
#view-notes .notes-large-head{
  margin:0;
  padding:2px 2px 0;
}
#view-notes .notes-large-head h2{
  margin:0;
  font-size:26px;
  line-height:1.35;
  letter-spacing:-.35px;
}
#view-notes .notes-large-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
#view-notes .notes-home-write{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:stretch;
}
#view-notes .notes-new-note-btn,
#view-notes .notes-template-btn,
#view-notes .notes-see-all-btn{
  min-height:48px;
  border-radius:14px;
  font:inherit;
  cursor:pointer;
}
#view-notes .notes-new-note-btn{
  border:1px solid var(--primary);
  background:var(--primary);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:800;
  box-shadow:0 5px 16px rgba(79,70,229,.18);
}
#view-notes .notes-new-note-btn svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view-notes .notes-template-btn{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  padding:0 16px;
  font-weight:700;
}
#view-notes .notes-search{
  margin:0;
  min-height:48px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--card);
  box-shadow:none;
}
#view-notes .notes-search:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(79,70,229,.08);
}
#view-notes .notes-pro-toolbar{
  margin:-4px 0 0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
#view-notes .notes-section{
  margin:0 0 16px;
}
#view-notes .notes-section-head{
  min-height:34px;
  margin-bottom:7px;
  padding:0 2px;
}
#view-notes .notes-section-label{
  font-size:13px;
  font-weight:800;
  color:var(--text);
}
#view-notes .notes-see-all-btn{
  min-height:34px;
  border:0;
  background:transparent;
  color:var(--primary);
  padding:0 7px;
  font-size:12.5px;
  font-weight:800;
}
#view-notes .notes-home-recent,
#view-notes .notes-folder-card,
#view-notes .notes-list{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--card);
  box-shadow:none;
}
#view-notes .notes-home-note-row{
  width:100%;
  min-height:72px;
  border:0;
  border-bottom:1px solid var(--border);
  background:transparent;
  color:var(--text);
  padding:11px 12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  text-align:right;
  font:inherit;
}
#view-notes .notes-home-note-row:last-child{ border-bottom:0; }
#view-notes .notes-home-note-row:active{ background:var(--primary-soft); }
#view-notes .notes-home-note-main{ min-width:0; }
#view-notes .notes-home-note-row .notes-row-title{
  font-size:14px;
  line-height:1.55;
  margin:0 0 3px;
}
#view-notes .notes-home-note-row .notes-row-preview{
  margin:0 0 5px;
  font-size:12.5px;
  line-height:1.6;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#view-notes .notes-home-note-row .notes-row-meta{
  font-size:11.5px;
  gap:8px;
}
#view-notes .notes-home-empty{
  padding:22px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
#view-notes .notes-home-empty strong{
  font-size:14px;
  line-height:1.7;
}
#view-notes .notes-home-empty span{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.7;
}
#view-notes .notes-home-empty button{
  margin-top:7px;
  min-height:42px;
  border:0;
  border-radius:12px;
  background:var(--primary-soft, rgba(79,70,229,.10));
  color:var(--primary);
  padding:0 14px;
  font:inherit;
  font-size:12.5px;
  font-weight:800;
}
#view-notes .notes-folder-row{
  min-height:48px;
  padding:8px 11px;
  background:transparent;
}
#view-notes .notes-folder-row:active{ background:var(--primary-soft); }
#view-notes .notes-folder-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--primary-soft);
  color:var(--primary);
}
#view-notes .notes-new-folder-btn{
  min-height:34px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--primary);
  padding:0 7px;
  box-shadow:none;
}
#view-notes .notes-folders-empty{
  padding:16px 14px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.8;
}
#view-notes .notes-list-head{
  margin-top:2px;
}
#view-notes .notes-list-title{
  font-size:22px;
  line-height:1.45;
  margin:4px 0 0;
}
#view-notes .notes-list-meta{
  margin:2px 0 10px;
}
#view-notes .notes-list-row{
  min-height:74px;
  background:transparent;
}
#view-notes .notes-list-row:active{ background:var(--primary-soft); }
#view-notes .notes-empty{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--muted);
  text-align:center;
  padding:24px 16px;
}

/* Editor: the writing surface is primary; organization stays secondary. */
.note-editor-screen{
  background:var(--bg);
}
.note-editor-nav{
  padding-inline:2px;
}
.note-editor-done{
  min-height:44px;
  padding:0 10px;
  font-size:14px;
  font-weight:800;
}
.note-editor-folder-btn,
#noteEditorMore{
  min-height:44px;
}
.note-editor-paper{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:14px 4px 8px !important;
}
.note-editor-title{
  font-size:21px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  padding:4px 0 10px !important;
}
.note-editor-body{
  min-height:58vh !important;
  font-size:15.5px !important;
  line-height:2 !important;
  padding:4px 0 24px !important;
}
.note-editor-status{
  min-height:22px;
  padding:3px 0 calc(2px + env(safe-area-inset-bottom));
  font-size:11.5px;
}
.notes-sheet{
  background:var(--card);
  border-color:var(--border);
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.tg-dark #view-notes .notes-new-note-btn{
  box-shadow:0 5px 16px rgba(0,0,0,.18);
}
body.tg-dark #view-notes .notes-template-btn,
body.tg-dark #view-notes .notes-search,
body.tg-dark #view-notes .notes-home-recent,
body.tg-dark #view-notes .notes-folder-card,
body.tg-dark #view-notes .notes-list{
  background:var(--card);
  border-color:var(--border);
}

@media (max-width:380px){
  #view-notes .notes-large-head h2{ font-size:23px; }
  #view-notes .notes-home-write{ grid-template-columns:minmax(0,1fr) auto; gap:7px; }
  #view-notes .notes-template-btn{ padding-inline:12px; }
  #view-notes .notes-home-note-row{ min-height:68px; padding-inline:10px; }
  .note-editor-body{ min-height:54vh !important; font-size:15px !important; }
}

@media (prefers-reduced-motion: reduce){
  #view-notes .notes-new-note-btn,
  #view-notes .notes-template-btn,
  #view-notes .notes-home-note-row,
  #view-notes .notes-folder-row{
    transition:none !important;
  }
}

#view-notes .notes-loading-row{
  height:66px;
  margin:0 12px;
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
#view-notes .notes-loading-row::after{
  content:"";
  position:absolute;
  inset:14px 0;
  border-radius:10px;
  background:linear-gradient(90deg, var(--primary-soft), rgba(127,127,127,.06), var(--primary-soft));
  background-size:200% 100%;
  animation:notesSkeleton 1.2s ease-in-out infinite;
}
#view-notes .notes-loading-row.short{ width:70%; }
@keyframes notesSkeleton{ 0%{background-position:100% 0} 100%{background-position:-100% 0} }
#view-notes .notes-load-error{
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  color:var(--muted);
  text-align:center;
  font-size:12.5px;
  line-height:1.8;
}
#view-notes .notes-load-error button{
  min-height:42px;
  border:0;
  border-radius:12px;
  background:var(--primary-soft);
  color:var(--primary);
  padding:0 14px;
  font:inherit;
  font-weight:800;
}
@media (prefers-reduced-motion: reduce){
  #view-notes .notes-loading-row::after{ animation:none !important; }
}
/* END NOZAR_NOTES_V1 */

/* =========================================================
   NOZAR REPORTS V1 — insight first, details on demand
   ========================================================= */
#view-report.report-view{
  --report-surface:var(--card);
  --report-soft:color-mix(in srgb,var(--primary) 6%,var(--card));
}
#view-report .report-shell{
  display:flex;
  flex-direction:column;
  gap:12px;
}
#view-report .report-page-head{
  margin-bottom:2px;
}
#view-report .report-page-subtitle{
  max-width:260px;
  line-height:1.65;
}
#view-report .report-lead{
  background:var(--report-surface);
  border:1px solid var(--border);
  border-radius:18px;
  padding:17px 16px;
  box-shadow:none;
}
#view-report .report-lead-kicker,
#view-report .report-review-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--primary);
  font-size:11px;
  font-weight:800;
}
#view-report .report-lead h3{
  margin:0;
  font-size:17px;
  line-height:1.75;
  letter-spacing:-.1px;
}
#view-report .report-lead p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
}
#view-report .report-lead-action,
#view-report .report-error button{
  margin-top:12px;
  min-height:44px;
  padding:0 15px;
  border:0;
  border-radius:12px;
  background:var(--primary);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
#view-report .report-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
}
#view-report .report-stat-card{
  min-height:68px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--report-surface);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#view-report .report-stat-icon{
  width:28px;
  height:28px;
  border-radius:9px;
}
#view-report .report-stat-label{
  font-size:10.5px;
}
#view-report .report-stat-value{
  margin-top:1px;
  font-size:13px;
}
#view-report .report-stat-percent{
  font-size:10.5px;
}
#view-report .report-panel,
#view-report .report-review{
  margin:0;
  padding:15px;
  border:1px solid var(--border);
  border-radius:17px;
  background:var(--report-surface);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#view-report .report-panel-head{
  margin-bottom:11px;
}
#view-report .report-panel-head h3,
#view-report .report-review-head h3{
  margin:0;
  font-size:14px;
  line-height:1.6;
}
#view-report .report-panel-head p,
#view-report .report-review-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
}
#view-report .report-review{
  border-color:color-mix(in srgb,var(--primary) 18%,var(--border));
  background:var(--report-soft);
}
#view-report .report-review-head{
  margin-bottom:13px;
}
#view-report .weekly-review-form{
  display:grid;
  gap:10px;
}
#view-report .weekly-review-form label{
  display:grid;
  gap:6px;
  color:var(--text);
  font-size:11px;
  font-weight:700;
  line-height:1.6;
}
#view-report .weekly-review-form textarea{
  width:100%;
  min-height:66px;
  resize:vertical;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 11px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  font-size:12px;
  line-height:1.8;
  outline:none;
}
#view-report .weekly-review-form textarea:focus{
  border-color:color-mix(in srgb,var(--primary) 55%,var(--border));
  box-shadow:0 0 0 3px var(--primary-soft);
}
#view-report .weekly-review-focus textarea{
  border-color:color-mix(in srgb,var(--primary) 28%,var(--border));
}
#view-report .weekly-review-more{
  margin-top:10px;
  border-top:1px solid var(--border);
  padding-top:9px;
}
#view-report .weekly-review-more > summary{
  list-style:none;
  cursor:pointer;
  min-height:42px;
  display:flex;
  align-items:center;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
#view-report .weekly-review-more > summary::-webkit-details-marker{display:none;}
#view-report .weekly-review-more > summary::after{
  content:"‹";
  margin-inline-start:auto;
  font-size:20px;
  transform:rotate(-90deg);
  transition:transform .18s ease;
}
#view-report .weekly-review-more[open] > summary::after{transform:rotate(90deg);}
#view-report .weekly-review-actions{
  margin-top:12px;
}
#view-report .weekly-review-actions .primary{
  width:100%;
  min-height:46px;
  border-radius:12px;
}
#view-report .weekly-review-convert{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid var(--border);
}
#view-report .weekly-review-convert span{
  width:100%;
  color:var(--muted);
  font-size:10.5px;
}
#view-report .weekly-review-convert button{
  min-height:38px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  font-size:11px;
  font-weight:750;
}
#view-report .weekly-review-tip{
  margin-top:10px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.8;
}
#view-report .report-insights{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
#view-report .report-insight{
  min-height:auto;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:color-mix(in srgb,var(--card) 92%,var(--bg));
}
#view-report .report-insight span{
  font-size:10.5px;
}
#view-report .report-insight strong{
  margin-top:3px;
  font-size:12px;
  line-height:1.7;
}
#view-report .report-details{
  margin:0;
  border:1px solid var(--border);
  border-radius:17px;
  background:var(--report-surface);
  overflow:hidden;
}
#view-report .report-details > summary{
  list-style:none;
  cursor:pointer;
  min-height:60px;
  padding:11px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
#view-report .report-details > summary::-webkit-details-marker{display:none;}
#view-report .report-details > summary span{
  font-size:13px;
  font-weight:800;
}
#view-report .report-details > summary small{
  margin-top:2px;
  color:var(--muted);
  font-size:10.5px;
}
#view-report .report-details > summary::after{
  content:"‹";
  position:absolute;
  inset-inline-end:15px;
  top:50%;
  font-size:22px;
  color:var(--muted);
  transform:translateY(-50%) rotate(-90deg);
  transition:transform .18s ease;
}
#view-report .report-details[open] > summary::after{
  transform:translateY(-50%) rotate(90deg);
}
#view-report .report-details-body{
  display:grid;
  gap:10px;
  padding:0 10px 10px;
  border-top:1px solid var(--border);
}
#view-report .report-details-body > .report-panel{
  margin-top:10px;
}
#view-report .report-details-placeholder,
#view-report .report-soft-empty{
  padding:12px 4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.8;
  text-align:center;
}
#view-report .report-error h3{
  margin:0;
  font-size:15px;
}
#view-report .report-error p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.75;
}
#view-report .report-loading-line{
  height:14px;
  width:72%;
  border-radius:7px;
  background:color-mix(in srgb,var(--muted) 13%,transparent);
}
#view-report .report-loading-line.short{
  width:46%;
  height:10px;
  margin-top:9px;
}
#view-report .report-summary-loading{
  min-height:68px;
  grid-column:1/-1;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--card);
}
#view-report .report-trend-panel.hidden,
#view-report .report-insights-panel.hidden,
#view-report .report-heatmap-panel.hidden{display:none!important;}
body.tg-dark #view-report .report-insight{
  background:color-mix(in srgb,var(--card) 88%,#000);
}
body.tg-dark #view-report .report-review{
  background:color-mix(in srgb,var(--primary) 8%,var(--card));
}
@media (max-width:360px){
  #view-report .report-summary{grid-template-columns:1fr 1fr;}
  #view-report .report-stat-card{padding:10px;}
  #view-report .report-lead{padding:15px 14px;}
}
@media (prefers-reduced-motion:reduce){
  #view-report .weekly-review-more > summary::after,
  #view-report .report-details > summary::after{transition:none;}
}

/* =========================================================
   NOZAR DESIGN SYSTEM V1 — FINAL PRODUCT FOUNDATION
   Simple, calm, premium, fast. Solid surfaces over glass.
   ========================================================= */
:root{
  color-scheme:light;
  --bg:#f6f7f9;
  --card:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f1f3f6;
  --surface-2:#eef1f4;
  --input-bg:#ffffff;
  --card-glass:#ffffff;
  --border:#e6e8ed;
  --line:#e6e8ed;
  --border-glass:#e6e8ed;
  --border-strong:#d7dbe3;
  --text:#1f2430;
  --muted:#697180;
  --muted-2:#8d95a3;
  --primary:#5a54e6;
  --primary-strong:#4842cc;
  --primary-soft:#f0efff;
  --accent:#5a54e6;
  --accent-soft:#f0efff;
  --success:#21895b;
  --success-soft:#eaf6ef;
  --warning:#b7791f;
  --warning-soft:#fbf2e2;
  --danger:#c2414b;
  --danger-soft:#fbeaec;
  --series-3:#8d6da0;
  --shadow:0 1px 2px rgba(20,24,34,.025),0 6px 20px rgba(20,24,34,.035);
  --shadow-elevated:0 14px 36px rgba(20,24,34,.12);
  --shadow-sheet:0 -14px 40px rgba(20,24,34,.14);
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:11px;
  --radius-control:12px;
  --radius-sheet:24px;
  --control-height:46px;
  --tap-size:44px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --motion-fast:160ms;
  --motion-normal:200ms;
  --blur:0px;
  --notes-accent:var(--primary);
  --notes-accent-soft:var(--primary-soft);
  --notes-card:var(--card);
  --notes-border:var(--line);
  --toast-bg:#20242d;
  --toast-text:#ffffff;
  --stage-goal:#1f9d63;
  --stage-goal-soft:#e6f7ee;
  --stage-month:#2f7de1;
  --stage-month-soft:#e8f1fd;
  --stage-week:#c7821b;
  --stage-week-soft:#fbf1e0;
  --stage-today:var(--primary);
  --stage-today-soft:var(--primary-soft);
}

body.tg-dark{
  color-scheme:dark;
  --bg:#111318;
  --card:#1a1d23;
  --surface:#1a1d23;
  --surface-soft:#20242b;
  --surface-2:#242932;
  --input-bg:#171a20;
  --card-glass:#1a1d23;
  --border:#2b3039;
  --line:#2b3039;
  --border-glass:#2b3039;
  --border-strong:#3a414c;
  --text:#f2f4f7;
  --muted:#a3aab6;
  --muted-2:#7f8794;
  --primary:#9690ff;
  --primary-strong:#aaa6ff;
  --primary-soft:rgba(150,144,255,.14);
  --accent:#9690ff;
  --accent-soft:rgba(150,144,255,.14);
  --success:#54b985;
  --success-soft:rgba(84,185,133,.14);
  --warning:#dda84f;
  --warning-soft:rgba(221,168,79,.14);
  --danger:#ef7a83;
  --danger-soft:rgba(239,122,131,.14);
  --shadow:0 1px 2px rgba(0,0,0,.12),0 8px 22px rgba(0,0,0,.14);
  --shadow-elevated:0 16px 38px rgba(0,0,0,.34);
  --shadow-sheet:0 -16px 42px rgba(0,0,0,.34);
  --notes-accent:var(--primary);
  --notes-accent-soft:var(--primary-soft);
  --notes-card:var(--card);
  --notes-border:var(--line);
  --toast-bg:#f2f4f7;
  --toast-text:#1b1f27;
  --stage-goal:#54b985;
  --stage-goal-soft:rgba(84,185,133,.14);
  --stage-month:#6ea8ff;
  --stage-month-soft:rgba(110,168,255,.14);
  --stage-week:#dda84f;
  --stage-week-soft:rgba(221,168,79,.14);
  --stage-today:var(--primary);
  --stage-today-soft:var(--primary-soft);
}

html,body{min-height:100%;}
body{
  background:var(--bg) !important;
  background-image:none !important;
  background-attachment:scroll !important;
  color:var(--text);
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis:none;
  overscroll-behavior-y:none;
}

#app{
  max-width:480px;
  padding:12px 14px calc(94px + env(safe-area-inset-bottom));
}

/* Shared focus and disabled language */
button,input,textarea,select{font-family:inherit;}
button{-webkit-tap-highlight-color:transparent;}
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--primary-soft);
  outline-offset:2px;
}
button:disabled,
input:disabled,
textarea:disabled,
select:disabled,
[aria-disabled="true"]{
  opacity:.48;
  cursor:not-allowed !important;
  pointer-events:none;
}

/* Header */
.topbar{
  min-height:52px;
  padding:2px 2px 12px;
}
.header-logo-wrap{
  width:44px;
  height:44px;
  flex-basis:44px;
}
.header-logo{
  width:44px;
  height:44px;
  border:1px solid var(--line);
  box-shadow:none;
}
.miniapp-brand-name,
.greeting-sub{
  color:var(--text);
  font-weight:750;
}
.date-text{color:var(--muted);}
.topbar-settings-btn{
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--card);
  color:var(--text);
  box-shadow:none;
  transition:background var(--motion-fast) ease,transform var(--motion-fast) ease;
}
.topbar-settings-btn:active{background:var(--surface-soft);transform:scale(.97);}

/* Solid surface language — no heavy glass in content */
.card,
#view-today .card,
.plan-panel,
.plan-goals-panel,
.plan-week-panel,
.plan-tomorrow-panel,
.growth-me-panel,
.growth-hub-section,
.growth-tool,
#view-report .report-panel,
#view-report .report-review,
#view-report .report-details,
#view-report .report-lead,
.settings-panel,
.habit-detail-panel,
.habit-detail-schedule-card,
#view-notes .notes-home-recent,
#view-notes .notes-folder-card,
#view-notes .notes-list{
  background:var(--card) !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.card,
#view-today .card{
  border-radius:var(--radius-lg) !important;
  padding:16px;
  margin-bottom:12px;
}
.card-head{margin-bottom:10px;}
.card-head h2{
  font-size:15px;
  line-height:1.55;
  font-weight:850;
  letter-spacing:-.1px;
}
.pill{
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:11px;
  font-weight:800;
}
.subhead{color:var(--muted);font-size:12px;}

/* Form controls */
.add-row input,
.task-title-input,
.plan-input,
.plan-textarea,
.plan-select,
.growth-me-field input,
.growth-me-field textarea,
.growth-me-field select,
.onboarding-input,
#view-report .weekly-review-form textarea,
.notes-pro-form input,
.notes-pro-form select,
.reminder-time,
.reminder-day-select{
  border:1px solid var(--line) !important;
  border-radius:var(--radius-control) !important;
  background:var(--input-bg) !important;
  color:var(--text) !important;
  box-shadow:none !important;
  transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease;
}
.add-row input,
.plan-input,
.plan-select,
.growth-me-field input,
.growth-me-field select,
.onboarding-input,
.notes-pro-form input,
.notes-pro-form select,
.reminder-time,
.reminder-day-select{
  min-height:var(--control-height);
}
.add-row input:focus,
.task-title-input:focus,
.plan-input:focus,
.plan-textarea:focus,
.plan-select:focus,
.growth-me-field input:focus,
.growth-me-field textarea:focus,
.growth-me-field select:focus,
.onboarding-input:focus,
#view-report .weekly-review-form textarea:focus,
.notes-pro-form input:focus,
.notes-pro-form select:focus,
.reminder-time:focus,
.reminder-day-select:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 3px var(--primary-soft) !important;
  outline:none;
}
::placeholder{color:var(--muted-2);opacity:.88;}

/* Primary and secondary actions */
.btn-add,
.plan-submit,
.growth-me-primary-btn,
.onboarding-primary,
.daily-ritual-btn,
#view-report .report-lead-action,
#view-report .report-error button,
.notes-pro-form button[type="submit"]{
  background:var(--primary) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:none !important;
  transition:background var(--motion-fast) ease,transform var(--motion-fast) ease,opacity var(--motion-fast) ease;
}
.btn-add:active,
.plan-submit:active,
.growth-me-primary-btn:active,
.onboarding-primary:active,
.daily-ritual-btn:active,
#view-report .report-lead-action:active,
#view-report .report-error button:active,
.notes-pro-form button[type="submit"]:active{
  background:var(--primary-strong) !important;
  transform:scale(.985);
}
.plan-mini-btn,
.plan-secondary-btn,
.habit-detail-inline-action,
.habit-manager-add,
.settings-backup-row button,
#view-notes .notes-filter-btn,
#view-notes .notes-template-btn{
  box-shadow:none !important;
}

/* Common rows and icon actions */
.icon-btn,
.habit-more-btn,
.plan-sheet-close,
.notes-more-btn,
.notes-back-btn,
.subview-back-btn{
  min-width:var(--tap-size);
  min-height:var(--tap-size);
}
.icon-btn:active,
.habit-more-btn:active{
  background:var(--surface-soft);
}
.check{
  width:26px;
  height:26px;
  border-color:var(--border-strong);
  transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease;
}
.task-item:active{background:var(--surface-soft);}

/* Today */
#view-today .today-tasks-card,
#view-today .today-habits-card{margin-bottom:12px;}
#view-today .today-progress-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:8px 2px 2px !important;
}
#view-today .today-dashboard-progress{
  height:5px;
  background:var(--surface-2) !important;
}
#view-today .today-dashboard-progress-fill{
  background:var(--primary) !important;
  box-shadow:none !important;
}
.daily-ritual-strip{
  border:1px solid var(--line) !important;
  background:var(--card) !important;
  box-shadow:none !important;
  border-radius:var(--radius-md) !important;
}
.daily-ritual-btn-secondary{
  background:var(--primary-soft) !important;
  color:var(--primary) !important;
}

/* Global quick add */
.global-quick-add{
  width:56px;
  height:56px;
  background:var(--primary) !important;
  color:#fff;
  box-shadow:0 8px 22px rgba(90,84,230,.22) !important;
  transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease;
}
body.tg-dark .global-quick-add{box-shadow:0 8px 24px rgba(0,0,0,.34) !important;}
.global-quick-add:active{
  transform:scale(.96);
  box-shadow:0 5px 14px rgba(90,84,230,.18) !important;
}
.quick-add-main-option,
.quick-add-growth-option{
  border-color:var(--line) !important;
  background:var(--card) !important;
  box-shadow:none !important;
}
.quick-add-main-option:active,
.quick-add-growth-option:active{
  background:var(--primary-soft) !important;
}

/* Sheets and modal surfaces */
.action-sheet,
.plan-sheet,
.habit-settings-sheet,
.notes-sheet,
.jalali-picker-sheet{
  background:var(--card) !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  border-bottom:0 !important;
  border-radius:var(--radius-sheet) var(--radius-sheet) 0 0 !important;
  box-shadow:var(--shadow-sheet) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.action-sheet-backdrop,
.notes-sheet-backdrop,
.jalali-picker-backdrop{
  background:rgba(14,17,23,.38) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.action-sheet-handle,
.notes-sheet-handle,
.plan-sheet-handle,
.jalali-picker-handle{
  background:var(--muted-2) !important;
  opacity:.45;
}
.action-sheet-row,
.notes-sheet-row{
  min-height:50px;
  border-color:var(--line) !important;
}
.action-sheet-row:active,
.notes-sheet-row:active{
  background:var(--surface-soft) !important;
}
.action-sheet-cancel,
.notes-sheet-cancel{
  background:var(--surface-soft) !important;
  color:var(--muted) !important;
}

/* Bottom navigation */
.tabbar{
  z-index:90;
  background:var(--card) !important;
  border-top:1px solid var(--line) !important;
  box-shadow:0 -4px 18px rgba(20,24,34,.035) !important;
  padding:6px 8px calc(6px + env(safe-area-inset-bottom)) !important;
  gap:2px;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
body.tg-dark .tabbar{box-shadow:0 -5px 20px rgba(0,0,0,.20) !important;}
.tab{
  min-height:52px;
  gap:3px;
  padding:4px 2px !important;
  border-radius:12px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:700;
  transition:color var(--motion-fast) ease,background var(--motion-fast) ease;
}
.tab-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) ease;
}
.tab-icon svg{width:20px;height:20px;}
.tab.active{color:var(--primary);font-weight:850;}
.tab.active .tab-icon{
  background:var(--primary-soft);
  animation:none !important;
}

/* Feedback states */
.toast{
  z-index:1200;
  bottom:calc(86px + env(safe-area-inset-bottom));
  background:var(--toast-bg) !important;
  color:var(--toast-text) !important;
  border-radius:12px;
  padding:10px 14px;
  box-shadow:var(--shadow-elevated);
  font-size:12px;
  font-weight:700;
  transition:opacity var(--motion-normal) ease,transform var(--motion-normal) ease;
}
.empty,
.notes-empty,
.growth-empty,
.settings-empty,
.reminder-empty,
.report-soft-empty,
.plan-focus-empty{
  color:var(--muted) !important;
  line-height:1.8;
}
.plan-load-state.error,
.reminder-error,
#view-report .report-error{
  border-color:var(--danger-soft) !important;
}

/* Settings */
.settings-primary-panel{
  border-color:var(--line) !important;
  background:var(--card) !important;
}
.settings-row,
.settings-block,
.settings-disclosure[open]>.settings-disclosure-summary,
.settings-backup-row,
.settings-connection-row{
  border-color:var(--line) !important;
}
.settings-choice-row{
  background:var(--surface-soft) !important;
}
.settings-choice-row button.active{
  background:var(--card) !important;
  color:var(--primary) !important;
  box-shadow:0 1px 4px rgba(20,24,34,.06) !important;
}
.settings-switch-row i{background:var(--border-strong) !important;}
.settings-switch-row input:checked+i{background:var(--primary) !important;}
.settings-disclosure-body{background:var(--surface-soft) !important;}

/* Notes */
#view-notes .notes-search,
#view-notes .notes-home-write,
#view-notes .notes-home-recent,
#view-notes .notes-folder-card,
#view-notes .notes-list{
  background:var(--card) !important;
  border-color:var(--line) !important;
  box-shadow:none !important;
}
#view-notes .notes-new-note-btn{
  background:var(--primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.note-editor-paper{
  background:var(--card) !important;
  color:var(--text) !important;
}

/* Growth */
.growth-quick-capture button,
.growth-focus-card,
.growth-hub-section,
.growth-tool{
  border-color:var(--line) !important;
  box-shadow:none !important;
}
.growth-quick-capture button,
.growth-hub-section,
.growth-tool{background:var(--card) !important;}
.growth-hub-icon{background:var(--primary-soft) !important;color:var(--primary) !important;}

/* Reports */
#view-report .report-stat-card,
#view-report .report-insight,
#view-report .report-summary-loading{
  border-color:var(--line) !important;
  box-shadow:none !important;
}
#view-report .report-stat-card,
#view-report .report-summary-loading{background:var(--card) !important;}
#view-report .report-insight{background:var(--surface-soft) !important;}
#view-report .report-review{
  background:var(--primary-soft) !important;
  border-color:var(--line) !important;
}
#view-report .report-progress-track,
#view-report .report-heatmap-cell,
#view-report .report-heatmap-legend i{background:var(--surface-2);}

/* Onboarding */
.onboarding-root{background:var(--bg) !important;}
.onboarding-shell{color:var(--text);}
.onboarding-choice{
  background:var(--card) !important;
  border-color:var(--line) !important;
  box-shadow:none !important;
}
.onboarding-choice:active{background:var(--primary-soft) !important;}
.onboarding-secondary{color:var(--muted) !important;}

/* Privacy */
.privacy-curtain{background:var(--bg) !important;color:var(--text) !important;}

@media(max-width:360px){
  #app{padding-inline:12px;}
  .card,#view-today .card{padding:14px;}
  .tab{font-size:10px;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
/* END NOZAR DESIGN SYSTEM V1 */

/* Keep Notes on the same product tokens even though legacy sections define local aliases. */
.notes-view{
  --notes-accent:var(--primary) !important;
  --notes-accent-soft:var(--primary-soft) !important;
  --notes-card:var(--card) !important;
  --notes-border:var(--line) !important;
  --notes-surface:var(--bg) !important;
}

/* =========================================================
   NOZAR ACCESSIBILITY + WEBVIEW V1
   Safe areas, keyboard-aware viewport, larger touch targets and clear focus.
   ========================================================= */
html{
  min-height:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:calc(12px + env(safe-area-inset-top));
  scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom));
}
body{
  min-height:100dvh;
  min-height:var(--nozar-vh,100dvh);
}
#app{
  min-height:var(--nozar-vh,100dvh);
  padding-top:max(12px, env(safe-area-inset-top));
  padding-right:max(14px, env(safe-area-inset-right));
  padding-bottom:calc(94px + env(safe-area-inset-bottom));
  padding-left:max(14px, env(safe-area-inset-left));
}

/* Focus must remain visible for keyboard/switch users without adding noise to taps. */
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--primary) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 4px var(--primary-soft) !important;
}

button,
[role="button"],
summary,
.tab{
  touch-action:manipulation;
}
input,
textarea,
select,
[contenteditable="true"]{
  scroll-margin-top:18px;
  scroll-margin-bottom:120px;
}

/* Physical safe areas matter in landscape WebViews as well as at the bottom. */
.tabbar{
  padding-left:max(8px, env(safe-area-inset-left)) !important;
  padding-right:max(8px, env(safe-area-inset-right)) !important;
  transition:transform var(--motion-normal) ease, opacity var(--motion-fast) ease;
}
.global-quick-add{
  left:max(18px, calc(env(safe-area-inset-left) + 10px));
}
.action-sheet,
.plan-sheet,
.habit-settings-sheet,
.notes-sheet,
.jalali-picker-sheet{
  max-height:calc(var(--nozar-vh,100dvh) - max(18px, env(safe-area-inset-top)));
  padding-left:max(14px, env(safe-area-inset-left)) !important;
  padding-right:max(14px, env(safe-area-inset-right)) !important;
}
.note-editor-screen{
  height:var(--nozar-vh,100dvh) !important;
  padding-top:max(10px, env(safe-area-inset-top));
  padding-right:max(18px, env(safe-area-inset-right));
  padding-bottom:max(18px, env(safe-area-inset-bottom));
  padding-left:max(18px, env(safe-area-inset-left));
}

/* When the software keyboard is open, fixed controls should not cover fields. */
body.keyboard-open #app{
  padding-bottom:20px;
}
body.keyboard-open .tabbar{
  opacity:0;
  pointer-events:none;
  transform:translateY(115%);
}
body.keyboard-open .global-quick-add{
  opacity:0;
  pointer-events:none;
  transform:translateY(120px) !important;
}
body.keyboard-open .toast{
  bottom:16px;
}

/* Coarse-pointer devices need reliable 44px targets and 16px inputs to avoid
   accidental taps and iOS/WebView focus zoom. */
@media (pointer:coarse){
  button,
  [role="button"],
  summary{
    min-width:44px;
    min-height:44px;
  }
  input:not(.note-editor-title),
  textarea,
  select{
    font-size:16px !important;
  }
  .note-editor-title{font-size:24px !important;}
  .note-editor-body{font-size:16px !important;}
  body.font-large input:not(.note-editor-title),
  body.font-large textarea,
  body.font-large select{font-size:17px !important;}
  .check,
  .habit-dot,
  .item-more-btn,
  .habit-more-btn,
  .notes-more-btn,
  .subview-back-btn,
  .plan-sheet-close{
    min-width:44px !important;
    min-height:44px !important;
  }
}

/* Long Persian labels should wrap instead of being clipped by a fixed row. */
.settings-row strong,
.settings-row small,
.reminder-row-copy strong,
.reminder-row-copy small,
.plan-subhead strong,
.quick-add-main-option strong,
.quick-add-main-option small{
  overflow-wrap:anywhere;
  white-space:normal;
}

/* High-contrast OS mode should preserve boundaries even if custom colors are overridden. */
@media (forced-colors:active){
  button,
  input,
  textarea,
  select,
  .card,
  .action-sheet,
  .plan-sheet,
  .habit-settings-sheet,
  .notes-sheet{
    border:1px solid CanvasText !important;
  }
  .tab.active{outline:2px solid Highlight;outline-offset:-2px;}
}

@media (max-width:360px){
  #app{
    padding-right:max(12px, env(safe-area-inset-right));
    padding-left:max(12px, env(safe-area-inset-left));
  }
}
/* END NOZAR ACCESSIBILITY + WEBVIEW V1 */


/* NOZAR_TODAY_VISUAL_QA_V1_20260921 */
/* Keep the date as quiet context; the page content should own the hierarchy. */
.brand-context .greeting-sub{
  font-size:11px !important;
  line-height:1.45;
  font-weight:600 !important;
  color:var(--muted) !important;
  white-space:nowrap;
}
#view-today .habit-manage-btn{
  font-size:11px;
  font-weight:700;
  padding-inline:10px;
}
@media(max-width:370px){
  .brand-context .greeting-sub{font-size:10.5px !important;}
  #view-today .habit-manage-btn{font-size:10.5px;padding-inline:8px;}
}
/* END NOZAR_TODAY_VISUAL_QA_V1_20260921 */

/* NOZAR_PLAN_QA_V2_20260921
   Plan Home: the first viewport shows the whole planning horizon; details stay one level deeper. */
#view-plan .plan-shell{gap:10px}
#view-plan .plan-home-head{padding:0 2px 2px}
#view-plan .plan-home-head h2{margin:2px 0 0;font-size:18px;line-height:1.55;letter-spacing:0}
#view-plan .plan-hub-list{display:flex;flex-direction:column;gap:8px}
#view-plan .plan-hub-section,
#view-plan .plan-hub-entry{
  width:100%;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:18px;
  overflow:hidden;
  box-shadow:none;
  color:var(--text);
}
#view-plan .plan-hub-section>summary,
#view-plan .plan-hub-entry{
  list-style:none;
  min-height:70px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto 20px;
  align-items:center;
  gap:9px;
  text-align:right;
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#view-plan .plan-hub-section>summary::-webkit-details-marker{display:none}
#view-plan .plan-hub-icon{
  width:40px;height:40px;border-radius:13px;
  background:var(--primary-soft);color:var(--primary);
  display:grid;place-items:center;font-size:18px;font-weight:900;
}
#view-plan .plan-hub-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#view-plan .plan-hub-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
#view-plan .plan-hub-copy strong{font-size:14px;line-height:1.55;color:var(--text)}
#view-plan .plan-hub-copy small{font-size:10.5px;line-height:1.65;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#view-plan .plan-hub-meta{font-size:9.7px;font-weight:850;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:5px 7px;white-space:nowrap}
#view-plan .plan-hub-chevron{font-size:18px;color:var(--muted);transition:transform .18s ease;transform:rotate(0deg);text-align:center}
#view-plan .plan-hub-section[open]>summary{border-bottom:1px solid var(--line)}
#view-plan .plan-hub-section[open]>summary .plan-hub-chevron{transform:rotate(180deg)}
#view-plan .plan-hub-chevron-static{transform:none!important;font-size:20px}
#view-plan .plan-hub-body{padding:9px;background:var(--bg)}
#view-plan .plan-hub-flat{
  margin:0!important;
  padding:11px!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:var(--card)!important;
}
#view-plan .plan-hub-flat .plan-panel-head{margin-bottom:10px}
#view-plan .plan-hub-entry{border:1px solid var(--line);appearance:none;-webkit-appearance:none}
#view-plan .plan-load-state{margin-bottom:0}
@media(max-width:370px){
  #view-plan .plan-home-head h2{font-size:17px}
  #view-plan .plan-hub-section>summary,
  #view-plan .plan-hub-entry{grid-template-columns:38px minmax(0,1fr) 18px;min-height:66px;padding:10px 11px}
  #view-plan .plan-hub-icon{width:38px;height:38px}
  #view-plan .plan-hub-meta{grid-column:2;justify-self:start;padding:3px 6px;margin-top:1px}
  #view-plan .plan-hub-chevron{grid-column:3;grid-row:1/3}
}
@media(prefers-reduced-motion:reduce){#view-plan .plan-hub-chevron{transition:none!important}}
/* END NOZAR_PLAN_QA_V2_20260921 */


/* NOZAR_PLAN_QA_V3_20260921
   Explain the planning horizon without changing its underlying IA. */
#view-plan .plan-home-head h2{max-width:520px;font-size:17px;line-height:1.75}
#view-plan .plan-home-explain{margin:3px 0 0;font-size:11.5px;line-height:1.8;color:var(--muted)}
#view-plan .plan-flow-guide{
  margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  color:var(--muted);font-size:10.5px;font-weight:700;
}
#view-plan .plan-flow-guide span{
  padding:3px 7px;border-radius:999px;background:var(--surface-soft,var(--bg));border:1px solid var(--line);
}
#view-plan .plan-flow-guide span:last-child{color:var(--primary);background:var(--primary-soft)}
#view-plan .plan-flow-guide b{font-size:11px;font-weight:500;color:var(--muted)}
#view-plan .plan-support-label{margin:4px 4px -2px;font-size:10px;color:var(--muted);font-weight:700}
#view-plan .plan-hub-support{background:transparent;border-style:dashed}
@media(max-width:370px){
  #view-plan .plan-home-head h2{font-size:16px}
  #view-plan .plan-home-explain{font-size:11px}
  #view-plan .plan-flow-guide{gap:4px;font-size:10px}
  #view-plan .plan-flow-guide span{padding:3px 6px}
}
/* END NOZAR_PLAN_QA_V3_20260921 */

/* NOZAR_MAIN_HEADER_CONSISTENCY_V1_20260921
   Keep the primary tabs visually related: compact titles, quiet subtitles, no oversized hero typography. */
:root{
  --main-view-title-size:20px;
  --main-view-title-line:1.55;
  --main-view-subtitle-size:12px;
  --main-view-kicker-size:11px;
}

#view-plan .plan-home-head,
#view-growth .growth-home-head,
#view-notes .notes-large-head,
#view-report .report-page-head{
  margin-top:0;
  margin-bottom:6px;
  padding-top:0;
  padding-bottom:0;
}

#view-plan .plan-home-head h2,
#view-growth .growth-home-head h2,
#view-notes .notes-large-head h2,
#view-report .report-title-wrap h2{
  margin-top:3px;
  margin-bottom:0;
  font-size:var(--main-view-title-size) !important;
  line-height:var(--main-view-title-line) !important;
  font-weight:800 !important;
  letter-spacing:-.1px !important;
  color:var(--text);
}

#view-plan .plan-kicker,
#view-growth .growth-me-kicker{
  font-size:var(--main-view-kicker-size) !important;
  line-height:1.5;
  font-weight:800;
}

#view-plan .plan-home-explain,
#view-growth .growth-home-head p,
#view-notes .notes-large-head p,
#view-report .report-page-subtitle{
  margin-top:4px;
  margin-bottom:0;
  max-width:none;
  color:var(--muted);
  font-size:var(--main-view-subtitle-size) !important;
  line-height:1.65 !important;
  font-weight:500;
  letter-spacing:0;
  white-space:normal;
}

/* The planning guide is useful context, but should not visually become another headline. */
#view-plan .plan-flow-guide{
  margin-top:7px;
}

/* Reports use the same title scale while keeping the period switch accessible beside it. */
#view-report .report-title-wrap{
  align-items:center;
}
#view-report .report-title-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
}

@media(max-width:370px){
  :root{
    --main-view-title-size:19px;
    --main-view-subtitle-size:11.5px;
  }
  #view-plan .plan-home-head,
  #view-growth .growth-home-head,
  #view-notes .notes-large-head,
  #view-report .report-page-head{
    margin-bottom:5px;
  }
  #view-report .report-title-icon{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
}
/* END NOZAR_MAIN_HEADER_CONSISTENCY_V1_20260921 */


/* NOZAR_MAIN_HEADER_CONSISTENCY_V2_20260921
   Final compact header pattern for primary non-Today tabs. */
:root{
  --main-view-title-size:19px;
  --main-view-title-line:1.45;
  --main-view-subtitle-size:12px;
}

#view-plan .plan-home-head h2,
#view-growth .growth-home-head h2,
#view-notes .notes-large-head h2,
#view-report .report-title-wrap h2{
  font-size:var(--main-view-title-size) !important;
  line-height:var(--main-view-title-line) !important;
  font-weight:800 !important;
  margin:0 !important;
  letter-spacing:0 !important;
}

#view-plan .plan-home-explain,
#view-growth .growth-home-head p,
#view-notes .notes-large-head p,
#view-report .report-page-subtitle{
  margin:4px 0 0 !important;
  font-size:var(--main-view-subtitle-size) !important;
  line-height:1.65 !important;
  font-weight:500 !important;
  color:var(--muted) !important;
}

#view-plan .plan-home-head,
#view-growth .growth-home-head,
#view-notes .notes-large-head,
#view-report .report-page-head{
  margin-bottom:12px !important;
}

#view-report .report-title-wrap{
  gap:0 !important;
}
#view-report .report-title-icon{
  display:none !important;
}

#view-plan .plan-flow-guide{
  margin-top:8px;
}

@media(max-width:370px){
  :root{
    --main-view-title-size:18px;
    --main-view-subtitle-size:11.5px;
  }
}
/* END NOZAR_MAIN_HEADER_CONSISTENCY_V2_20260921 */


/* NOZAR_PLAN_CLARITY_V4 — make the planning flow understandable without explanation */
#view-plan .plan-home-head{margin-bottom:2px}
#view-plan .plan-home-explain{max-width:520px;margin-top:2px}
#view-plan .plan-flow-guide{display:none!important}
#view-plan .plan-path-label{
  margin:8px 4px 4px;
  font-size:10.5px;
  line-height:1.6;
  font-weight:800;
  color:var(--muted);
}
#view-plan .plan-path{gap:7px}
#view-plan .plan-path-step{position:relative}
#view-plan .plan-path-step>summary,
#view-plan .plan-today-entry{
  min-height:72px;
  grid-template-columns:40px minmax(0,1fr) auto 20px;
  padding:10px 12px;
}
#view-plan .plan-step-index{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:12px;
  line-height:1;
  font-weight:900;
  border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line));
}
#view-plan .plan-path-step:not(.plan-today-entry)>summary .plan-hub-copy strong,
#view-plan .plan-today-entry .plan-hub-copy strong{font-size:14px}
#view-plan .plan-path-step .plan-hub-copy small{font-size:10.8px;line-height:1.7}
#view-plan .plan-path-step .plan-hub-meta{background:transparent;padding:0;color:var(--muted);font-size:9.8px;font-weight:800}
#view-plan .plan-today-entry{
  border-color:color-mix(in srgb,var(--primary) 18%,var(--line));
  background:color-mix(in srgb,var(--primary-soft) 32%,var(--surface));
}
#view-plan .plan-today-entry .plan-step-index{background:var(--primary);color:#fff;border-color:var(--primary)}
#view-plan .plan-today-entry .plan-hub-copy strong{color:var(--primary)}
#view-plan .plan-today-meta{color:var(--primary)!important;font-weight:900!important}
#view-plan .plan-support-label{margin-top:10px}
#view-plan .plan-hub-support{opacity:.88}
@media(max-width:360px){
  #view-plan .plan-path-step>summary,
  #view-plan .plan-today-entry{grid-template-columns:36px minmax(0,1fr) 18px;min-height:68px;padding:9px 10px}
  #view-plan .plan-step-index{width:34px;height:34px}
  #view-plan .plan-path-step .plan-hub-meta{grid-column:2;justify-self:start;margin-top:1px}
  #view-plan .plan-path-step .plan-hub-chevron{grid-column:3;grid-row:1/3}
}



/* NOZAR_REPORT_VISUAL_ANALYTICS_V2_20260921
   Lightweight, dependency-free analytics: line, bars, donut, heatmap. */
#view-report .report-trend-panel,
#view-report .report-habit-bars-panel,
#view-report .report-activity-mix-panel,
#view-report .report-heatmap-panel{
  overflow:hidden;
}
#view-report .report-line-summary{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:8px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:650;
}
#view-report .report-line-summary span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
#view-report .report-line-summary i{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
}
#view-report .report-line-summary i.task{background:var(--primary);}
#view-report .report-line-summary i.habit{background:var(--success);}
#view-report .report-line-summary strong{color:var(--text);font-size:11px;}
#view-report .report-line-chart{
  width:100%;
  min-height:166px;
  direction:ltr;
}
#view-report .report-line-chart svg{
  display:block;
  width:100%;
  height:166px;
  overflow:visible;
}
#view-report .report-line-grid{
  stroke:var(--line);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
#view-report .report-line-y,
#view-report .report-line-x{
  fill:var(--muted-2);
  font-family:inherit;
  font-size:8px;
}
#view-report .report-line-path{
  fill:none;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
#view-report .report-line-path.task{stroke:var(--primary);}
#view-report .report-line-path.habit{stroke:var(--success);}
#view-report .report-line-dot{
  stroke:var(--card);
  stroke-width:1.5;
  vector-effect:non-scaling-stroke;
}
#view-report .report-line-dot.task{fill:var(--primary);}
#view-report .report-line-dot.habit{fill:var(--success);}

#view-report .report-habit-bars{
  display:grid;
  gap:12px;
}
#view-report .report-habit-bar-row{
  display:grid;
  gap:5px;
}
#view-report .report-habit-bar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#view-report .report-habit-bar-head span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:11.5px;
  font-weight:700;
}
#view-report .report-habit-bar-head strong{
  flex:0 0 auto;
  color:var(--text);
  font-size:11px;
}
#view-report .report-habit-bar-track{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:var(--surface-2);
}
#view-report .report-habit-bar-track i{
  display:block;
  height:100%;
  min-width:2px;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 68%,var(--success)));
}
#view-report .report-habit-bar-row small{
  color:var(--muted-2);
  font-size:9.5px;
}
#view-report .report-chart-note{
  padding-top:3px;
  color:var(--muted);
  font-size:10px;
  line-height:1.7;
}

#view-report .report-donut-layout{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  gap:16px;
}
#view-report .report-donut{
  width:112px;
  height:112px;
  position:relative;
  direction:ltr;
}
#view-report .report-donut svg{
  width:100%;
  height:100%;
  display:block;
  transform:rotate(-90deg);
}
#view-report .report-donut-base,
#view-report .report-donut-segment{
  fill:none;
  stroke-width:13;
}
#view-report .report-donut-base{stroke:var(--surface-2);}
#view-report .report-donut-segment{stroke-linecap:butt;}
#view-report .report-donut-segment.tasks{stroke:var(--primary);}
#view-report .report-donut-segment.habits{stroke:var(--success);}
#view-report .report-donut-segment.growth{stroke:var(--warning);}
#view-report .report-donut-segment.promise{stroke:var(--info,#3b82f6);}
#view-report .report-donut-center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
#view-report .report-donut-center strong{
  color:var(--text);
  font-size:20px;
  line-height:1.2;
}
#view-report .report-donut-center span{
  margin-top:2px;
  color:var(--muted);
  font-size:9.5px;
}
#view-report .report-donut-legend{
  display:grid;
  gap:8px;
}
#view-report .report-donut-legend-row{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:10.5px;
}
#view-report .report-donut-legend-row>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
}
#view-report .report-donut-legend-row i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
}
#view-report .report-donut-legend-row i.tasks{background:var(--primary);}
#view-report .report-donut-legend-row i.habits{background:var(--success);}
#view-report .report-donut-legend-row i.growth{background:var(--warning);}
#view-report .report-donut-legend-row i.promise{background:var(--info,#3b82f6);}
#view-report .report-donut-legend-row strong{
  flex:0 0 auto;
  color:var(--text);
  font-size:10.5px;
}
#view-report .report-donut-legend-row strong small{
  color:var(--muted-2);
  font-size:9px;
  font-weight:600;
}

#view-report .report-habit-heatmap{
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}
#view-report .report-habit-heatmap::-webkit-scrollbar{display:none;}
#view-report .report-heatmap-grid{
  min-width:max-content;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:14px;
  gap:4px;
  justify-content:start;
}
#view-report .report-heatmap-cell{
  width:14px;
  height:14px;
  border-radius:4px;
  border:1px solid var(--line);
}
#view-report .report-heatmap-legend{
  margin-top:8px;
  justify-content:flex-start;
}
#view-report .report-habit-bars-panel.hidden,
#view-report .report-activity-mix-panel.hidden{display:none!important;}

@media(max-width:350px){
  #view-report .report-donut-layout{grid-template-columns:96px minmax(0,1fr);gap:12px;}
  #view-report .report-donut{width:96px;height:96px;}
  #view-report .report-donut-center strong{font-size:18px;}
  #view-report .report-line-summary{gap:10px;}
}
@media(prefers-reduced-motion:reduce){
  #view-report .report-habit-bar-track i{transition:none!important;}
}
/* END NOZAR_REPORT_VISUAL_ANALYTICS_V2_20260921 */

/* NOZAR_TODAY_HABIT_RING_ALIGNMENT_V1_20260921 */
/* Fixes two issues on Today habits:
   1) the habit ring/check was vertically centered against a 2-line text block,
      so the control and the first text line looked misaligned;
   2) coarse-pointer global min-size rules could inflate .habit-dot buttons to
      44px and visually break measurable habit rings, especially in partial/min.
*/
#view-today .habit-row{
  align-items:flex-start;
  min-height:auto;
}
#view-today .habit-content{
  justify-content:flex-start;
  padding-top:1px;
}
#view-today .habit-dot,
#view-today .habit-dot-ring{
  position:relative;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  flex:0 0 24px !important;
  align-self:flex-start;
  margin-top:2px;
}
#view-today .habit-ring-svg{
  display:block;
  position:absolute;
  inset:1px;
  width:22px;
  height:22px;
}
#view-today .habit-dot-check{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:11px;
  line-height:1;
}
#view-today .habit-meta{
  flex-wrap:wrap;
  align-items:center;
}
#view-today .habit-meta .streak,
#view-today .habit-meta .habit-today-value,
#view-today .habit-numeric-progress{
  line-height:1.2;
}
@media (pointer:coarse){
  #view-today .habit-dot,
  #view-today .habit-dot-ring{
    min-width:24px !important;
    min-height:24px !important;
  }
}
/* END NOZAR_TODAY_HABIT_RING_ALIGNMENT_V1_20260921 */

/* NOZAR_TODAY_TASK_RING_UNIFY_V1 */
#view-today .task-item .check{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  flex:0 0 24px !important;
  padding:0 !important;
  line-height:1 !important;
  box-sizing:border-box;
}


/* NOZAR_DAILY_FOCUS_SINGLE_BUTTON_V1 */
.daily-ritual-strip{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0;
  background:transparent;
  border:0;
}
.daily-focus-main-btn{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:16px;
  background:var(--accent);
  color:#fff;
  font:inherit;
  font-size:15px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-direction:column;
  padding:10px 16px;
}
.daily-focus-main-btn small{
  font-size:11px;
  font-weight:650;
  opacity:.9;
}
.daily-focus-night-btn{
  display:none;
}

/* NOZAR_HEADER_DAILY_PROGRESS_LINE_V1 */
/* NOZAR_TODAY_HEADERFIX_V8: flex `gap` dropped in favor of explicit
   margins on the two inner items - always renders the same, unlike
   `gap` on older in-app WebViews. Arrows sit 2px from the text on
   both sides (symmetric); date<->percent keeps its own 6px. */
.greeting-text-row{
  display:flex;
  align-items:center;
  gap:0;
}
.greeting-text-row #greetingText{
  margin-inline-start:2px;
  margin-inline-end:6px;
}
.greeting-text-row #ringLabel{
  margin-inline-end:2px;
}
.daily-progress-percent{
  font-size:11.5px;
  font-weight:750;
  color:var(--primary);
}
.daily-progress-percent.complete{
  color:var(--success);
}
/* NOZAR_TODAY_HEADERFIX_V8: #dateText is always left empty by
   renderDate() (app.js) - the date string lives in #greetingText
   instead - but the empty div was still taking up its own
   margin-top:2px, which was the real extra gap above this line. */
#dateText{display:none}
.daily-progress-track{
  position:relative;
  width:92px;
  height:8px;
  border-radius:999px;
  background:var(--border);
  overflow:hidden;
  margin-top:2px;
  align-self:center;
}
.daily-progress-fill{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 55%, #ffffff));
  transition:width .45s ease;
}
.daily-progress-fill.complete{
  background:var(--success);
}
@media(max-width:360px){
  .daily-progress-track{ width:74px; height:7px; }
}
/* END NOZAR_HEADER_DAILY_PROGRESS_LINE_V1 */


/* NOZAR_QUICK_ADD_RESTORE_FINAL_V1 */

/* ===== Quick Add: clean 2x2 grid ===== */
.quick-add-menu.quick-add-menu-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  direction:rtl !important;
  align-items:stretch !important;
}

.quick-add-grid{
  display:contents !important;
}

.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  width:100% !important;
  min-width:0 !important;
  min-height:74px !important;
  height:74px !important;
  grid-column:auto !important;
  display:flex !important;
  flex-direction:row-reverse !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:0 14px !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  background:var(--card) !important;
  box-shadow:none !important;
}

.quick-add-tile-copy{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.quick-add-tile-copy strong{
  margin:0 !important;
  font-size:15.5px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  color:var(--text) !important;
  white-space:nowrap !important;
}

.quick-add-tile-copy small{
  display:none !important;
}

.quick-add-tile-icon{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:14px !important;
  background:var(--primary-soft) !important;
  color:var(--primary) !important;
  overflow:hidden !important;
}

.quick-add-tile-icon svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.quick-add-tile-icon svg *{
  stroke:currentColor !important;
  fill:none !important;
}

.quick-add-tile-icon img{
  width:21px !important;
  height:21px !important;
  object-fit:contain !important;
  filter:none !important;
}

/* ===== restore habit settings icon ===== */
#view-today #habitManageBtn,
#view-today .habit-manage-btn{
  color:var(--primary) !important;
}

#view-today #habitManageBtn svg,
#view-today .habit-manage-btn svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
}

#view-today #habitManageBtn svg *,
#view-today .habit-manage-btn svg *,
#view-plan .plan-hub-icon svg *,
#view-plan .topbar-settings-btn svg *{
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* خود ظرف آیکون‌ها هم تمیز و هم‌استایل بماند */
#view-plan .plan-hub-icon,
#view-today .habit-manage-btn,
#view-today #habitManageBtn{
  background:var(--card) !important;
  color:var(--primary) !important;
}

/* اگر استایل خراب قبلی note را فول‌عرض کرده بود، خنثی شود */
.quick-add-tile-full{
  grid-column:auto !important;
}


/* NOZAR_QUICK_ADD_COMPACT_SPACING_V1 */

/* خود گرید کمی جمع‌وجورتر */
.quick-add-menu.quick-add-menu-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

/* کارت‌ها کوچکتر و مینیمال‌تر */
.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  min-height:66px !important;
  height:66px !important;
  padding:0 10px !important;
  border-radius:16px !important;

  display:flex !important;
  flex-direction:row !important;
  direction:rtl !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
}

/* آیکون و متن نزدیک‌تر به هم */
.quick-add-tile-icon{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
  border-radius:12px !important;
}

.quick-add-tile-icon svg{
  width:19px !important;
  height:19px !important;
}

.quick-add-tile-copy{
  min-width:0 !important;
  flex:0 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.quick-add-tile-copy strong{
  font-size:13.8px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  margin:0 !important;
  white-space:nowrap !important;
}

/* ساب‌تکست خاموش بماند */
.quick-add-tile-copy small{
  display:none !important;
}

/* NOZAR_QUICK_ADD_MICRO_FINAL */

.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  height:58px !important;
  min-height:58px !important;
  padding:0 8px !important;
  gap:7px !important;
  border-radius:14px !important;
}

.quick-add-tile-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:11px !important;
}

.quick-add-tile-icon svg{
  width:17px !important;
  height:17px !important;
}

.quick-add-tile-copy strong{
  font-size:13px !important;
}


/* NOZAR_QUICK_ADD_MICRO_FINAL */

.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  height:58px !important;
  min-height:58px !important;
  padding:0 8px !important;
  gap:7px !important;
  border-radius:14px !important;
}

.quick-add-tile-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:11px !important;
}

.quick-add-tile-icon svg{
  width:17px !important;
  height:17px !important;
}

.quick-add-tile-copy strong{
  font-size:13px !important;
}


/* NOZAR_QUICK_ADD_MICRO_FINAL */

.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  height:58px !important;
  min-height:58px !important;
  padding:0 8px !important;
  gap:7px !important;
  border-radius:14px !important;
}

.quick-add-tile-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:11px !important;
}

.quick-add-tile-icon svg{
  width:17px !important;
  height:17px !important;
}

.quick-add-tile-copy strong{
  font-size:13px !important;
}


/* NOZAR_QUICK_ADD_MICRO_FINAL */

.quick-add-tile,
.quick-add-tile.quick-add-tile-full{
  height:58px !important;
  min-height:58px !important;
  padding:0 8px !important;
  gap:7px !important;
  border-radius:14px !important;
}

.quick-add-tile-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:11px !important;
}

.quick-add-tile-icon svg{
  width:17px !important;
  height:17px !important;
}

.quick-add-tile-copy strong{
  font-size:13px !important;
}


/* NOZAR_PROGRAM_STEPS_CLEAN_FINAL */

/* حذف خط اتصال بین شماره مراحل */
.program-step::before,
.program-step::after,
.plan-step::before,
.plan-step::after,
.step-item::before,
.step-item::after{
    display:none !important;
}

/* مخفی کردن متن‌های وضعیت سمت چپ */
.program-step .step-meta,
.program-step .step-status,
.program-step .step-side,
.plan-step .step-meta,
.plan-step .step-status,
.plan-step .step-side{
    display:none !important;
}

/* مرحله‌ها فقط کارت تمیز */
.program-step,
.plan-step{
    grid-template-columns:56px 1fr !important;
    align-items:center !important;
}

/* شماره دایره‌ای */
.program-step-number,
.plan-step-number{
    z-index:2 !important;
}


/* NOZAR_PLAN_HABIT_ICON_FINAL_FIX */


/* ===== برنامه: حذف وضعیت‌های اضافه سمت چپ ===== */

#view-plan .plan-hub-meta{
    display:none !important;
}


/* کارت مراحل مرتب‌تر */
#view-plan .plan-hub-section>summary,
#view-plan .plan-hub-entry{
    grid-template-columns:40px minmax(0,1fr) 20px !important;
    gap:10px !important;
}


/* حذف هر خط اتصال احتمالی */
#view-plan .plan-hub-list::before,
#view-plan .plan-hub-section::before,
#view-plan .plan-hub-section::after{
    display:none !important;
}


/* ===== آیکون عادت‌ها مثل تنظیمات بالا ===== */

#view-today .habit-manager-btn,
#view-today .habit-settings-btn,
.habit-settings-btn,
.habit-manager-btn{
    width:40px !important;
    height:40px !important;
    border-radius:13px !important;
    background:var(--primary-soft) !important;
    color:var(--primary) !important;
    border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line)) !important;
    display:grid !important;
    place-items:center !important;
}


/* خود آیکون */
.habit-settings-btn svg,
.habit-manager-btn svg{
    width:18px !important;
    height:18px !important;
    stroke:var(--primary) !important;
}


/* اگر دکمه فعلی از کلاس عمومی استفاده می‌کند */
.habit-row .item-more-btn{
    background:transparent !important;
}


/* فاصله عنوان عادت */
#view-today .habit-content{
    gap:2px !important;
}



/* NOZAR_PLAN_ROADMAP_HABIT_GEAR_FINAL_V1 */


/* =========================================================
   PLAN ROADMAP
   ========================================================= */

/* مسیر اصلی مرجع خط باشد */
#view-plan .plan-path{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
}

/* هر خط قدیمی و چندگانه خاموش */
#view-plan .plan-path-step::before,
#view-plan .plan-path-step::after,
#view-plan .plan-step-index::before,
#view-plan .plan-step-index::after{
  content:none !important;
  display:none !important;
}

/*
  فقط یک خط تمیز از مرکز مرحله ۱ تا مرکز مرحله ۴.
  خود دایره‌ها روی خط قرار می‌گیرند و قسمت داخل دایره را می‌پوشانند.
  بنابراین پایین شماره ۴ هیچ ادامه‌ای وجود ندارد.
*/
#view-plan .plan-path::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;

  right:32px !important;
  top:36px !important;
  bottom:36px !important;

  width:2px !important;
  background:color-mix(in srgb,var(--primary) 14%,var(--border)) !important;
  border-radius:999px !important;

  z-index:1 !important;
  pointer-events:none !important;
}

/* شماره‌ها دقیقاً روی خط */
#view-plan .plan-step-index{
  position:relative !important;
  z-index:2 !important;
  justify-self:center !important;
}

/* امروز همان دایره آبی */
#view-plan .plan-today-entry .plan-step-index{
  background:var(--primary) !important;
  color:#fff !important;
  border-color:var(--primary) !important;
}


/* =========================================================
   REMOVE LEFT STATUS TEXT
   اختیاری / تنظیم نشده / نتیجه... / رفتن به امروز
   ========================================================= */

#view-plan .plan-path-step .plan-hub-meta{
  display:none !important;
}

/* بعد از حذف meta ستون خالی هم حذف شود */
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  grid-template-columns:40px minmax(0,1fr) 20px !important;
}


/* =========================================================
   HABIT SETTINGS GEAR
   دقیقاً فرم دکمه تنظیمات بالای صفحه، ولی آبی
   ========================================================= */

#view-today #habitManageBtn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  flex:0 0 44px !important;

  padding:0 !important;

  border:1px solid var(--line) !important;
  border-radius:13px !important;

  background:var(--card) !important;
  color:var(--primary) !important;

  display:grid !important;
  place-items:center !important;

  box-shadow:none !important;
}

#view-today #habitManageBtn svg{
  width:20px !important;
  height:20px !important;

  display:block !important;
  fill:none !important;
  stroke:currentColor !important;

  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

#view-today #habitManageBtn svg *{
  fill:none !important;
  stroke:currentColor !important;
}


/* همان responsive خود هدر */
@media(max-width:360px){

  #view-plan .plan-path::before{
    right:28px !important;
    top:34px !important;
    bottom:34px !important;
  }

  #view-plan .plan-path-step > summary,
  #view-plan .plan-today-entry{
    grid-template-columns:36px minmax(0,1fr) 18px !important;
  }

  #view-today #habitManageBtn{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex-basis:40px !important;
  }

}



/* NOZAR_GLOBAL_PLUS_SOFT_CIRCLE_FINAL_V1 */

/*
  Floating Quick Add
  - کاملاً دایره‌ای
  - اندازه متعادل
  - بنفش ملایم‌تر از primary اصلی
*/
#globalQuickAdd.global-quick-add,
#globalQuickAdd{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;

  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  aspect-ratio:1 / 1 !important;

  background:color-mix(
    in srgb,
    var(--primary) 76%,
    #ffffff
  ) !important;

  color:#fff !important;

  display:grid !important;
  place-items:center !important;

  box-shadow:
    0 8px 20px rgba(79,70,229,.16) !important;

  overflow:hidden !important;
}

#globalQuickAdd > span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;

  color:#fff !important;
  font-size:30px !important;
  font-weight:450 !important;
  line-height:1 !important;

  transform:translateY(-1px) !important;
}

#globalQuickAdd:active{
  transform:scale(.95) !important;
  box-shadow:
    0 5px 14px rgba(79,70,229,.13) !important;
}

/* موبایل باریک */
@media(max-width:380px){
  #globalQuickAdd.global-quick-add,
  #globalQuickAdd{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
  }

  #globalQuickAdd > span{
    font-size:29px !important;
  }
}


/* NOZAR_GLOBAL_PLUS_EXACT_CENTER_V1 */

/* خود span دقیقاً وسط دایره */
#globalQuickAdd > span{
  position:relative !important;
  display:block !important;

  width:24px !important;
  height:24px !important;

  margin:0 !important;
  padding:0 !important;

  font-size:0 !important;
  line-height:0 !important;

  transform:none !important;
}

/* خط افقی + */
#globalQuickAdd > span::before{
  content:"" !important;

  position:absolute !important;
  left:50% !important;
  top:50% !important;

  width:22px !important;
  height:3px !important;

  background:#fff !important;
  border-radius:999px !important;

  transform:translate(-50%,-50%) !important;
}

/* خط عمودی + */
#globalQuickAdd > span::after{
  content:"" !important;

  position:absolute !important;
  left:50% !important;
  top:50% !important;

  width:3px !important;
  height:22px !important;

  background:#fff !important;
  border-radius:999px !important;

  transform:translate(-50%,-50%) !important;
}



/* NOZAR_TREASURE_ANIMATION_RESTORE_V1 */

/*
  Restore original Treasure Jar animations.
  JS already adds .treasure-note-drop to the newest note.
*/

/* برگه جدید از بالا داخل شیشه می‌افتد */
.treasure-note-drop{
  animation:treasureNoteDrop .5s cubic-bezier(.22,1.4,.4,1);
  transform-origin:center top;
}

@keyframes treasureNoteDrop{
  0%{
    opacity:0;
    transform:translateY(-38px) rotate(0deg) scale(.7);
  }

  60%{
    opacity:1;
  }

  100%{
    opacity:1;
  }
}


/* در کامل شدن یک اندوخته، شیشه درخشش کوتاه می‌گیرد */
.treasure-jar-glow{
  animation:treasureJarGlow 1.6s ease;
}

@keyframes treasureJarGlow{
  0%{
    filter:none;
  }

  30%{
    filter:drop-shadow(0 0 14px rgba(52,211,153,.85));
  }

  100%{
    filter:none;
  }
}


/* لمس خود شیشه */
#treasureJarWrap:active{
  transform:scale(.98);
}


/* NOZAR_TREASURE_INSTANT_SMOOTH_DROP_V3 */

/*
 * Smooth SVG animation.
 * No blur / filter / drop-shadow during movement:
 * those are expensive in Telegram/Bale WebViews.
 */

.treasure-note-drop{
  animation:
    treasurePaperFallV3
    900ms
    cubic-bezier(.18,.74,.25,1)
    both !important;

  transform-box:fill-box !important;
  transform-origin:center center !important;
  will-change:transform,opacity;
}


/* برگه کاملاً قابل دیدن از بالای شیشه وارد می‌شود */
@keyframes treasurePaperFallV3{

  0%{
    opacity:0;
    transform:
      translateY(-68px)
      translateX(5px)
      rotate(8deg)
      scale(.82);
  }

  14%{
    opacity:1;
  }

  36%{
    transform:
      translateY(-34px)
      translateX(-4px)
      rotate(-5deg)
      scale(.91);
  }

  62%{
    transform:
      translateY(-10px)
      translateX(2px)
      rotate(3deg)
      scale(.98);
  }

  78%{
    transform:
      translateY(4px)
      translateX(-1px)
      rotate(-1.5deg)
      scale(1.025);
  }

  90%{
    transform:
      translateY(-2px)
      rotate(.6deg)
      scale(.995);
  }

  100%{
    opacity:1;
    transform:none;
  }
}


/*
 * شیشه هنگام برخورد کاغذ فقط یک واکنش فیزیکی خیلی ظریف دارد.
 */
#treasureJarSvg.treasure-jar-receive{
  animation:
    treasureJarReceiveV3
    900ms
    cubic-bezier(.2,.7,.3,1)
    both !important;

  transform-origin:center 80% !important;
  will-change:transform;
}

@keyframes treasureJarReceiveV3{

  0%,
  58%{
    transform:scale(1);
  }

  72%{
    transform:scale(1.018);
  }

  84%{
    transform:scale(.994);
  }

  100%{
    transform:scale(1);
  }
}


/* خود برگه لحظه ورود کمی واضح‌تر شود */
.treasure-note-drop rect{
  animation:treasurePaperStrokeV3 900ms ease-out both !important;
}

@keyframes treasurePaperStrokeV3{

  0%{
    stroke-width:2.4;
  }

  55%{
    stroke-width:1.8;
  }

  100%{
    stroke-width:1.5;
  }
}



/* NOZAR_PLAN_OPEN_LINE_FIX_V1 */
/* Expanded roadmap cards must not have the connector running through them. */
#view-plan .plan-path.plan-path-expanded::before{
  display:none !important;
}


/* ===============================
   NOZAR PROGRAM UX V1 ROADMAP
   =============================== */

.plan-view{
    padding-bottom:90px;
}

.plan-path{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:16px;
}

.plan-path:before{
    content:"";
    position:absolute;
    right:24px;
    top:35px;
    bottom:35px;
    width:3px;
    border-radius:999px;
    background:#e8e4ff;
}


.plan-path-step{
    position:relative;
    border-radius:26px !important;
    padding:22px !important;
    background:#fff;
    border:1px solid rgba(100,87,232,.08);
    box-shadow:0 10px 30px rgba(40,30,100,.06);
    transition:.25s ease;
}


.plan-path-step:hover{
    transform:translateY(-2px);
}


.plan-roadmap-node:before{
    content:"";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border-radius:50%;
    background:#fff;
    border:3px solid #7164ed;
    z-index:2;
}


.plan-hub-section:nth-child(1){
    background:#effcf5;
}


.plan-hub-section:nth-child(2){
    background:#f2f7ff;
}


.plan-hub-section:nth-child(3){
    background:#fff8ed;
}


.plan-today-entry{
    background:#f7f3ff !important;
}


.plan-hub-title{
    font-size:20px !important;
    font-weight:800 !important;
}


.plan-hub-meta{
    color:#6f6f80;
    font-size:14px;
}


.plan-goal-card{
    border-radius:22px !important;
    padding:18px !important;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
}


.plan-goal-bar{
    height:8px !important;
    border-radius:999px !important;
}


.plan-goal-next{
    margin-top:12px;
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.65);
}



/* PROGRAM ROADMAP V2 */

.nozar-roadmap-v2{
 gap:18px;
}


.road-card-v2{
 position:relative;
 display:flex;
 align-items:center;
 gap:14px;
 padding:24px;
 border-radius:28px;
 background:white;
 box-shadow:0 10px 28px rgba(0,0,0,.06);
 border:1px solid rgba(120,100,220,.08);
}


.road-icon-v2{
 width:46px;
 height:46px;
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 background:#eeeaff;
 color:#6254e8;
 font-size:22px;
}


.road-body-v2{
 flex:1;
}


.road-body-v2 h3{
 margin:0 0 8px;
 font-size:20px;
}


.road-body-v2 p{
 margin:0;
 color:#777;
 line-height:1.8;
}


.road-percent-v2{
 font-size:22px;
 font-weight:800;
 color:#5d50e8;
}


.road-card-v2:nth-child(1){
 background:#effbf5;
}


.road-card-v2:nth-child(2){
 background:#f1f7ff;
}


.road-card-v2:nth-child(3){
 background:#fff8ed;
}


.road-card-v2:nth-child(4){
 background:#f7f3ff;
}





/* ===============================
 PROGRAM ROADMAP UI V4
 =============================== */


.plan-path{
    position:relative;
    gap:14px !important;
    padding-top:10px;
}


.plan-path:before{
    right:28px !important;
    top:42px !important;
    bottom:55px !important;
    width:2px !important;
    background:#dedaff !important;
}


.plan-path-step{
    min-height:150px;
    border-radius:30px !important;
    padding:28px 28px 28px 22px !important;
    background:#ffffff !important;
    border:1px solid #eeeeF8 !important;
    box-shadow:
    0 12px 35px rgba(70,60,150,.06) !important;
}


.plan-roadmap-node:before{
    width:44px !important;
    height:44px !important;
    right:6px !important;
    background:#f3f0ff !important;
    border:0 !important;
}


.plan-roadmap-node:after{
    content:"";
    position:absolute;
    right:17px;
    top:50%;
    width:22px;
    height:22px;
    transform:translateY(-50%);
    border-radius:50%;
    background:#7164ed;
}


.plan-hub-title{
    font-size:22px !important;
    font-weight:800 !important;
    margin-bottom:10px !important;
}


.plan-hub-meta{
    font-size:15px !important;
    line-height:2 !important;
    color:#77758a !important;
}


.plan-hub-entry{
    min-height:150px;
}


.plan-today-entry{
    background:#f8f5ff !important;
}


.plan-today-entry .plan-hub-title{
    color:#6356e8 !important;
}


/* remove old arrows */

.plan-path-step > summary::-webkit-details-marker{
    display:none;
}


.plan-path-step > summary{
    list-style:none;
}




/* ==================================
   NOZAR PROGRAM ROADMAP FINAL V5
   ================================== */


.plan-path{
    gap:14px !important;
}


.plan-path-step,
.plan-hub-entry{
    border-radius:26px !important;
    background:#ffffff !important;
    border:1px solid #eeeeF5 !important;
    box-shadow:0 8px 25px rgba(40,30,100,.06) !important;
}


.plan-path-step summary,
.plan-hub-entry{
    min-height:92px;
    padding:20px 18px !important;
}


.plan-step-index{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f0edff !important;
    color:#6557e8 !important;
    font-weight:800 !important;
}


.plan-hub-copy strong{
    font-size:20px !important;
    font-weight:800 !important;
}


.plan-hub-copy small{
    margin-top:6px !important;
    line-height:1.8 !important;
    color:#77758a !important;
}


.plan-hub-meta{
    background:#f7f6ff;
    padding:7px 12px;
    border-radius:999px;
    font-size:13px;
}


.plan-hub-chevron{
    opacity:.45;
}


#planHubGoals{
    background:#f5fff9 !important;
}


#planHubMonth{
    background:#f4f8ff !important;
}


#planHubWeek{
    background:#fff9ef !important;
}


.plan-today-entry{
    background:#f7f3ff !important;
}


.plan-today-entry .plan-step-index{
    background:#e8e0ff !important;
}


.plan-hub-body{
    padding:0 16px 18px !important;
}


.plan-goal-card{
    border-radius:22px !important;
    padding:18px !important;
}




/* =====================================
   PROGRAM ROADMAP CLEAN THEME V6
   ===================================== */


/* حذف رنگ های اختصاصی مراحل */

#planHubGoals,
#planHubMonth,
#planHubWeek,
.planTodayBtn,
.plan-today-entry {
    background: var(--card, #ffffff) !important;
}


/* کارت اصلی */

.plan-path {
    gap: 12px !important;
    padding-top: 6px !important;
}


.plan-path-step,
.plan-hub-entry {
    min-height: 90px !important;
    border-radius: 22px !important;
    background: var(--card, #ffffff) !important;
    border: 1px solid rgba(79,70,229,.08) !important;
    box-shadow: 0 6px 20px rgba(20,20,40,.05) !important;
}


/* خلاصه کارت */

.plan-path-step summary,
.plan-hub-entry {
    padding: 16px 14px !important;
}


.plan-step-index {
    width:38px !important;
    height:38px !important;
    background: rgba(79,70,229,.10) !important;
    color: var(--primary, #4f46e5) !important;
}


/* متن */

.plan-hub-copy strong {
    font-size:18px !important;
}


.plan-hub-copy small {
    font-size:13px !important;
    line-height:1.6 !important;
    color:#747474 !important;
}


/* متا */

.plan-hub-meta {
    font-size:12px !important;
    background:#f5f5fb !important;
    padding:5px 10px !important;
    border-radius:999px !important;
}


/* خط مسیر */

.plan-path:before {
    right:33px !important;
    width:2px !important;
    background:rgba(79,70,229,.18) !important;
}


/* شماره ها روی مسیر */

.plan-roadmap-node .plan-step-index {
    z-index:2;
}


/* فاصله پایین */

.plan-hub-body {
    padding-top:8px !important;
}




/* PROGRAM COMPACT CARDS V7 */


.plan-path-step,
.plan-hub-entry{
    min-height:0 !important;
    height:auto !important;
}


.plan-path-step summary,
.plan-hub-entry{
    min-height:78px !important;
    height:auto !important;
    padding:14px 12px !important;
    align-items:center !important;
}


.plan-hub-copy{
    padding:0 !important;
}


.plan-hub-copy strong{
    font-size:17px !important;
    line-height:1.4 !important;
}


.plan-hub-copy small{
    display:block;
    margin-top:3px !important;
    font-size:12px !important;
    line-height:1.5 !important;
    max-width:210px;
}


.plan-step-index{
    width:34px !important;
    height:34px !important;
    flex-shrink:0;
}


.plan-hub-meta{
    padding:3px 8px !important;
    font-size:11px !important;
}


.plan-hub-chevron{
    font-size:16px !important;
}


/* حذف فضای اضافه داخل کارت */

.plan-path-step{
    overflow:hidden;
}


.plan-path{
    gap:10px !important;
}


.plan-hub-body{
    padding:8px 12px !important;
}





/* PROGRAM EQUAL HEIGHT CARDS V8 */


.plan-path-step,
.plan-hub-entry{
    height:88px !important;
    min-height:88px !important;
    max-height:88px !important;
    box-sizing:border-box !important;
}


.plan-path-step summary,
.plan-hub-entry{
    height:88px !important;
    min-height:88px !important;
    padding:14px 14px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
}


.plan-hub-copy{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}


.plan-hub-copy strong{
    line-height:1.3 !important;
}


.plan-hub-copy small{
    line-height:1.45 !important;
    max-height:38px !important;
    overflow:hidden !important;
}


.plan-step-index{
    flex:none !important;
}


.plan-hub-meta{
    white-space:nowrap !important;
}


/* حذف کش آمدن کارت امروز */

.plan-today-entry{
    display:flex !important;
    align-items:center !important;
}




/* PROGRAM CARD ALIGNMENT V9 */


.plan-path-step summary,
.plan-hub-entry{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
}


.plan-step-index{
    order:3 !important;
    margin-right:14px !important;
    margin-left:0 !important;
}


.plan-hub-copy{
    order:2 !important;
    flex:1 !important;
    justify-content:center !important;
    text-align:right !important;
}


.plan-hub-copy strong{
    display:block;
    margin-bottom:4px !important;
}


.plan-hub-copy small{
    display:block;
    margin:0 !important;
}


.plan-hub-meta{
    order:1 !important;
    margin-left:auto !important;
}


.plan-hub-chevron{
    position:absolute !important;
    left:18px !important;
    opacity:.35 !important;
}


/* today هماهنگ با بقیه */

.plan-today-entry{
    position:relative;
}


.plan-today-entry .plan-step-index{
    order:3 !important;
}


.plan-today-entry .plan-hub-copy{
    order:2 !important;
}


.plan-today-entry .plan-hub-chevron{
    left:18px !important;
}




/* PROGRAM RTL ALIGNMENT V10 */


/* برگرداندن ساختار RTL */

.plan-path-step summary,
.plan-hub-entry{
    display:flex !important;
    flex-direction:row !important;
    direction:rtl !important;
    align-items:center !important;
}


/* شماره مرحله سمت راست */

.plan-step-index{
    order:1 !important;
    margin:0 0 0 14px !important;
    flex-shrink:0 !important;
}


/* متن وسط */

.plan-hub-copy{
    order:2 !important;
    flex:1 !important;
    text-align:right !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}


.plan-hub-copy strong{
    margin-bottom:5px !important;
}


.plan-hub-copy small{
    margin:0 !important;
    max-width:240px;
}


/* متا انتهای کارت */

.plan-hub-meta{
    order:3 !important;
}


/* فلش سمت چپ */

.plan-hub-chevron{
    position:static !important;
    order:4 !important;
    margin-right:10px !important;
}


/* ارتفاع هماهنگ */

.plan-path-step summary,
.plan-hub-entry{
    height:88px !important;
    min-height:88px !important;
}


/* امروز مثل بقیه */

.plan-today-entry{
    flex-direction:row !important;
}


.plan-today-entry .plan-step-index{
    order:1 !important;
}


.plan-today-entry .plan-hub-copy{
    order:2 !important;
}





/* =====================================
   PROGRAM OUTSIDE TIMELINE V11
   line + numbers outside the cards
   ===================================== */


/* کل مسیر */
.plan-path{
    position:relative !important;
    gap:10px !important;
    padding-top:6px !important;
    padding-right:0 !important;
}


/* خط عمودی در گاتر بیرون کارت */
.plan-path:before{
    right:26px !important;
    top:34px !important;
    bottom:34px !important;
    width:2px !important;
    background:rgba(79,70,229,.18) !important;
    z-index:1 !important;
}


/* هر کارت باریک‌تر شود تا سمت راستش جا برای خط و شماره خالی بماند */
.plan-path-step,
.plan-hub-entry{
    position:relative !important;
    margin-right:44px !important;
    width:auto !important;
    overflow:visible !important;
    z-index:2 !important;
}


/* summary / button */
.plan-path-step summary,
.plan-hub-entry{
    position:relative !important;
    padding:14px 16px !important;
    height:88px !important;
    min-height:88px !important;
    box-sizing:border-box !important;
}


/* شماره مرحله بیرون کادر و روی خط */
.plan-step-index{
    position:absolute !important;
    right:-18px !important;
    top:50% !important;
    transform:translateY(-50%) !important;

    width:38px !important;
    height:38px !important;
    border-radius:50% !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:#ece9ff !important;
    color:var(--primary, #4f46e5) !important;
    border:1px solid rgba(79,70,229,.10) !important;

    margin:0 !important;
    z-index:3 !important;
}


/* متن داخل خود کارت بماند */
.plan-hub-copy{
    flex:1 !important;
    text-align:right !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    padding-left:18px !important;   /* جا برای فلش */
    padding-right:0 !important;
}

.plan-hub-copy strong{
    display:block !important;
    margin-bottom:4px !important;
    line-height:1.3 !important;
}

.plan-hub-copy small{
    display:block !important;
    margin:0 !important;
    line-height:1.45 !important;
    max-width:none !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}


/* متا خیلی مزاحم نشود */
.plan-hub-meta{
    display:none !important;
}


/* فلش باز/بسته داخل کارت سمت چپ */
.plan-hub-chevron{
    position:absolute !important;
    left:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    opacity:.35 !important;
    order:unset !important;
}


/* امروز هم مثل بقیه */
.plan-today-entry{
    position:relative !important;
}


/* برای اینکه متن به دایره نخورد */
#planHubGoals summary,
#planHubMonth summary,
#planHubWeek summary,
#planTodayBtn{
    padding-right:18px !important;
}



/* PROGRAM TIMELINE POSITION V12
   line a bit farther outside, numbers centered on the line
*/

.plan-path{
    position:relative !important;
}

/* خط کمی بیرون‌تر */
.plan-path:before{
    right:18px !important;
    top:34px !important;
    bottom:34px !important;
    z-index:1 !important;
}

/* کارت‌ها همان اندازه بمانند، فقط فاصله راستشان برای گاتر حفظ شود */
.plan-path-step,
.plan-hub-entry{
    margin-right:44px !important;
    position:relative !important;
    z-index:2 !important;
    overflow:visible !important;
}

/* شماره‌ها دقیقاً روی خط */
.plan-step-index{
    position:absolute !important;
    right:-45px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:3 !important;
}

/* کارت امروز هم دقیقاً مثل بقیه */
#planTodayBtn .plan-step-index,
.plan-today-entry .plan-step-index{
    right:-45px !important;
}

/* خود summary/button ثابت بماند */
.plan-path-step summary,
.plan-hub-entry{
    position:relative !important;
}



/* =====================================
 PROGRAM TIMELINE ALIGN FIX V13
 ===================================== */


/* مسیر */
#view-plan .plan-path{
    position:relative !important;
    gap:10px !important;
    padding-right:0 !important;
}


/* خط بیرون کارت */
#view-plan .plan-path:before{
    right:18px !important;
    top:36px !important;
    bottom:36px !important;
    width:2px !important;
    background:color-mix(in srgb,var(--primary) 18%,transparent) !important;
    z-index:1 !important;
}


/* کارت ها */
#view-plan .plan-path-step,
#view-plan .plan-today-entry{
    position:relative !important;
    margin-right:0 !important;
    z-index:2 !important;
}


/* خود کارت کمی جا برای خط بدهد */
#view-plan .plan-path-step>summary,
#view-plan .plan-today-entry{
    position:relative !important;
    grid-template-columns:40px minmax(0,1fr) auto 20px !important;
    padding:10px 34px 10px 12px !important;
    min-height:72px !important;
}


/* شماره روی خط */
#view-plan .plan-step-index{
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translate(50%,-50%) !important;

    width:36px !important;
    height:36px !important;

    z-index:5 !important;
}


/* متن دوباره داخل کارت */
#view-plan .plan-hub-copy{
    position:relative !important;
    padding:0 !important;
    margin:0 !important;
    justify-content:center !important;
    min-width:0 !important;
}


#view-plan .plan-hub-copy strong{
    line-height:1.55 !important;
}


#view-plan .plan-hub-copy small{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    white-space:normal !important;
}


/* فلش */
#view-plan .plan-hub-chevron{
    position:static !important;
    transform:none !important;
}




/* =====================================
   PLAN STAGE PROGRESS RINGS + MOMENTUM CARD V1 (20260923)
   ===================================== */
#view-plan .plan-stage-ring{
  position:relative;
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:inline-block;
}
#view-plan .plan-stage-ring svg{
  width:100%;
  height:100%;
  transform:rotate(-90deg);
}
#view-plan .plan-stage-ring-track{
  fill:none;
  stroke:var(--ring-track,var(--border));
  stroke-width:5;
}
#view-plan .plan-stage-ring-progress{
  fill:none;
  stroke:var(--ring-color,var(--primary));
  stroke-width:5;
  stroke-linecap:round;
  transition:stroke-dashoffset .4s ease;
}
#view-plan .plan-stage-ring-label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:800;
  color:var(--text);
}
#view-plan .plan-stage-ring[data-stage="goal"]{ --ring-color:var(--stage-goal); --ring-track:var(--stage-goal-soft); }
#view-plan .plan-stage-ring[data-stage="month"]{ --ring-color:var(--stage-month); --ring-track:var(--stage-month-soft); }
#view-plan .plan-stage-ring[data-stage="week"]{ --ring-color:var(--stage-week); --ring-track:var(--stage-week-soft); }
#view-plan .plan-stage-ring[data-stage="today"]{ --ring-color:var(--stage-today); --ring-track:var(--stage-today-soft); }

#view-plan .plan-momentum-card{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding:14px 16px;
  border-radius:var(--radius-md,14px);
  background:var(--stage-goal-soft);
  border:1px solid color-mix(in srgb,var(--stage-goal) 25%,transparent);
}
#view-plan .plan-momentum-icon{
  font-size:20px;
  line-height:1;
  flex:0 0 auto;
}
#view-plan .plan-momentum-text{
  margin:0;
  font-size:12px;
  line-height:1.7;
  color:var(--text);
}
#view-plan .plan-momentum-text strong{
  color:var(--stage-goal);
}
/* END PLAN STAGE PROGRESS RINGS + MOMENTUM CARD V1 */


/* =====================================
   PLAN STAGE RING REPOSITION FIX V1 (20260923)
   رینگ از گرید بیرون میاد و روی لبه چپ کارت می‌شینه؛
   ستون متن/برچسب/چوب‌خط صریح می‌شه تا به‌هم‌ریختگی برنگرده.
   ===================================== */
#view-plan .plan-path-step>summary,
#view-plan .plan-today-entry{
    padding-left:52px !important;
}
#view-plan .plan-hub-copy{
    grid-column:2 !important;
}
#view-plan .plan-hub-meta{
    grid-column:3 !important;
}
#view-plan .plan-hub-chevron{
    grid-column:4 !important;
}
#view-plan .plan-stage-ring{
    position:absolute !important;
    left:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    z-index:4 !important;
    width:32px !important;
    height:32px !important;
}
/* END PLAN STAGE RING REPOSITION FIX V1 */


/* NOZAR_PLAN_ROADMAP_LEGACY_CONFLICT_FIX_V1 */
#view-plan .plan-path-step{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
}
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) 20px !important;
  align-items:center !important;
  height:auto !important;
  min-height:72px !important;
  max-height:none !important;
  padding:10px 12px 10px 52px !important;
  box-sizing:border-box !important;
}
#view-plan .plan-hub-copy small{
  max-height:none !important;
  font-size:10.8px !important;
  line-height:1.7 !important;
  text-overflow:ellipsis !important;
}
#view-plan .plan-step-index{
  width:36px !important;
  height:36px !important;
  flex:none !important;
}
/* END NOZAR_PLAN_ROADMAP_LEGACY_CONFLICT_FIX_V1 */


/* NOZAR_PLAN_ROADMAP_LEGACY_CONFLICT_FIX_V2 */
#view-plan .plan-path-step{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
}
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) 20px !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  height:auto !important;
  min-height:72px !important;
  max-height:none !important;
  padding:10px 12px 10px 52px !important;
  box-sizing:border-box !important;
}
#view-plan .plan-hub-copy small{
  max-height:none !important;
  font-size:10.8px !important;
  line-height:1.7 !important;
  text-overflow:ellipsis !important;
}
#view-plan .plan-step-index{
  width:36px !important;
  height:36px !important;
  flex:none !important;
  grid-row:1 !important;
  grid-column:1 !important;
}
#view-plan .plan-hub-copy{
  grid-row:1 !important;
  grid-column:2 !important;
}
#view-plan .plan-hub-chevron{
  grid-row:1 !important;
  grid-column:3 !important;
  align-self:center !important;
}
/* END NOZAR_PLAN_ROADMAP_LEGACY_CONFLICT_FIX_V2 */


/* =====================================
   NOZAR_PLAN_STAGE_ICONS_AND_NUMBER_COLORS_V1 (20260923)
   آیکون کنار عنوان هر مرحله + رنگی‌شدن دایره‌ی شماره، هم‌رنگ با رینگ همون مرحله
   ===================================== */
#view-plan .plan-title-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:8px;
  margin-inline-end:6px;
  vertical-align:-5px;
  flex:0 0 auto;
}
#view-plan .plan-title-icon svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view-plan .plan-title-icon[data-stage-icon="goal"]{background:var(--stage-goal-soft);color:var(--stage-goal)}
#view-plan .plan-title-icon[data-stage-icon="month"]{background:var(--stage-month-soft);color:var(--stage-month)}
#view-plan .plan-title-icon[data-stage-icon="week"]{background:var(--stage-week-soft);color:var(--stage-week)}
#view-plan .plan-title-icon[data-stage-icon="today"]{background:var(--stage-today-soft);color:var(--stage-today)}

#view-plan .plan-step-index[data-step-stage="goal"]{background:var(--stage-goal-soft)!important;color:var(--stage-goal)!important;border-color:transparent!important}
#view-plan .plan-step-index[data-step-stage="month"]{background:var(--stage-month-soft)!important;color:var(--stage-month)!important;border-color:transparent!important}
#view-plan .plan-step-index[data-step-stage="week"]{background:var(--stage-week-soft)!important;color:var(--stage-week)!important;border-color:transparent!important}
#view-plan .plan-step-index[data-step-stage="today"]{background:var(--stage-today-soft)!important;color:var(--stage-today)!important;border-color:transparent!important}
/* END NOZAR_PLAN_STAGE_ICONS_AND_NUMBER_COLORS_V1 */
/* NOZAR_PLAN_STAGE_NUMBER_SOFT_V1 */


/* =====================================
   NOZAR_PLAN_COMPACT_CONNECTOR_V1 (20260923)
   کارت‌های جمع‌تر + خط رابط رنگی بین شماره‌های ۱-۴
   ===================================== */
#view-plan .plan-path{ gap:6px !important; }
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  min-height:56px !important;
  padding:8px 10px 8px 44px !important;
}
#view-plan .plan-hub-copy small{
  font-size:10.2px !important;
  line-height:1.55 !important;
}
#view-plan .plan-stage-ring{
  left:10px !important;
  width:30px !important;
  height:30px !important;
}
#view-plan .plan-step-index{
  width:32px !important;
  height:32px !important;
  z-index:2 !important;
}
#view-plan .plan-path::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:11px !important;
  top:44px !important;
  bottom:39px !important;
  width:2px !important;
  background:linear-gradient(to bottom, var(--stage-goal), var(--stage-month), var(--stage-week), var(--stage-today)) !important;
  opacity:.4 !important;
  border-radius:999px !important;
  z-index:1 !important;
  pointer-events:none !important;
}
/* END NOZAR_PLAN_COMPACT_CONNECTOR_V1 */


/* =====================================
   NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V1 (20260923)
   شماره‌های ۱-۴ کاملاً بیرون کارت روی خط رابط (نه داخل کارت)،
   کارت‌ها فشرده‌تر، ایموجی 🌱 کنار عنوان «برنامه»
   این بلاک آخرین و برنده‌ی کل تاریخچه‌ی patchهای roadmap بالاست.
   ===================================== */
#view-plan .plan-path{
  padding-right:34px !important;
  gap:5px !important;
}
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  position:relative !important;
  grid-template-columns:minmax(0,1fr) 16px !important;
  min-height:46px !important;
  padding:6px 8px 6px 40px !important;
}
#view-plan .plan-hub-copy strong{
  font-size:13px !important;
}
#view-plan .plan-hub-copy small{
  font-size:9.8px !important;
  line-height:1.45 !important;
  -webkit-line-clamp:1 !important;
}
#view-plan .plan-stage-ring{
  left:8px !important;
  width:26px !important;
  height:26px !important;
}
#view-plan .plan-stage-ring-label{
  font-size:8px !important;
}

/* شماره‌ی مرحله: از grid کارت خارج و کاملا بیرون کارت، روی خط رابط */
#view-plan .plan-step-index{
  position:absolute !important;
  right:-30px !important;
  top:50% !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  width:26px !important;
  height:26px !important;
  font-size:11px !important;
  grid-row:auto !important;
  grid-column:auto !important;
  background:#fff !important;
  box-shadow:0 0 0 3px var(--surface-1,#f7f6fb) !important;
  z-index:3 !important;
}

/* خط رابط دقیقا از مرکز شماره‌ی ۱ تا مرکز شماره‌ی ۴ */
#view-plan .plan-path::before{
  right:-17px !important;
  top:23px !important;
  bottom:23px !important;
}

/* عنوان صفحه‌ی برنامه: ایموجی نهال کنار «برنامه» */
#view-plan .plan-home-head h2{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
#view-plan .plan-home-icon{
  font-size:17px;
  line-height:1;
}
/* END NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V1 */

/* =====================================
   NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V2_FIX (20260923)
   اصلاح علامت غلط right (که خط رو از صفحه بیرون و نامرئی کرده بود)
   و اصلاح grid-template-columns (که باعث جمع شدن متن تو یه گوشه‌ی باریک شده بود)
   ===================================== */
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  grid-template-columns:6px minmax(0,1fr) 20px !important;
}
#view-plan .plan-path::before{
  right:17px !important;
  top:23px !important;
  bottom:23px !important;
}
/* END NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V2_FIX */

/* =====================================
   NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V3_SIZE_UP (20260923)
   بزرگ‌تر کردن سایز کارت‌ها/متن/رینگ/شماره (خیلی کوچک شده بود)
   ===================================== */
#view-plan .plan-path{
  padding-right:40px !important;
  gap:8px !important;
}
#view-plan .plan-path-step > summary,
#view-plan .plan-today-entry{
  min-height:64px !important;
  padding:12px 14px 12px 52px !important;
}
#view-plan .plan-hub-copy strong{
  font-size:15px !important;
}
#view-plan .plan-hub-copy small{
  font-size:11.2px !important;
  line-height:1.6 !important;
  -webkit-line-clamp:2 !important;
}
#view-plan .plan-stage-ring{
  left:10px !important;
  width:34px !important;
  height:34px !important;
}
#view-plan .plan-stage-ring-label{
  font-size:9.5px !important;
}
#view-plan .plan-step-index{
  right:-34px !important;
  width:32px !important;
  height:32px !important;
  font-size:13px !important;
}
#view-plan .plan-path::before{
  right:22px !important;
  top:32px !important;
  bottom:32px !important;
}
/* END NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V3_SIZE_UP */

/* =====================================
   NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V4_TIGHTEN_GUTTER (20260923)
   کارت‌ها خیلی به چپ رفته بودن چون حاشیه‌ی راست (برای خط+شماره) زیادی بزرگ بود؛
   این حاشیه رو جمع‌تر می‌کنیم تا کارت‌ها به لبه‌ی راست نزدیک‌تر بشن.
   ===================================== */
#view-plan .plan-path{
  padding-right:26px !important;
}
#view-plan .plan-step-index{
  right:-22px !important;
}
#view-plan .plan-path::before{
  right:19px !important;
}
/* END NOZAR_PLAN_ROADMAP_OUTSIDE_NUMBERS_V4_TIGHTEN_GUTTER */

/* =====================================
   NOZAR_MAIN_HEADER_TITLE_BOX_V1 (20260923)
   کادر ملایم بنفش دور تیتر+زیرتیتر سربرگ‌های اصلی
   (گزارش/برنامه/یادداشت‌ها/رشد من)، تمام‌عرض بالای صفحه.
   ===================================== */
#view-plan .plan-home-head,
#view-growth .growth-home-head,
#view-notes .notes-large-head,
#view-report .report-title-wrap{
  background:var(--primary-soft) !important;
  border-radius:var(--radius-lg) !important;
  padding:14px 16px !important;
  width:100% !important;
}

#view-plan .plan-home-head h2,
#view-growth .growth-home-head h2,
#view-notes .notes-large-head h2,
#view-report .report-title-wrap h2{
  color:var(--primary) !important;
}

#view-plan .plan-home-explain,
#view-growth .growth-home-head p,
#view-notes .notes-large-head p,
#view-report .report-page-subtitle{
  color:var(--primary) !important;
  opacity:.7;
}

/* گزارش: کادر تمام‌عرض می‌شه، پس دکمه‌های بازه (روزانه/هفتگی/ماهانه) می‌رن زیرش */
#view-report .report-page-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
}
#view-report .report-title-wrap{
  align-items:flex-start !important;
}
#view-report .report-range{
  align-self:flex-start;
}
/* END NOZAR_MAIN_HEADER_TITLE_BOX_V1 */

/* NOZAR_MAIN_HEADER_SPACING_UNIFY_V1 (20260923) */
#view-plan .plan-shell{ gap:12px !important; }
#view-report .report-shell{ gap:12px !important; }
#view-growth .growth-me-shell{ gap:12px !important; }
#view-notes .notes-large-head{ margin-bottom:12px !important; padding-bottom:0 !important; }
/* END NOZAR_MAIN_HEADER_SPACING_UNIFY_V1 */

/* NOZAR_MAIN_HEADER_EMOJI_V1 (20260923) */
#view-report .report-title-wrap h2,
#view-plan .plan-home-head h2,
#view-notes .notes-large-head h2,
#view-growth .growth-home-head h2{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.header-title-text{ order:1; }
.header-title-emoji{
  order:2;
  font-size:17px;
  line-height:1;
}
/* END NOZAR_MAIN_HEADER_EMOJI_V1 */

/* NOZAR_MAIN_HEADER_ICON_V2 (20260923) */
#view-report .report-title-wrap h2,
#view-plan .plan-home-head h2,
#view-notes .notes-large-head h2,
#view-growth .growth-home-head h2{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
}
.header-title-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--primary);
}
.header-title-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* END NOZAR_MAIN_HEADER_ICON_V2 */

/* NOZAR_MAIN_HEADER_UNIFY_V3 (20260923) */
#view-notes .notes-large-head{
  display:block !important;
}
#view-notes .notes-large-head p{
  color:var(--primary) !important;
  opacity:.7 !important;
}
/* END NOZAR_MAIN_HEADER_UNIFY_V3 */

/* NOZAR_ICON_EMOJI_CLEANUP_V1 (20260923) */
.streak-icon{
  width:13px;
  height:13px;
  display:inline-block;
  vertical-align:-2px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view-plan .plan-momentum-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--stage-goal);
  font-size:0;
}
#view-plan .plan-momentum-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* END NOZAR_ICON_EMOJI_CLEANUP_V1 */

/* NOZAR_TOPBAR_CENTER_DATE_RING_V1 (20260923) */
#app .miniapp-brand-name{
  display:none !important;
}
#app .topbar.brand-topbar{
  position:relative !important;
}
#app .topbar-center-group{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:8px;
}


/* NOZAR_TODAY_PROGRESS_BAR_HIDE_V1 (20260923) — the bar duplicated the header ring %; stat text below stays */
#view-today .today-dashboard-progress{
  display:none !important;
}


/* NOZAR_PLAN_SUBTITLE_FONT_MATCH_V1 (20260923) — matches app-wide secondary text scale (12.5-14.5px);
   #view-plan .plan-hub-copy small was left at 10.8px by an earlier tighten pass */
#view-plan .plan-hub-copy small{
  font-size:12.5px !important;
  line-height:1.6 !important;
}


/* NOZAR_NOTES_BOX_HEIGHT_FIX_V1 (20260923) — restore the 14px bottom padding so the notes box matches plan/growth/report */
#view-notes .notes-large-head{
  padding-bottom:14px !important;
}


/* NOZAR_TREASURE_ARCHIVE_SHEET_STYLE_V1 (20260923) — .treasure-archive-sheet had zero CSS (see script docstring) */
.treasure-archive-sheet{
  position:fixed;
  z-index:109;
  left:50%;
  bottom:0;
  width:min(480px, 100%);
  max-height:78vh;
  overflow-y:auto;
  transform:translate(-50%, 110%);
  padding:9px 14px calc(14px + env(safe-area-inset-bottom));
  border-radius:20px 20px 0 0;
  border:1px solid var(--border-glass);
  border-bottom:none;
  background:var(--card);
  box-shadow:0 -16px 46px rgba(20,20,43,.16);
  transition:transform .22s cubic-bezier(.22,.9,.35,1);
}
.treasure-archive-sheet.open{
  transform:translate(-50%, 0);
}
.treasure-archive-title{
  padding:2px 10px 9px;
  text-align:center;
  color:var(--text);
  font-size:14px;
  font-weight:800;
}
.treasure-archive-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:6px;
}
.treasure-archive-season-row{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:13.5px;
  font-weight:700;
  text-align:right;
  cursor:pointer;
}
.treasure-archive-season-row:active{
  background:var(--primary-soft);
}
.treasure-archive-season-row small{
  color:var(--muted);
  font-size:11.5px;
  font-weight:600;
}
.treasure-archive-body{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.treasure-archive-item{
  border-radius:12px;
  border:1px solid var(--border);
  padding:10px 12px;
  border-inline-start:3px solid var(--muted);
}
.treasure-archive-item.gratitude{
  border-inline-start-color:#993556;
}
.treasure-archive-item.beauty{
  border-inline-start-color:#0F6E56;
}
.treasure-archive-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:4px;
  font-size:11.5px;
  color:var(--muted);
  font-weight:700;
}
.treasure-archive-item p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:var(--text);
}
.report-soft-empty{
  text-align:center;
  color:var(--muted);
  font-size:12.5px;
  padding:18px 8px;
}
.report-summary-loading{
  height:60px;
  border-radius:12px;
  background:var(--surface-2);
  animation:actionBackdropIn .5s ease infinite alternate;
}

/* NOZAR_UX_AUDIT_FLATTEN_TODAY_CARDS_V1 */
#view-today .today-tasks-card,
#view-today .today-habits-card,
#view-today .card{
  box-shadow:none !important;
}

/* NOZAR_UX_AUDIT_ICON_OPACITY_V1 */
#view-today .section-title-icon,
#view-today .habit-loop-icon{
  opacity:1;
}

/* NOZAR_UX_AUDIT_STAGE_RING_ENLARGE_V1 */
#view-plan .plan-hub-section>summary,
#view-plan .plan-hub-entry{
  grid-template-columns:60px minmax(0,1fr) 20px !important;
  min-height:76px;
  padding:12px 12px;
}
#view-plan .plan-stage-ring{
  width:56px !important;
  height:56px !important;
  left:4px !important;
}
#view-plan .plan-stage-ring-track,
#view-plan .plan-stage-ring-progress{
  stroke-width:7;
}
#view-plan .plan-stage-ring-label{
  font-size:15px !important;
  font-weight:850;
}
#view-plan .plan-title-icon{
  width:18px;
  height:18px;
  border-radius:7px;
  margin-inline-end:5px;
  vertical-align:-4px;
}
#view-plan .plan-title-icon svg{
  width:11px;
  height:11px;
}

/* =====================================
   NOZAR_UX_AUDIT_STAGE_RING_FIX_V2 (20260923)
   رینگ بزرگ می‌مونه، فقط نازک‌تر می‌شه (استروک 7 -> 3)؛
   padding کارت با رینگ 56px هماهنگ می‌شه تا رینگ از فضاش بیرون نزنه؛
   برچسب رنگی meta که با فلش قاطی شده بود حذف می‌شه (در طرح مرجع هم نبود).
   ===================================== */
#view-plan .plan-stage-ring-track,
#view-plan .plan-stage-ring-progress{
  stroke-width:3 !important;
}
#view-plan .plan-hub-section>summary,
#view-plan .plan-hub-entry{
  padding-left:66px !important;
}
#view-plan .plan-hub-meta{
  display:none !important;
}
/* END NOZAR_UX_AUDIT_STAGE_RING_FIX_V2 */

/* NOZAR_STAGE_RING_RIGHT_ALIGN_FIX_V1 */
#view-plan .plan-hub-section>summary,
#view-plan .plan-hub-entry{
  grid-template-columns:0 minmax(0,1fr) 20px !important;
}
/* END NOZAR_STAGE_RING_RIGHT_ALIGN_FIX_V1 */



/* END NOZAR_TASK_SUBTASKS_NOTES_V1 */

/* FIX TODAY TASK ROW ALIGNMENT */
.task-item{
  display:flex !important;
  align-items:center !important;
  min-height:56px;
  position:relative;
}

.task-item .check{
  flex:0 0 auto;
  align-self:center !important;
}

.task-item .task-title{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  min-height:56px;
  margin:0 !important;
}

.task-item .item-more-btn{
  flex:0 0 auto;
  align-self:center !important;
  margin:0 !important;
}


/* FIX TASK ROW FINAL ALIGN */
.task-item{
  display:grid !important;
  grid-template-columns:36px 1fr 36px !important;
  grid-template-areas:"check title more" !important;
  align-items:center !important;
  min-height:56px !important;
}

.task-item .check{
  grid-area:check !important;
  justify-self:center !important;
}

.task-item .task-title{
  grid-area:title !important;
  justify-self:stretch !important;
  display:block !important;
  text-align:right !important;
  min-height:0 !important;
}

.task-item .item-more-btn{
  grid-area:more !important;
  justify-self:center !important;
}



/* TASK_EXTRAS_ARROW_PANEL_V1 */
.task-wrap{
  display:block;
}
.task-wrap + .task-wrap{
  margin-top:8px;
}

.task-item{
  display:grid !important;
  grid-template-columns:28px 28px 1fr 36px !important;
  grid-template-areas:"more expand title check" !important;
  align-items:center !important;
  min-height:56px !important;
  column-gap:6px;
}

.task-item .item-more-btn{
  grid-area:more !important;
  justify-self:center !important;
  align-self:center !important;
}

.task-item .task-expand-btn{
  grid-area:expand !important;
  justify-self:center !important;
  align-self:center !important;
  width:24px;
  height:24px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  line-height:1;
  padding:0;
  transition:transform .2s ease,color .2s ease;
}

.task-wrap.expanded .task-expand-btn{
  transform:rotate(180deg);
  color:var(--primary);
}

.task-item .task-title{
  grid-area:title !important;
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
  text-align:right !important;
}

.task-item .check{
  grid-area:check !important;
  justify-self:center !important;
  align-self:center !important;
}


/* NOZAR_TASK_EXTRA_SINGLE_SOURCE */

.task-extra-panel{
width:100%;
display:flex;
flex-direction:column;
gap:16px;
}

.task-extra-section{
width:100%;
}

.task-extra-label{
font-size:13px;
font-weight:800;
margin-bottom:8px;
color:var(--muted);
}

.task-extra-subtasks{
display:flex;
flex-direction:column;
gap:8px;
}

.task-extra-subtask-row{
height:46px;
width:100%;
display:flex;
align-items:center;
direction:rtl;
background:var(--bg);
border-radius:16px;
padding:0 14px;
box-sizing:border-box;
}

.task-extra-subcheck{
display:flex;
align-items:center;
justify-content:center;
flex:0 0 22px;
width:22px;
height:22px;
border-radius:50%;
border:2px solid var(--border);
background:var(--card);
padding:0;
margin-left:10px;
}

.task-extra-subtask-row.done .task-extra-subcheck{
background:var(--primary);
border-color:var(--primary);
color:white;
}

.task-extra-subtitle{
flex:1;
text-align:right;
font-size:14px;
}

.task-extra-subdel{
border:0;
background:none;
font-size:18px;
color:var(--muted);
}


/* TASK EXTRA FINAL POLISH */

.task-extra-add{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  margin-top:10px !important;
}

.task-extra-input{
  flex:1 !important;
  height:46px !important;
  border-radius:16px !important;
  border:1px solid var(--border) !important;
  background:var(--card) !important;
  padding:0 16px !important;
  font-size:14px !important;
  text-align:right !important;
  box-sizing:border-box !important;
}

.task-extra-input::placeholder{
  color:var(--muted) !important;
}

.task-extra-addbtn{
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
  border:0 !important;
  background:var(--primary-soft) !important;
  color:var(--primary) !important;
  font-size:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.task-extra-note{
  width:100% !important;
  min-height:90px !important;
  border-radius:18px !important;
  border:1px solid var(--border) !important;
  background:var(--card) !important;
  padding:14px 16px !important;
  box-sizing:border-box !important;
  font-size:14px !important;
  line-height:1.8 !important;
  text-align:right !important;
  resize:none !important;
}

.task-extra-note::placeholder{
  color:var(--muted) !important;
}


/* MAIN TASK ROW RTL FIX: check right, controls left */
.task-item{
  display:grid !important;
  grid-template-columns:28px 28px 1fr 36px !important;
  grid-template-areas:"more expand title check" !important;
  align-items:center !important;
  column-gap:10px !important;
  direction:ltr !important;
}

.task-item .item-more-btn{
  grid-area:more !important;
  justify-self:center !important;
  align-self:center !important;
  order:unset !important;
}

.task-item .task-expand-btn{
  grid-area:expand !important;
  justify-self:center !important;
  align-self:center !important;
  order:unset !important;
}

.task-item .task-title{
  grid-area:title !important;
  display:block !important;
  text-align:right !important;
  direction:rtl !important;
  justify-self:stretch !important;
  min-width:0 !important;
  margin:0 !important;
  order:unset !important;
}

.task-item .check{
  grid-area:check !important;
  justify-self:center !important;
  align-self:center !important;
  order:unset !important;
}


/* TASK EXTRA HOLDER FINAL POSITION FIX */

.task-wrap{
  width:100% !important;
  display:block !important;
  position:relative !important;
}

.task-item{
  width:100% !important;
  position:relative !important;
  z-index:2 !important;
}

.task-extra-holder{
  width:100% !important;
  display:none;
  position:relative !important;
  z-index:1 !important;
}

.task-wrap.expanded .task-extra-holder{
  display:block !important;
  width:100% !important;
}

.task-extra-panel{
  width:100% !important;
  margin-top:8px !important;
  padding:12px 0 0 0 !important;
  box-sizing:border-box !important;
}


/* SUBTASK SCALE DOWN FINAL: about 2/3 of main task */

.task-extra-panel{
  padding-top:8px !important;
  gap:12px !important;
}

.task-extra-label{
  font-size:11px !important;
  margin-bottom:6px !important;
}

.task-extra-subtasks{
  gap:8px !important;
  margin-top:8px !important;
}

.task-extra-subtask-row{
  min-height:40px !important;
  height:40px !important;
  padding:0 12px !important;
  border-radius:14px !important;
}

.task-extra-subtitle{
  font-size:13px !important;
  font-weight:600 !important;
  padding:0 10px !important;
}

.task-extra-subcheck{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  flex:0 0 18px !important;
  border-width:1.5px !important;
  font-size:11px !important;
  line-height:18px !important;
}

.task-extra-subdel{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  font-size:16px !important;
  line-height:18px !important;
}

.task-extra-add{
  margin-top:8px !important;
  gap:8px !important;
}

.task-extra-input{
  height:40px !important;
  min-height:40px !important;
  border-radius:14px !important;
  font-size:13px !important;
  padding:0 14px !important;
}

.task-extra-addbtn{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border-radius:14px !important;
  font-size:22px !important;
}

.task-extra-note{
  min-height:76px !important;
  border-radius:16px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  padding:12px 14px !important;
}


/* SUBTASK FINAL COMPACT + CIRCLE CHECK FIX */

.task-extra-subtask-row{
  height:36px !important;
  min-height:36px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  display:flex !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

.task-extra-subtitle{
  font-size:13px !important;
  line-height:36px !important;
}

.task-extra-subcheck{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 20px !important;
  border-radius:50% !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.task-extra-subdel{
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
}

.task-extra-subtasks{
  gap:6px !important;
}

.task-extra-add{
  margin-top:6px !important;
}

.task-extra-input{
  height:36px !important;
  min-height:36px !important;
  border-radius:12px !important;
}

.task-extra-addbtn{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  border-radius:50% !important;
}


/* SUBTASK FORCE SIZE V2 */

.task-extra-subtask-row{
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    padding:0 10px !important;
}

.task-extra-subcheck,
.task-extra-subtask-row .task-extra-subcheck{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    min-height:18px !important;
    max-height:18px !important;
    flex:0 0 18px !important;
    border-radius:50% !important;
    overflow:hidden !important;
}

.task-extra-subtitle,
.task-extra-subtask-row .task-extra-subtitle{
    font-size:12px !important;
}

.task-extra-subdel{
    font-size:16px !important;
}

.task-extra-subtasks{
    gap:5px !important;
}


/* SUBTASK WIDTH = TWO THIRDS */

.task-extra-section{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
}

.task-extra-subtasks{
  width:66.666% !important;
  max-width:66.666% !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

.task-extra-subtask-row{
  width:100% !important;
  max-width:100% !important;
}

.task-extra-add{
  width:66.666% !important;
  max-width:66.666% !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

.task-extra-note{
  width:66.666% !important;
  max-width:66.666% !important;
  margin-left:auto !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}



/* SUBTASK WIDTH FINAL CLEAN */

.task-extra-panel{
  width:100% !important;
}

.task-extra-section{
  width:100% !important;
}

.task-extra-section:first-child .task-extra-subtasks,
.task-extra-section:first-child .task-extra-add{
  width:66% !important;
  max-width:66% !important;
  margin-right:0 !important;
}

.task-extra-section:first-child .task-extra-label{
  width:66% !important;
}

.task-extra-subtask-row{
  width:100% !important;
}


/* NOZAR_TASK_EXTRAS_V2 (20260923) — subtasks + note panel, own tx-* namespace */
#view-today .task-wrap .task-item{
  grid-template-columns:28px 28px auto minmax(0,1fr) 36px !important;
  grid-template-areas:"more expand chip title check" !important;
  column-gap:6px !important;
}
#view-today .task-wrap .task-item .tx-chip{
  grid-area:chip;
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:22px;
  padding:0 8px;
  border:0;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary);
  font-family:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1;
  direction:ltr;
}
#view-today .task-wrap .task-item .tx-chip.is-full{
  background:var(--success-soft);
  color:var(--success);
}
.tx-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  display:inline-block;
}

#view-today .task-extra-holder .tx-panel{
  direction:rtl;
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:6px 4px 4px 4px;
  padding:12px;
  box-sizing:border-box;
  border-radius:18px;
  background:rgba(79,70,229,.05);
  border:1px solid var(--border);
}
body.tg-dark #view-today .task-extra-holder .tx-panel{
  background:rgba(129,120,255,.08);
}
.tx-section{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}
.tx-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:20px;
}
.tx-label{
  font-size:12px;
  font-weight:700;
  color:var(--muted);
}
.tx-count{
  font-size:11px;
  font-weight:700;
  color:var(--primary);
  background:var(--primary-soft);
  border-radius:999px;
  padding:2px 9px;
}
.tx-count.is-full{
  color:var(--success);
  background:var(--success-soft);
}
.tx-bar{
  height:4px;
  border-radius:999px;
  background:rgba(120,124,140,.18);
  overflow:hidden;
}
.tx-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#818cf8,var(--primary));
  transition:width .3s ease;
}
.tx-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.tx-sub{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 10px 0 4px;
  border-radius:14px;
  background:var(--card);
  border:1px solid var(--border);
  cursor:pointer;
  box-sizing:border-box;
}
.tx-check{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid rgba(120,124,140,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  line-height:1;
  color:transparent;
  box-sizing:border-box;
  transition:background .15s ease,border-color .15s ease;
}
.tx-sub.is-done .tx-check{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.tx-sub-title{
  flex:1;
  min-width:0;
  font-size:13.5px;
  text-align:right;
  color:var(--text);
  overflow-wrap:anywhere;
  padding:9px 0;
}
.tx-sub.is-done .tx-sub-title{
  color:var(--muted);
  text-decoration:line-through;
}
.tx-del{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  font-size:18px;
  line-height:1;
  padding:0;
  opacity:.75;
}
.tx-del:active{
  background:var(--danger-soft);
  color:var(--danger);
}
.tx-add{
  display:flex;
  align-items:center;
  gap:8px;
}
.tx-input{
  flex:1;
  min-width:0;
  height:42px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  font-family:inherit;
  font-size:13.5px;
  text-align:right;
  box-sizing:border-box;
  outline:none;
}
.tx-input:focus{
  border-color:var(--primary);
}
.tx-input::placeholder{
  color:var(--muted);
}
.tx-addbtn{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:0;
  border-radius:14px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:22px;
  line-height:1;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tx-addbtn:active{
  background:var(--primary);
  color:#fff;
}
.tx-limit{
  font-size:12px;
  color:var(--muted);
  text-align:center;
  padding:4px 0;
}
.tx-note{
  width:100%;
  min-height:84px;
  max-height:220px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  font-family:inherit;
  font-size:13.5px;
  line-height:1.9;
  text-align:right;
  direction:rtl;
  resize:none;
  box-sizing:border-box;
  outline:none;
}
.tx-note:focus{
  border-color:var(--primary);
}
.tx-note::placeholder{
  color:var(--muted);
}
.tx-status{
  font-size:11px;
  color:var(--muted);
}
.tx-status.ok{ color:var(--success); }
.tx-status.err{ color:var(--danger); }
/* END NOZAR_TASK_EXTRAS_V2 */

/* NOZAR_HABIT_JOURNEY_CHOICE_CSS_V1 (20260923) */
.habit-journey-choices{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:6px;
}
.habit-journey-choice{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:68px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  text-align:right;
  direction:rtl;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
}
.habit-journey-choice:active{
  transform:scale(.98);
  border-color:var(--primary);
  background:var(--primary-soft);
}
.habit-journey-choice-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:var(--primary-soft);
  font-size:22px;
  line-height:1;
}
.habit-journey-choice-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.habit-journey-choice-copy strong{
  font-size:14px;
  font-weight:850;
}
.habit-journey-choice-copy small{
  font-size:11.5px;
  color:var(--muted);
  font-weight:600;
}
/* END NOZAR_HABIT_JOURNEY_CHOICE_CSS_V1 */

/* NOZAR_TODAY_PLUS_BUTTONS_V1 (20260923) */
#view-today .card-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
#view-today .today-head-plus{
  min-width:44px;
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--card);
  color:var(--primary);
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, opacity .15s ease;
}
#view-today .today-head-plus:active{
  transform:scale(.94);
}
#view-today .today-head-plus svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view-today .today-head-plus:disabled,
#view-today .today-head-plus.is-disabled{
  opacity:.35;
  cursor:default;
}
#view-today.today-loading-state #todayAddTaskBtn,
#view-today.today-loading-state #todayAddHabitBtn{
  visibility:hidden;
}
#view-today.today-error-state #todayAddTaskBtn{
  display:none;
}
/* END NOZAR_TODAY_PLUS_BUTTONS_V1 */

/* NOZAR_TASKCOUNT_SQUARE_V1 (20260924) */
#view-today .today-tasks-card .card-head-actions #taskCount.pill{
  box-sizing:border-box;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--card);
  color:var(--muted);
  font-size:12.5px;
  font-weight:800;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  cursor:default;
}
/* END NOZAR_TASKCOUNT_SQUARE_V1 */

/* NOZAR_TREASURE_BACK_ARROW_V1 (20260924) */
#treasureCard .treasure-back-row{
  direction:rtl;
  justify-content:flex-start;
  align-items:center;
  margin:0 0 2px;
}
#treasureCard .treasure-back-btn{
  width:36px;
  height:36px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--muted);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, color .15s ease;
}
#treasureCard .treasure-back-btn:active{
  transform:scale(.92);
  color:var(--primary);
}
#treasureCard .treasure-back-btn svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* END NOZAR_TREASURE_BACK_ARROW_V1 */

/* NOZAR_HABIT_JOURNEY_MINIMAL_V2 (20260924) */
.habit-journey-choices{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:2px 0 4px;
}
.habit-journey-choices .habit-journey-choice{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:62px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--card);
  box-shadow:none;
  color:var(--text);
  font:inherit;
  text-align:right;
  direction:rtl;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, border-color .15s ease, background .15s ease;
}
.habit-journey-choices .habit-journey-choice:active{
  transform:scale(.985);
  border-color:var(--primary);
  background:var(--primary-soft);
}
.habit-journey-choices .habit-journey-choice-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:0;
  line-height:0;
}
.habit-journey-choices .habit-journey-choice-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.habit-journey-choices .habit-journey-choice-copy{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.habit-journey-choices .habit-journey-choice-copy strong{
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}
.habit-journey-choices .habit-journey-choice-copy small{
  font-size:11.5px;
  font-weight:600;
  line-height:1.6;
  color:var(--muted);
}
.habit-journey-choices .habit-journey-chev{
  flex:0 0 auto;
  width:16px;
  height:16px;
  fill:none;
  stroke:var(--muted);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.55;
}
.habit-journey-back{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  min-height:44px;
  margin-top:2px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:12px;
  font-weight:750;
  -webkit-tap-highlight-color:transparent;
}
.habit-journey-back svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.habit-journey-back:active{
  color:var(--primary);
}
#planSheet:has(.habit-journey-choices) .plan-sheet-head h3{
  font-size:15.5px;
  font-weight:850;
}
#planSheet:has(.habit-journey-choices) .plan-sheet-close{
  width:40px;
  height:40px;
  border-radius:12px;
  background:var(--primary-soft);
  color:var(--primary);
  font-size:20px;
  line-height:1;
}
/* END NOZAR_HABIT_JOURNEY_MINIMAL_V2 */

/* NOZAR_GOAL_PLUS_COMPACT_V1 (20260924) */
#view-plan .plan-hub-flat.plan-goals-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"list add" "arch arch" "archlist archlist";
  align-items:center;
  column-gap:10px;
  padding:8px 12px !important;
}
#view-plan .plan-goals-panel .plan-panel-head{
  grid-area:add;
  margin:0 !important;
  display:block;
}
#view-plan .plan-goals-panel #planGoals{ grid-area:list; min-width:0; }
#view-plan .plan-goals-panel #planArchiveToggle{ grid-area:arch; }
#view-plan .plan-goals-panel #planArchive{ grid-area:archlist; }
#view-plan .plan-goals-panel #planGoals .plan-empty-compact{
  padding:0;
  text-align:right;
  font-size:13px;
  line-height:1.8;
}
#view-plan .plan-goals-panel .plan-add-goal-plus{
  box-sizing:border-box;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--card);
  color:var(--primary);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease;
}
#view-plan .plan-goals-panel .plan-add-goal-plus:active{ transform:scale(.94); }
#view-plan .plan-goals-panel .plan-add-goal-plus svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* وقتی هدف ثبت شده: دکمه + بالا سمت چپ، کارت هدف زیرش تمام‌عرض */
#view-plan .plan-hub-flat.plan-goals-panel:has(#planGoals .plan-goal-card){
  grid-template-columns:1fr;
  grid-template-areas:"add" "list" "arch" "archlist";
  row-gap:8px;
}
#view-plan .plan-goals-panel:has(#planGoals .plan-goal-card) .plan-panel-head{ justify-self:end; }
/* END NOZAR_GOAL_PLUS_COMPACT_V1 */

/* NOZAR_PLAN_ICON_BUTTONS_V1 (20260924) */
#view-plan .plan-icon-sq{
  box-sizing:border-box;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--card);
  color:var(--primary);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease;
}
#view-plan .plan-icon-sq:active{ transform:scale(.94); }
#view-plan .plan-icon-sq svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* این ماه و این هفته: کادر فشرده، متن سمت راست و دکمه آیکونی روبه‌رویش */
#planHubMonth .plan-hub-flat,
#planHubWeek .plan-hub-flat{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:10px;
  align-items:center;
  padding:8px 12px !important;
}
#planHubMonth .plan-hub-flat > *,
#planHubWeek .plan-hub-flat > *{ grid-column:1 / -1; min-width:0; }
#planHubMonth .plan-hub-flat > .plan-panel-head,
#planHubWeek .plan-hub-flat > .plan-panel-head{
  grid-column:2;
  grid-row:1;
  margin:0 !important;
  display:block;
}
#planHubMonth .plan-hub-flat > .plan-panel-head > div,
#planHubWeek .plan-hub-flat > .plan-panel-head > div{ display:none; }
#planHubMonth .plan-hub-flat > #planMonthFocus,
#planHubWeek .plan-hub-flat > #planWeekFocus{
  grid-column:1;
  grid-row:1;
  margin:0;
}
#planHubMonth .plan-hub-flat > .plan-focus-empty,
#planHubWeek .plan-hub-flat > .plan-focus-empty{
  border:0;
  padding:0;
  font-size:13px;
  line-height:1.8;
  text-align:right;
}
#planHubWeek .plan-subhead{ margin:10px 0 6px; }
/* END NOZAR_PLAN_ICON_BUTTONS_V1 */

/* NOZAR_PLAN_TODAY_BLUE_V1 (20260924) — کارت «امروز» در تب برنامه: کاملاً آبی و متمایز */
#view-plan #planTodayBtn.plan-today-entry{
  --today-blue:#2f6df0;
  background:var(--today-blue) !important;
  border:0 !important;
  box-shadow:0 8px 20px rgba(47,109,240,.28) !important;
  color:#fff !important;
}
#view-plan #planTodayBtn .plan-hub-copy strong,
#view-plan #planTodayBtn .plan-hub-title{
  color:#fff !important;
}
#view-plan #planTodayBtn .plan-hub-copy small,
#view-plan #planTodayBtn .plan-hub-lead,
#view-plan #planTodayBtn .plan-hub-detail{
  color:rgba(255,255,255,.88) !important;
}
#view-plan #planTodayBtn .plan-title-icon,
#view-plan #planTodayBtn .plan-title-icon[data-stage-icon="today"]{
  background:rgba(255,255,255,.2) !important;
  color:#fff !important;
}
#view-plan #planTodayBtn .plan-title-icon svg{ stroke:#fff !important; }
#view-plan #planTodayBtn .plan-stage-ring[data-stage="today"]{
  --ring-color:#fff;
  --ring-track:rgba(255,255,255,.28);
}
#view-plan #planTodayBtn .plan-stage-ring-label{ color:#fff !important; }
#view-plan #planTodayBtn .plan-hub-chevron,
#view-plan #planTodayBtn .plan-today-meta{ color:#fff !important; opacity:.95 !important; }
#view-plan #planTodayBtn .plan-step-index,
#view-plan #planTodayBtn .plan-step-index[data-step-stage="today"]{
  background:#2f6df0 !important;
  color:#fff !important;
  border-color:transparent !important;
}
/* END NOZAR_PLAN_TODAY_BLUE_V1 */

/* NOZAR_PLAN_OPEN_PANEL_LIGHTBLUE_V1 (20260924) — کارت بازشونده زیر هدف / این ماه / این هفته: آبی کم‌رنگ */
#view-plan details.plan-hub-section > .plan-hub-body{
  background:transparent !important;
}
#view-plan details.plan-hub-section .plan-hub-body > .plan-hub-flat{
  background:#eaf2ff !important;
  border:1px solid rgba(47,109,240,.10) !important;
}
body.tg-dark #view-plan details.plan-hub-section .plan-hub-body > .plan-hub-flat{
  background:rgba(110,168,255,.12) !important;
  border-color:rgba(110,168,255,.16) !important;
}
/* END NOZAR_PLAN_OPEN_PANEL_LIGHTBLUE_V1 */


/* NOZAR_PLAN_NO_MONTH_V1: خط رابط سه‌قدمی (بدون رنگ ماه) */
#view-plan .plan-path::before{
  background:linear-gradient(to bottom, var(--stage-goal), var(--stage-week), var(--stage-today)) !important;
}

/* NOZAR_RING_EMPTY_V1 */
#view-plan .plan-stage-ring.is-empty .plan-stage-ring-track{stroke-dasharray:3 5;opacity:.75}
#view-plan .plan-stage-ring.is-empty .plan-stage-ring-label{opacity:.6}

/* NOZAR_GOAL_JOURNEY_V1 */
.plan-journey-line{display:flex;align-items:stretch;gap:8px;margin:8px 0 2px;direction:rtl}
.plan-journey-line span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:12px;background:var(--surface-2, rgba(127,127,127,.09));font-size:12px;font-weight:800;line-height:1.55;overflow-wrap:anywhere;text-align:right}
.plan-journey-line small{font-size:10.5px;font-weight:700;color:var(--muted)}
.plan-journey-line i{align-self:center;font-style:normal;color:var(--muted);font-size:15px}
.plan-marks-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}

/* NOZAR_GOAL_JOURNEY_UI_V2 */
.plan-measure-choice{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;margin-top:8px !important}
.plan-measure-btn{min-height:112px;padding:14px 10px !important;justify-content:center;align-items:center;gap:8px !important;border-radius:16px !important;border-width:1.5px !important}
.plan-measure-title{font-size:16px !important;font-weight:850 !important}
.plan-measure-desc{font-size:12px !important;line-height:1.7 !important}
@media(max-width:360px){.plan-measure-choice{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
.plan-label-title{display:block;font-size:14px;font-weight:850;color:var(--text);line-height:1.6}
.plan-label-title .plan-label-optional{font-size:11.5px}
.plan-label-hint{display:block;font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.7}
.plan-help-examples{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding:11px 13px;border-radius:14px;background:var(--primary-soft, rgba(90,84,230,.08))}
.plan-help-examples div{display:flex;flex-direction:column;gap:1px}
.plan-help-examples b{font-size:11.5px;font-weight:850;color:var(--primary)}
.plan-help-examples span{font-size:13px;font-weight:650;color:var(--text);line-height:1.65}

/* NOZAR_GOAL_JOURNEY_UI_V3_MINIMAL */
#planGoalStep1Form,#planGoalStep2Form{gap:14px}
#planGoalStep1Form .plan-label-title,#planGoalStep2Form .plan-label-title{font-size:13px;font-weight:750}
#planGoalStep1Form .plan-label-hint,#planGoalStep2Form .plan-label-hint{font-size:11px;font-weight:500;opacity:.85}
#planGoalStep1Form .plan-input,#planGoalStep1Form .plan-select,#planGoalStep2Form .plan-input,#planGoalStep2Form .plan-textarea{font-size:13.5px;padding:10px 12px;min-height:0;border-radius:12px}
#planGoalStep1Form .plan-help-examples{gap:3px;margin-top:2px;padding:0;background:none;border-radius:0}
#planGoalStep1Form .plan-help-examples div{flex-direction:row;align-items:baseline;gap:6px}
#planGoalStep1Form .plan-help-examples b{font-size:11px;font-weight:600;color:var(--muted)}
#planGoalStep1Form .plan-help-examples b::after{content:":"}
#planGoalStep1Form .plan-help-examples span{font-size:12px;font-weight:500;color:var(--muted);line-height:1.6}
#planGoalStep1Form .plan-measure-choice{gap:8px !important;margin-top:4px !important}
#planGoalStep1Form .plan-measure-btn{min-height:0 !important;padding:10px 8px !important;gap:3px !important;border-radius:12px !important;border-width:1px !important;background:transparent !important;color:var(--text) !important}
#planGoalStep1Form .plan-measure-btn.active{border-color:var(--primary) !important;border-width:1.5px !important;background:rgba(90,84,230,.05) !important}
#planGoalStep1Form .plan-measure-title{font-size:13.5px !important;font-weight:800 !important;color:var(--text) !important}
#planGoalStep1Form .plan-measure-desc,#planGoalStep1Form .plan-measure-btn.active .plan-measure-desc{font-size:11px !important;line-height:1.6 !important;color:var(--muted) !important}
#planGoalStep1Form .plan-submit,#planGoalStep2Form .plan-submit{min-height:44px;font-size:14px}

/* NOZAR_WEEK_BOX_MATCH_GOAL_V1 (20260924) - کادر «این هفته» هم‌اندازه و هم‌سبک کادر «هدف» */
#planHubWeek .plan-hub-flat{ padding:8px 12px !important; }
#planHubWeek .plan-hub-flat > .plan-subhead{
  margin:0 !important;
  padding:0 !important;
  min-height:44px;
  align-items:center;
}
#planHubWeek .plan-hub-flat > .plan-subhead strong{
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.8;
  color:var(--muted);
  text-align:right;
}
#planHubWeek .plan-hub-flat:has(#planWeekTasks .plan-item) > .plan-subhead{ margin-bottom:8px !important; }
#planHubWeek #planCarryWeek{ margin-top:8px; }
/* END NOZAR_WEEK_BOX_MATCH_GOAL_V1 */

/* NOZAR_GOAL_CARD_COMPACT_V1 (20260924) - کارت هدف فشرده، مداد کنار کارت */
#view-plan .plan-hub-flat.plan-goals-panel:has(#planGoals .plan-goal-card){
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"list add" "arch arch" "archlist archlist";
  align-items:start;
  column-gap:8px;
  row-gap:6px;
  padding:8px 10px !important;
}
#view-plan .plan-goals-panel:has(#planGoals .plan-goal-card) .plan-panel-head{
  justify-self:auto;
  align-self:start;
}
#view-plan .plan-goals-panel .plan-goal-card{
  padding:10px 12px !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
#view-plan .plan-goals-panel .plan-goal-bar{
  height:6px !important;
  margin-top:6px !important;
}
#view-plan .plan-goals-panel .plan-journey-line{
  gap:6px;
  margin:6px 0 0;
}
#view-plan .plan-goals-panel .plan-journey-line span{
  padding:5px 8px;
  font-size:11.5px;
  border-radius:10px;
}
#view-plan .plan-goals-panel .plan-goal-next{
  margin-top:6px !important;
  padding:6px 8px !important;
  border-radius:10px !important;
}
/* END NOZAR_GOAL_CARD_COMPACT_V1 */

/* NOZAR_GOAL_CARD_FLAT_NUMBER_V1 (20260924) - کارت هدف تخت، بدون عنوان تکراری، مداد وسط */
#view-plan .plan-hub-flat.plan-goals-panel:has(#planGoals .plan-goal-card){
  align-items:center;
}
#view-plan .plan-goals-panel:has(#planGoals .plan-goal-card) .plan-panel-head{
  align-self:center;
}
#view-plan .plan-goals-panel #planGoals .plan-goal-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:2px 0 !important;
}
#view-plan .plan-goals-panel #planGoals .plan-goal-title{ display:none; }
#view-plan .plan-goals-panel #planGoals .plan-goal-top{ justify-content:flex-start; }
#view-plan .plan-goals-panel #planGoals .plan-goal-pct{ font-size:13px; }
/* END NOZAR_GOAL_CARD_FLAT_NUMBER_V1 */

/* NOZAR_GOAL_CARD_SLIM_V1 (20260924) - کارت هدف باریک: مبدأ ← مقصد در یک خط ساده */
#view-plan .plan-goals-panel #planGoals .plan-goal-top{ line-height:1.4; }
#view-plan .plan-goals-panel #planGoals .plan-goal-bar{
  height:6px !important;
  margin-top:4px !important;
}
#view-plan .plan-goals-panel #planGoals .plan-journey-line{
  margin:4px 0 0;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
}
#view-plan .plan-goals-panel #planGoals .plan-journey-line span{
  flex:0 1 auto;
  flex-direction:row;
  background:transparent !important;
  padding:0 !important;
  border-radius:0;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
}
#view-plan .plan-goals-panel #planGoals .plan-journey-line small{ display:none; }
#view-plan .plan-goals-panel #planGoals .plan-journey-line i{ font-size:13px; }
/* END NOZAR_GOAL_CARD_SLIM_V1 */

/* NOZAR_WEEK_TASK_CARD_V1 (20260924) - mirrored Today task rules for #planWeekTasks (33 rules) */

#planWeekTasks{--today-v1-radius:18px;--today-v1-control:36px;}
#planWeekTasks .task-item{padding:8px 6px;}
#planWeekTasks .task-item{min-height:44px;
  gap:9px;}
#planWeekTasks .task-item{min-height:42px;
  padding:6px 2px;
  gap:8px;}
body.tg-dark #planWeekTasks .check{border-color:rgba(255,255,255,.14);}
#planWeekTasks .item-more-btn{width:29px;
  height:29px;
  flex-basis:29px;
  color:color-mix(in srgb, var(--muted) 78%, transparent);}
#planWeekTasks .item-more-btn .ui-icon{width:16px;
  height:16px;}
#planWeekTasks .task-item{min-height:38px;
  padding:4px 2px;}
#planWeekTasks .item-more-btn,
#planWeekTasks .task-more-btn{min-width:28px;
  max-width:28px;
  width:28px;
  flex:0 0 28px;
  align-self:center;
  justify-self:center;
  margin-inline-start:8px;
  margin-inline-end:0;}
#planWeekTasks .task-more-btn{position:relative;
  top:0;}
@media (max-width:360px){
#planWeekTasks .task-item{min-height:36px;}
}
#planWeekTasks{gap:0;}
#planWeekTasks .task-item{min-height:40px;
  padding:4px 0;
  gap:8px;
  border-radius:10px;}
#planWeekTasks .check{width:24px;
  height:24px;
  flex:0 0 24px;
  border-color:rgba(31,35,48,.13);}
#planWeekTasks .task-more-btn{width:var(--today-control-col);
  min-width:var(--today-control-col);
  max-width:var(--today-control-col);
  height:28px;
  flex:0 0 var(--today-control-col);
  padding:0;
  margin-inline-start:6px;
  margin-inline-end:0;
  align-self:center;
  color:color-mix(in srgb, var(--muted) 66%, transparent);}
#planWeekTasks .task-more-btn .ui-icon{width:15px;
  height:15px;}
#planWeekTasks .task-item.done .check{background:var(--success);
  border-color:var(--success);}
#planWeekTasks .check,
#planWeekTasks .item-more-btn{transition:transform .12s ease, background-color .18s ease, border-color .18s ease,
             color .18s ease, box-shadow .18s ease;}
#planWeekTasks .check:active{transform:scale(.88);}
#planWeekTasks .item-more-btn:active{transform:scale(.90);}
@media (max-width:360px){
#planWeekTasks .task-item{min-height:38px;}
}
@media (prefers-reduced-motion:reduce){
#planWeekTasks .check,
#planWeekTasks .item-more-btn{transition:none !important;}
}
#planWeekTasks .task-more-btn{color:var(--muted);
  opacity:.82;}
#planWeekTasks .task-more-btn:active{opacity:1;}
#planWeekTasks .task-item{min-height:46px;
  padding:5px 0;
  gap:9px;}
#planWeekTasks .task-title{font-size:14px;
  font-weight:550;
  line-height:1.7;}
#planWeekTasks .check{width:24px;
  height:24px;
  min-width:24px;
  flex:0 0 24px;}
#planWeekTasks .task-more-btn{width:var(--today-v1-control);
  min-width:var(--today-v1-control);
  max-width:var(--today-v1-control);
  height:var(--today-v1-control);
  flex-basis:var(--today-v1-control);
  margin-inline-start:2px;}
#planWeekTasks .task-item .check{width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  flex:0 0 24px !important;
  padding:0 !important;
  line-height:1 !important;
  box-sizing:border-box;}
#planWeekTasks .task-wrap .task-item{grid-template-columns:28px 28px auto minmax(0,1fr) 36px !important;
  grid-template-areas:"more expand chip title check" !important;
  column-gap:6px !important;}
#planWeekTasks .task-wrap .task-item .tx-chip{grid-area:chip;
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:22px;
  padding:0 8px;
  border:0;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary);
  font-family:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1;
  direction:ltr;}
#planWeekTasks .task-wrap .task-item .tx-chip.is-full{background:var(--success-soft);
  color:var(--success);}
#planWeekTasks .task-extra-holder .tx-panel{direction:rtl;
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:6px 4px 4px 4px;
  padding:12px;
  box-sizing:border-box;
  border-radius:18px;
  background:rgba(79,70,229,.05);
  border:1px solid var(--border);}
body.tg-dark #planWeekTasks .task-extra-holder .tx-panel{background:rgba(129,120,255,.08);}
#planHubWeek .plan-hub-flat:has(#planWeekTasks .task-wrap) > .plan-subhead{ margin-bottom:8px !important; }
/* END NOZAR_WEEK_TASK_CARD_V1 */

/* NOZAR_WEEK_CARRY_REVIEW_V1 */
.plan-carry-form{gap:12px}
.plan-carry-intro{margin:0;color:var(--muted);font-size:12.5px;line-height:1.9}
.plan-carry-list{display:grid;gap:8px}
.plan-carry-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:54px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent}
.plan-carry-row input{position:absolute;opacity:0;pointer-events:none}
.plan-carry-check{width:22px;height:22px;border:1.5px solid var(--border);border-radius:7px;display:grid;place-items:center;transition:.15s ease}
.plan-carry-row input:checked + .plan-carry-check{background:var(--primary);border-color:var(--primary)}
.plan-carry-row input:checked + .plan-carry-check::after{content:"✓";color:#fff;font-size:13px;font-weight:900;line-height:1}
.plan-carry-copy{min-width:0;display:grid;gap:2px}
.plan-carry-copy strong{font-size:13px;font-weight:750;color:var(--text);line-height:1.7;overflow-wrap:anywhere}
.plan-carry-copy small{font-size:11px;color:var(--muted);line-height:1.6}
#planCarryWeek{font-weight:750}
/* END NOZAR_WEEK_CARRY_REVIEW_V1 */

/* NOZAR_HABIT_WEEK_GOAL_LINKS_V1 */
.plan-week-habit-head{margin-top:16px!important;align-items:center}
.plan-week-habit-head small{display:block;margin-top:2px;color:var(--muted);font-size:10.5px;font-weight:500;line-height:1.45}
.plan-week-habits{display:grid;gap:7px;margin-top:6px}
.plan-week-habit-row,.plan-week-habit-empty{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:14px;min-height:48px;padding:8px 10px;display:flex;align-items:center;gap:9px;text-align:right;color:var(--text);font:inherit}
.plan-week-habit-empty{justify-content:center;color:var(--muted);font-size:12px;border-style:dashed}
.plan-week-habit-emoji{width:29px;height:29px;border-radius:10px;background:var(--primary-soft);display:grid;place-items:center;flex:0 0 auto;font-size:16px}
.plan-week-habit-copy{min-width:0;flex:1;display:grid;gap:2px}
.plan-week-habit-copy strong{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-week-habit-copy small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-week-habit-picker{display:grid;gap:2px}
.plan-week-habit-check>span{display:grid;gap:2px;min-width:0}
.plan-week-habit-check strong{font-size:12.5px}
.plan-week-habit-check small{font-size:10.5px;color:var(--muted)}
body.tg-dark .plan-week-habit-row,body.tg-dark .plan-week-habit-empty{background:rgba(255,255,255,.025)}

/* NOZAR_WEEK_HABITS_UI_V2
   Clear visual separation between weekly tasks and linked weekly habits.
   Scoped to Plan > This Week only. */
#planHubWeek .plan-week-block{
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
}
#planHubWeek .plan-week-block + .plan-week-block{margin-top:10px}
#planHubWeek .plan-week-tasks-block{box-shadow:inset -3px 0 0 var(--stage-week)}
#planHubWeek .plan-week-habits-block{box-shadow:inset -3px 0 0 var(--success)}
#planHubWeek .plan-week-block .plan-subhead,
#planHubWeek .plan-week-block .plan-week-habit-head{
  margin:0 0 8px !important;
  padding:0 !important;
  min-height:40px;
  align-items:center;
}
#planHubWeek .plan-week-block .plan-subhead>div{min-width:0;display:grid;gap:2px}
#planHubWeek .plan-week-block .plan-subhead strong{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.6;
}
#planHubWeek .plan-week-block .plan-subhead small{
  display:block;
  margin:0;
  color:var(--muted);
  font-size:10.5px;
  font-weight:500;
  line-height:1.5;
}
#planHubWeek .plan-week-kind-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 8px;
}
#planHubWeek .plan-week-tasks-block .plan-week-kind-dot{background:var(--stage-week)}
#planHubWeek .plan-week-habits-block .plan-week-kind-dot{background:var(--success)}
#planHubWeek .plan-week-tasks-block #planWeekTasks,
#planHubWeek .plan-week-habits-block #planWeekHabits{margin-top:0}
#planHubWeek .plan-week-habit-row{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:transform var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast);
}
#planHubWeek .plan-week-habit-row:active{transform:scale(.985);background:var(--success-soft);border-color:rgba(33,137,91,.22)}
#planHubWeek .plan-week-habit-row:focus-visible{outline:3px solid var(--success-soft);outline-offset:2px}
#planHubWeek .plan-week-habit-emoji{
  background:var(--success-soft);
  color:var(--success);
}
#planHubWeek .plan-week-habit-enter{
  width:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:20px;
  line-height:1;
}
#planHubWeek .plan-week-habits:empty{display:none}
body.tg-dark #planHubWeek .plan-week-block{background:var(--surface)}
/* END NOZAR_WEEK_HABITS_UI_V2 */

/* NOZAR_WEEK_HABIT_ACTIONS_V3
   Plan > This Week only: separate "report" navigation from today's habit action. */
#planHubWeek .plan-week-habit-row{
  padding:0;
  gap:7px;
  overflow:hidden;
  cursor:default;
  transform:none;
}
#planHubWeek .plan-week-habit-row:active{transform:none;background:var(--surface);border-color:var(--border)}
#planHubWeek .plan-week-habit-main{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  flex:1 1 auto;
  min-width:0;
  min-height:58px;
  padding:8px 9px;
  display:flex;
  align-items:center;
  gap:9px;
  text-align:right;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#planHubWeek .plan-week-habit-main:active{background:var(--success-soft)}
#planHubWeek .plan-week-habit-main:focus-visible,
#planHubWeek .plan-week-habit-toggle:focus-visible,
#planHubWeek .plan-week-habit-value:focus-visible{outline:3px solid var(--success-soft);outline-offset:-2px}
#planHubWeek .plan-week-habit-titleline{display:flex;align-items:center;gap:7px;min-width:0}
#planHubWeek .plan-week-habit-titleline strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#planHubWeek .plan-week-habit-titleline em{font-style:normal;font-size:9.5px;font-weight:700;color:var(--muted);white-space:nowrap}
#planHubWeek .plan-week-habit-track{display:flex;align-items:flex-end;gap:5px;margin-top:4px;direction:rtl}
#planHubWeek .plan-week-habit-day{display:grid;justify-items:center;gap:2px;min-width:12px;color:var(--muted);opacity:.72}
#planHubWeek .plan-week-habit-day b{font-size:8.5px;line-height:1;font-weight:650}
#planHubWeek .plan-week-habit-day i{display:block;width:6px;height:6px;border-radius:50%;background:var(--border)}
#planHubWeek .plan-week-habit-day.full i{background:var(--success)}
#planHubWeek .plan-week-habit-day.partial i{background:var(--warning)}
#planHubWeek .plan-week-habit-day.today{opacity:1;color:var(--text)}
#planHubWeek .plan-week-habit-day.today i{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--success)}
#planHubWeek .plan-week-habit-day.future{opacity:.34}
#planHubWeek .plan-week-habit-toggle{
  appearance:none;
  -webkit-appearance:none;
  width:34px;
  height:34px;
  flex:0 0 34px;
  margin-left:9px;
  border:1.5px solid var(--border);
  border-radius:50%;
  background:var(--card);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast);
}
#planHubWeek .plan-week-habit-toggle.full{background:var(--success);border-color:var(--success)}
#planHubWeek .plan-week-habit-toggle:active{transform:scale(.92)}
#planHubWeek .plan-week-habit-toggle.is-pending{opacity:.55;pointer-events:none}
#planHubWeek .plan-week-habit-value{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  min-width:62px;
  max-width:84px;
  min-height:38px;
  margin-left:7px;
  padding:5px 7px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--text);
  display:grid;
  place-items:center;
  gap:1px;
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#planHubWeek .plan-week-habit-value strong{font-size:10.5px;line-height:1.2;white-space:nowrap}
#planHubWeek .plan-week-habit-value small{font-size:8.5px;line-height:1.2;color:var(--muted);max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#planHubWeek .plan-week-habit-value.full{background:var(--success-soft);border-color:rgba(33,137,91,.28)}
#planHubWeek .plan-week-habit-value.partial{background:var(--warning-soft);border-color:rgba(184,120,16,.28)}
.plan-week-habit-value-target{padding:9px 11px;border-radius:12px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.8}
.plan-week-habit-value-target strong{color:var(--text)}
body.tg-dark #planHubWeek .plan-week-habit-toggle,
body.tg-dark #planHubWeek .plan-week-habit-value{background:rgba(255,255,255,.035)}
body.tg-dark #planHubWeek .plan-week-habit-toggle.full{background:var(--success)}
/* END NOZAR_WEEK_HABIT_ACTIONS_V3 */

/* NOZAR_WEEK_HABIT_VISUAL_V44
   Canonical weekly-habit visual layer. Replaces V4/V41/V42/V43 overrides.
   Functional behavior remains in NOZAR_WEEK_HABIT_ACTIONS_V3. */
#planHubWeek .plan-week-habits-block{
  background:linear-gradient(180deg,color-mix(in srgb,var(--success-soft) 14%,var(--surface)) 0%,var(--surface) 32%);
  box-shadow:inset -2px 0 0 color-mix(in srgb,var(--success) 70%,transparent),0 6px 20px rgba(20,20,43,.026);
}
#planHubWeek .plan-week-habits{gap:9px;margin-top:2px}
#planHubWeek .plan-week-habit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto;
  gap:0;
  min-height:0;
  padding:0 12px;
  overflow:hidden;
  cursor:default;
  transform:none;
  direction:rtl;
  border-radius:18px;
  border:1px solid color-mix(in srgb,var(--success) 9%,var(--border));
  background:linear-gradient(145deg,var(--card) 0%,color-mix(in srgb,var(--success-soft) 5%,var(--card)) 100%);
  box-shadow:0 3px 11px rgba(20,20,43,.025);
}
#planHubWeek .plan-week-habit-row:active{transform:none;background:inherit}
#planHubWeek .plan-week-habit-row:focus-within{
  border-color:color-mix(in srgb,var(--success) 24%,var(--border));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--success-soft) 40%,transparent),0 4px 13px rgba(20,20,43,.03);
}

/* Top: habit identity + report affordance */
#planHubWeek .plan-week-habit-main{
  grid-column:1;
  grid-row:1;
  width:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:11px 0 9px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  direction:rtl;
  text-align:right;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#planHubWeek .plan-week-habit-main:active{background:transparent;opacity:.74}
#planHubWeek .plan-week-habit-emoji{
  width:33px;height:33px;flex:0 0 33px;
  margin:0;
  display:grid;place-items:center;
  border:0;border-radius:11px;
  background:color-mix(in srgb,var(--success-soft) 47%,var(--surface));
  color:var(--success);
  box-shadow:none;
  font-size:16px;
}
#planHubWeek .plan-week-habit-copy{
  min-width:0;flex:1;
  display:grid;gap:4px;
  align-self:auto;
}
#planHubWeek .plan-week-habit-titleline{
  min-width:0;min-height:21px;
  display:flex;align-items:flex-start;gap:8px;
  direction:rtl;
}
#planHubWeek .plan-week-habit-titleline strong{
  min-width:0;flex:1;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  white-space:normal;
  text-overflow:ellipsis;
  font-size:14px;
  line-height:1.45;
  font-weight:850;
  letter-spacing:-.08px;
}
#planHubWeek .plan-week-habit-detail-arrow{display:none!important}
#planHubWeek .plan-week-habit-report{
  flex:0 0 auto;
  margin-top:1px;padding:0;
  border:0;border-radius:0;background:transparent;
  color:color-mix(in srgb,var(--success) 58%,var(--muted));
  font-style:normal;
  font-size:9px;font-weight:720;line-height:1.7;
  white-space:nowrap;
}
#planHubWeek .plan-week-habit-meta{
  min-height:17px;
  display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  overflow:visible;
}
#planHubWeek .plan-week-habit-schedule,
#planHubWeek .plan-week-habit-goal{
  min-height:17px;max-width:100%;
  padding:1px 6px;
  border:0;border-radius:999px;
  font-size:8.7px;line-height:1.5;font-weight:650;
}
#planHubWeek .plan-week-habit-schedule{
  background:color-mix(in srgb,var(--surface-soft) 62%,transparent);
  color:var(--muted);
}
#planHubWeek .plan-week-habit-goal{
  background:color-mix(in srgb,var(--success-soft) 28%,transparent);
  color:color-mix(in srgb,var(--success) 68%,var(--text));
}

/* Middle: TODAY action. Explicitly reset legacy V3 flex sizing. */
#planHubWeek .plan-week-habit-today-row{
  grid-column:1;grid-row:2;
  min-width:0;min-height:44px;
  padding:7px 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  direction:rtl;
  border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);
}
#planHubWeek .plan-week-habit-today-label{
  flex:0 0 auto;
  color:var(--muted);
  font-size:10px;line-height:1.3;font-weight:760;
  white-space:nowrap;
}
#planHubWeek .plan-week-habit-toggle{
  appearance:none;-webkit-appearance:none;
  flex:0 0 auto; /* critical V4.4 reset: overrides V3 flex:0 0 34px */
  width:auto;min-width:0;max-width:none;
  height:32px;min-height:32px;
  margin:0;
  padding:0 10px;
  display:inline-flex;flex-direction:row;
  align-items:center;justify-content:center;gap:6px;
  direction:rtl;
  border:1px solid color-mix(in srgb,var(--success) 11%,var(--border));
  border-radius:999px;
  background:color-mix(in srgb,var(--surface-soft) 62%,transparent);
  color:var(--text);
  box-shadow:none;
  font:inherit;
  cursor:pointer;
}
#planHubWeek .plan-week-habit-toggle:active{transform:scale(.97)}
#planHubWeek .plan-week-habit-toggle.is-pending{opacity:.55;pointer-events:none}
#planHubWeek .plan-week-habit-toggle-orb{
  width:20px;height:20px;flex:0 0 20px;
  display:grid;place-items:center;
  border:1.5px solid color-mix(in srgb,var(--muted) 62%,var(--border));
  border-radius:50%;
  background:var(--card);
  color:#fff;
  box-shadow:none;
  font-size:11px;font-weight:900;
}
#planHubWeek .plan-week-habit-action-text{
  display:block;
  font-size:10px;line-height:1;font-weight:800;
  white-space:nowrap;
}
#planHubWeek .plan-week-habit-toggle.full{
  border-color:color-mix(in srgb,var(--success) 18%,var(--border));
  background:color-mix(in srgb,var(--success-soft) 38%,transparent);
  color:color-mix(in srgb,var(--success) 78%,var(--text));
  box-shadow:none;
}
#planHubWeek .plan-week-habit-toggle.full .plan-week-habit-toggle-orb{
  border-color:var(--success);background:var(--success);
}

#planHubWeek .plan-week-habit-value{
  appearance:none;-webkit-appearance:none;
  flex:1 1 auto;
  width:auto;min-width:0;max-width:none;
  height:auto;min-height:34px;
  margin:0;padding:2px 0 3px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto;
  place-items:initial;
  gap:5px;
  direction:rtl;
  text-align:right;
  border:0;border-radius:0;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  font:inherit;
  cursor:pointer;
}
#planHubWeek .plan-week-habit-value:active{transform:none;opacity:.72}
#planHubWeek .plan-week-habit-value-copy{
  min-width:0;
  display:flex;align-items:baseline;justify-content:flex-start;gap:7px;
  direction:rtl;
}
#planHubWeek .plan-week-habit-value strong{
  min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:11px;line-height:1.25;font-weight:850;color:var(--text);
}
#planHubWeek .plan-week-habit-value small{
  flex:0 0 auto;max-width:none;
  overflow:visible;
  font-size:8.6px;line-height:1.2;font-weight:750;
  color:color-mix(in srgb,var(--success) 66%,var(--muted));
  white-space:nowrap;
}
#planHubWeek .plan-week-habit-value-progress{
  width:100%;height:3px;margin:0;
  overflow:hidden;border-radius:999px;
  background:color-mix(in srgb,var(--border) 70%,var(--surface));
}
#planHubWeek .plan-week-habit-value-progress i{
  display:block;height:100%;width:var(--habit-progress,0%);max-width:100%;
  border-radius:inherit;background:var(--warning);
}
#planHubWeek .plan-week-habit-value.full,
#planHubWeek .plan-week-habit-value.partial{
  border:0;background:transparent;box-shadow:none;
}
#planHubWeek .plan-week-habit-value.full .plan-week-habit-value-progress i{background:var(--success)}
.plan-week-habit-value-target{padding:9px 11px;border-radius:12px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.8}
.plan-week-habit-value-target strong{color:var(--text)}

/* Bottom: compact weekly history */
#planHubWeek .plan-week-habit-track{
  grid-column:1;grid-row:3;
  min-width:0;min-height:0;width:100%;
  margin:0;padding:8px 0 10px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;gap:10px;
  direction:rtl;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--border) 66%,transparent);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#planHubWeek .plan-week-habit-track-title{
  display:inline-flex;align-items:center;gap:3px;
  color:var(--muted);
  font-size:8.6px;line-height:1.2;font-weight:680;
  white-space:nowrap;
}
#planHubWeek .plan-week-habit-track-title b{color:var(--text);font-size:9px;font-weight:900}
#planHubWeek .plan-week-habit-days{
  min-width:0;width:100%;
  display:grid;
  grid-template-columns:repeat(7,minmax(16px,1fr));
  align-items:end;gap:3px;
  direction:rtl;
}
#planHubWeek .plan-week-habit-day{
  min-width:0;
  display:grid;justify-items:center;gap:3px;
  color:var(--muted);opacity:.68;
}
#planHubWeek .plan-week-habit-day b{font-size:8.3px;line-height:1;font-weight:720}
#planHubWeek .plan-week-habit-day i{
  display:block;width:7px;height:7px;
  border:0;border-radius:50%;
  background:color-mix(in srgb,var(--border) 82%,var(--surface));
}
#planHubWeek .plan-week-habit-day.full,
#planHubWeek .plan-week-habit-day.partial{opacity:.94}
#planHubWeek .plan-week-habit-day.full i{background:var(--success)}
#planHubWeek .plan-week-habit-day.partial i{background:var(--warning)}
#planHubWeek .plan-week-habit-day.today{opacity:1;color:var(--text)}
#planHubWeek .plan-week-habit-day.today b{font-weight:900}
#planHubWeek .plan-week-habit-day.today i{
  width:8px;height:8px;
  box-shadow:0 0 0 2px var(--card),0 0 0 3px color-mix(in srgb,var(--success) 62%,transparent);
}
#planHubWeek .plan-week-habit-day.future{opacity:.27}

#planHubWeek .plan-week-habit-toggle:focus-visible,
#planHubWeek .plan-week-habit-value:focus-visible,
#planHubWeek .plan-week-habit-main:focus-visible{
  outline:2px solid color-mix(in srgb,var(--success) 48%,transparent);
  outline-offset:2px;
}

@media(max-width:380px){
  #planHubWeek .plan-week-habit-row{padding-inline:10px}
  #planHubWeek .plan-week-habit-main{padding-top:10px;gap:8px}
  #planHubWeek .plan-week-habit-emoji{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:15px}
  #planHubWeek .plan-week-habit-titleline strong{font-size:13.4px}
  #planHubWeek .plan-week-habit-report{font-size:8.4px}
  #planHubWeek .plan-week-habit-today-row{min-height:42px;padding-block:6px;gap:9px}
  #planHubWeek .plan-week-habit-toggle{height:31px;min-height:31px;padding-inline:9px;gap:5px}
  #planHubWeek .plan-week-habit-toggle-orb{width:19px;height:19px;flex-basis:19px}
  #planHubWeek .plan-week-habit-track{gap:7px;padding-block:7px 9px}
  #planHubWeek .plan-week-habit-track-title{font-size:8px}
  #planHubWeek .plan-week-habit-days{gap:2px;grid-template-columns:repeat(7,minmax(14px,1fr))}
  #planHubWeek .plan-week-habit-day b{font-size:7.8px}
}

body.tg-dark #planHubWeek .plan-week-habits-block{
  background:linear-gradient(180deg,color-mix(in srgb,var(--success-soft) 18%,var(--surface)) 0%,var(--surface) 38%);
}
body.tg-dark #planHubWeek .plan-week-habit-row{
  background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--success-soft) 5%,var(--card)));
  box-shadow:0 4px 13px rgba(0,0,0,.10);
}
body.tg-dark #planHubWeek .plan-week-habit-toggle{
  background:color-mix(in srgb,var(--surface) 92%,var(--success-soft));
}
body.tg-dark #planHubWeek .plan-week-habit-toggle.full{
  background:color-mix(in srgb,var(--success-soft) 28%,var(--surface));
}
body.tg-dark #planHubWeek .plan-week-habit-toggle-orb{background:var(--surface-2)}
body.tg-dark #planHubWeek .plan-week-habit-toggle.full .plan-week-habit-toggle-orb{background:var(--success)}
/* END NOZAR_WEEK_HABIT_VISUAL_V44 */



/* NOZAR_PLAN_HARDENING_V1 */
#view-plan #planAddGoal.is-limit{opacity:.48;}
#view-plan .plan-confirm-copy{padding:4px 2px 14px;color:var(--text);font-size:13px;line-height:1.9;}
#view-plan .plan-confirm-actions{display:grid;gap:8px;}
#view-plan .plan-confirm-actions .plan-secondary-btn{margin-top:0;}
#view-plan .plan-architecture-note{margin-bottom:10px;padding:9px 10px;border-radius:11px;background:color-mix(in srgb,var(--primary) 6%,var(--surface));color:var(--muted);font-size:11.5px;line-height:1.8;}
#planWeekTasks .task-title{display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
#planWeekTasks .plan-week-task-title-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#planWeekTasks .plan-week-task-goal{display:inline-flex;max-width:100%;margin-top:2px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--primary);font-size:9.5px;font-weight:750;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#view-plan .is-pending{opacity:.62;pointer-events:none;}
/* END NOZAR_PLAN_HARDENING_V1 */

/* NOZAR_NOTES_IN_GROWTH_V1
   Notes is a Growth Me sub-page. One quiet entry card + a clear in-page back
   keeps navigation usable in Telegram, Bale and ordinary WebViews. */
.growth-notes-entry{
  width:100%;
  min-height:70px;
  padding:12px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto 20px;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  text-align:right;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  box-shadow:none;
  transition:transform .12s ease, border-color .18s ease, background-color .18s ease;
}
.growth-notes-entry:active{transform:scale(.985);background:var(--primary-soft)}
.growth-notes-entry:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.growth-notes-entry-icon svg{
  width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.growth-notes-entry-chevron{
  color:var(--muted);font-size:23px;line-height:1;display:grid;place-items:center;
}

.notes-subpage-head{
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.notes-subpage-head-copy{min-width:0;flex:1}
.notes-subpage-head-copy p{margin:3px 0 0;color:var(--muted);font-size:11.5px;line-height:1.65}
.notes-growth-back-btn{
  flex:0 0 38px;
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  box-shadow:none;
}
.notes-growth-back-btn span{font-size:28px;line-height:1;transform:translateY(-1px)}
.notes-growth-back-btn:active{transform:scale(.94);background:var(--primary-soft)}
.notes-growth-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

@media(max-width:390px){
  .growth-notes-entry{grid-template-columns:38px minmax(0,1fr) 18px;min-height:66px;padding:11px}
  .growth-notes-entry .growth-hub-meta{grid-column:2;justify-self:start;padding:3px 6px;margin-top:1px}
  .growth-notes-entry-chevron{grid-column:3;grid-row:1/3}
}
@media(prefers-reduced-motion:reduce){.growth-notes-entry,.notes-growth-back-btn{transition:none!important}}
/* END NOZAR_NOTES_IN_GROWTH_V1 */



/* NOZAR_GOAL_MINIMAL_LAYERS_V1
   Goal sheets: flat hierarchy, quieter typography, fewer boxes.
   Scope is intentionally limited to Goal-related plan sheets. */
.plan-sheet.plan-sheet-goal{
  width:min(460px,100%);
  max-height:90vh;
  padding:8px 20px calc(22px + env(safe-area-inset-bottom));
  border:0 !important;
  border-top:1px solid var(--line) !important;
  border-radius:26px 26px 0 0 !important;
  box-shadow:0 -12px 36px rgba(20,24,34,.13) !important;
  background:var(--card) !important;
}
body.tg-dark .plan-sheet.plan-sheet-goal{
  box-shadow:0 -14px 42px rgba(0,0,0,.34) !important;
}
#planSheetBackdrop.plan-sheet-backdrop-goal{
  background:rgba(14,17,23,.30) !important;
}
.plan-sheet-goal .plan-sheet-handle{
  width:32px;
  height:4px;
  margin:1px auto 13px;
  opacity:.42;
}
.plan-sheet-goal .plan-sheet-head{
  min-height:42px;
  margin:0 0 14px;
  gap:12px;
}
.plan-sheet-goal .plan-sheet-head h3{
  margin:0;
  font-size:17px;
  font-weight:820;
  line-height:1.65;
  letter-spacing:-.1px;
}
.plan-sheet-goal .plan-sheet-close{
  width:34px;
  height:34px;
  padding:0;
  border-radius:50%;
  font-size:20px;
  font-weight:400;
  color:var(--muted);
}
.plan-sheet-goal .plan-sheet-close:active{background:var(--surface-soft)}

.plan-sheet-goal .plan-form{gap:14px}
.plan-sheet-goal .plan-label{
  gap:6px;
  font-size:11.5px;
  font-weight:650;
  color:var(--muted);
}
.plan-sheet-goal .plan-label-title{
  font-size:12.5px !important;
  font-weight:720 !important;
  color:var(--text);
  line-height:1.6;
}
.plan-sheet-goal .plan-label-hint{
  font-size:10.8px !important;
  font-weight:500 !important;
  line-height:1.65;
  color:var(--muted);
}
.plan-sheet-goal .plan-input,
.plan-sheet-goal .plan-select,
.plan-sheet-goal .plan-textarea{
  border:1px solid var(--line) !important;
  border-radius:13px !important;
  background:var(--card) !important;
  color:var(--text) !important;
  box-shadow:none !important;
  font-size:14px !important;
}
.plan-sheet-goal .plan-input,
.plan-sheet-goal .plan-select{min-height:48px;padding:10px 12px !important}
.plan-sheet-goal .plan-textarea{padding:11px 12px !important;line-height:1.8}
.plan-sheet-goal .plan-input:focus,
.plan-sheet-goal .plan-select:focus,
.plan-sheet-goal .plan-textarea:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 2px var(--primary-soft) !important;
}
.plan-sheet-goal .plan-submit{
  min-height:48px !important;
  margin-top:2px;
  border-radius:13px !important;
  font-size:14px;
  font-weight:800;
  box-shadow:none;
}

/* Detail: progress reads as content, not another boxed card. */
.plan-sheet-goal-detail .plan-goal-summary{
  margin:0;
  padding:2px 0 17px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.plan-sheet-goal-detail .plan-goal-summary-top{
  font-size:11.5px;
  color:var(--muted);
}
.plan-sheet-goal-detail .plan-goal-summary-top strong{
  font-size:21px;
  font-weight:880;
  color:var(--text);
  line-height:1.2;
}
.plan-sheet-goal-detail .plan-goal-bar{
  height:5px;
  margin-top:11px;
  background:var(--line);
}
.plan-sheet-goal-detail .plan-goal-number{
  margin-top:9px;
  font-size:12px;
  color:var(--muted);
}
.plan-sheet-goal-detail .plan-journey-line{
  margin:10px 0 0;
  gap:7px;
}
.plan-sheet-goal-detail .plan-journey-line span{
  padding:7px 9px;
  border-radius:11px;
  background:var(--surface-soft);
  font-size:11.5px;
  font-weight:700;
}
.plan-sheet-goal-detail .plan-journey-line small{font-size:10px;font-weight:600}

.plan-sheet-goal .plan-sheet-section{
  border-top:0;
  padding-top:0;
  margin-top:20px;
}
.plan-sheet-goal .plan-sheet-section-first{margin-top:0}
.plan-sheet-goal .plan-sheet-section-title{
  margin-bottom:8px;
  font-size:12.5px;
  font-weight:780;
  color:var(--text);
}
.plan-sheet-goal .plan-meta{
  margin-top:0;
  font-size:11.5px;
  line-height:1.75;
  color:var(--muted);
}

/* Numeric progress becomes one compact row on normal phones. */
.plan-sheet-goal-detail #planNumericProgress{
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  align-items:end;
  gap:8px;
}
.plan-sheet-goal-detail #planNumericProgress .plan-label{min-width:0}
.plan-sheet-goal-detail #planNumericProgress .plan-submit{width:92px;margin:0}

/* Edit / More: list-like disclosures instead of nested cards. */
.plan-sheet-goal .plan-disclosure{
  margin:20px 0 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.plan-sheet-goal .plan-disclosure summary{
  min-height:52px;
  padding:13px 0;
  font-size:12.8px;
  font-weight:760;
  color:var(--text);
}
.plan-sheet-goal .plan-disclosure summary::after{
  font-size:17px;
  font-weight:400;
  color:var(--muted);
}
.plan-sheet-goal .plan-disclosure-body{
  padding:5px 0 2px;
  border-top:0;
}

/* Related actions on the detail sheet: quiet summary + one native-style row. */
.plan-sheet-goal-detail #planManageGoalLinks{
  min-height:46px;
  margin-top:10px;
  padding:11px 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--text);
  text-align:right;
  font-size:12.5px;
  font-weight:720;
}
.plan-sheet-goal-detail #planManageGoalLinks::after{
  content:"‹";
  float:left;
  color:var(--muted);
  font-size:19px;
  font-weight:400;
  line-height:1;
}
.plan-sheet-goal-detail #planManageGoalLinks:active{background:var(--surface-soft)}

/* Goal relationship manager: rows, not cards. */
.plan-sheet-goal-links .plan-sheet-section + .plan-sheet-section{
  margin-top:18px;
  padding-top:2px;
}
.plan-sheet-goal-links .plan-check-row{
  min-height:50px;
  padding:10px 0;
  gap:10px;
  border-bottom:1px solid var(--line);
  font-size:13px;
}
.plan-sheet-goal-links .plan-check-row input{
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.plan-sheet-goal-links .plan-check-row span{min-width:0;line-height:1.55}
.plan-sheet-goal-links .plan-check-row .plan-meta{
  display:block;
  margin-top:2px;
  font-size:10.5px;
}
.plan-sheet-goal-links #planGoalLinksBack{
  min-height:46px;
  margin-top:20px;
  border:0;
  border-radius:13px;
  background:var(--surface-soft);
  color:var(--muted);
}

/* Create flow: quiet examples and compact measurement choices. */
.plan-sheet-goal-create #planGoalStep1Form,
.plan-sheet-goal-create #planGoalStep2Form{gap:16px}
.plan-sheet-goal-create #planGoalStep1Form .plan-help-examples{
  margin-top:4px;
  gap:2px;
}
.plan-sheet-goal-create #planGoalStep1Form .plan-help-examples b,
.plan-sheet-goal-create #planGoalStep1Form .plan-help-examples span{
  font-size:10.8px !important;
  color:var(--muted) !important;
}
.plan-sheet-goal-create #planGoalStep1Form .plan-measure-choice{gap:8px !important}
.plan-sheet-goal-create #planGoalStep1Form .plan-measure-btn{
  min-height:74px !important;
  padding:10px !important;
  border:1px solid var(--line) !important;
  border-radius:13px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.plan-sheet-goal-create #planGoalStep1Form .plan-measure-btn.active{
  border-color:var(--primary) !important;
  background:var(--primary-soft) !important;
}
.plan-sheet-goal-create #planGoalStep1Form .plan-measure-title{
  font-size:13px !important;
  font-weight:780 !important;
}
.plan-sheet-goal-create #planGoalStep1Form .plan-measure-desc{
  font-size:10.5px !important;
  line-height:1.55 !important;
}
.plan-sheet-goal-create #pgBackBtn{
  min-height:44px;
  margin-top:-4px;
  border:0;
  background:transparent;
  color:var(--muted);
}

/* More / confirm actions keep danger visible without dominating the sheet. */
.plan-sheet-goal .plan-muted-action{
  min-height:46px;
  border:0;
  border-radius:12px;
  background:var(--surface-soft);
  color:var(--text);
  font-size:12.5px;
}
.plan-sheet-goal .plan-danger{
  min-height:46px;
  border:1px solid rgba(220,38,38,.14);
  border-radius:12px;
  background:rgba(220,38,38,.045);
  color:#dc2626;
  font-size:12.5px;
}
.plan-sheet-goal-confirm .plan-confirm-copy{
  padding:2px 0 18px !important;
  font-size:13px !important;
  line-height:1.9 !important;
  color:var(--muted) !important;
}
.plan-sheet-goal-confirm .plan-confirm-actions{gap:8px !important}
.plan-sheet-goal-confirm .plan-confirm-actions .plan-secondary-btn{
  min-height:44px;
  margin-top:0;
  border:0;
  background:var(--surface-soft);
}

@media(max-width:380px){
  .plan-sheet.plan-sheet-goal{padding-left:15px;padding-right:15px}
  .plan-sheet-goal-detail #planNumericProgress{grid-template-columns:minmax(0,1fr) 84px}
  .plan-sheet-goal-detail #planNumericProgress .plan-submit{width:84px}
  .plan-sheet-goal .plan-form-grid{grid-template-columns:1fr}
}
/* END NOZAR_GOAL_MINIMAL_LAYERS_V1 */

/* NOZAR_GOAL_ACTION_WORDS_V1 */

.plan-sheet-goal .plan-disclosure summary::after{
  content:"⌄" !important;
  font-size:16px !important;
  line-height:1;
}

.plan-sheet-goal .plan-disclosure[open] summary::after{
  content:"⌃" !important;
}

.plan-sheet-goal-detail .plan-goal-actions-section{
  margin-top:26px;
}

.plan-sheet-goal-detail .plan-goal-actions-section .plan-sheet-section-title{
  margin-bottom:5px;
  font-size:13px;
}

.plan-sheet-goal-detail .plan-goal-actions-section .plan-meta{
  display:block;
}

.plan-sheet-goal-detail #planManageGoalLinks{
  margin-top:9px;
}

.plan-sheet-goal-detail #planManageGoalLinks.is-empty{
  color:var(--primary);
}

.plan-sheet-goal-links .plan-goal-links-intro{
  margin:0 0 18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
}

/* NOZAR_GOAL_LINKS_EXPLICIT_SAVE_V1 */

.plan-sheet-goal-links .plan-goal-links-actions{
  display:grid;
  gap:8px;
  margin-top:20px;
}

.plan-sheet-goal-links .plan-goal-links-actions .plan-submit,
.plan-sheet-goal-links .plan-goal-links-actions .plan-secondary-btn{
  width:100%;
}

/* NOZAR_SINGLE_ACTIVE_GOAL_ENDFLOW_V1 */
.plan-sheet-goal-end .plan-goal-end-copy{
  margin:0 0 14px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.8;
}
.plan-sheet-goal-end .plan-goal-end-choices{
  display:grid;
  gap:9px;
}
.plan-sheet-goal-end .plan-goal-end-choice{
  width:100%;
  min-height:66px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:transparent;
  color:var(--text);
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  box-shadow:none;
}
.plan-sheet-goal-end .plan-goal-end-choice.is-reached{
  border-color:color-mix(in srgb, var(--primary) 36%, var(--line));
  background:color-mix(in srgb, var(--primary) 5%, transparent);
}
.plan-sheet-goal-end .plan-goal-end-choice strong{
  font-size:13px;
  font-weight:780;
}
.plan-sheet-goal-end .plan-goal-end-choice span{
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
}
.plan-sheet-goal-end #planGoalEndCancel{
  width:100%;
  margin-top:10px;
}
.plan-sheet-goal-detail .plan-goal-restore-note{
  padding:10px 2px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.8;
}

/* NOZAR_GOAL_DEADLINE_CLEAN_WEEKMETA_V1 */
#view-plan .plan-goals-panel #planGoals .plan-goal-deadline{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  margin-top:6px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:650;
  line-height:1.45;
  white-space:nowrap;
}
#view-plan .plan-goals-panel #planGoals .plan-goal-deadline i{
  color:color-mix(in srgb, var(--muted) 55%, transparent);
  font-style:normal;
}
#view-plan .plan-goals-panel #planGoals .plan-goal-deadline.is-near{
  color:color-mix(in srgb, #b7791f 82%, var(--text));
}
#view-plan .plan-goals-panel #planGoals .plan-goal-deadline.is-today,
#view-plan .plan-goals-panel #planGoals .plan-goal-deadline.is-overdue{
  color:var(--danger, #c0392b);
}

/* NOZAR_COMPACT_ICON_CONTROLS_V1 */

:root{
  --nozar-utility-control:40px;
  --nozar-utility-glyph:18px;
  --nozar-global-fab:50px;
}

.topbar-settings-btn,
#view-today .today-head-plus,
#view-today #habitManageBtn,
#view-today .habit-manage-btn,
#view-plan .plan-add-goal-plus,
#view-plan .plan-icon-sq{
  width:var(--nozar-utility-control) !important;
  min-width:var(--nozar-utility-control) !important;
  height:var(--nozar-utility-control) !important;
  min-height:var(--nozar-utility-control) !important;
  border-radius:12px !important;
}

.topbar-settings-btn svg,
#view-today .today-head-plus svg,
#view-today #habitManageBtn svg,
#view-today .habit-manage-btn svg,
#view-plan .plan-add-goal-plus svg,
#view-plan .plan-icon-sq svg{
  width:var(--nozar-utility-glyph) !important;
  height:var(--nozar-utility-glyph) !important;
}

.subview-back-btn{
  min-width:40px !important;
  width:40px !important;
  height:40px !important;
  min-height:40px !important;
  border-radius:12px !important;
  font-size:25px !important;
}

.subview-action-btn{
  min-height:40px !important;
  height:40px !important;
  border-radius:12px !important;
}

.plan-sheet-close{
  min-width:40px !important;
  min-height:40px !important;
  width:40px !important;
  height:40px !important;
}

.notes-more-btn{
  min-width:36px !important;
  min-height:36px !important;
  width:36px !important;
  height:36px !important;
}

#globalQuickAdd.global-quick-add,
#globalQuickAdd{
  width:var(--nozar-global-fab) !important;
  min-width:var(--nozar-global-fab) !important;
  height:var(--nozar-global-fab) !important;
  min-height:var(--nozar-global-fab) !important;
}

#globalQuickAdd > span{
  font-size:27px !important;
}

@media(max-width:380px){
  #globalQuickAdd.global-quick-add,
  #globalQuickAdd{
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
  }

  #globalQuickAdd > span{
    font-size:26px !important;
  }
}

/* NOZAR_TODAY_CONTROLS_COMPACT_DEDUPE_V1 */

/* Today: these three controls should read as one compact utility cluster. */
#view-today .today-tasks-card .card-head-actions{
  gap:6px !important;
}

#view-today .today-tasks-card .card-head-actions #taskCount.pill,
#view-today .today-tasks-card .card-head-actions .today-head-plus{
  box-sizing:border-box !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border-radius:11px !important;
}

#view-today .today-tasks-card .card-head-actions #taskCount.pill{
  font-size:11.5px !important;
}

#view-today .today-tasks-card .card-head-actions .today-head-plus svg{
  width:17px !important;
  height:17px !important;
}

/* Today already has contextual + buttons for tasks/habits; avoid a duplicate FAB. */
body.nozar-hide-global-quick-add #globalQuickAdd{
  display:none !important;
}

/* NOZAR_GOAL_EMPTY_HIDE_BODY_V1
   Empty Goal is created from the ring/summary itself, so do not render a
   second blue create surface underneath. Active Goal layout stays untouched. */
#view-plan #planHubGoals.plan-goal-is-empty > .plan-hub-body{
  display:none !important;
}

/* NOZAR_GROWTH_SIMPLE_CORE_V1 */
.growth-simple-shell{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:4px 0 26px;
}
.growth-simple-head{
  padding:2px 2px 4px;
}
.growth-simple-head h2{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 6px;
  font-size:18px;
  font-weight:900;
  color:var(--text);
}
.growth-simple-head p{
  margin:0;
  font-size:12.5px;
  line-height:1.9;
  color:var(--muted);
}
.growth-simple-list{
  display:grid;
  gap:10px;
}
.growth-simple-card{
  width:100%;
  min-height:78px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 18px;
  gap:11px;
  align-items:center;
  padding:14px 14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  text-align:right;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(30,35,60,.025);
}
.growth-simple-card:active{ transform:scale(.995); }
.growth-simple-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:rgba(90,84,230,.10);
  color:#5a54e6;
  font-size:22px;
  font-weight:800;
}
.growth-simple-icon-savings{
  background:rgba(15,110,86,.09);
  color:#0f6e56;
}
.growth-simple-icon-note{
  background:rgba(183,121,31,.10);
  color:#9a6518;
}
.growth-simple-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.growth-simple-copy strong{
  font-size:15px;
  font-weight:900;
  color:var(--text);
}
.growth-simple-copy small{
  font-size:11.5px;
  line-height:1.7;
  color:var(--muted);
  white-space:normal;
}
.growth-simple-meta{
  padding:4px 7px;
  border-radius:999px;
  background:var(--surface-2,rgba(127,127,127,.07));
  color:var(--muted);
  font-size:10.5px;
  font-weight:750;
  white-space:nowrap;
}
.growth-simple-chevron{
  color:var(--muted);
  font-size:22px;
  line-height:1;
}

.growth-daily-capture-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.growth-daily-types{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.growth-daily-types button{
  min-height:74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 6px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  cursor:pointer;
}
.growth-daily-types button strong{
  font-size:11.5px;
  line-height:1.5;
  font-weight:850;
  text-align:center;
}
.growth-daily-types button[data-growth-daily-type="beauty"]{--growth-daily-accent:#0f6e56;--growth-daily-soft:rgba(15,110,86,.075)}
.growth-daily-types button[data-growth-daily-type="gratitude"]{--growth-daily-accent:#993556;--growth-daily-soft:rgba(153,53,86,.075)}
.growth-daily-types button[data-growth-daily-type="abundance"]{--growth-daily-accent:#b7791f;--growth-daily-soft:rgba(183,121,31,.09)}
.growth-daily-types button[data-growth-daily-type="capability"]{--growth-daily-accent:#4f46e5;--growth-daily-soft:rgba(79,70,229,.075)}
.growth-daily-radio{
  width:20px;
  height:20px;
  border:2px solid var(--growth-daily-accent,#c9cbd4);
  border-radius:50%;
  position:relative;
  transition:.15s ease;
}
.growth-daily-types button.active{
  border-color:var(--growth-daily-accent,#5a54e6);
  background:var(--growth-daily-soft,rgba(90,84,230,.055));
}
.growth-daily-types button.active .growth-daily-radio{
  border-color:var(--growth-daily-accent,#5a54e6);
}
.growth-daily-types button.active .growth-daily-radio::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--growth-daily-accent,#5a54e6);
}
.growth-daily-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.growth-daily-field>span{
  font-size:12px;
  font-weight:800;
  color:var(--text);
}
.growth-daily-field textarea{
  width:100%;
  min-height:104px;
  resize:vertical;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 13px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  font-size:13px;
  line-height:1.8;
  outline:none;
}
.growth-daily-field textarea:focus{
  border-color:rgba(90,84,230,.55);
  box-shadow:0 0 0 3px rgba(90,84,230,.08);
}

.treasure-archive-filters{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 12px;
  scrollbar-width:none;
}
.treasure-archive-filters::-webkit-scrollbar{display:none}
.treasure-archive-filters button{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--muted);
  font:inherit;
  font-size:11px;
  font-weight:800;
}
.treasure-archive-filters button.active{
  background:rgba(90,84,230,.09);
  border-color:rgba(90,84,230,.32);
  color:#5a54e6;
}
.treasure-archive-item.abundance{
  border-inline-start:3px solid #b7791f;
}
.treasure-archive-item.gratitude{
  border-inline-start:3px solid #993556;
}
.treasure-archive-item.beauty{
  border-inline-start:3px solid #0f6e56;
}
.treasure-archive-item.capability{
  border-inline-start:3px solid #4f46e5;
}

.report-treasure-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:6px;
}
.report-treasure-legend i{
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:3px;
  margin-inline-end:5px;
  vertical-align:-1px;
}
.report-treasure-legend i.gratitude{background:#993556}
.report-treasure-legend i.beauty{background:#0f6e56}
.report-treasure-legend i.abundance{background:#b7791f}
.report-treasure-legend i.capability{background:#4f46e5}
.report-treasure-bars{width:100%}
.report-treasure-bar{opacity:.92}
.report-treasure-bar.gratitude{fill:#993556}
.report-treasure-bar.beauty{fill:#0f6e56}
.report-treasure-bar.abundance{fill:#b7791f}
.report-treasure-bar.capability{fill:#4f46e5}

#treasureComposerRow{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px !important;
}
#treasureComposerRow[style*="display:none"],
#treasureComposerRow[style*="display: none"]{display:none !important}
#treasureComposerRow button{
  min-width:0;
  padding:7px 5px !important;
  font-size:10.5px !important;
  line-height:1.35;
}

@media(max-width:380px){
  .growth-simple-card{
    grid-template-columns:40px minmax(0,1fr) 16px;
  }
  .growth-simple-meta{display:none}
  .growth-simple-icon{width:40px;height:40px}
  .growth-daily-types{gap:6px}
  .growth-daily-types button strong{font-size:10.5px}
}

/* NOZAR_GROWTH_FOUR_SAVINGS_V1 */
.treasure-archive-filters button[data-treasure-filter="beauty"].active{color:#0f6e56;border-color:rgba(15,110,86,.35);background:rgba(15,110,86,.075)}
.treasure-archive-filters button[data-treasure-filter="gratitude"].active{color:#993556;border-color:rgba(153,53,86,.35);background:rgba(153,53,86,.075)}
.treasure-archive-filters button[data-treasure-filter="abundance"].active{color:#b7791f;border-color:rgba(183,121,31,.38);background:rgba(183,121,31,.09)}
.treasure-archive-filters button[data-treasure-filter="capability"].active{color:#4f46e5;border-color:rgba(79,70,229,.35);background:rgba(79,70,229,.075)}
#treasureBtnGratitude{color:#993556}
#treasureBtnBeauty{color:#0f6e56}
#treasureBtnAbundance{color:#b7791f}
#treasureBtnCapability{color:#4f46e5}

/* NOZAR_GROWTH_DAILY_AFFORDANCE_V4 */
.growth-daily-types button.active{
  border-width:2px;
  box-shadow:0 0 0 3px var(--growth-daily-soft,rgba(90,84,230,.07));
}
.growth-daily-types button.active strong{
  color:var(--growth-daily-accent,#5a54e6);
}
.growth-daily-types button.active .growth-daily-radio{
  background:var(--growth-daily-accent,#5a54e6);
  border-color:var(--growth-daily-accent,#5a54e6);
  display:grid;
  place-items:center;
}
.growth-daily-types button.active .growth-daily-radio::after{
  content:"✓";
  position:static;
  width:auto;
  height:auto;
  background:none;
  color:#fff;
  font-size:13px;
  font-weight:950;
  line-height:1;
}
.growth-simple-chevron{
  font-size:17px;
  filter:saturate(.9);
}

/* NOZAR_GROWTH_CLEAN_CARDS_CTA_HAND_V7 */
#view-growth .growth-simple-card{
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
}
#view-growth .growth-simple-copy{grid-column:1;}
#view-growth .growth-simple-meta{
  grid-column:2;
  justify-self:end;
}

.growth-daily-submit-cta{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  direction:rtl;
}
.growth-daily-submit-hand{
  position:relative;
  width:21px;
  height:21px;
  flex:0 0 21px;
  display:inline-grid;
  place-items:center;
}
.growth-daily-submit-hand svg{
  width:21px;
  height:21px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:50% 74%;
  animation:nozarSavingsCtaTap 2.9s ease-in-out infinite;
}
.growth-daily-submit-hand::after{
  content:"";
  position:absolute;
  top:-1px;
  right:0;
  width:7px;
  height:7px;
  border:1.5px solid currentColor;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  animation:nozarSavingsCtaPulse 2.9s ease-out infinite;
}
@keyframes nozarSavingsCtaTap{
  0%,72%,100%{transform:translateY(0) scale(1)}
  78%{transform:translateY(2px) scale(.93)}
  84%{transform:translateY(0) scale(1)}
}
@keyframes nozarSavingsCtaPulse{
  0%,74%,100%{opacity:0;transform:scale(.45)}
  79%{opacity:.45;transform:scale(.72)}
  89%{opacity:0;transform:scale(1.55)}
}
@media (prefers-reduced-motion: reduce){
  .growth-daily-submit-hand svg,
  .growth-daily-submit-hand::after{animation:none !important}
}

/* NOZAR_TREASURE_MAIN_CTA_HAND_V8 */
#treasureMainBtn.treasure-hand-cta,
#treasureBtnSubmit.treasure-hand-cta{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  direction:rtl;
}
#treasureMainBtn.treasure-hand-cta .growth-daily-submit-hand,
#treasureBtnSubmit.treasure-hand-cta .growth-daily-submit-hand{
  color:currentColor;
}

/* NOZAR_TREASURE_MAIN_CTA_FADE_V9 */
#treasureMainBtn{
  transition:
    opacity 180ms ease,
    transform 180ms ease !important;
  transform-origin:center;
}

#treasureMainBtn.treasure-main-cta-leaving{
  opacity:0 !important;
  transform:translateY(3px) scale(.985) !important;
  pointer-events:none !important;
}

#treasureMainBtn.treasure-main-cta-entering{
  opacity:0 !important;
  transform:translateY(3px) scale(.985) !important;
  pointer-events:none !important;
}

@media (prefers-reduced-motion: reduce){
  #treasureMainBtn{
    transition:none !important;
  }
}

/* NOZAR_GROWTH_SELECTED_CHECK_V13 */

.growth-daily-radio{
  width:24px !important;
  height:24px !important;
  border-width:2px !important;
  display:grid !important;
  place-items:center !important;
}

.growth-daily-types button.active{
  border-width:2px !important;
  border-color:var(--growth-daily-accent) !important;
  background:var(--growth-daily-soft) !important;
}

.growth-daily-types button.active .growth-daily-radio{
  border-color:var(--growth-daily-accent) !important;
  background:var(--growth-daily-accent) !important;
}

.growth-daily-types button.active .growth-daily-radio::after{
  content:"✓" !important;
  position:static !important;
  inset:auto !important;
  width:auto !important;
  height:auto !important;
  background:none !important;
  border-radius:0 !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

/* «از پسش برآمدم» کمی واضح‌تر */
.growth-daily-types button[data-growth-daily-type="capability"]{
  --growth-daily-accent:#4338ca !important;
  --growth-daily-soft:rgba(67,56,202,.10) !important;
}

.growth-daily-types button[data-growth-daily-type="capability"].active{
  box-shadow:0 0 0 2px rgba(67,56,202,.10) !important;
}

/* NOZAR_TREASURE_CAPABILITY_ICON_V14 */

/* آیکن «از پسش برآمدم» — واضح و بدون ابهام */
#treasureBtnCapability svg{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  overflow:visible;
}

#treasureBtnCapability svg circle{
  fill:#4f46e5 !important;
  stroke:#4f46e5 !important;
  stroke-width:2 !important;
}

#treasureBtnCapability svg path{
  fill:none !important;
  stroke:#ffffff !important;
  stroke-width:2.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* خود گزینه هم کمی واضح‌تر */
#treasureBtnCapability{
  border-color:rgba(79,70,229,.35) !important;
  background:rgba(79,70,229,.07) !important;
  color:#4338ca !important;
}


/* NOZAR_TREASURE_CAPABILITY_ARM_V15 */
#treasureBtnCapability{
  color:#4338ca !important;
  border-color:rgba(67,56,202,.34) !important;
  background:rgba(67,56,202,.07) !important;
}

#treasureBtnCapability .treasure-capability-arm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin-inline-start:0;
  margin-inline-end:8px;
  flex:0 0 22px;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:22px;
  height:22px;
  display:block;
}

#treasureBtnCapability .treasure-capability-arm svg path{
  fill:#4f46e5;
}


/* NOZAR_CAPABILITY_VISUAL_MATCH_V16 */

/*
  «از پسش برآمدم»
  ظاهر باکس دقیقاً مانند بقیه گزینه‌ها:
  سفید + متن اصلی
  فقط آیکن بازو رنگ خودش را دارد.
*/
#treasureBtnCapability{
  background:var(--card,#fff) !important;
  color:var(--text,#17171c) !important;
  border-color:var(--border,#e5e5ea) !important;
  box-shadow:none !important;
}

/* متن همیشه مثل سه گزینه دیگر */
#treasureBtnCapability strong,
#treasureBtnCapability span:not(.treasure-capability-arm){
  color:var(--text,#17171c) !important;
}

/*
  خنثی‌کردن CSS قدیمی v14 که SVG را سفید می‌کرد.
  فقط خود بازوی قدرت آبی/بنفش باشد.
*/
#treasureBtnCapability .treasure-capability-arm{
  color:#4f46e5 !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  color:#4f46e5 !important;
}

#treasureBtnCapability .treasure-capability-arm svg path{
  fill:#4f46e5 !important;
  stroke:#4f46e5 !important;
  stroke-width:0 !important;
}

/* هنگام لمس هم باکس آبی نشود */
#treasureBtnCapability:active{
  background:var(--card,#fff) !important;
  color:var(--text,#17171c) !important;
}


/* NOZAR_CAPABILITY_CLEAR_ARM_V17 */
#treasureBtnCapability .treasure-capability-arm{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:27px !important;
  height:27px !important;
  display:block !important;
  overflow:visible !important;
}

#treasureBtnCapability .treasure-capability-arm .cap-arm-fill{
  fill:#4f46e5 !important;
  stroke:none !important;
}

#treasureBtnCapability .treasure-capability-arm .cap-arm-line{
  fill:none !important;
  stroke:#ffffff !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* باکس و متن دقیقاً مثل بقیه */
#treasureBtnCapability{
  background:var(--card,#fff) !important;
  border-color:var(--border,#e5e5ea) !important;
  color:var(--text,#17171c) !important;
  box-shadow:none !important;
}

#treasureBtnCapability strong{
  color:var(--text,#17171c) !important;
}


/* NOZAR_CAPABILITY_BICEPS_V18 */

/* باکس دقیقاً مثل سه گزینه دیگر */
#treasureBtnCapability{
  background:var(--card,#fff) !important;
  border-color:var(--border,#e5e5ea) !important;
  color:var(--text,#17171c) !important;
  box-shadow:none !important;
}

/* متن مشکی */
#treasureBtnCapability strong{
  color:var(--text,#17171c) !important;
}

/* اندازه مناسب برای بازوی قدرت */
#treasureBtnCapability .treasure-capability-arm{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:25px !important;
  height:25px !important;
  display:block !important;
  overflow:visible !important;
}

/* خنثی کردن تمام استایل‌های قدیمی v14-v17 */
#treasureBtnCapability
.treasure-capability-arm
svg
.cap-biceps-line{
  fill:none !important;
  stroke:#4f46e5 !important;
  stroke-width:2.25 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* لمس هم رنگ باکس را عوض نکند */
#treasureBtnCapability:active{
  background:var(--card,#fff) !important;
  color:var(--text,#17171c) !important;
}


/* NOZAR_TREASURE_EQUAL_ICONS_V19 */

/* هر چهار آیکن دقیقاً یک اندازه */
#treasureBtnGratitude > svg,
#treasureBtnBeauty > svg,
#treasureBtnAbundance > svg{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  display:block !important;
}

/* بازوی «از پسش برآمدم» */
#treasureBtnCapability .treasure-capability-arm{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
}


/* NOZAR_TREASURE_ICON_TEXT_ALIGN_V20 */

/*
  چهار گزینه اندوخته:
  آیکن + متن در یک خط،
  هم‌ارتفاع، هم‌فاصله و دقیقاً وسط باکس.
*/
#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:64px;
  white-space:nowrap;
  text-align:center;
}

/* آیکن سه گزینه اصلی */
#treasureBtnGratitude > svg,
#treasureBtnBeauty > svg,
#treasureBtnAbundance > svg{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  flex:0 0 24px !important;
  display:block !important;
  margin:0 !important;
  align-self:center !important;
}

/* آیکن بازوی قدرت */
#treasureBtnCapability .treasure-capability-arm{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  flex:0 0 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  align-self:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
  margin:0 !important;
}

/* متن هر چهار گزینه دقیقاً روی یک baseline */
#treasureBtnGratitude strong,
#treasureBtnBeauty strong,
#treasureBtnAbundance strong,
#treasureBtnCapability strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:24px !important;
  min-height:24px !important;
  font-size:14px;
  text-align:center;
}


/* NOZAR_TREASURE_CONTENT_COLUMNS_V21 */

/*
  علت:
  طول متفاوت نوشته‌ها باعث جابه‌جایی آیکن در flex می‌شد.

  راه‌حل:
  هر چهار گزینه دقیقاً یک slot ثابت برای متن و
  یک slot ثابت برای آیکن دارند.
*/
#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  display:flex !important;
  flex-direction:row !important;
  direction:rtl !important;
  justify-content:center !important;
  align-items:center !important;

  gap:8px !important;

  padding-left:8px !important;
  padding-right:8px !important;
}

/* همه متن‌ها یک عرض مشترک */
#treasureBtnGratitude strong,
#treasureBtnBeauty strong,
#treasureBtnAbundance strong,
#treasureBtnCapability strong{
  width:104px !important;
  flex:0 0 104px !important;

  margin:0 !important;
  padding:0 !important;

  text-align:center !important;
  line-height:24px !important;

  white-space:nowrap !important;
}

/* سه آیکن اصلی */
#treasureBtnGratitude > svg,
#treasureBtnBeauty > svg,
#treasureBtnAbundance > svg{
  width:24px !important;
  height:24px !important;

  min-width:24px !important;
  max-width:24px !important;

  flex:0 0 24px !important;

  margin:0 !important;
  padding:0 !important;

  align-self:center !important;
}

/* بازوی قدرت؛ دقیقاً همان slot سه آیکن دیگر */
#treasureBtnCapability .treasure-capability-arm{
  width:24px !important;
  height:24px !important;

  min-width:24px !important;
  max-width:24px !important;

  flex:0 0 24px !important;

  margin:0 !important;
  padding:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  align-self:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:24px !important;
  height:24px !important;
  margin:0 !important;
  padding:0 !important;
}

/* موبایل‌های خیلی باریک */
@media (max-width:370px){
  #treasureBtnGratitude strong,
  #treasureBtnBeauty strong,
  #treasureBtnAbundance strong,
  #treasureBtnCapability strong{
    width:96px !important;
    flex-basis:96px !important;
    font-size:13px !important;
  }
}


/* NOZAR_TREASURE_EXACT_ALIGNMENT_V22 */

/*
  چهار دکمه اندوخته:
  ستون اول = متن
  ستون دوم = آیکن

  direction:ltr عمداً استفاده شده تا جای فیزیکی
  ستون‌ها مستقل از RTL مرورگر ثابت بماند.
*/
#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  display:grid !important;

  grid-template-columns:
    104px
    24px !important;

  column-gap:8px !important;

  justify-content:center !important;
  align-items:center !important;

  direction:ltr !important;

  padding-left:6px !important;
  padding-right:6px !important;

  text-align:center !important;
}

/* متن هر ۴ دکمه دقیقاً یک slot مشترک */
#treasureComposerRow .treasure-option-label{
  grid-column:1 !important;

  width:104px !important;
  min-width:104px !important;
  max-width:104px !important;

  display:block !important;

  margin:0 !important;
  padding:0 !important;

  direction:rtl !important;
  unicode-bidi:plaintext;

  text-align:center !important;

  line-height:24px !important;
  height:24px !important;

  white-space:nowrap !important;

  color:var(--text,#17171c) !important;
}

/* سه آیکن SVG معمولی */
#treasureBtnGratitude > svg,
#treasureBtnBeauty > svg,
#treasureBtnAbundance > svg{
  grid-column:2 !important;

  width:24px !important;
  height:24px !important;

  min-width:24px !important;
  max-width:24px !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;
  justify-self:center !important;
  align-self:center !important;
}

/* بازوی قدرت */
#treasureBtnCapability .treasure-capability-arm{
  grid-column:2 !important;

  width:24px !important;
  height:24px !important;

  min-width:24px !important;
  max-width:24px !important;

  margin:0 !important;
  padding:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  justify-self:center !important;
  align-self:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:24px !important;
  height:24px !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;
}

/* موبایل‌های باریک */
@media(max-width:370px){

  #treasureBtnGratitude,
  #treasureBtnBeauty,
  #treasureBtnAbundance,
  #treasureBtnCapability{
    grid-template-columns:
      96px
      24px !important;
  }

  #treasureComposerRow .treasure-option-label{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }
}


/* NOZAR_TREASURE_ALIGNMENT_FIX_V23 */

/*
  V22 fix:
  هر دکمه فقط یک ردیف دارد.
  ستون ۱ = متن
  ستون ۲ = آیکن
*/
#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  display:grid !important;

  grid-template-columns:
    96px
    24px !important;

  grid-template-rows:
    24px !important;

  grid-auto-rows:
    24px !important;

  column-gap:8px !important;

  justify-content:center !important;
  align-content:center !important;
  align-items:center !important;

  direction:ltr !important;

  min-height:64px !important;
  height:64px !important;

  padding:0 4px !important;
}

/* متن هر چهار دکمه */
#treasureComposerRow .treasure-option-label{
  grid-column:1 !important;
  grid-row:1 !important;

  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;

  height:auto !important;
  min-height:0 !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;

  align-self:center !important;
  justify-self:center !important;

  direction:rtl !important;

  text-align:center !important;
  white-space:nowrap !important;

  line-height:20px !important;
}

/* قلب، خورشید و فراوانی */
#treasureBtnGratitude > svg,
#treasureBtnBeauty > svg,
#treasureBtnAbundance > svg{
  grid-column:2 !important;
  grid-row:1 !important;

  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;

  margin:0 !important;
  padding:0 !important;

  align-self:center !important;
  justify-self:center !important;

  display:block !important;
}

/* بازوی قدرت */
#treasureBtnCapability .treasure-capability-arm{
  grid-column:2 !important;
  grid-row:1 !important;

  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;

  margin:0 !important;
  padding:0 !important;

  align-self:center !important;
  justify-self:center !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#treasureBtnCapability .treasure-capability-arm svg{
  width:24px !important;
  height:24px !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;
}

/* هر چهار باکس دقیقاً هم‌ارتفاع */
#treasureComposerRow{
  align-items:stretch !important;
}

/* موبایل خیلی باریک */
@media(max-width:340px){

  #treasureBtnGratitude,
  #treasureBtnBeauty,
  #treasureBtnAbundance,
  #treasureBtnCapability{
    grid-template-columns:
      88px
      24px !important;
  }

  #treasureComposerRow .treasure-option-label{
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    font-size:11.5px !important;
  }
}


/* NOZAR_TREASURE_COMPACT_BOXES_V24 */

#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  height:52px !important;
  min-height:52px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}


/* NOZAR_TREASURE_FINAL_SPACING_V25 */

#treasureBtnGratitude,
#treasureBtnBeauty,
#treasureBtnAbundance,
#treasureBtnCapability{
  grid-template-columns:82px 24px !important;
  column-gap:7px !important;
  width:auto !important;
  padding-left:10px !important;
  padding-right:10px !important;
}

#treasureComposerRow .treasure-option-label{
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;

  font-size:13px !important;
  font-weight:850 !important;
  line-height:22px !important;
}


.today-date-header-control{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:4px;
}

.today-date-header-control button{
    width:32px;
    height:32px;
    border-radius:10px;
    border:1px solid #ddd;
    background:white;
    font-size:18px;
}

.today-date-header-control span{
    font-size:13px;
    font-weight:700;
    direction:ltr;
}



/* NOZAR_DATE_NAV_FINAL_STYLE */

.nozar-date-arrow{
border:0;
background:transparent;
font-size:25px;
line-height:1;
padding:0 6px;
color:var(--muted);
cursor:pointer;
}


#nozarHeaderDateValue{
font-size:13px;
color:var(--muted);
}

/* NOZAR_TODAY_HEADERFIX_V3: no fixed box/circle anymore - the arrows are
   just small glyphs sized off the surrounding text's own line-height, so
   they sit level with the date text and stop forcing .greeting-text-row
   (and everything under it, like the progress bar) taller. */
/* NOZAR_TODAY_HEADERFIX_V6: even bigger arrows, pulled closer to text */
.today-date-nav-btn{
display:inline-flex;align-items:center;justify-content:center;
flex:none;border:none;background:transparent;margin:0;min-height:0;height:auto;
-webkit-appearance:none;appearance:none;
color:var(--muted);font-size:20px;line-height:1;padding:0;cursor:pointer;
}
.today-date-nav-btn:active{opacity:.6}
body.nozar-date-past #todayAddTaskBtn,
body.nozar-date-past #todayFromWeekBtn{opacity:.35;pointer-events:none}
body.nozar-date-future .task-item [data-action="toggle_done"],
body.nozar-date-future .habit-item [data-action="toggle"],
body.nozar-date-future .habit-item [data-action="open_value"]{opacity:.35;pointer-events:none}
