/* =============================================================
   session_summary.css — session title testing panel

   Accent is resolved through a chained fallback because the two pages use
   different variable names: GPT defines --accent-1, Gemini --accent-blue.
   ============================================================= */

:root {
    --ss-accent: var(--accent-1, var(--accent-blue, #4285f4));
}

.ss-bar {
    margin: 8px 0 10px;
    padding: 10px 12px;
    border: 1px solid rgba(128, 128, 128, 0.25);
    border-left: 3px solid var(--ss-accent);
    border-radius: 8px;
    background: rgba(128, 128, 128, 0.06);
    font-size: 0.9rem;
}

.ss-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ss-row > .ss-label {
    font-weight: 600;
    margin-right: 2px;
}

.ss-bar button {
    padding: 5px 10px;
    border: 1px solid rgba(128, 128, 128, 0.35);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    font-size: 0.85rem;
    color: inherit;
    transition: background 0.15s, border-color 0.15s;
}

.ss-bar button:hover:not(:disabled) {
    border-color: var(--ss-accent);
    background: rgba(66, 133, 244, 0.1);
}

.ss-bar button:disabled {
    opacity: 0.55;
    cursor: default;
}

.ss-bar button.ss-primary {
    border-color: var(--ss-accent);
    font-weight: 600;
}

#ssClose {
    margin-left: auto;
    border: none;
    font-size: 1.15rem;
    line-height: 1;
    padding: 2px 6px;
}

/* ── Result area ─────────────────────────────────────────── */
.ss-note {
    margin-top: 9px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(128, 128, 128, 0.09);
    line-height: 1.45;
}

.ss-note.ss-err  { background: rgba(217, 48, 37, 0.12); }
.ss-note.ss-warn { background: rgba(240, 160, 0, 0.14); }
.ss-note.ss-wait { opacity: 0.75; font-style: italic; }

.ss-meta {
    margin-top: 3px;
    font-size: 0.8rem;
    opacity: 0.72;
}

/* `generated` vs `cached` is the signal that matters when testing that a
   repeat call costs nothing, so it gets a colour rather than plain text. */
.ss-badge {
    display: inline-block;
    margin-right: 7px;
    padding: 1px 7px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    vertical-align: 1px;
}

.ss-fresh  { background: rgba(52, 168, 83, 0.22); }
.ss-cached { background: rgba(128, 128, 128, 0.25); }

/* ── Session list ────────────────────────────────────────── */
.ss-list {
    list-style: none;
    margin: 7px 0 0;
    padding: 0;
    max-height: 210px;
    overflow-y: auto;
}

.ss-list li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 5px 0;
    border-top: 1px solid rgba(128, 128, 128, 0.18);
}

.ss-list li:first-child { border-top: none; }

.ss-src {
    flex: none;
    min-width: 46px;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    opacity: 0.8;
}

.ss-src-voice { color: #a142f4; }
.ss-src-mixed { color: #f0a000; }

.ss-title {
    flex: 1 1 auto;
    min-width: 0;
}

.ss-when {
    flex: none;
    font-size: 0.75rem;
    opacity: 0.6;
    white-space: nowrap;
}
