/* bundle_decorator.css — Inline bundle controls inside .match-card.
   Follows UX_REFERENCE_REDESIGN.md P7: "Documents appear ON the offer card."
   Loaded globally from base.html. */

/* ── Chip group (header — visible when card is collapsed) ── */
.bd-chip-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    vertical-align: middle;
}

/* ── Header chip (small state indicator) ── */
.bd-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: var(--radius-sm, 6px);
    border: 1px solid var(--border, rgba(184,92,56,0.2));
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.3;
    transition: filter 0.15s, background 0.15s, box-shadow 0.15s;
    vertical-align: middle;
}
.bd-chip:hover { filter: brightness(1.08); }

/* Generate (no bundle yet) */
.bd-chip.bd-generate {
    background: var(--accent-glow, rgba(184,92,56,0.1));
    color: var(--accent);
    border-color: var(--accent-border, rgba(184,92,56,0.3));
}
.bd-chip.bd-generate:hover { background: rgba(184,92,56,0.18); }

/* Ready (bundle exists) */
.bd-chip.bd-ready {
    background: rgba(16,185,129,0.12);
    color: #059669;
    border-color: rgba(16,185,129,0.4);
}
a.bd-chip.bd-ready:hover {
    filter: brightness(1.12);
    box-shadow: 0 1px 6px rgba(16,185,129,0.25);
}

/* Generating (in progress) */
.bd-chip.bd-generating {
    background: rgba(184,92,56,0.09);
    color: var(--accent-light);
    border-color: rgba(184,92,56,0.25);
    cursor: default;
    animation: bd-pulse 1.6s ease-in-out infinite;
}

/* Error */
.bd-chip.bd-error {
    background: rgba(239,68,68,0.09);
    color: #ef4444;
    border-color: rgba(239,68,68,0.28);
}
.bd-chip.bd-error:hover { background: rgba(239,68,68,0.16); }

/* Locked (free tier limit) */
.bd-chip.bd-locked {
    background: rgba(156,163,175,0.1);
    color: var(--text-muted, #9ca3af);
    border-color: rgba(156,163,175,0.25);
    cursor: default;
    opacity: 0.7;
}

/* Dark theme chips */
[data-theme="dark"] .bd-chip.bd-ready {
    background: rgba(52,211,153,0.13);
    color: #34d399;
    border-color: rgba(52,211,153,0.4);
}
[data-theme="dark"] .bd-chip.bd-error { color: #f87171; }
[data-theme="dark"] .bd-chip.bd-generate { background: rgba(184,92,56,0.13); }

@keyframes bd-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* ── Application status badge (in header, at-a-glance visibility) ── */
.bd-app-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: var(--radius-sm, 5px);
    border: 1px solid;
    white-space: nowrap;
    line-height: 1.3;
}
.bd-app-badge.bd-app-applied   { background: rgba(184,92,56,0.08); color: var(--accent); border-color: rgba(184,92,56,0.25); }
.bd-app-badge.bd-app-interview { background: rgba(92,122,107,0.09); color: #3d6b5a; border-color: rgba(92,122,107,0.28); }
.bd-app-badge.bd-app-offered   { background: rgba(16,185,129,0.1);  color: #059669; border-color: rgba(16,185,129,0.3); }
.bd-app-badge.bd-app-accepted  { background: rgba(5,150,105,0.12);  color: #047857; border-color: rgba(5,150,105,0.35); }
.bd-app-badge.bd-app-rejected  { background: rgba(239,68,68,0.07);  color: #dc2626; border-color: rgba(239,68,68,0.22); }
.bd-app-badge.bd-app-withdrawn { background: rgba(156,163,175,0.08); color: #6b7280; border-color: rgba(156,163,175,0.25); }
[data-theme="dark"] .bd-app-badge.bd-app-applied   { background: rgba(184,92,56,0.15); color: var(--accent); }
[data-theme="dark"] .bd-app-badge.bd-app-interview { background: rgba(92,122,107,0.15); color: #7ba896; }
[data-theme="dark"] .bd-app-badge.bd-app-offered   { background: rgba(52,211,153,0.12); color: #34d399; }
[data-theme="dark"] .bd-app-badge.bd-app-accepted  { background: rgba(52,211,153,0.15); color: #34d399; }
[data-theme="dark"] .bd-app-badge.bd-app-rejected  { color: #f87171; border-color: rgba(239,68,68,0.3); }
[data-theme="dark"] .bd-app-badge.bd-app-withdrawn { color: #9ca3af; }

/* ── Card left-border accent by application status ── */
.match-card[data-app-status] { border-left: 3px solid transparent; transition: border-color 0.2s; }
.match-card[data-app-status="applied"]   { border-left-color: var(--accent); }
.match-card[data-app-status="interview"] { border-left-color: #5c7a6b; }
.match-card[data-app-status="offered"]   { border-left-color: #10b981; }
.match-card[data-app-status="accepted"]  { border-left-color: #059669; }
.match-card[data-app-status="rejected"]  { border-left-color: #ef4444; }
.match-card[data-app-status="withdrawn"] { border-left-color: #9ca3af; }


/* ═══════════════════════════════════════════════════════════════════
   MATCH-SUMMARY — Kept for backward compatibility but no longer used
   by the dossier panel (which now lives in the right column).
   ═══════════════════════════════════════════════════════════════════ */

.match-summary {
    border-top: 1px solid var(--border, rgba(184,92,56,0.12));
    background: var(--surface-2, rgba(184,92,56,0.025));
    transition: background 0.2s;
}
[data-theme="dark"] .match-summary {
    background: rgba(255,255,255,0.02);
    border-top-color: rgba(255,255,255,0.06);
}


/* ═══════════════════════════════════════════════════════════════════
   DOSSIER PANEL — right-column layout (inside .head-actions)
   Two micro-rows: doc status line + status dropdown + dossier link
   ═══════════════════════════════════════════════════════════════════ */

.bd-dossier-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

/* ── Micro doc indicators: "CV ✓  Lettre ✓  + Entretien" ── */
.bd-micro-doc {
    font-size: 0.74rem;
    font-weight: 500;
    white-space: nowrap;
    border: none;
    background: none;
    padding: 0;
    cursor: default;
}
.bd-micro-doc.bd-micro-ok {
    color: var(--success, #10b981);
}
.bd-micro-doc.bd-micro-miss {
    color: var(--text-muted, #9ca3af);
    opacity: 0.5;
}
.bd-micro-doc.bd-micro-loading {
    color: var(--accent-light);
    animation: bd-pulse 1.6s ease-in-out infinite;
}
.bd-micro-doc.bd-micro-action {
    color: var(--accent);
    cursor: pointer;
    font-weight: 600;
    transition: opacity 0.15s;
}
.bd-micro-doc.bd-micro-action:hover {
    opacity: 0.8;
}
[data-theme="dark"] .bd-micro-doc.bd-micro-ok { color: #34d399; }

/* ── Status dropdown + dossier link (right-column micro-row) ── */

.bd-status-select {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: var(--radius-sm, 5px);
    border: 1px solid var(--border, rgba(184,92,56,0.2));
    background: var(--card-bg, var(--surface, #fff));
    color: var(--text, #1f2937);
    cursor: pointer;
}
.bd-status-select:focus {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}
[data-theme="dark"] .bd-status-select {
    background: var(--card-bg, #1e1e2e);
    color: var(--text, #e5e7eb);
}

.bd-dossier-link {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--accent);
    text-decoration: none;
    white-space: nowrap;
    padding: 2px 6px;
    border-radius: var(--radius-sm, 5px);
    border: 1px solid rgba(184,92,56,0.2);
    background: rgba(184,92,56,0.05);
    transition: background 0.15s, color 0.15s;
}
.bd-dossier-link:hover {
    background: rgba(184,92,56,0.12);
    text-decoration: none;
}
[data-theme="dark"] .bd-dossier-link {
    border-color: rgba(184,92,56,0.3);
    background: rgba(184,92,56,0.08);
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .head-actions { align-items: flex-end; }
    .head-actions-row { flex-wrap: wrap; gap: 4px; }
    .head-actions-micro { gap: 6px; }
    .bd-micro-doc { font-size: 0.68rem; }
    .bd-status-select { font-size: 0.68rem; }
    .bd-dossier-link { font-size: 0.68rem; }
    .bd-app-badge { font-size: 0.66rem; padding: 2px 6px; }
}
@media (max-width: 480px) {
    /* Increase touch targets on small phones */
    .bd-chip { min-height: 36px; padding: 6px 12px; font-size: 0.82rem; }
    .bd-status-select { min-height: 36px; padding: 5px 8px; font-size: 0.78rem; }
    .bd-dossier-link { min-height: 36px; padding: 5px 8px; display: inline-flex; align-items: center; }
    .bd-micro-doc { font-size: 0.74rem; }
}

/* ── Status bar extras (page-specific: date chip, delete button) ── */
.bd-status-extras {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    flex-shrink: 0;
}

.offer-status-date {
    font-size: 0.71rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.offer-status-delete-btn {
    font-size: 0.72rem;
    padding: 3px 8px;
    border-radius: var(--radius-sm, 5px);
    border: 1px solid rgba(239,68,68,0.3);
    background: transparent;
    color: #f87171;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}
.offer-status-delete-btn:hover {
    background: rgba(239,68,68,0.1);
}

/* ── Daily Watch (legacy chip CSS removed — veille is now a card) ── */

@keyframes spin { to { transform: rotate(360deg); } }
