/* ============================================================
   EVO SPACE — Matrix Terminal Style
   Bitburner × Trae.ai × Dark terminal aesthetic
   ============================================================ */

:root {
  --font: 'Inter', system-ui, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --transition: 0.2s ease;
  --transition-fast: 0.1s ease;
  --sidebar-width: 220px;
  --toolbar-height: 40px;

  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;
  --r-full: 9999px;

  /* MATRIX (default dark) */
  --bg: #0a0a0a;
  --surface: #0e0e0e;
  --surface-dim: #141414;
  --surface-hover: #1a1a1a;
  --surface-raised: #161616;
  --border: #1a1a1a;
  --border-light: #161616;
  --border-strong: #2a2a2a;

  --text-primary: #e0e0e0;
  --text-secondary: #666666;
  --text-tertiary: #444444;
  --text-disabled: #333333;

  --accent: #00d26a;
  --accent-hover: #00b85a;
  --on-accent: #0a0a0a;
  --accent-bg: rgba(0, 210, 106, 0.1);
  --accent-glow: rgba(0, 210, 106, 0.3);

  --success: #00d26a;
  --success-bg: rgba(0, 210, 106, 0.1);
  --danger: #ff6b6b;
  --danger-bg: rgba(255, 107, 107, 0.1);
  --warning: #ffd93d;
  --warning-bg: rgba(255, 217, 61, 0.1);
  --info: #6bcfff;
  --purple: #a78bfa;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 2px 8px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.5);

  --sidebar-bg: #0e0e0e;
  --sidebar-border: #1a1a1a;
  --nav-active-bg: rgba(0, 210, 106, 0.1);
}

/* TOKYO NIGHT */
[data-theme="tokyo"] {
  --bg: #1a1b26;
  --surface: #16161e;
  --surface-dim: #1f2335;
  --surface-hover: #292e42;
  --surface-raised: #1f2335;
  --border: #292e42;
  --border-light: #1f2335;
  --border-strong: #3d4466;

  --text-primary: #a9b1d6;
  --text-secondary: #565f89;
  --text-tertiary: #414868;
  --text-disabled: #2a2e3e;

  --accent: #7aa2f7;
  --accent-hover: #6a92e7;
  --on-accent: #16161e;
  --accent-bg: rgba(122, 162, 247, 0.1);
  --accent-glow: rgba(122, 162, 247, 0.3);

  --success: #73daca;
  --danger: #f7768e;
  --warning: #e0af68;
  --info: #7dcfff;
  --purple: #bb9af7;
}

/* LIGHT */
[data-theme="light"] {
  --bg: #fafafa;
  --surface: #ffffff;
  --surface-dim: #f4f4f5;
  --surface-hover: #e4e4e7;
  --surface-raised: #ffffff;
  --border: #e4e4e7;
  --border-light: #f0f0f3;
  --border-strong: #d4d4d8;

  --text-primary: #18181b;
  --text-secondary: #71717a;
  --text-tertiary: #a1a1aa;
  --text-disabled: #c4c4c8;

  --accent: #10b981;
  --accent-hover: #059669;
  --on-accent: #ffffff;
  --accent-bg: rgba(16, 185, 129, 0.1);
  --accent-glow: rgba(16, 185, 129, 0.2);

  --success: #10b981;
  --danger: #ef4444;
  --warning: #f59e0b;
  --info: #3b82f6;
  --purple: #8b5cf6;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden;font-family:var(--font);font-size:13px;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background 0.3s,color 0.3s}

/* SIDEBAR */
#sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:100;user-select:none;transition:background 0.3s,border-color 0.3s}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--sidebar-border)}
.logo-pill{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none;color:var(--accent);font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:0.02em}
.logo-pill svg{width:28px;height:28px;background:var(--surface-dim);border:1px solid var(--accent);border-radius:var(--r-sm);padding:5px;flex-shrink:0;transition:all 0.3s}
.logo-pill:hover svg{background:var(--accent);color:var(--bg)}
.icon-btn{width:28px;height:28px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}
.icon-btn:hover{background:var(--surface-dim);color:var(--text-primary)}
.sidebar-menu{flex:1;padding:8px 0;display:flex;flex-direction:column;gap:0;overflow-y:auto}
.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;border-radius:0;background:transparent;color:var(--text-secondary);font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition-fast);text-align:left;border-left:2px solid transparent}
.nav-btn svg{flex-shrink:0;opacity:0.5;transition:var(--transition-fast);width:16px;height:16px}
.nav-btn:hover{background:var(--surface-dim);color:var(--text-primary)}
.nav-btn:hover svg{opacity:0.9}
.nav-btn.active{background:var(--nav-active-bg);color:var(--accent);border-left-color:var(--accent);font-weight:600}
.nav-btn.active svg{opacity:1}
#accountNavBtn{margin-top:auto;opacity:0.4}
#accountNavBtn:hover{opacity:1}
.sidebar-footer{padding:8px;border-top:1px solid var(--sidebar-border);display:flex;gap:6px}
.text-btn{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-secondary);font-family:var(--mono);font-size:9px;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:4px}
.text-btn:hover{border-color:var(--accent);color:var(--accent)}
.text-btn svg{flex-shrink:0;width:12px;height:12px}

/* MAIN */
#main{margin-left:var(--sidebar-width);height:100vh;overflow:hidden}
.panel{display:none;height:100%;flex-direction:column;overflow:hidden}
.panel.active{display:flex}
.panel-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;min-height:var(--toolbar-height);border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface);font-family:var(--mono)}
.panel-toolbar h2{font-size:12px;font-weight:600;color:var(--text-secondary);font-family:var(--mono)}
.toolbar-actions{display:flex;gap:8px;align-items:center}

/* BUTTONS */
.btn{padding:6px 16px;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-family:var(--mono);font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.btn:hover{filter:brightness(1.15);box-shadow:0 0 15px var(--accent-glow)}
.btn:active{transform:scale(0.97)}
.btn-outline{padding:6px 16px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);font-family:var(--mono);font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn.danger{background:var(--danger);color:#fff}
.btn.danger:hover{filter:brightness(1.1)}
.btn-sm{padding:3px 10px;font-size:11px;font-weight:500;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast);font-family:var(--mono)}
.btn-sm:hover{background:var(--surface-dim);color:var(--text-primary)}

/* FILTERS */
.tasks-filters,.finance-filters{display:flex;gap:4px;padding:6px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.filter-btn{padding:4px 14px;border:none;border-radius:var(--r-full);background:transparent;color:var(--text-secondary);font-family:var(--mono);font-size:11px;font-weight:500;cursor:pointer;transition:var(--transition-fast)}
.filter-btn:hover{background:var(--surface-dim);color:var(--text-primary)}
.filter-btn.active{background:var(--accent);color:var(--on-accent);font-weight:600}

/* SELECT */
select{padding:5px 26px 5px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-primary);font-family:var(--mono);font-size:11px;font-weight:500;cursor:pointer;min-width:130px;transition:var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
select:hover{border-color:var(--accent)}

/* INPUTS */
input[type="text"],input[type="number"],input[type="date"],input[type="password"],input[type="email"],textarea{padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-dim);color:var(--text-primary);font-family:var(--font);font-size:13px;transition:var(--transition-fast);outline:none;width:100%}
input::placeholder,textarea::placeholder{color:var(--text-tertiary)}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
textarea{resize:vertical;min-height:64px;line-height:1.6}

/* KANBAN */
.kanban-columns{display:flex;gap:10px;padding:12px 20px;overflow-x:auto;flex:1;align-items:flex-start}
.kanban-column{min-width:270px;max-width:310px;flex:0 0 auto;background:var(--surface-dim);border-radius:var(--r-md);padding:10px;display:flex;flex-direction:column;max-height:calc(100vh - var(--toolbar-height) - 32px);border:1px solid var(--border)}
.kanban-col-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:2px 4px}
.kanban-col-header h3{font-size:10px;font-weight:700;color:var(--text-secondary);font-family:var(--mono);text-transform:uppercase;letter-spacing:0.08em}
.kanban-col-header .count{font-size:10px;color:var(--text-tertiary);font-family:var(--mono)}
.kanban-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.kanban-card{background:var(--surface);border-radius:var(--r-md);padding:10px;box-shadow:var(--shadow-sm);cursor:grab;transition:all 0.2s;font-size:12px;font-weight:500;border:1px solid var(--border)}
.kanban-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);transform:translateY(-2px)}
.kanban-card:active{cursor:grabbing}
.kanban-card .card-actions{display:flex;gap:2px;margin-top:6px;justify-content:flex-end;opacity:0;transition:var(--transition-fast)}
.kanban-card:hover .card-actions{opacity:1}
.kanban-add-card{margin-top:4px;padding:8px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text-tertiary);cursor:pointer;text-align:center;font-size:11px;font-weight:500;transition:var(--transition-fast);font-family:var(--mono)}
.kanban-add-card:hover{background:var(--surface);color:var(--accent)}

/* TASKS */
.tasks-list{flex:1;overflow-y:auto;padding:4px 20px;display:flex;flex-direction:column;gap:0}
.task-item{display:flex;align-items:center;gap:12px;padding:8px 14px;background:transparent;border-radius:var(--r-sm);transition:var(--transition-fast);border-bottom:1px solid var(--border)}
.task-item:hover{background:var(--surface-dim)}
.task-item.done{opacity:0.35}
.task-item.done .task-title{text-decoration:line-through}
.task-checkbox{width:16px;height:16px;border:2px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);font-size:9px}
.task-checkbox:hover{border-color:var(--accent)}
.task-checkbox.done{background:var(--success);border-color:var(--success);color:#fff}
.task-title{flex:1;font-size:12.5px;font-weight:500}
.task-meta{display:flex;gap:8px;align-items:center;flex-shrink:0}
.priority{font-size:9px;padding:2px 8px;border-radius:var(--r-full);font-weight:600;font-family:var(--mono)}
.priority-high{background:var(--danger-bg);color:var(--danger)}
.priority-med{background:var(--warning-bg);color:var(--warning)}
.priority-low{background:var(--success-bg);color:var(--success)}
.task-date{font-size:10px;color:var(--text-tertiary);font-family:var(--mono)}
.task-delete{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:var(--r-sm);transition:var(--transition-fast);opacity:0;font-family:var(--mono)}
.task-item:hover .task-delete{opacity:1}
.task-delete:hover{background:var(--danger-bg);color:var(--danger)}

/* MINDMAP */
.mindmap-container{flex:1;overflow:auto;position:relative;background:var(--bg)}
#mindmapSvg{width:100%;height:100%;min-width:800px;min-height:600px}
.mm-node-rect{fill:var(--surface);stroke:var(--border);rx:8;stroke-width:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.3))}
.mm-node-text{fill:var(--text-primary);font-family:var(--mono);font-size:12px;font-weight:500;pointer-events:none;user-select:none}
.mm-node-root .mm-node-rect{fill:var(--accent-bg);stroke:var(--accent);stroke-width:1.5}
.mm-edge{stroke:var(--border-strong);stroke-width:1.5;fill:none;stroke-linecap:round;opacity:0.4}
.mm-grid-line{stroke:var(--border);stroke-width:0.5;opacity:0.2}
.mm-add-circle{fill:var(--accent);stroke:var(--accent);stroke-width:1;opacity:0.4;transition:opacity 0.15s;cursor:pointer}
.mm-add-plus{fill:var(--on-accent);font-family:var(--mono);font-size:13px;font-weight:700;pointer-events:none}
.mm-node:hover .mm-add-circle{opacity:1}
.mm-add-btn:hover .mm-add-circle{fill:var(--on-accent);stroke:var(--surface)}
.mm-add-btn:hover .mm-add-plus{fill:var(--accent)}
.mindmap-hint{display:flex;gap:14px;justify-content:center;padding:6px 20px;font-size:10px;color:var(--text-tertiary);border-top:1px solid var(--border);flex-shrink:0;font-family:var(--mono)}

/* NOTES */
.notes-grid{flex:1;overflow-y:auto;padding:12px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;align-content:start}
.note-card{padding:12px;border-radius:var(--r-md);min-height:100px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);transition:all 0.2s;position:relative;word-break:break-word;border:1px solid var(--border)}
.note-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);transform:translateY(-2px)}
.note-card .note-title{font-weight:700;font-size:13px}
.note-card .note-body{font-size:12px;flex:1;line-height:1.6}
.note-card .note-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;gap:4px;font-family:var(--mono)}
.note-colors{display:flex;gap:3px;flex-wrap:wrap;opacity:0;transition:var(--transition-fast)}
.note-card:hover .note-colors{opacity:1}
.note-color{width:12px;height:12px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition-fast)}
.note-color.active{border-color:currentColor;box-shadow:0 0 0 2px var(--surface)}
.note-color:hover{transform:scale(1.25)}
.note-cat-badge{display:inline-block;padding:2px 8px;border-radius:var(--r-full);font-size:9px;font-weight:600;opacity:0.5;background:rgba(255,255,255,0.05);font-family:var(--mono)}
[data-theme="light"] .note-cat-badge{background:rgba(0,0,0,0.04)}

/* HABITS */
.habits-week-strip{display:flex;padding:8px 20px 6px;gap:2px;border-bottom:1px solid var(--border);flex-shrink:0}
.habit-day{flex:1;text-align:center;padding:7px 4px 5px;border-radius:var(--r-sm);font-size:11px;font-weight:500;background:var(--surface-dim);color:var(--text-secondary);transition:var(--transition-fast);font-family:var(--mono)}
.habit-day .day-name{font-size:8px;font-weight:600;opacity:0.5;margin-bottom:1px;text-transform:uppercase;letter-spacing:0.03em}
.habit-day .day-num{font-size:13px;font-weight:700}
.habit-day.today{background:var(--accent-bg);color:var(--accent);font-weight:700}
.habit-day.week-start{border-radius:var(--r-sm) 2px 2px var(--r-sm);border-left:2px solid var(--border-strong)}
.habit-day.week-end{border-radius:2px var(--r-sm) var(--r-sm) 2px;border-right:2px solid var(--border-strong)}
.habit-day.weekend{opacity:0.5}.habit-day.weekend.today{opacity:1}
.habits-list{flex:1;overflow-y:auto;padding:4px 20px;display:flex;flex-direction:column;gap:1px}
.habit-item{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:var(--r-sm);transition:var(--transition-fast);border-bottom:1px solid var(--border)}
.habit-item:hover{background:var(--surface-dim)}
.habit-checkboxes{display:flex;gap:2px}
.habit-cb{width:26px;height:26px;border:2px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:var(--transition-fast);background:transparent;font-family:var(--mono)}
.habit-cb:hover{border-color:var(--accent)}
.habit-cb.checked{background:var(--success);border-color:var(--success);color:#fff}
.habit-cb.today{border-color:var(--accent)}
.habit-name{flex:1;font-size:12.5px;font-weight:500}
.habit-streak{font-size:11px;font-weight:700;color:var(--warning);min-width:36px;text-align:right;font-family:var(--mono)}

/* FINANCE */
.finance-summary{display:flex;gap:10px;padding:12px 20px 0;border-bottom:1px solid var(--border);flex-shrink:0}
.finance-card{flex:1;padding:14px 16px;border-radius:var(--r-md);text-align:center;background:var(--surface);box-shadow:var(--shadow-sm);transition:all 0.2s;border:1px solid var(--border)}
.finance-card:hover{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}
.finance-card .fc-label{font-size:9px;font-weight:600;color:var(--text-tertiary);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--mono)}
.finance-card .fc-amount{font-size:20px;font-weight:800;font-family:var(--mono);letter-spacing:-0.02em}
.fc-amount.income{color:var(--success)}.fc-amount.expense{color:var(--danger)}.fc-amount.balance{color:var(--accent)}
.finance-list{flex:1;overflow-y:auto;padding:4px 20px;display:flex;flex-direction:column;gap:0}
.finance-item{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:var(--r-sm);transition:var(--transition-fast);border-bottom:1px solid var(--border)}
.finance-item:hover{background:var(--surface-dim)}
.fi-type{font-weight:700;font-size:14px;min-width:20px;text-align:center;font-family:var(--mono)}
.fi-type.income{color:var(--success)}.fi-type.expense{color:var(--danger)}
.fi-cat{font-size:9px;font-weight:600;color:var(--text-tertiary);background:var(--surface-dim);padding:2px 8px;border-radius:var(--r-full);font-family:var(--mono)}
.fi-desc{flex:1;font-size:12px;font-weight:500}
.fi-amount{font-weight:700;font-family:var(--mono);font-size:12px}
.fi-date{font-size:10px;color:var(--text-tertiary);font-family:var(--mono)}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.60);z-index:200;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn 0.12s ease}
.modal-overlay.hidden{display:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.modal-content{background:var(--surface);border-radius:var(--r-md);padding:20px;min-width:400px;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp 0.15s ease;border:1px solid var(--border)}
.modal-content h3{margin-bottom:16px;font-size:13px;font-weight:700;font-family:var(--mono);color:var(--accent)}
.modal-content .form-group{margin-bottom:12px}
.modal-content .form-group label{display:block;font-size:9px;font-weight:600;color:var(--text-tertiary);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.08em;font-family:var(--mono)}
.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{width:100%}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}

/* SCROLLBARS */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}

/* RESPONSIVE */
@media(max-width:1199px){:root{--sidebar-width:190px}
  .panel-toolbar{padding:0 16px}.kanban-columns{padding:10px 16px;gap:8px}.kanban-column{min-width:250px;max-width:280px}
  .tasks-list,.habits-list,.finance-list{padding:4px 16px}.tasks-filters,.finance-filters{padding:6px 16px}
  .finance-summary{padding:10px 16px}.notes-grid{padding:10px 16px}.habits-week-strip{padding:6px 16px}}
@media(max-width:899px){:root{--sidebar-width:56px;--toolbar-height:38px}
  .sidebar-header{padding:10px 0;justify-content:center}
  .logo-pill{padding:0}.logo-pill span{display:none}.logo-pill svg{width:24px;height:24px}
  #themeToggle{width:26px;height:26px}#themeToggle svg{width:14px;height:14px}
  .sidebar-menu{padding:6px 0}.nav-btn{justify-content:center;padding:10px 0;border-left:none;border-right:2px solid transparent}
  .nav-btn span{display:none}.nav-btn svg{width:18px;height:18px}
  .nav-btn.active{border-right-color:var(--accent);border-left-color:transparent}
  .sidebar-footer{padding:6px;flex-direction:column;gap:4px}.text-btn{padding:6px;font-size:0;border-radius:var(--r-sm)}.text-btn svg{width:14px;height:14px}
  .panel-toolbar{padding:0 14px;min-height:var(--toolbar-height)}.panel-toolbar h2{font-size:11px}
  .btn,.btn-outline{padding:5px 14px;font-size:10px}select{min-width:100px;font-size:10px}
  .kanban-columns{padding:10px 14px;gap:8px}.kanban-column{min-width:230px;max-width:260px}
  .notes-grid{padding:10px 14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
  .finance-summary{padding:10px 14px;gap:8px}.finance-card{padding:10px 12px}.finance-card .fc-amount{font-size:16px}
  .modal-content{min-width:300px;max-width:420px;padding:18px}}
@media(max-width:599px){:root{--sidebar-width:0px;--toolbar-height:36px}
  #sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:54px;z-index:150;flex-direction:row;align-items:center;border-right:none;border-top:1px solid var(--border);background:var(--sidebar-bg);padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px)}
  .sidebar-header{display:none}
  .sidebar-menu{flex:1;flex-direction:row;overflow-x:auto;padding:0;gap:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sidebar-menu::-webkit-scrollbar{display:none}
  .nav-btn{flex-direction:column;gap:1px;padding:3px 4px;font-size:7px;border-radius:var(--r-sm);min-width:42px;flex-shrink:0;justify-content:center;align-items:center;border-left:none;border-right:none;border-bottom:2px solid transparent}
  .nav-btn span{display:block;font-size:7px}.nav-btn svg{width:16px;height:16px}
  .nav-btn.active{border-bottom-color:var(--accent);border-right-color:transparent;border-left-color:transparent;background:var(--nav-active-bg)}
  .sidebar-footer{display:none}
  #main{margin-left:0;height:calc(100vh - 54px);margin-bottom:54px}
  @supports(padding-bottom:env(safe-area-inset-bottom,0px)){#sidebar{height:calc(54px + env(safe-area-inset-bottom,0px))}#main{height:calc(100vh - 54px - env(safe-area-inset-bottom,0px))}}
  .panel-toolbar{padding:0 12px;min-height:var(--toolbar-height);flex-wrap:wrap;gap:4px;padding-top:6px;padding-bottom:6px}
  .panel-toolbar h2{font-size:10px}.toolbar-actions{gap:4px;flex-wrap:wrap}
  .btn,.btn-outline{padding:4px 12px;font-size:10px}select{min-width:auto;max-width:110px;font-size:9px;padding:4px 22px 4px 8px}
  .kanban-columns{flex-direction:column;padding:6px 12px;gap:6px}.kanban-column{max-width:100%;min-width:100%;max-height:240px}
  .kanban-card{padding:9px;font-size:11px}
  .tasks-filters,.finance-filters{padding:4px 12px;gap:2px;flex-wrap:wrap}.filter-btn{padding:3px 10px;font-size:9px}
  .tasks-list{padding:2px 12px;gap:0}.task-item{padding:6px 10px;gap:6px}.task-title{font-size:11px}.task-meta{gap:4px}
  .task-date{font-size:8px}.priority{font-size:7px;padding:1px 5px}
  .mindmap-container{min-height:240px}#mindmapSvg{min-width:500px;min-height:280px}
  .notes-grid{grid-template-columns:1fr;padding:6px 12px;gap:6px}.note-card{min-height:80px;padding:10px}
  .habits-week-strip{padding:4px 8px;gap:1px}.habit-day{padding:5px 2px;font-size:9px}.habit-day .day-name{font-size:6px}.habit-day .day-num{font-size:11px}
  .habits-list{padding:2px 12px}.habit-item{padding:6px 8px;gap:4px}.habit-name{font-size:10px}
  .habit-cb{width:22px;height:22px;font-size:9px}.habit-checkboxes{gap:1px}
  .finance-summary{flex-direction:column;padding:6px 12px;gap:4px}.finance-card{padding:8px 10px}.finance-card .fc-amount{font-size:14px}
  .finance-list{padding:2px 12px}.finance-item{padding:6px 8px;gap:4px;flex-wrap:wrap}
  .modal-content{min-width:auto;width:calc(100% - 8px);padding:16px;border-radius:var(--r-sm)}
  .modal-content h3{font-size:12px;margin-bottom:12px}.modal-actions{flex-wrap:wrap}.btn-sm{padding:3px 8px;font-size:10px}}
@media(max-width:379px){
  #sidebar{height:calc(48px + env(safe-area-inset-bottom,0px))}#main{height:calc(100vh - 48px)}
  @supports(padding-bottom:env(safe-area-inset-bottom,0px)){#main{height:calc(100vh - 48px - env(safe-area-inset-bottom,0px))}}
  .nav-btn{padding:2px 3px;min-width:38px}.nav-btn span{font-size:6px}.nav-btn svg{width:14px;height:14px}
  .kanban-column{max-height:180px}.note-card{min-height:60px;padding:8px}
  .habit-cb{width:20px;height:20px;font-size:8px}.finance-card .fc-amount{font-size:12px}}
@media(max-width:899px) and (orientation:landscape){
  #sidebar{position:fixed;left:0;top:0;bottom:0;width:48px;height:100%;flex-direction:column;border-right:1px solid var(--border);border-top:none}
  .sidebar-header{display:flex;padding:8px 0;justify-content:center}.sidebar-menu{flex-direction:column;padding:4px 0}
  .nav-btn{flex-direction:column;padding:6px 0;border-left:none;border-right:2px solid transparent}
  .nav-btn.active{border-right-color:var(--accent)}
  .sidebar-footer{flex-direction:column;border-left:none;border-top:1px solid var(--border);padding:4px}
  #main{margin-left:48px;margin-bottom:0;height:100vh}}
