    /* Status */
    #status-line {
      font-size: 13px;
      padding: 9px 13px;
      border-radius: 6px;
      margin-top: 4px;
    }
    #status-line:empty { display: none; }
    .s-idle    { background: #f0f0f5; color: #666; }
    .s-loading { background: #fafafa; color: #666; border: 1px solid #e8e8ec; }
    .s-ok      { background: #edfbf2; color: #1a6638; border: 1px solid #b8e8cc; }
    .s-err     { background: #fff2f2; color: #922; border: 1px solid #f0c0c0; }

    /* Upload UI */
    .upload-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
    #v2-choose-btn {
      padding: 13px 14px;
      border-radius: 5px;
      font-size: 14px;
      cursor: pointer;
      white-space: nowrap;
    }
    #v2-file-name {
      flex: 1;
      font-family: monospace;
      font-size: 12px;
      color: #888;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #v2-upload-btn {
      width: 100%;
      padding: 9px 16px;
      border: 1px solid #bbb;
      border-radius: 5px;
      background: #f0f0f5;
      font-size: 14px;
      cursor: pointer;
      margin-bottom: 10px;
    }
    #v2-upload-btn:hover:not(:disabled) { background: #e4e4ec; }
    #v2-upload-btn:disabled { color: #bbb; cursor: default; border-color: #e0e0e6; }
    #v2-progress-wrap {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    #v2-progress-track {
      flex: 1;
      height: 6px;
      background: #e8e8ec;
      border-radius: 3px;
      overflow: hidden;
    }
    #v2-progress-bar {
      height: 100%;
      width: 0%;
      background: #4a90d9;
      border-radius: 3px;
      transition: width 0.1s linear;
    }
    #v2-progress-pct {
      font-size: 12px;
      color: #888;
      white-space: nowrap;
      min-width: 32px;
      text-align: right;
    }
    .upload-note {
      font-size: 11px;
      color: #bbb;
      margin-top: 6px;
    }
    .verify-note {
      font-size: 11px;
      color: #bbb;
      margin-top: 6px;
      margin-bottom: 6px;
    }
    .badge-uploading { background: #dbeafe; color: #1e40af; }
    .media-card-uploading { border-left: 3px solid #4a90d9; padding-left: 8px; }
    .upload-item-progress { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
    .upload-item-track { flex: 1; height: 6px; background: #e8e8ec; border-radius: 3px; overflow: hidden; }
    .upload-item-fill { height: 100%; background: #4a90d9; border-radius: 3px; transition: width 0.1s linear; }
    .upload-item-pct { font-size: 12px; color: #888; white-space: nowrap; min-width: 32px; text-align: right; }
    #send-card-feedback {
      font-size: 12px;
      margin-top: 8px;
      display: none;
    }
    #send-card-feedback.sf-ok      { display: block; color: #1a6638; }
    #send-card-feedback.sf-err     { display: block; color: #c00;    }
    #send-card-feedback.sf-loading { display: block; color: #888;    }
    #media-status {
      font-size: 12px;
      margin-bottom: 8px;
      display: none;
    }
    #media-status.ms-ok      { display: block; color: #1a6638; }
    #media-status.ms-err     { display: block; color: #c00;    }
    #media-status.ms-loading { display: block; color: #888;    }
    #recent-jobs-body.rj-collapsed { display: none; }
    .rj-header { cursor: pointer; border-radius: 4px; }
    .rj-header:hover { background: #f4f4f8; }
    .rj-header:hover .card-title { color: #555; }
    #recent-jobs-toggle { font-size: 11px; color: #999; padding: 2px 4px; }
    /* W12 — shell shaping */
    .chip {
      display: inline-block;
      font-size: 11px;
      padding: 2px 8px;
      border-radius: 10px;
      background: #f0f0f5;
      color: #666;
      white-space: nowrap;
    }
    /* F15b — shared-presence tint on count chip */
    .chip-shared { background: #dcfce7; color: #15803d; }
    .action-btn {
      display: block;
      width: 100%;
      padding: 10px 14px;
      border-radius: 5px;
      font-size: 14px;
      cursor: pointer;
      text-align: center;
      border: 1px solid #ddd;
      margin-bottom: 6px;
      white-space: normal;
    }
    .action-btn-primary { background: #fff; color: #111; font-weight: 600; }
    .action-btn-primary:hover { background: #f7f7f9; }
    .action-btn-cta { background: #960000; color: #fff; font-weight: 700; border-color: rgba(0,0,0,.18); }
    .action-btn-cta:hover { background: #7a0000; border-color: rgba(0,0,0,.28); }
    .action-btn-secondary { background: #f7f7f9; color: #333; font-weight: 600; }
    .action-btn-secondary:hover { background: #ebebf0; }
    .action-btn-danger { background: #fff5f5; color: #b91c1c; font-weight: 500; border-color: #f5c6cb; }
    .action-btn-danger:hover { background: #fee2e2; border-color: #f5b7bb; }
    .ready-divider {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: #aaa;
      margin-bottom: 10px;
    }
    .send-primary-btn {
      display: block;
      width: 100%;
      padding: 13px 16px;
      border: 1px solid #bbb;
      border-radius: 5px;
      background: #f0f0f5;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      margin-bottom: 6px;
    }
    .send-primary-btn:hover { background: #e4e4ec; }
    .send-primary-btn:disabled { color: #bbb; cursor: default; border-color: #e0e0e6; background: #f7f7f9; }
    /* W33e-b — send readiness signal */
    .send-primary-btn.send-ready { background: #960000; color: #fff; border-color: rgba(0,0,0,.18); }
    .send-primary-btn.send-ready:hover { background: #7a0000; border-color: rgba(0,0,0,.28); }
    .send-secondary-btn {
      display: block;
      width: 100%;
      padding: 11px 14px;
      border: 1px solid #e0e0e6;
      border-radius: 5px;
      background: #f7f7f9;
      font-size: 13px;
      cursor: pointer;
    }
    .send-secondary-btn:hover { background: #ebebf0; }
    .send-secondary-btn:disabled { color: #bbb; cursor: default; border-color: #e0e0e6; background: #f7f7f9; }
