/* ===== Flow OS - Responsive ===== */
@media (max-width:768px) {
  :root { --sidebar-w: 0px; }
  #sidebar { position:absolute; left:0; top:0; bottom:0; transform:translateX(-100%); width:260px; }
  #sidebar.open { transform:translateX(0); }
  .mobile-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.3); z-index:45; display:none; }
  .mobile-overlay.active { display:block; }
  #moduleContainer { padding:12px; }
  .lock-card { padding:36px 24px 28px; }
  .dash-grid { grid-template-columns:1fr 1fr; }
  .modal { padding:16px; border-radius:20px; }
  .pwd-item { flex-direction:column; align-items:flex-start; gap:8px; }
  .pwd-field { width:100%; }
  .top-title { font-size:.95rem; }
  #topBar { padding:0 12px; height:48px; }
  #menuToggle { display:inline-flex !important; }
  .top-actions { gap:4px; }
  .top-actions .btn-sm { padding:4px 8px; font-size:.75rem; }
  .glass-card { padding:14px; }
  .form-row { grid-template-columns:1fr; }
  .timer-top-grid, .timer-bottom-grid { grid-template-columns:1fr; }
  .time-filter-group { flex-wrap:wrap; }
  .filter-chip { padding:3px 8px; font-size:.7rem; }
  #timerRecordsScroll { max-height:280px; }
  #timerRecordsScroll table { min-width:360px; }
  .note-sidebar { width:100%; border-right:none; border-bottom:1px solid var(--glass-border); max-height:200px; }
  .note-editor { padding:16px; min-height:300px; }
  .fc-cell { min-height:60px; }
  .form-row { grid-template-columns:1fr; }
  /* Mindmap responsive */
  #mod-mindmap { height:calc(100vh - 100px); }
  #mod-mindmap .mm-toolbar { gap:2px; padding:6px 8px; }
  #mod-mindmap .mm-toolbar-btn { width:32px; height:32px; }
  #mod-mindmap .mm-search-box { max-width:100px; margin:0 4px; }
  #mod-mindmap .mm-search-box input { padding:0 28px 0 32px; font-size:12px; }
}

@media (max-width:480px) {
  .dash-grid { grid-template-columns:1fr; }
  .timer-digit { font-size:2.5rem; }
  .fc-cell { min-height:48px; }
  .habit-day { width:26px; height:26px; font-size:.6rem; }
  .habit-status-btn { padding:3px 6px; font-size:.65rem; min-width:28px; }
  .habit-card { padding:12px 10px 10px; border-radius:14px; margin-bottom:8px; }
  .habit-stat-card { padding:8px 2px; }
  .habit-stat-card .stat-value { font-size:.9rem; }
  .habit-stat-card .stat-label { font-size:.55rem; }
  .lock-title { font-size:1.3rem; }
  .lock-icon-wrap { width:60px; height:60px; }
  .top-actions .btn-sm span { display:none; }
  .top-actions .btn-sm i { margin:0; }
  #globalSyncStatus { font-size:.65rem; padding:2px 6px; }
  .glass-card { padding:12px; border-radius:14px; }
  #moduleContainer { padding:10px; }
  .modal { max-width:95vw !important; }
  .form-input { font-size:.85rem; }
  .btn { font-size:.8rem; padding:8px 12px; }
  .btn-sm { font-size:.72rem; padding:4px 8px; }
  .note-title-input { font-size:1rem; }
  .note-content-area { font-size:.9rem; }
  .dash-card { padding:12px; }
  .dash-card-title { font-size:.85rem; }
  .dash-card-desc { font-size:.7rem; }
}
