/* 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-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; }
