/* API access and session states extend the inherited console stylesheet. */
.directory-console [hidden] { display:none !important; }
.directory-console #connection-status { display:flex; }
.directory-access { margin:16px 0 0; }
#operator-label { overflow-wrap:anywhere; }
.directory-access input { width:220px; max-width:100%; min-width:0; padding:10px 12px; border:1px solid var(--edge-hi); border-radius:var(--r-xs); background:var(--well); color:var(--ink); font:13px var(--sans); }
.directory-access input::placeholder { color:var(--ink-3); }
.directory-notice { margin:16px 0 0; border-color:var(--signal); color:var(--signal); }
.directory-empty { padding:48px 16px; border-bottom:1px solid var(--hair); text-align:center; }
.directory-empty h2 { margin:0 0 8px; font-size:20px; font-weight:500; letter-spacing:-.02em; }
.directory-empty p,.directory-note { color:var(--ink-2); font-size:12px; line-height:1.6; }
.directory-empty p { margin:0; }
.directory-note { margin:18px 0; }
.directory-console .robot-card { grid-template-rows:auto auto; }
.directory-console .robot-card:disabled { opacity:1; cursor:default; }
.directory-console .robot-card:disabled:hover { transform:none; background:var(--panel); border-color:var(--edge); }
.directory-console .robot-card:disabled::after { content:""; }
.directory-console .robot-card[data-tone="owned"] { border-color:var(--ok); }
.directory-console .robot-card[data-tone="muted"]::before { background:var(--ink-3); box-shadow:none; }
.directory-console .robot-card[data-tone="pending"]::before { background:var(--signal); box-shadow:0 0 0 4px var(--signal-soft); }
.directory-console .robot-card[data-tone="owned"] > .tag { color:var(--ok); }
.directory-console .robot-card[data-tone="pending"] > .tag { color:var(--signal); }
.directory-console .robot-card[data-tone="stale"]::before { background:var(--signal); box-shadow:none; }
.directory-console .robot-card[data-tone="stale"] > .tag { color:var(--signal); }
.directory-detail { margin:12px 0 0; color:var(--ink-2); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.directory-action { display:block; margin-top:12px; color:var(--ink); font:500 10px/1.5 var(--mono); }
.directory-console .robot-card:disabled .directory-action { color:var(--ink-3); }
@media (max-width:600px) {
  .directory-access { flex-wrap:wrap; }
  .directory-access > div { flex-basis:100%; }
  .directory-access input { flex:1; }
  .directory-console #clock { display:none; }
  .directory-console .header-status { font-size:9px; }
}
@media (max-width:480px) {
  .directory-console .robot-card { grid-template-rows:auto; }
  .directory-console .robot-meta { padding:14px 0; }
  .directory-detail { margin-top:8px; font-size:11px; }
  .directory-action { margin-top:8px; }
}

/* The shared operator workspace remains read-only until a robot link exists. */
.directory-console .camera.disconnected .cam-fault { display:flex; background:var(--black); color:var(--ink-2); }
.directory-console .directory-camera-stage { grid-template-columns:1fr; }
.directory-console .drive-state.idle { color:var(--ink-3); background:var(--panel-2); }
.directory-console #viewer-detail { overflow-wrap:anywhere; }
.directory-console #control-title:focus { outline:none; }
.directory-console #console-frame { margin-top:16px; }
.directory-console #console-frame iframe { display:block; width:100%; height:calc(100dvh - 96px); min-height:560px; border:0; background:var(--black); }
.directory-console #console-frame .viewer-bar { margin-bottom:12px; }

/* One workspace for live operation and recorded sessions. */
.workspace-nav { display:flex; align-items:center; gap:28px; min-height:64px; border-bottom:1px solid var(--hair); }
.workspace-nav a { display:flex; align-items:center; gap:9px; position:relative; align-self:stretch; color:var(--ink-3); text-decoration:none; font-size:13px; font-weight:500; transition:color .18s; }
.workspace-nav a:hover,.workspace-nav a[aria-current] { color:var(--ink); }
.workspace-nav a[aria-current]::after { content:""; position:absolute; bottom:-1px; height:2px; left:0; right:0; background:var(--signal); }
.workspace-nav svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linejoin:round; stroke-linecap:round; }
.workspace-nav a[aria-current] svg { color:var(--signal); }
.workspace-caption { margin-left:auto; color:var(--ink-3); font:9px var(--mono); letter-spacing:.12em; }
.directory-console #fleet { padding-top:48px; }
.directory-console #operator-bar { margin:0; min-height:48px; border:0; border-bottom:1px solid var(--hair); padding:8px 0; background:transparent; }
.directory-console #operator-bar > div { display:flex; align-items:center; gap:12px; }
.directory-console #operator-bar p { margin:0; font-size:11px; }
.directory-console #operator-bar button { padding:6px 12px; font-size:10px; }
.directory-console.viewing-recordings main { padding-inline:clamp(16px,2.2vw,36px); padding-bottom:0; max-width:none; }
#recordings-workspace { margin:0 calc(-1 * clamp(16px,2.2vw,36px)); }
#recordings-frame { display:block; width:100%; height:calc(100dvh - 171px); min-height:580px; border:0; background:var(--void); }
.recordings-state { min-height:calc(100dvh - 200px); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:64px 24px; text-align:center; background:radial-gradient(ellipse at 50% 40%,#efc14b05,transparent 60%); }
.archive-glyph { display:grid; place-items:center; width:88px; height:88px; margin-bottom:28px; color:var(--signal); background:var(--signal-soft); border:1px solid #efc14b24; border-radius:24px; }
.archive-glyph svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linejoin:round; }
.recordings-state h1 { max-width:600px; font-size:clamp(28px,3.4vw,46px); font-weight:500; line-height:1.15; }
.recordings-state > p:last-of-type { max-width:430px; margin:18px 0 0; color:var(--ink-2); font-size:14px; line-height:1.7; }
.recordings-state button { margin-top:24px; padding:11px 20px; border:1px solid var(--edge-hi); border-radius:6px; background:var(--panel); color:var(--ink); cursor:pointer; }
.recordings-state button:hover { background:var(--panel-2); border-color:var(--ink-3); }
#recordings-workspace[aria-busy=true] .archive-glyph { animation:archive-pulse 1.6s ease-in-out infinite alternate; }
@keyframes archive-pulse { to { opacity:.4; } }
@media (max-width:760px) {
  .workspace-nav { min-height:56px; gap:24px; }
  .workspace-caption { display:none; }
  .directory-console #fleet { padding-top:32px; }
  .directory-console #operator-bar > div { gap:8px; }
  .directory-console #operator-bar p { font-size:10px; }
  #recordings-frame { height:calc(100dvh - 164px); min-height:640px; }
}
@media (max-width:600px) {
  .directory-console #operator-bar { flex-wrap:nowrap; flex-direction:row; align-items:center; }
  .directory-console #operator-bar > div { flex:1; min-width:0; }
  .directory-console #operator-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .directory-console #operator-bar p { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  #recordings-workspace[aria-busy=true] .archive-glyph { animation:none; }
}
