    /* ════════════════════════════════════
       VIEW: CALENDAR (Plan)
       ════════════════════════════════════ */
    .cal-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
    }

    /* Combined calendar toolbar */
    .cal-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 12px;
      flex-wrap: wrap;
    }

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

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

    @media (max-width: 768px) {
      .cal-toolbar {
        gap: 8px;
      }

      .cal-toolbar-right {
        display: none;
      }
    }
    .cal-month-label {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-weight: 700;
      font-size: 20px;
      letter-spacing: -.3px;
      color: var(--ink);
      flex: 1;
    }

    .cal-dow {
      display: grid;
      grid-template-columns: repeat(7,1fr);
      gap: 4px;
      margin-bottom: 4px;
    }
    .dow-cell {
      text-align: center;
      font-size: 10px;
      font-family: 'DM Mono', monospace;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--subtle);
      padding: 4px 0 6px;
    }

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

    .cal-day {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 8px;
      min-height: 92px;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      gap: 3px;
      transition: border-color .12s, background .12s;
      position: relative;
      overflow: hidden;
    }
    .cal-day:hover { border-color: var(--brand-glow); background: #fdfdff; }
    .cal-day.today { border-color: var(--brand); background: #fdfdff; }
    .cal-day.today .day-num { color: var(--brand); font-weight: 700; }
    .cal-day.other-month { opacity: .32; }
    .cal-day.has-posts { border-color: var(--border2); }
    .cal-day.has-gap { border-color: rgba(245,158,11,.4); background: rgba(245,158,11,.03); }

    .day-header {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-height: 18px;
      flex-shrink: 0;
      padding-right: 28px;
    }
    .day-num {
      font-family: 'DM Mono', monospace;
      font-size: 11px;
      color: var(--subtle);
      flex-shrink: 0;
    }
    .day-add-note-btn {
      width: 16px;
      height: 16px;
      border-radius: 999px;
      border: 1px solid var(--border2);
      background: rgba(255,255,255,.72);
      color: var(--muted);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: 'DM Mono', monospace;
      font-size: 12px;
      line-height: 1;
      cursor: pointer;
      opacity: 0;
      transition: opacity .12s, color .12s, border-color .12s, background .12s;
    }
    .cal-day:hover .day-add-note-btn,
    .cal-day:focus-within .day-add-note-btn {
      opacity: 1;
    }
    .day-add-note-btn:hover,
    .day-add-note-btn:focus-visible {
      color: var(--brand);
      border-color: var(--brand-glow);
      background: var(--brand-dim);
      outline: none;
    }
    .day-count {
      position: absolute;
      top: 7px; right: 7px;
      font-size: 9px;
      font-family: 'DM Mono', monospace;
      background: var(--brand-dim);
      color: var(--brand);
      border: 1px solid var(--brand-glow);
      padding: 1px 5px;
      border-radius: 3px;
    }
    .day-post-pill {
      font-size: 10px;
      line-height: 1.35;
      padding: 4px 6px;
      border-radius: 6px;
      background: var(--surface2);
      border: 1px solid var(--border2);
      color: var(--text);
      overflow: hidden;
      display: flex;
      align-items: flex-start;
      gap: 5px;
      width: 100%;
      min-width: 0;
      text-align: left;
      font-family: inherit;
      cursor: pointer;
      transition: border-color .12s, background .12s, transform .12s;
    }
    .day-post-pill:hover,
    .day-post-pill:focus-visible { border-color: var(--brand-glow); background: var(--brand-dim); outline: none; }
    .day-post-copy { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-width: 0; }
    .platform-logo { width: 16px; height: 16px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 16px; margin-top: -1px; background: #64748b; color: #fff; font: 700 9px/1 'DM Mono', monospace; letter-spacing: -.04em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
    .platform-linkedin { background:#0a66c2; font-family:Arial,sans-serif; font-size:8px; }
    .platform-instagram { background:linear-gradient(135deg,#833ab4,#fd1d1d 55%,#fcb045); font-size:13px; }
    .platform-facebook { background:#1877f2; font:700 13px/1 Arial,sans-serif; }
    .platform-threads,.platform-x { background:#111; }
    .platform-tiktok { background:#111; text-shadow:1px 0 #25f4ee,-1px 0 #fe2c55; font-size:12px; }
    .platform-youtube { background:#f00; font-size:9px; }
    .platform-pinterest { background:#e60023; font:700 11px/1 Georgia,serif; }
    .platform-bluesky { background:#1185fe; font-size:12px; }
    .platform-mastodon { background:#6364ff; }
    .day-note-pill {
      font-size: 10px;
      line-height: 1.35;
      padding: 2px 5px;
      border-radius: 4px;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      width: 100%;
      text-align: left;
      font-family: inherit;
    }
    button.day-note-pill {
      appearance: none;
      cursor: pointer;
    }
    button.day-note-pill:hover,
    button.day-note-pill:focus-visible {
      filter: brightness(.98);
      outline: 1px solid currentColor;
      outline-offset: 1px;
    }
    .day-note-pill.gold   { background: rgba(245,158,11,.1); border: 1px solid rgba(245,158,11,.2); color: #92600a; }
    .day-note-pill.blue   { background: var(--brand-dim); border: 1px solid var(--brand-glow); color: var(--brand); }
    .day-note-pill.green  { background: var(--green-dim); border: 1px solid rgba(15,166,114,.2); color: var(--green); }
    .day-note-pill.violet { background: rgba(124,58,237,.08); border: 1px solid rgba(124,58,237,.18); color: #7c3aed; }

    .day-gap-indicator {
      font-size: 9px;
      font-family: 'DM Mono', monospace;
      color: var(--amber);
      margin-top: auto;
    }
    .more-indicator { font-size: 9px; color: var(--subtle); font-family: 'DM Mono', monospace; margin-top: auto; }

    /* Queue gaps panel */
    .gaps-panel {
      background: linear-gradient(135deg, rgba(245,158,11,.06), rgba(245,158,11,.02));
      border: 1px solid rgba(245,158,11,.2);
      border-radius: var(--r);
      padding: 16px;
      margin-bottom: 20px;
    }
    .gaps-panel-hdr {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
    }
    .gaps-title {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-weight: 700;
      font-size: 14px;
      color: var(--amber);
    }
    .gaps-list {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }
    .gap-chip {
      padding: 5px 10px;
      border-radius: 6px;
      border: 1px solid rgba(245,158,11,.25);
      background: rgba(245,158,11,.08);
      font-size: 11px;
      font-family: 'DM Mono', monospace;
      color: #92600a;
      cursor: pointer;
      transition: all .12s;
    }
    .gap-chip:hover { background: rgba(245,158,11,.15); border-color: rgba(245,158,11,.4); }
