/* ══════════════════════════════════════════════════════
   Sunny's Life OS v5 — Stylesheet
   bmi.documateo.com/sunos
   ══════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap');

:root {
  --cream: #faf8f3;
  --cream2: #f5f2ea;
  --card: #ffffff;
  --ink: #1a1a2e;
  --ink-soft: #4a4a6a;
  --ink-faint: #9090b0;
  --accent: #e8430a;
  --accent-soft: #fff0eb;
  --accent-hover: #c93808;
  --accent2: #2563eb;
  --accent2-soft: #eff6ff;
  --green: #16a34a;
  --green-soft: #f0fdf4;
  --amber: #d97706;
  --amber-soft: #fffbeb;
  --purple: #7c3aed;
  --purple-soft: #f5f3ff;
  --pink: #db2777;
  --pink-soft: #fdf2f8;
  --teal: #0d9488;
  --teal-soft: #f0fdfa;
  --border: #e8e6e0;
  --border2: #d4d0c8;
  --shadow: 0 2px 12px rgba(26,26,46,0.07);
  --shadow-lg: 0 8px 32px rgba(26,26,46,0.12);
  --sidebar-w: 242px;
  --topbar-h: 56px;
}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* ══════════════════════════════════════════════════════
   USER SWITCHER SCREEN (multi-profile)
   ══════════════════════════════════════════════════════ */
#userSwitcher {
  position:fixed;inset:0;background:var(--ink);z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  animation:fadeIn 0.3s ease;
}
#userSwitcher.hidden{display:none;}
.us-logo{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:white;margin-bottom:6px;}
.us-logo span{color:var(--accent);}
.us-sub{font-size:12px;color:#888;font-family:'DM Mono',monospace;margin-bottom:40px;}
.us-profiles{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;max-width:600px;}
.us-profile{
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;padding:20px 24px;cursor:pointer;transition:all 0.2s;
  text-align:center;min-width:140px;
}
.us-profile:hover{background:rgba(255,255,255,0.12);border-color:var(--accent);transform:translateY(-2px);}
.us-avatar{width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),#f97316);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;font-family:'Playfair Display',serif;
  color:white;margin:0 auto 10px;}
.us-name{font-size:14px;font-weight:600;color:white;}
.us-role{font-size:11px;color:#888;font-family:'DM Mono',monospace;margin-top:3px;}
.us-locked{font-size:11px;color:var(--amber);margin-top:6px;}
.us-add-btn{
  background:transparent;border:1px dashed rgba(255,255,255,0.2);
  border-radius:16px;padding:20px 24px;cursor:pointer;
  text-align:center;min-width:140px;color:#666;transition:all 0.2s;
  font-family:'DM Sans',sans-serif;
}
.us-add-btn:hover{border-color:var(--accent);color:var(--accent);}
.us-actions{margin-top:32px;display:flex;gap:10px;}

/* PIN Entry */
.pin-overlay{
  position:fixed;inset:0;background:rgba(10,10,20,0.9);z-index:10000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.pin-overlay.hidden{display:none;}
.pin-box{background:#1a1a2e;border:1px solid #333;border-radius:16px;padding:32px;text-align:center;min-width:300px;}
.pin-title{font-family:'Playfair Display',serif;font-size:20px;color:white;margin-bottom:6px;}
.pin-sub{font-size:12px;color:#888;margin-bottom:20px;font-family:'DM Mono',monospace;}
.pin-dots{display:flex;gap:12px;justify-content:center;margin-bottom:20px;}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid #444;background:transparent;transition:all 0.15s;}
.pin-dot.filled{background:var(--accent);border-color:var(--accent);}
.pin-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:220px;margin:0 auto;}
.pin-key{
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;padding:14px;font-size:18px;font-weight:600;color:white;
  cursor:pointer;transition:all 0.1s;font-family:'DM Mono',monospace;
}
.pin-key:hover{background:rgba(255,255,255,0.15);}
.pin-key:active{transform:scale(0.93);}
.pin-error{color:#dc2626;font-size:12px;margin-top:10px;min-height:18px;}

/* ── TOPBAR ── */
.topbar{
  background:var(--ink);color:white;
  padding:0 16px 0 0;
  display:flex;align-items:center;justify-content:space-between;
  height:var(--topbar-h);
  position:sticky;top:0;z-index:900;
  box-shadow:0 2px 16px rgba(26,26,46,0.25);
}

.ios-install{
  background: #0f172a;
  color: white;
  text-align: center;
  font-size: 12px;
  padding: 8px;
  position: sticky;
  top: 56px;
  z-index: 998;
  animation: fadeIn 0.3s ease;
}

.topbar-brand-wrap{display:flex;align-items:center;gap:0;height:100%;}
.topbar-logo{
  width:var(--sidebar-w);height:100%;
  display:flex;align-items:center;gap:10px;
  padding:0 20px;border-right:1px solid rgba(255,255,255,0.1);
  flex-shrink:0;
}
.logo-mark{
  width:30px;height:30px;background:linear-gradient(135deg,var(--accent),#f97316);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-size:14px;font-weight:900;color:white;flex-shrink:0;
}
.logo-text{font-family:'Playfair Display',serif;font-size:17px;font-weight:900;letter-spacing:-0.3px;}
.logo-text span{color:var(--accent);}
.topbar-mid{padding:0 16px;font-size:12px;color:#aaa;font-family:'DM Mono',monospace;display:flex;align-items:center;gap:8px;}
.topbar-mid strong{color:#e2e2e2;font-size:13px;}
.topbar-user-pill{
  display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.12);border-radius:20px;
  padding:3px 12px 3px 4px;cursor:pointer;transition:all 0.15s;
}
.topbar-user-pill:hover{background:rgba(255,255,255,0.12);}
.tup-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#f97316);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:white;}
.tup-name{font-size:11px;color:#ddd;font-weight:600;}
.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;overflow:hidden;}
.topbar-clock{font-family:'DM Mono',monospace;font-size:11px;color:#aaa;padding:5px 10px;background:rgba(255,255,255,0.07);border-radius:6px;border:1px solid rgba(255,255,255,0.1);}
/* sync status indicator */
.sync-indicator{display:flex;align-items:center;gap:5px;font-size:10px;font-family:'DM Mono',monospace;padding:4px 10px;border-radius:20px;border:1px solid transparent;transition:all 0.3s;}
.sync-indicator.idle{color:#666;border-color:#333;}
.sync-indicator.syncing{color:#f97316;border-color:#f97316;animation:pulse 1.2s infinite;}
.sync-indicator.ok{color:var(--green);border-color:var(--green);}
.sync-indicator.offline{color:var(--amber);border-color:var(--amber);}
.sync-indicator.error{color:#dc2626;border-color:#dc2626;}
.sync-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
.save-status{font-size:10px;color:#888;font-family:'DM Mono',monospace;}
.btn-top-save{background:var(--accent);color:white;border:none;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.btn-top-save:hover{background:var(--accent-hover);transform:translateY(-1px);}
.btn-top-outline{background:transparent;color:#ccc;border:1px solid #444;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.btn-top-outline:hover{color:white;border-color:#888;}

/* ── OFFLINE BANNER ── */
.offline-banner{
  background:#92400e;color:white;text-align:center;
  font-size:12px;font-weight:600;padding:6px;
  display:none;position:sticky;top:var(--topbar-h);z-index:899;
}
.offline-banner.show{display:block;}

/* ── LAYOUT ── */
.layout{display:flex;min-height:calc(100vh - var(--topbar-h));}

/* ── SIDEBAR ── */
.sidebar{
  width:var(--sidebar-w);min-width:var(--sidebar-w);
  background:var(--card);border-right:1px solid var(--border);
  padding:16px 0 24px;
  position:sticky;top:var(--topbar-h);
  height:calc(100vh - var(--topbar-h));
  overflow-y:auto;flex-shrink:0;
}
.sidebar-progress{padding:13px;margin:0 8px 12px;background:var(--cream);border-radius:10px;border:1px solid var(--border);}
.sp-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);margin-bottom:7px;}
.sp-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:5px;}
.sp-fill{height:100%;background:linear-gradient(90deg,var(--accent),#f97316);border-radius:3px;transition:width 0.6s ease;}
.sp-num{font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-faint);}
.sidebar-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--ink-faint);padding:14px 18px 5px;}
.nav-item{
  display:flex;align-items:center;gap:9px;
  padding:9px 14px;margin:1px 8px;border-radius:8px;
  cursor:pointer;border:none;background:none;
  width:calc(100% - 16px);text-align:left;
  font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;color:var(--ink-soft);
  transition:all 0.12s;
}
.nav-item:hover{background:var(--cream);color:var(--ink);}
.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600;}
.nav-item .ni{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.nav-badge{margin-left:auto;font-size:10px;font-weight:600;background:var(--cream2);color:var(--ink-faint);padding:2px 7px;border-radius:20px;font-family:'DM Mono',monospace;}
.nav-item.active .nav-badge{background:var(--accent-soft);color:var(--accent);}
.sidebar-divider{height:1px;background:var(--border);margin:8px 0;}

/* ── MAIN ── */
.main{flex:1;padding:28px 32px;overflow-x:hidden;}
.panel{display:none;animation:fadeIn 0.2s ease;}
.panel.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* ── PAGE HEADER ── */
.page-header{margin-bottom:22px;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.page-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:var(--ink);line-height:1.2;}
.page-title span{color:var(--accent);}
.page-sub{font-size:13px;color:var(--ink-soft);margin-top:5px;}
.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* ── BUTTONS ── */
.btn{padding:8px 16px;border-radius:8px;font-size:12.5px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;border:none;transition:all 0.15s;display:inline-flex;align-items:center;gap:6px;}
.btn-primary{background:var(--accent);color:white;}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(232,67,10,0.25);}
.btn-secondary{background:white;color:var(--ink);border:1px solid var(--border);}
.btn-secondary:hover{border-color:var(--border2);background:var(--cream);}
.btn-green{background:var(--green-soft);color:var(--green);border:1px solid #bbf7d0;}
.btn-green:hover{background:#dcfce7;}
.btn-amber{background:var(--amber-soft);color:var(--amber);border:1px solid #fde68a;}
.btn-purple{background:var(--purple-soft);color:var(--purple);border:1px solid #ddd6fe;}
.btn-blue{background:var(--accent2-soft);color:var(--accent2);border:1px solid #bfdbfe;}
.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;}
.btn-danger:hover{background:#fee2e2;}
.btn-sm{padding:5px 12px;font-size:11.5px;}
.btn-xs{padding:4px 9px;font-size:11px;}

/* ── STAT CARDS ── */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:13px;margin-bottom:22px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:16px 18px;box-shadow:var(--shadow);transition:all 0.15s;}
.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.stat-card.acc{border-left:3px solid var(--accent);}
.stat-card.grn{border-left:3px solid var(--green);}
.stat-card.amb{border-left:3px solid var(--amber);}
.stat-card.blu{border-left:3px solid var(--accent2);}
.stat-card.pur{border-left:3px solid var(--purple);}
.stat-card.tea{border-left:3px solid var(--teal);}
.stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-faint);}
.stat-value{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--ink);margin:5px 0 2px;}
.stat-sub{font-size:11px;color:var(--ink-soft);}

/* ── CARD ── */
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow);}
.card-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}

/* ── SECTION TABS ── */
.stabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap;}
.stab{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--ink-soft);transition:all 0.12s;font-family:'DM Sans',sans-serif;}
.stab:hover{color:var(--ink);border-color:var(--border2);background:var(--cream);}
.stab.active{background:var(--accent-soft);color:var(--accent);border-color:rgba(232,67,10,0.3);}

/* ── KANBAN ── */
.kanban-wrap{overflow-x:auto;padding-bottom:16px;}
.kanban-board{display:flex;gap:14px;min-width:max-content;align-items:flex-start;padding-bottom:4px;}
.kanban-col{width:272px;min-width:272px;background:var(--cream);border:1px solid var(--border);border-radius:13px;overflow:hidden;}
.kcol-header{padding:13px 15px;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.kcol-title{font-size:12.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:7px;}
.kcol-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-amber{background:var(--amber);}.dot-blue{background:var(--accent2);}.dot-purple{background:var(--purple);}.dot-green{background:var(--green);}.dot-red{background:var(--accent);}
.kcol-count{font-size:10.5px;font-weight:600;background:var(--cream2);color:var(--ink-faint);padding:2px 8px;border-radius:20px;font-family:'DM Mono',monospace;}
.kcol-body{padding:10px;min-height:100px;display:flex;flex-direction:column;gap:7px;}
.kcol-body.drag-over{background:rgba(232,67,10,0.06);border-radius:8px;}

/* ── KCARD ── */
.kcard{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 13px;cursor:grab;transition:all 0.15s;position:relative;}
.kcard:hover{border-color:var(--border2);box-shadow:var(--shadow);}
.kcard.dragging{opacity:0.35;transform:rotate(1.5deg);}
.kcard.done-card{opacity:0.6;}
.kcard-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px;}
.kcard-title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4;flex:1;}
.kcard-actions{display:flex;gap:3px;opacity:0;transition:opacity 0.15s;flex-shrink:0;}
.kcard:hover .kcard-actions{opacity:1;}
.kcard-btn{width:22px;height:22px;border-radius:5px;border:none;background:var(--cream);color:var(--ink-faint);cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all 0.12s;}
.kcard-btn:hover{background:var(--cream2);}
.kcard-btn.del:hover{background:#fef2f2;color:#dc2626;}
.kcard-btn.arch:hover{background:var(--amber-soft);color:var(--amber);}
.kcard-desc{font-size:11.5px;color:var(--ink-soft);margin-bottom:8px;line-height:1.5;}
.kcard-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.kcard-tag{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:0.3px;}
.tag-high{background:#fef2f2;color:#dc2626;}.tag-med{background:var(--amber-soft);color:var(--amber);}
.tag-low{background:var(--green-soft);color:var(--green);}.tag-none{background:var(--cream2);color:var(--ink-faint);}
.tag-life{background:var(--teal-soft);color:var(--teal);}.tag-work{background:var(--accent2-soft);color:var(--accent2);}
.kcard-due{font-size:10px;color:var(--ink-faint);font-family:'DM Mono',monospace;}
.kcard-due.overdue{color:#dc2626;}
.kcard-prog{margin-top:8px;}
.kcard-prog-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;}
.kcard-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),#f97316);border-radius:2px;transition:width 0.3s;}
.kcard-prog-lbl{font-size:10px;color:var(--ink-faint);margin-top:3px;font-family:'DM Mono',monospace;}
.priority-bar{height:3px;border-radius:0 0 0 0;margin:-12px -13px 10px;transition:width 0.3s;}
.priority-bar.high{background:var(--accent);}.priority-bar.med{background:var(--amber);}.priority-bar.low{background:var(--green);}
.add-kcard-btn{display:flex;align-items:center;gap:6px;padding:8px 11px;background:transparent;border:1px dashed var(--border2);border-radius:8px;color:var(--ink-faint);font-size:12px;font-weight:500;cursor:pointer;transition:all 0.15s;width:100%;font-family:'DM Sans',sans-serif;margin-top:2px;}
.add-kcard-btn:hover{background:var(--card);color:var(--ink-soft);}

/* ── GOALS ── */
.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.goal-card{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:20px;box-shadow:var(--shadow);transition:all 0.15s;}
.goal-card:hover{box-shadow:var(--shadow-lg);}
.goal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.goal-title{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--ink);}
.goal-cat{font-size:10px;color:var(--ink-faint);font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:1px;margin-top:2px;}
.goal-pct{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;}
.goal-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin:10px 0 12px;}
.goal-bar-fill{height:100%;border-radius:3px;transition:width 0.5s ease;}
.milestones{display:flex;flex-direction:column;gap:5px;}
.milestone{display:flex;align-items:center;gap:9px;padding:7px 10px;background:var(--cream);border-radius:7px;cursor:pointer;transition:all 0.12s;border:1px solid transparent;}
.milestone:hover{border-color:var(--border);}
.milestone.done{opacity:0.55;}
.ms-check{width:17px;height:17px;border-radius:4px;border:2px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;transition:all 0.15s;}
.milestone.done .ms-check{background:var(--green);border-color:var(--green);color:white;}
.ms-text{font-size:12px;color:var(--ink-soft);flex:1;line-height:1.4;}
.milestone.done .ms-text{text-decoration:line-through;color:var(--ink-faint);}
.goal-footer{display:flex;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(26,26,46,0.5);z-index:10001;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);}
.modal-overlay.open{display:flex;}
.modal{background:var(--card);border-radius:16px;padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:fadeIn 0.2s ease;max-height:90vh;overflow-y:auto;}
.modal.wide{max-width:620px;}
.modal.xlarge{max-width:760px;}
.modal-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.form-group{margin-bottom:13px;}
.form-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);margin-bottom:5px;display:block;}
.form-input,.form-textarea,.form-select{width:100%;background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--ink);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color 0.15s;}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,67,10,0.08);}
.form-textarea{resize:vertical;min-height:75px;line-height:1.6;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--border);}

/* ── PROGRESS ── */
.prog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px;}
.prog-item{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:15px;}
.prog-item-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.prog-item-title{font-size:12.5px;font-weight:600;color:var(--ink);}
.prog-item-pct{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;}
.prog-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.prog-fill{height:100%;border-radius:3px;transition:width 0.6s ease;}

/* ── OVERVIEW ── */
.overview-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;}
@media(max-width:920px){.overview-grid{grid-template-columns:1fr;}}
.welcome-banner{background:linear-gradient(135deg,var(--ink) 0%,#2d2d4e 100%);border-radius:14px;padding:22px 26px;margin-bottom:22px;display:flex;align-items:center;gap:20px;color:white;position:relative;overflow:hidden;}
.welcome-banner::after{content:'';position:absolute;right:-20px;top:-20px;width:160px;height:160px;background:rgba(232,67,10,0.08);border-radius:50%;}
.wb-emoji{font-size:36px;z-index:1;}
.wb-text{z-index:1;}
.wb-text h2{font-family:'Playfair Display',serif;font-size:21px;font-weight:900;}
.wb-text p{font-size:12.5px;color:#bbb;margin-top:4px;}
.wb-date{margin-left:auto;text-align:right;z-index:1;}
.wb-day{font-size:12px;color:var(--accent);font-weight:600;font-family:'DM Mono',monospace;}
.wb-full{font-size:11px;color:#aaa;font-family:'DM Mono',monospace;margin-top:2px;}
.today-tasks{display:flex;flex-direction:column;gap:5px;}
.today-task{display:flex;align-items:center;gap:9px;padding:9px 11px;background:var(--cream);border-radius:8px;cursor:default;transition:all 0.12s;border:1px solid transparent;}
.today-task:hover{border-color:var(--border);background:var(--card);}
.tt-title{font-size:12px;font-weight:500;color:var(--ink);flex:1;}
.tt-src{font-size:10px;font-weight:600;padding:1px 7px;border-radius:20px;}
.tt-src.life{background:var(--teal-soft);color:var(--teal);}
.tt-src.work{background:var(--accent2-soft);color:var(--accent2);}
.tt-section{font-size:10px;color:var(--ink-faint);font-family:'DM Mono',monospace;}

/* ── ALERTS ── */
.alert{padding:12px 15px;border-radius:10px;margin-bottom:14px;font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.5;}
.alert-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
.alert.info{background:var(--accent2-soft);border:1px solid #bfdbfe;color:#1e40af;}
.alert.success{background:var(--green-soft);border:1px solid #bbf7d0;color:#166534;}
.alert.warning{background:var(--amber-soft);border:1px solid #fde68a;color:#92400e;}

/* ── HABITS ── */
.habit-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:7px;flex-wrap:wrap;}
.habit-name{font-size:13px;font-weight:500;color:var(--ink);flex:1;min-width:120px;}
.habit-days{display:flex;gap:4px;}
.habit-day{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:var(--ink-faint);transition:all 0.12s;font-family:'DM Mono',monospace;}
.habit-day.done{background:var(--green);border-color:var(--green);color:white;}
.habit-day:hover{border-color:var(--accent);}
.habit-streak{font-size:11px;color:var(--amber);font-weight:600;font-family:'DM Mono',monospace;min-width:52px;text-align:right;}

/* ── NOTES ── */
.notes-layout{display:flex;gap:16px;height:calc(100vh - 220px);min-height:400px;}
.notes-sidebar{width:220px;min-width:220px;display:flex;flex-direction:column;gap:8px;}
.folder-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all 0.12s;font-size:13px;color:var(--ink-soft);font-weight:500;}
.folder-item:hover{background:var(--cream);color:var(--ink);}
.folder-item.active{background:var(--accent-soft);color:var(--accent);border-color:rgba(232,67,10,0.2);}
.folder-count{margin-left:auto;font-size:10px;font-family:'DM Mono',monospace;color:var(--ink-faint);}
.note-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:13px 15px;cursor:pointer;transition:all 0.12s;}
.note-item:hover{border-color:var(--border2);box-shadow:var(--shadow);}
.note-item.active-note{border-color:var(--accent);box-shadow:0 0 0 2px rgba(232,67,10,0.08);}
.note-item-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.note-item-preview{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.note-item-meta{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:10px;color:var(--ink-faint);font-family:'DM Mono',monospace;}
.note-editor{flex:1;background:var(--card);border:1px solid var(--border);border-radius:13px;padding:22px;display:flex;flex-direction:column;}
.note-edit-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:900;border:none;outline:none;background:transparent;color:var(--ink);width:100%;margin-bottom:12px;}
.note-edit-body{flex:1;border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--ink-soft);resize:none;line-height:1.7;}
.note-editor-toolbar{display:flex;gap:8px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px;flex-wrap:wrap;}
.note-search{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--ink);outline:none;width:100%;margin-bottom:8px;}
.note-search:focus{border-color:var(--accent);}

/* ── CAREER ── */
.career-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.career-card{background:var(--card);border:1px solid var(--border);border-radius:13px;overflow:hidden;box-shadow:var(--shadow);}
.career-card-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;transition:background 0.12s;}
.career-card-header:hover{background:var(--cream);}
.career-card-title{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;}
.career-card-body{display:none;padding:0 18px 16px;border-top:1px solid var(--border);}
.career-card-body.open{display:block;}

/* ── ARCHIVE ── */
.archive-item{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;background:var(--card);border:1px solid var(--border);border-radius:10px;transition:all 0.12s;margin-bottom:8px;}
.archive-item:hover{border-color:var(--border2);}
.arc-content{flex:1;}
.arc-title{font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:line-through;}
.arc-meta{font-size:11px;color:var(--ink-faint);margin-top:3px;font-family:'DM Mono',monospace;}
.arc-source{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;margin-left:6px;}
.arc-life{background:var(--teal-soft);color:var(--teal);}.arc-work{background:var(--accent2-soft);color:var(--accent2);}
.arc-btn{padding:5px 11px;border-radius:7px;font-size:11.5px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--ink-soft);transition:all 0.12s;font-family:'DM Sans',sans-serif;}
.arc-btn:hover{background:var(--cream);}
.arc-btn.del:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca;}

/* ── TOAST ── */
#toast{position:fixed;bottom:22px;right:22px;padding:10px 18px;background:var(--ink);color:white;border-radius:10px;font-size:13px;font-weight:500;z-index:9999;transform:translateY(60px);opacity:0;transition:all 0.3s;box-shadow:var(--shadow-lg);max-width:340px;}
#toast.show{transform:translateY(0);opacity:1;}
.toast{position:fixed;bottom:22px;right:22px;padding:10px 18px;background:var(--ink);color:white;border-radius:10px;font-size:13px;font-weight:500;z-index:9999;transform:translateY(60px);opacity:0;transition:all 0.3s;box-shadow:var(--shadow-lg);}

/* ── CHIPS ── */
.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:600;border:1px solid var(--border);background:var(--cream2);color:var(--ink-soft);}
.chip.green{background:var(--green-soft);border-color:#bbf7d0;color:var(--green);}
.chip.amber{background:var(--amber-soft);border-color:#fde68a;color:var(--amber);}
.chip.red{background:#fef2f2;border-color:#fecaca;color:#dc2626;}
.chip.blue{background:var(--accent2-soft);border-color:#bfdbfe;color:var(--accent2);}
.chip.purple{background:var(--purple-soft);border-color:#ddd6fe;color:var(--purple);}

/* ── EMPTY STATE ── */
.empty-state{text-align:center;padding:36px 20px;color:var(--ink-faint);}
.empty-state-icon{font-size:32px;margin-bottom:10px;opacity:0.6;}
.empty-state p{font-size:13px;}

/* ── MOBILE ── */
@media(max-width:768px){
  /* Show hamburger, sidebar becomes a drawer */
  #mobileBtn{display:flex;}
  .sidebar{position:fixed;left:0;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));width:var(--sidebar-w);transform:translateX(-100%);transition:transform 0.25s ease;z-index:800;box-shadow:var(--shadow-lg);}
  .sidebar.mobile-open{transform:translateX(0);}
  .mobile-overlay{position:fixed;inset:0;background:rgba(26,26,46,0.5);z-index:799;display:none;}
  .mobile-overlay.open{display:block;}
  .topbar{padding:0 12px 0 4px;}
  .topbar-brand-wrap{gap:6px !important;}
  .topbar-logo{width:auto !important;border-right:none !important;padding:0 6px !important;}
    
  .topbar-brand-wrap{gap:4px;}
  .topbar-logo{width:auto;border-right:none;padding:0 8px;}
  .topbar-right{gap:6px;}
  /* Content */
  .main{padding:16px 14px;}
  .notes-layout{flex-direction:column;height:auto;}
  .notes-sidebar{width:100%;min-width:unset;}
  .form-row{grid-template-columns:1fr;}
  .overview-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .kanban-board{flex-direction:column;min-width:unset;}
  .kanban-col{width:100%;min-width:unset;}
}

/* ── MISC ── */
.section-intro{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin-bottom:18px;padding:14px 18px;background:var(--accent-soft);border-radius:10px;border-left:3px solid var(--accent);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:860px){.two-col{grid-template-columns:1fr;}}
.study-track-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:all 0.12s;}
.study-track-item:hover{border-color:var(--border2);}
.sti-icon{font-size:22px;flex-shrink:0;}.sti-content{flex:1;}
.sti-title{font-size:13.5px;font-weight:600;color:var(--ink);}
.sti-sub{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.sti-bar{margin-top:6px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;}
.sti-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--accent),#f97316);transition:width 0.5s;}
.sti-pct{font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-faint);margin-top:3px;}
.sti-actions{display:flex;gap:5px;}

/* ── QUICK CAPTURE ── */
.quick-capture-bar{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:20px;display:flex;gap:10px;align-items:center;}
.qc-input{flex:1;border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);}
.qc-input::placeholder{color:var(--ink-faint);}
.qc-type-select{border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;font-family:'DM Sans',sans-serif;color:var(--ink-soft);background:var(--cream);outline:none;cursor:pointer;}

/* ── FOCUS PANEL ── */
.focus-panel{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:14px;padding:24px;margin-bottom:20px;color:white;position:relative;overflow:hidden;}
.focus-panel::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:rgba(232,67,10,0.12);border-radius:50%;}
.focus-today-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:10px;}
.focus-input{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:12px 16px;color:white;font-family:'Playfair Display',serif;font-size:18px;font-weight:700;width:100%;outline:none;transition:border-color 0.2s;}
.focus-input:focus{border-color:var(--accent);}
.focus-input::placeholder{color:rgba(255,255,255,0.3);}
.focus-sub-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;align-items:center;}
.focus-mood{display:flex;gap:8px;align-items:center;}
.mood-btn{width:34px;height:34px;border-radius:8px;border:1.5px solid rgba(255,255,255,0.15);background:transparent;cursor:pointer;font-size:16px;transition:all 0.15s;display:flex;align-items:center;justify-content:center;}
.mood-btn:hover,.mood-btn.selected{border-color:var(--accent);background:rgba(232,67,10,0.2);}
.focus-water{display:flex;gap:4px;align-items:center;}
.water-cup{width:22px;height:26px;border:1.5px solid rgba(255,255,255,0.2);border-radius:3px;cursor:pointer;background:transparent;transition:all 0.15s;font-size:10px;display:flex;align-items:center;justify-content:center;}
.water-cup.filled{background:#0ea5e9;border-color:#0ea5e9;color:white;}
.water-cup:hover{border-color:#0ea5e9;}

/* ── FINANCE ── */
.finance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;}
.fin-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;}
.fin-card.income{border-top:3px solid var(--green);}.fin-card.expense{border-top:3px solid #dc2626;}
.fin-card.balance{border-top:3px solid var(--accent2);}.fin-card.savings{border-top:3px solid var(--purple);}
.fin-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-faint);margin-bottom:6px;}
.fin-amount{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--ink);}
.fin-sub{font-size:11px;color:var(--ink-soft);margin-top:2px;}
.fin-item{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--card);border:1px solid var(--border);border-radius:9px;transition:all 0.12s;margin-bottom:6px;}
.fin-item:hover{border-color:var(--border2);}
.fin-item-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.fin-item-icon.income{background:var(--green-soft);}.fin-item-icon.expense{background:#fef2f2;}
.fin-item-name{flex:1;}
.fin-item-title{font-size:13px;font-weight:500;color:var(--ink);}
.fin-item-cat{font-size:11px;color:var(--ink-faint);font-family:'DM Mono',monospace;}
.fin-item-amount{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;}
.fin-item-amount.income{color:var(--green);}.fin-item-amount.expense{color:#dc2626;}

/* ── CONTACTS ── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.contact-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;transition:all 0.15s;}
.contact-card:hover{box-shadow:var(--shadow);border-color:var(--border2);}
.contact-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:white;margin-bottom:10px;font-family:'Playfair Display',serif;}
.contact-name{font-size:14px;font-weight:700;color:var(--ink);}
.contact-role{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.contact-last{font-size:11px;color:var(--ink-faint);font-family:'DM Mono',monospace;margin-top:6px;}
.contact-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}

/* ── POMODORO ── */
.pomodoro-wrap{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;text-align:center;max-width:340px;margin:0 auto;}
.pom-ring{position:relative;width:180px;height:180px;margin:0 auto 20px;}
.pom-ring svg{transform:rotate(-90deg);}
.pom-ring circle{fill:none;stroke:var(--border);stroke-width:8;}
.pom-ring circle.progress{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset 0.5s ease;}
.pom-time{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:36px;font-weight:700;color:var(--ink);}
.pom-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:1.5px;margin-top:4px;}
.pom-controls{display:flex;gap:10px;justify-content:center;margin-top:14px;}
.pom-btn{padding:10px 22px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.pom-btn.start{background:var(--accent);color:white;}
.pom-btn.start:hover{background:var(--accent-hover);}
.pom-btn.reset{background:var(--cream2);color:var(--ink-soft);border:1px solid var(--border);}
.pom-sessions{display:flex;gap:6px;justify-content:center;margin-top:12px;}
.pom-session-dot{width:10px;height:10px;border-radius:50%;background:var(--border);}
.pom-session-dot.done{background:var(--accent);}
.pom-mode-tabs{display:flex;gap:6px;justify-content:center;margin-bottom:16px;}
.pom-mode-btn{padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--cream);color:var(--ink-soft);transition:all 0.12s;font-family:'DM Sans',sans-serif;}
.pom-mode-btn.active{background:var(--accent-soft);color:var(--accent);border-color:rgba(232,67,10,0.3);}

/* ── SEARCH ── */
.search-bar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 14px;margin-bottom:18px;}
.search-result-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all 0.12s;margin-bottom:7px;}
.search-result-item:hover{border-color:var(--accent);box-shadow:var(--shadow);}
.sr-type{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-faint);margin-bottom:4px;}
.sr-title{font-size:13.5px;font-weight:600;color:var(--ink);}
.sr-preview{font-size:12px;color:var(--ink-soft);margin-top:3px;}
mark{background:rgba(232,67,10,0.15);color:var(--accent);border-radius:2px;padding:0 2px;}

/* ── WEEKLY REVIEW ── */
.review-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px;}
.review-day{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 8px;text-align:center;transition:all 0.12s;}
.review-day.today{border-color:var(--accent);background:var(--accent-soft);}
.rd-day{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--ink-faint);margin-bottom:4px;}
.rd-date{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.rd-habits{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;}
.rd-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);}
.rd-dot.done{background:var(--green);}

/* ── WELLBEING ── */
.wellbeing-gauges{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.wellbeing-gauge{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;flex:1;min-width:120px;text-align:center;}
.wg-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-faint);margin-bottom:8px;}
.wg-score{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:var(--accent);}
.wg-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:none;margin-top:8px;cursor:pointer;}
.wg-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px rgba(0,0,0,0.2);}

/* ── JOURNAL PROMPT ── */
.journal-prompt{background:linear-gradient(135deg,var(--purple-soft),var(--accent2-soft));border:1px solid #ddd6fe;border-radius:12px;padding:16px 20px;margin-bottom:14px;}
.jp-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--purple);margin-bottom:8px;}
.jp-question{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:10px;line-height:1.4;}
.jp-input{width:100%;background:rgba(255,255,255,0.7);border:1px solid rgba(124,58,237,0.2);border-radius:8px;padding:10px 12px;font-size:13px;font-family:'DM Sans',sans-serif;resize:vertical;min-height:80px;outline:none;color:var(--ink);}
.jp-input:focus{border-color:var(--purple);}

/* ── BACKUP MODAL v5 ── */
.backup-section{margin-bottom:16px;}
.backup-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-faint);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.backup-option{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--cream);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all 0.12s;}
.backup-option:hover{border-color:var(--border2);background:var(--card);}
.backup-option.active{border-color:var(--green);background:var(--green-soft);}
.backup-option.error{border-color:#fecaca;background:#fef2f2;}
.backup-option-icon{font-size:22px;flex-shrink:0;}
.backup-option-title{font-size:13px;font-weight:600;color:var(--ink);}
.backup-option-sub{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.backup-option-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.bab-ok{background:var(--green-soft);color:var(--green);}
.bab-warn{background:var(--amber-soft);color:var(--amber);}
.bab-err{background:#fef2f2;color:#dc2626;}
.bab-new{background:var(--accent2-soft);color:var(--accent2);}
.backup-health{font-size:12px;padding:10px 14px;border-radius:8px;background:var(--cream);border:1px solid var(--border);margin-bottom:12px;font-family:'DM Mono',monospace;line-height:1.7;}
.backup-version-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--cream);border-radius:7px;margin-bottom:5px;font-size:12px;}
.bvi-meta{color:var(--ink-soft);font-family:'DM Mono',monospace;font-size:11px;}
.dropbox-setup-steps{background:var(--cream);border-radius:8px;padding:12px;font-size:12px;color:var(--ink-soft);line-height:1.8;margin-top:8px;}
.dropbox-setup-steps a{color:var(--accent2);}

/* ── PWA INSTALL PROMPT ── */
.pwa-banner{
  background:linear-gradient(135deg,#1a1a2e,#2d2d4e);
  border-radius:12px;padding:14px 18px;margin-bottom:18px;
  display:flex;align-items:center;gap:14px;color:white;
  border:1px solid rgba(255,255,255,0.1);
}
.pwa-banner.hidden{display:none;}
.pwa-text{flex:1;font-size:13px;color:#ddd;}
.pwa-text strong{color:white;}
/* ── MOBILE BUTTON ── */
#mobileBtn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border-radius:8px;flex-shrink:0;}
#mobileBtn span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:all 0.2s;}
#mobileBtn.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#mobileBtn.active span:nth-child(2){opacity:0;}
#mobileBtn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.hide-mob{}
.tup-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#f97316);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:white;font-family:'Playfair Display',serif;flex-shrink:0;}



/* ── CONTACT URGENT ── */
.contact-card.urgent{border-color:#fecaca;background:#fef9f9;}
.contact-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}

/* ── NOTES LIST ── */
.notes-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;}
.note-template-tag{font-size:9px;background:var(--purple-soft);color:var(--purple);border-radius:4px;padding:1px 5px;font-weight:600;}

/* ── FINANCE LIST ── */
.fin-item-date{font-size:10px;color:var(--ink-faint);font-family:'DM Mono',monospace;text-align:right;}
.fin-list{display:flex;flex-direction:column;gap:0;}

/* ── ARCHIVE FILTERS ── */
.archive-filters{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.arc-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.arc-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;}

/* ── SEARCH RESULTS ── */
.search-results{display:flex;flex-direction:column;}

/* ── OVERRIDE: userSwitcher flex ── */
#userSwitcher{display:flex;}
#userSwitcher.hidden{display:none!important;}
.pin-overlay.hidden{display:none!important;}



@media (max-width: 768px){

  .topbar{
    padding: 6px 6px;   /* tighter */
    gap: 4px;
  }

  .topbar-brand-wrap{
    gap: 4px;
  }

  .logo-mark{
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

  .logo-text{
    font-size: 13px;
  }

  .topbar-mid{
    font-size: 10px;
  }

  .topbar-clock{
    font-size: 10px;
    padding: 2px 6px;
  }

  .save-status{
    display: none; /* 👈 remove clutter (important) */
  }

  .topbar-right button{
    font-size: 10px;
    padding: 4px 6px;
    border-radius: 6px;
  }
}


#mobileTrigger{
  position: fixed;

  left: 10px;          /* align with layout padding */
  bottom: 90px;        /* lift slightly above content */

  width: 36px;         /* 👈 smaller */
  height: 36px;

  border-radius: 50%;
  background: var(--ink);
  color: white;

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

  font-size: 14px;     /* smaller icon */
  cursor: pointer;

  z-index: 1002;

  box-shadow: var(--shadow-md); /* lighter shadow */
  transition: all 0.2s ease;
}



#mobileBtn{
  position: fixed;
  bottom: 24px;
  left: calc(35% - 180px + 16px);

  width: 36px;
  height: 36px;
  border-radius: 50%;

  background: linear-gradient(135deg, var(--accent), #ff7a3d);

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

  gap: 4px;
  border: none;
  cursor: pointer;

  box-shadow: 
    0 4px 10px rgba(0,0,0,0.15),
    inset 0 1px 0 rgba(255,255,255,0.2);

  z-index: 1000;
  transition: all 0.2s ease;
}

/* lines */
#mobileBtn span{
  width: 14px;
  height: 2px;
  background: white;
  border-radius: 2px;
  transition: all 0.25s ease;
}

/* when active → turn into X */
#mobileBtn.active span:nth-child(1){
  transform: translateY(6px) rotate(45deg);
}

#mobileBtn.active span:nth-child(2){
  opacity: 0;
}

#mobileBtn.active span:nth-child(3){
  transform: translateY(-6px) rotate(-45deg);
}


#mobileBtn:active{
  transform: scale(0.92);
}

#mobileBtn:hover{
  transform: translateY(-1px);
}

/* hide by default (desktop) */
#mobileBtn{
  display: none;
}

/* show ONLY on mobile */
@media (max-width: 768px){
  #mobileBtn{
    display: flex;
  }
}

/* ✨ smooth feel */
*{
  transition: all 0.2s ease;
}

/* ✨ card hover lift */
.card{
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

/* ✨ buttons feel clickable */
.btn{
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn:active{
  transform: scale(0.95);
}

/* ✨ chips */
.chip{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(0,0,0,0.05);
  font-size:11px;
}

/* PREMIUM MOBILE HEADER */
@media (max-width:768px){

  .topbar{
    padding:8px 10px;
  }

  .topbar-right{
    gap:6px;
    flex-wrap:nowrap;
  }

  .btn-top-outline{
    display:none; /* hide secondary actions */
  }

  .btn-top-save{
    padding:6px 8px;
    font-size:12px;
  }

  .topbar-user-pill{
    padding:4px 6px;
  }

  #mobileBtn{
    margin-right:6px;
  }

}


/* BOTTOM NAV */
.bottom-nav{
  display:none;
}

@media (max-width:768px){
  .bottom-nav{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:60px;
    background:#fff;
    border-top:1px solid #eee;
    justify-content:space-around;
    align-items:center;
    z-index:1000;
  }

  .bottom-nav button{
    background:none;
    border:none;
    font-size:20px;
  }

  .main{
    padding-bottom:70px; /* prevent overlap */
  }
}

.install-btn {
  display: none;
  border: 1px solid rgba(255,255,255,0.2);
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 10px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.install-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(34,197,94,0.3);
}