/* Meridiam calendar styles — extracted from index.html (build 783) */

  html[data-theme="light"] .cal-day { background: var(--bg-surface); border-color: var(--border); }

  html[data-theme="light"] .cal-day:hover { background: var(--bg-elevated); }

  html[data-theme="light"] .cal-nav-btn { background: var(--bg-surface); border-color: var(--border); color: var(--text-primary); }

  html[data-theme="light"] .cal-nav-btn:hover { background: var(--bg-elevated); }

  html[data-theme="light"] .cal-view-toggle { background: var(--bg-surface); border-color: var(--border); }

  html[data-theme="light"] .cal-filter-btn { background: var(--bg-surface); border-color: var(--border); color: var(--text-secondary); }

  html[data-theme="light"] .cal-filter-btn:hover, html[data-theme="light"] .cal-filter-btn.active { background: var(--accent-bg); color: var(--accent-text); border-color: var(--accent); }

  html[data-theme="light"] .cal-stats { background: var(--bg-surface); border-color: var(--border); }

  html[data-theme="light"] .cal-stat { color: var(--text-secondary); }

  html[data-theme="light"] .cal-upcoming { background: var(--bg-surface); border-color: var(--border); }

  html[data-theme="light"] .cal-grid { border-color: var(--border); }

  html[data-theme="light"] .cal-header { background: var(--bg-elevated); color: var(--text-secondary); border-color: var(--border); }

  html[data-theme="light"] .cal-cell { background: var(--bg-surface); border-color: var(--border); }

  html[data-theme="light"] .cal-week-header { background: var(--bg-elevated); color: var(--text-secondary); border-color: var(--border); }

  html[data-theme="light"] .cal-week-body { border-color: var(--border); }

  html[data-theme="light"] .cal-week-time { background: var(--bg-elevated); border-color: var(--border); color: var(--text-muted); }

  html[data-theme="light"] .cal-week-cell { border-color: var(--border); }

  html[data-theme="light"] .cal-week-header-date { color: var(--text-primary); }

  .cal-toolbar { display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;gap:12px;flex-wrap:wrap; }

  .cal-toolbar-left { display:flex;align-items:center;gap:8px; }

  .cal-toolbar-right { display:flex;align-items:center;gap:8px; }

  .cal-nav-btn { background:var(--bg-elevated, #1e293b);border:1px solid var(--border, #334155);color:#e2e8f0;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;font-family:inherit;transition:background 0.15s; }

  .cal-nav-btn:hover { background:var(--border, #334155); }

  .cal-title { font-size:18px;font-weight:600;color:var(--text-primary, #f1f5f9);margin-left:8px; }

  .cal-view-toggle { display:flex;background:var(--bg-elevated, #1e293b);border:1px solid var(--border, #334155);border-radius:6px;overflow:hidden; }

  .cal-view-btn { background:none;border:none;color:#94a3b8;padding:6px 14px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s; }

  .cal-view-btn.active { background:#3b82f6;color:#fff; }

  .cal-add-btn { background:#3b82f6;border:none;color:#fff;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit;transition:background 0.15s; }

  .cal-add-btn:hover { background:#2563eb; }

  .cal-stats { display:flex;gap:0;margin-bottom:12px;border-radius:10px;overflow:hidden;border:1px solid var(--border, #1e293b); }

  .cal-stat { flex:1;padding:12px 14px;text-align:center;background:var(--bg-surface, #0f172a);border-right:1px solid var(--border, #1e293b);transition:background 0.15s; }

  .cal-stat:last-child { border-right:none; }

  .cal-stat-val { font-size:20px;font-weight:700;line-height:1.2; }

  .cal-stat-label { font-size:10px;text-transform:uppercase;letter-spacing:0.5px;color:#64748b;margin-top:2px; }

  .cal-filters { display:flex;gap:6px;align-items:center; }

  .cal-filter-btn { padding:4px 10px;border-radius:12px;border:1px solid var(--border, #334155);background:transparent;color:#94a3b8;font-size:10px;font-weight:600;cursor:pointer;transition:all 0.15s;display:flex;align-items:center;gap:4px; }

  .cal-filter-btn:hover { border-color:#475569;color:#e2e8f0; }

  .cal-filter-btn.active { border-color:currentColor;background:rgba(255,255,255,0.05); }

  .cal-filter-dot { width:6px;height:6px;border-radius:50%; }

  .cal-upcoming { margin-bottom:12px;padding:12px 16px;border-radius:10px;border:1px solid var(--border, #1e293b);background:var(--bg-surface, #0f172a); }

  .cal-upcoming-title { font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px; }

  .cal-upcoming-item { display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.04); }

  .cal-upcoming-item:last-child { border-bottom:none; }

  .cal-upcoming-time { font-size:11px;color:#64748b;font-weight:600;min-width:50px; }

  .cal-upcoming-name { font-size:12px;color:var(--text-primary, #e2e8f0);font-weight:500; }

  .cal-upcoming-type { font-size:9px;padding:2px 6px;border-radius:4px;font-weight:600; }

  .cal-grid { border:1px solid var(--border, #334155);border-radius:10px;overflow:hidden;background:var(--bg-elevated, #1e293b); }

  .cal-header { display:grid;grid-template-columns:repeat(7,1fr);background:#0f1117;border-bottom:1px solid #334155; }

  .cal-header-cell { padding:10px 8px;text-align:center;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:0.05em; }

  .cal-body { display:grid;grid-template-columns:repeat(7,1fr); }

  .cal-cell { min-height:100px;border-right:1px solid #1e293b;border-bottom:1px solid #1e293b;padding:4px;cursor:pointer;transition:background 0.1s;position:relative; }

  .cal-cell:nth-child(7n) { border-right:none; }

  .cal-cell:hover { background:#0f1117; }

  .cal-cell.other-month { opacity:0.3; }

  .cal-cell.today { background:rgba(59,130,246,0.08); }

  .cal-cell.today .cal-day { color:#3b82f6;font-weight:700; }

  .cal-day { font-size:12px;color:#94a3b8;padding:2px 6px;font-weight:500; }

  .cal-evt { font-size:10px;padding:2px 6px;margin:1px 0;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;line-height:1.5; }

  .cal-evt:hover { filter:brightness(1.2); }

  .cal-evt-meeting { background:rgba(59,130,246,0.2);color:#60a5fa; }

  .cal-evt-call { background:rgba(16,185,129,0.2);color:#34d399; }

  .cal-evt-deadline { background:rgba(239,68,68,0.2);color:#f87171; }

  .cal-evt-reminder { background:rgba(245,158,11,0.2);color:#fbbf24; }

  .cal-evt-event { background:rgba(139,92,246,0.2);color:#a78bfa; }

  .cal-more { font-size:9px;color:#64748b;padding:1px 6px;cursor:pointer; }

  .cal-more:hover { color:#94a3b8; }

  .cal-week-header { display:grid;grid-template-columns:60px repeat(7,1fr);background:#0f1117;border-bottom:1px solid #334155; }

  .cal-week-header-cell { padding:10px 6px;text-align:center;font-size:11px;font-weight:600;color:#64748b; }

  .cal-week-header-cell.today { color:#3b82f6; }

  .cal-week-header-date { font-size:18px;font-weight:600;color:#e2e8f0;margin-top:2px; }

  .cal-week-header-cell.today .cal-week-header-date { color:#3b82f6; }

  .cal-week-body { display:grid;grid-template-columns:60px repeat(7,1fr);max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#334155 transparent; }

  .cal-week-time { padding:4px 8px;font-size:10px;color:#64748b;text-align:right;border-right:1px solid #1e293b;height:48px;box-sizing:border-box; }

  .cal-week-cell { border-right:1px solid #1e293b;border-bottom:1px solid rgba(30,41,59,0.5);height:48px;padding:1px 2px;position:relative; }

  .cal-week-cell:nth-child(7n+1) { border-right:1px solid #1e293b; }

  .cal-week-evt { position:absolute;left:2px;right:2px;font-size:9px;padding:2px 4px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:1;cursor:pointer; }

  .cal-color-dot { width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color 0.15s; }

  .cal-color-dot.active { border-color:#fff; }

  .cal-snooze-opt { display:block;width:100%;text-align:left;padding:7px 14px;background:none;border:none;color:#cbd5e1;font-size:12px;cursor:pointer;transition:background 0.1s; }

  .cal-snooze-opt:hover { background:#1e293b;color:#f1f5f9; }

  .cal-snooze-menu.open { display:block !important; }

  html[data-theme="light"] .cal-week-body { scrollbar-color: #cbd5e1 transparent !important; }

  /* Build 1006 Phase B — calendar mobile rules.
     Month view (7 cols × N rows) and week view (60px label + 7 cols)
     are unreadable when each column is ~50px. Allow horizontal scroll
     by enforcing a min-width on the grids, wrapping the calendar
     body in its own scroll container. Day cells keep their content
     density; users pan to see Wed–Sun. */
  @media (max-width: 640px) {
    .cal-header,
    .cal-body { min-width: 700px; }
    .cal-week-header,
    .cal-week-body { min-width: 760px; }
    /* Wrap the headers + body together — the parent .page-body is
       already overflow-y: auto, so adding overflow-x: auto here lets
       the calendar grid scroll horizontally inside its column. */
    #page-calendar .page-body { overflow-x: auto; }
    /* Mini-calendar (sidebar widget): keep readable. */
    .cal-mini { font-size: 11px; }
    /* Upcoming list: full-width rows. */
    .cal-upcoming-time { min-width: 44px; }
  }

