/* ====== Product Overview slide ====== */

.product-overview-content {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.overview-error {
    font-size: var(--fs-sm);
    color: var(--error);
    padding: var(--s-2) 0;
}

.ov-stat-graph {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: var(--s-4) var(--s-3);
}

.ov-stat-graph__label {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    font-weight: 500;
    margin-bottom: var(--s-3);
    letter-spacing: 0.02em;
}

.ov-stat-svg {
    width: 100%;
    /* Fixed, gently responsive height: charts never balloon on wide screens
       (height:auto scaled with the 4:1 viewBox ratio → 400px+ tall). */
    height: clamp(72px, 10vw, 120px);
    display: block;
    overflow: visible;
}

.ov-stat-graph__axis {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: var(--text-dim);
    margin-top: var(--s-1);
}

/* Day drill-down panel */

.ov-day-panel {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    overflow: hidden;
}

.ov-day-hint {
    font-size: var(--fs-sm);
    color: var(--text-dim);
    padding: var(--s-4) var(--s-4);
    text-align: center;
}

.ov-day-loading {
    font-size: var(--fs-sm);
    color: var(--text-dim);
    font-style: italic;
    padding: var(--s-4);
    text-align: center;
}

.ov-day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--s-3) var(--s-4);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.ov-day-date {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ov-day-count {
    font-size: var(--fs-xs);
    color: var(--accent);
    font-weight: 600;
}

.ov-day-list {
    display: flex;
    flex-direction: column;
    max-height: 280px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.ov-day-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-3);
    padding: var(--s-2) var(--s-4);
    border-bottom: 1px solid var(--border);
    font-size: var(--fs-sm);
}

.ov-day-item:last-child { border-bottom: none; }

.ov-day-item__text {
    color: var(--text);
    flex: 1;
    line-height: 1.4;
    word-break: break-word;
}

.ov-day-item__time {
    font-size: var(--fs-xs);
    color: var(--text-dim);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    flex-shrink: 0;
    white-space: nowrap;
}

/* Product Overview sub-sections (Bitcoin Bybit + PDF asks) */

.ov-section {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.ov-bitcoin-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
}

.ov-bitcoin-title {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    letter-spacing: 0.02em;
}

.ov-bitcoin-link {
    font-size: var(--fs-xs);
    color: var(--accent);
    text-decoration: none;
    font-weight: 500;
}

.ov-bitcoin-link:active { color: var(--accent-active); }

.ov-bitcoin-stats {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
}

.ov-bitcoin-price {
    font-size: 22px;
    font-weight: 600;
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ov-bitcoin-change {
    font-size: var(--fs-xs);
    font-weight: 600;
}

.ov-bitcoin-change--up      { color: var(--success); }
.ov-bitcoin-change--down    { color: var(--error); }
.ov-bitcoin-change--neutral { color: var(--text-dim); }

/* Games cloud-save counter */

.ov-games-counter {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
}

.ov-games-counter__n {
    font-size: 22px;
    font-weight: 600;
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ov-games-counter__label {
    font-size: var(--fs-xs);
    color: var(--text-dim);
    font-weight: 500;
}

.ov-games-legend {
    display: flex;
    gap: var(--s-4);
    flex-wrap: wrap;
    margin-bottom: var(--s-2);
}

.ov-games-legend__item {
    display: inline-flex;
    align-items: center;
    gap: var(--s-1);
    font-size: var(--fs-xs);
    color: var(--text-muted);
}

.ov-games-legend__item b {
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.ov-games-legend__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Swiss Import PDF chart (isolated — does not touch other ov-* charts) */

.ov-swiss-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
}

.ov-swiss-title {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    letter-spacing: 0.02em;
}

.ov-swiss-link {
    font-size: var(--fs-xs);
    color: #d9534f;
    text-decoration: none;
    font-weight: 500;
}

.ov-swiss-link:active { color: #b3001b; }

.ov-day-count--swiss { color: #d9534f; }

.ov-swiss-doc-type {
    font-size: var(--fs-xs);
    color: var(--text-dim);
    margin-left: var(--s-1);
}

/* ── Queue slide ──────────────────────────────────────────────────────────── */
.queue-list { padding: var(--s-2) 0; }
.queue-section { margin-bottom: var(--s-5); }

/* Task Manager (autonomous queue runner) */
.queue-section--manager {
    background: var(--surface);
    border-radius: var(--r-md);
    padding: var(--s-3);
    border-left: 3px solid var(--text-dim);
}
.queue-section--manager:has(.queue-manager__toggle[data-on="true"]) {
    border-left-color: var(--success);
}
.queue-manager__head {
    display: flex;
    align-items: center;
    gap: var(--s-2);
}
.queue-manager__head .queue-section__label {
    margin-bottom: 0;
    padding: 0;
    flex-shrink: 0;
}
.queue-manager__state {
    font-size: var(--fs-xs);
    color: var(--text-dim);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.queue-manager__state[data-on="true"] { color: var(--success); }
.queue-manager__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--r-full);
    border: 1px solid var(--success);
    background: transparent;
    color: var(--success);
    cursor: pointer;
    flex-shrink: 0;
}
.queue-manager__toggle[data-on="true"] {
    border-color: var(--error);
    color: var(--error);
}
.queue-manager__toggle:disabled {
    border-color: var(--text-dim);
    color: var(--text-dim);
    cursor: default;
}
.queue-manager__error {
    font-size: var(--fs-xs);
    color: var(--error);
    margin-top: var(--s-2);
}
.queue-manager__entry {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2);
    margin-top: var(--s-2);
    background: rgba(255,255,255,0.04);
    border-radius: var(--r-sm);
}
.queue-manager__entry--current { background: rgba(212,160,74,0.10); }
.queue-manager__dot {
    width: 7px;
    height: 7px;
    border-radius: var(--r-full);
    background: var(--warning);
    flex-shrink: 0;
    animation: live-pulse 1.2s ease-in-out infinite;
}
.queue-manager__entry-title {
    font-size: var(--fs-sm);
    color: var(--text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.queue-manager__entry-status {
    font-size: var(--fs-xs);
    padding: 2px 6px;
    border-radius: var(--r-full);
    background: rgba(255,255,255,0.07);
    color: var(--text-muted);
    flex-shrink: 0;
}
.queue-manager__remove {
    background: transparent;
    border: none;
    color: var(--text-dim);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 var(--s-1);
    flex-shrink: 0;
}
.queue-manager__remove:hover { color: var(--error); }
.queue-manager__remove svg { display: block; }
.queue-section__label {
    font-size: var(--fs-xs);
    color: var(--text-dim);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--s-2);
    padding: 0 var(--s-2);
}
.queue-job-card {
    background: var(--surface);
    border-radius: var(--r-md);
    padding: var(--s-3);
    margin-bottom: var(--s-2);
    border-left: 3px solid var(--text-dim);
}
.queue-job-card[data-job-status="running"],
.queue-job-card[data-job-status="started"] { border-left-color: var(--warning); }
.queue-job-card[data-job-status="killing"]  { border-left-color: var(--error); }
.queue-job__row {
    display: flex;
    align-items: center;
    gap: var(--s-2);
}
.queue-job__id {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.queue-job__status {
    font-size: var(--fs-xs);
    padding: 2px 6px;
    border-radius: var(--r-full);
    background: rgba(255,255,255,0.07);
    color: var(--text-muted);
    flex-shrink: 0;
}
.queue-job__status[data-status="running"],
.queue-job__status[data-status="started"] { background: rgba(212,160,74,0.15); color: var(--warning); }
.queue-job__status[data-status="killing"]  { background: rgba(217,119,87,0.15); color: var(--error); }
.queue-job__remove {
    background: transparent;
    border: none;
    color: var(--text-dim);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 var(--s-1);
    flex-shrink: 0;
}
.queue-job__remove:hover { color: var(--error); }
.queue-job__remove svg { display: block; }
.queue-job__agent {
    display: block;
    font-size: var(--fs-xs);
    color: var(--text-dim);
    margin-top: 2px;
}
.queue-job__step {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.queue-job__log {
    font-size: 10px;
    color: var(--text-dim);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: monospace;
}


/* Travel refresh chart (isolated — does not touch other ov-* charts) */

.ov-travel-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
}

.ov-travel-title {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    letter-spacing: 0.02em;
}

.ov-travel-link {
    font-size: var(--fs-xs);
    color: #4a9ad4;
    text-decoration: none;
    font-weight: 500;
}

.ov-travel-link:active { color: #2f6f9f; }

.ov-day-count--travel { color: #4a9ad4; }

.ov-travel-table {
    font-size: var(--fs-sm);
}

.ov-travel-trow {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--s-3);
    align-items: baseline;
    padding: var(--s-2) var(--s-4);
    border-top: 1px solid var(--border);
}

.ov-travel-trow span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ov-travel-trow span:nth-child(2) { color: var(--text-muted); }
.ov-travel-trow span:last-child   { color: var(--text-dim); font-variant-numeric: tabular-nums; }

.ov-travel-trow--head {
    border-top: none;
    font-size: var(--fs-xs);
    color: var(--text-dim);
    font-weight: 500;
    letter-spacing: 0.02em;
}

.ov-travel-trow--head span { color: var(--text-dim); }
