﻿.cockpit:not([data-mode='launcher']) .launcher-only,
.cockpit[data-mode='launcher'] .live-only,
.cockpit[data-mode='launcher'] .demo-only { display:none !important; }
.launcher-explainer p { font-size:13px; line-height:1.7; }
.launcher-route { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:12px 0; color:var(--cp-accent); font-family:var(--font-display); font-size:12px; }
.launcher-route span { padding:6px 8px; border:1px solid var(--cp-border); border-radius:4px; background:var(--cp-surface-soft); }
.launcher-account { background:var(--cp-accent-soft); padding:12px; border-left:3px solid var(--cp-accent); overflow-wrap:anywhere; }
.launcher-row-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.launcher-row-actions .cp-inline { font-size:12px !important; }
.launcher-state { font-family:var(--font-display); font-size:12px; }
.launcher-state > span { display:block; font-size:12px; color:var(--cp-muted); }
.cp-titlebar > a.cp-inline { align-self:center; font-size:12px; text-decoration:none; white-space:nowrap; }
.launcher-state[data-enabled='true'] { color:var(--cp-success); }
.launcher-state[data-enabled='false'] { color:var(--cp-danger); }
/* The cloud state is what Microsoft reports, including the in-between states a switch alone cannot show. */
.launcher-state[data-power='on'] { color:var(--cp-success); }
.launcher-state[data-power='off'] { color:var(--cp-danger); }
.launcher-state[data-power='mixed'],.launcher-state[data-power='unknown'] { color:var(--cp-warning); }
.cp-switch[data-power='on']::before { background:var(--cp-success); }
.cp-switch[data-power='mixed']::before { background:var(--cp-warning); }
.cp-switch[data-power='mixed']::after { transform:translateX(8px); }
.cp-switch[data-power='unknown']::before { background:var(--cp-border); }
.cp-switch[aria-busy='true']::before { background:var(--cp-muted); }
.cp-switch:disabled { cursor:not-allowed; opacity:.7; }
.cp-switch:focus-visible { outline:2px solid var(--blue); outline-offset:2px; border-radius:20px; }
.cp-cloud-hint { font-size:12px; line-height:1.5; color:var(--cp-muted); padding:12px 0 0; margin:0; }
.launcher-cloud-detail { margin:18px 0; padding:14px 16px; border:1px solid var(--cp-border); border-left:3px solid var(--blue); border-radius:4px; }
.launcher-cloud-detail h4,.cp-detail-dialog h4 { margin:0 0 8px; font:500 15px var(--font-display); }
.launcher-cloud-detail .launcher-detail-actions { margin:12px 0; }
.launcher-flow { padding:10px 0; border-top:1px solid var(--cp-border); overflow-wrap:anywhere; }
.launcher-flow p { margin:4px 0 0; }
/* The timeline mixes what agents did with what people switched; each kind keeps its own colour. */
.cp-activity-filters { display:flex; flex-wrap:wrap; gap:6px; }
.cp-chip { border:1px solid var(--cp-border); background:var(--cp-surface); border-radius:4px; padding:4px 10px; font:450 12px var(--font-display); color:var(--cp-muted); cursor:pointer; }
.cp-chip[aria-pressed='true'] { color:var(--ink); background:var(--cp-soft); border-color:var(--ink); }
.cp-event .cp-event-detail { font-style:italic; }
.cp-attention { display:grid; margin-bottom:12px; }
.cp-attention-link { display:block; width:100%; margin:0 0 6px; padding:6px 8px; border:1px solid #e6c4c1; border-radius:4px; background:#f6e6e4; color:var(--cp-red); font:450 12px var(--font-display); text-align:left; cursor:pointer; }
.launcher-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.launcher-detail-actions button { font-family:var(--font-display); }
#launcher-status { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
#launcher-status[data-error='true'] { color:var(--cp-danger); }
.launcher-details-link { font-size:12px; border-radius:4px; overflow-wrap:anywhere; color:var(--cp-text-muted); padding:12px; background:var(--cp-surface-soft); }
@media(max-width:760px) {
  /* More tabs than the original three: the tab row scrolls instead of widening the page. */
  .cockpit,.cockpit[data-mode] { grid-template-columns:minmax(0,1fr); height:auto; }
  .cp-nav { flex-shrink:0; }
  .cp-layout,.cp-sidebar,.cp-nav { min-width:0; max-width:100%; }
  .cp-titlebar > a.cp-inline { display:none; }
}
@media(max-width:700px) {
  .launcher-row-actions .cp-inline { font-size:12px !important; }
}

.cp-switch[data-busy='true'] { opacity:.55; cursor:progress; animation:cp-switch-busy 1s ease-in-out infinite alternate; }
@keyframes cp-switch-busy { from { opacity:.35; } to { opacity:.8; } }
