/* ============================================================
   ATLAS V7 — All-Tools launcher + Favorites rail + workspace switcher
   (2026-06-24) — the navigation layer that makes every view findable.
   Loads after v6-lock.css. Uses the global V6 tokens (v6-tokens.css).
   Multi-tenant + voice untouched.
   ============================================================ */

/* ---------- Workspace switcher (rail, dark) ----------
   Replaces the retired gray emoji pill. Monogram tile + org name + chevron.
   !important to beat the legacy bundle-layout.css .org-switcher rules. */
.org-switcher.v7-ws{
  display:flex !important; align-items:center; gap:9px;
  width:calc(100% - 4px); margin:10px 2px 2px; padding:7px 9px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:8px !important; cursor:pointer; position:relative;
  font-family:inherit; text-align:left; transition:border-color .14s;
}
.org-switcher.v7-ws:hover{ border-color:rgba(193,138,37,.55) !important; }
.org-switcher.v7-ws .v7-ws-tile{
  width:24px; height:24px; flex:0 0 24px; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; color:#1b1205;
  background:linear-gradient(135deg,#d7a13a,#bd8420);
}
.org-switcher.v7-ws .v7-ws-name{
  flex:1; min-width:0; font-size:13px; font-weight:600; color:var(--nav-text,#edf4fb);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:.01em;
}
.org-switcher.v7-ws .v7-ws-arrow{ font-size:9px; color:var(--nav-muted,#9fb0bf); flex:0 0 auto; }
.org-switcher.v7-ws[aria-expanded="true"] .v7-ws-arrow{ transform:rotate(180deg); }
/* single-org users: switcher hidden by js (adds .v7-ws-solo) */
.org-switcher.v7-ws.v7-ws-solo{ cursor:default; }
.org-switcher.v7-ws.v7-ws-solo:hover{ border-color:rgba(255,255,255,.10) !important; }

.org-dropdown.v7-ws-menu{
  position:absolute; left:14px; right:14px; z-index:40; margin-top:4px;
  background:var(--nav-2,#1d2630); border:1px solid rgba(255,255,255,.12);
  border-radius:10px; padding:6px; box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.org-dropdown.v7-ws-menu[hidden]{ display:none; }
.v7-ws-opt{
  display:flex; align-items:center; gap:9px; padding:8px 9px; border-radius:7px;
  color:var(--nav-text,#edf4fb); font-size:13px; cursor:pointer; border:0; background:transparent;
  width:100%; text-align:left; font-family:inherit;
}
.v7-ws-opt:hover{ background:rgba(255,255,255,.07); }
.v7-ws-opt .v7-ws-tile{ width:22px; height:22px; flex:0 0 22px; border-radius:6px;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:11px;
  color:#1b1205; background:linear-gradient(135deg,#d7a13a,#bd8420); }
.v7-ws-opt .v7-ws-check{ margin-left:auto; color:var(--gold,#c18a25); font-size:12px; }

/* ---------- Favorites rail group ---------- */
.v7-fav-group .v6-nav-heading span{ color:var(--gold,#c18a25); }
.v7-fav-item{
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px;
  color:var(--nav-text,#edf4fb); text-decoration:none; font-size:14px; cursor:pointer;
}
.v7-fav-item:hover{ background:var(--nav-2,#1d2630); }
.v7-fav-item .v7-fav-ic{ width:18px; text-align:center; color:var(--nav-muted,#9fb0bf); }

/* ---------- All-Tools launcher (work surface, light) ---------- */
.v7-tools-head{ flex:0 0 auto; }
.v7-eyebrow{ color:var(--gold,#c18a25) !important; font-weight:700; letter-spacing:.18em; font-size:11px; }
.v7-tools-title{ font-family:var(--font-display); font-size:30px; margin:6px 0 2px; color:var(--ink); }
.v7-tools-sub{ color:var(--muted,#647184); margin:0 0 16px; font-size:14px; }
.v7-search{
  display:flex; align-items:center; gap:10px; max-width:620px; margin-bottom:8px;
  background:var(--surface-3,#f0eee8); border:1px solid var(--line,#d7d0c3);
  border-radius:10px; padding:11px 15px; color:var(--muted,#647184);
}
.v7-search:focus-within{ border-color:var(--gold,#c18a25); box-shadow:0 0 0 2px rgba(193,138,37,.14); }
.v7-search input{ border:0; background:transparent; outline:0; flex:1; font-size:15px; color:var(--ink); font-family:inherit; }

.v7-group-title{ display:flex; align-items:center; gap:10px; margin:22px 0 11px; }
.v7-group-title h3{ font-size:15px; margin:0; color:var(--ink); letter-spacing:.01em; }
.v7-rule{ flex:1; height:1px; background:var(--line,#d7d0c3); }
.v7-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(212px,1fr)); gap:12px; }

.v7-tile{
  position:relative; text-align:left; font-family:inherit; cursor:pointer;
  background:var(--surface,#fffdf8); border:1px solid var(--line,#d7d0c3);
  border-radius:12px; padding:14px 14px 13px; box-shadow:var(--card-shadow,0 10px 24px rgba(29,24,14,.07));
  transition:transform .12s, border-color .12s, box-shadow .12s;
}
.v7-tile:hover{ transform:translateY(-2px); border-color:var(--gold,#c18a25); box-shadow:var(--shadow,0 18px 44px rgba(29,24,14,.11)); }
.v7-tile .v7-ic{
  width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  font-size:17px; margin-bottom:9px; background:var(--gold-soft,#fbecd0); border:1px solid rgba(193,138,37,.4); color:#7a4a0a;
}
.v7-tile[data-tone="teal"] .v7-ic{ background:var(--teal-soft,#d8f2ee); border-color:rgba(15,133,124,.35); color:#0f857c; }
.v7-tile[data-tone="blue"] .v7-ic{ background:var(--blue-soft,#e0e9fb); border-color:rgba(47,102,195,.30); color:#2f66c3; }
.v7-tile[data-tone="rose"] .v7-ic{ background:var(--bad-soft,#fde1ea); border-color:rgba(202,63,107,.30); color:#ca3f6b; }
.v7-tile h4{ font-size:14.5px; margin:0 0 3px; color:var(--ink); }
.v7-tile p{ font-size:12px; color:var(--muted,#647184); margin:0; line-height:1.35; }
.v7-star{
  position:absolute; top:9px; right:10px; font-size:15px; line-height:1; cursor:pointer;
  color:var(--faint,#8a95a3); background:transparent; border:0; padding:2px; border-radius:6px;
}
.v7-star:hover{ color:var(--gold,#c18a25); }
.v7-star.on{ color:var(--gold,#c18a25); }

.v7-empty{ color:var(--muted,#647184); padding:30px 4px; font-size:14px; }
.v7-recent-wrap[hidden]{ display:none; }

/* ============================================================
   ATLAS V7 — chrome polish pass (2026-06-24): trust chips + primary
   actions, persistent voice dock recolored/decluttered to V6, and
   image-capable avatars (company logo top / user photo bottom). No emoji.
   ============================================================ */

/* tile + fav icons are now inline SVG (no emoji glyphs) */
.v7-ic svg{ width:18px; height:18px; stroke-width:1.7; }
.v7-fav-ic svg{ width:16px; height:16px; stroke:currentColor; }
.v7-fav-item .v7-fav-ic{ display:inline-flex; align-items:center; justify-content:center; }

/* ---------- Top bar: trust chips (recede, enterprise-calm) ---------- */
.v6-status-strip{ gap:6px !important; }
.v6-status-chip{
  height:28px !important; padding:0 11px !important; gap:7px !important;
  background:rgba(255,255,255,.55) !important; border:1px solid var(--line,#d7d0c3) !important;
  border-radius:7px !important; color:var(--muted,#647184) !important;
  font-size:12px !important; font-weight:500 !important; box-shadow:none !important;
}
.v6-status-dot{ width:6px !important; height:6px !important; border-radius:50% !important; box-shadow:none !important; }
.v6-status-dot.teal{ background:#0f857c !important; }
.v6-status-dot.green{ background:#2e8b57 !important; }
.v6-status-dot.blue{ background:var(--gold,#c18a25) !important; }

/* ---------- Top bar: role chip + Ask Atlas (the primary action) ---------- */
/* 2026-06-29 launch polish: quiet outline role chip — readable contrast (#54606f
   = 5.3:1 vs the borderline #647184) + a touch taller to align the actions row. */
.v6-role-chip{
  height:34px !important; padding:0 13px !important; border-radius:999px !important;
  background:transparent !important; border:1px solid var(--line-strong,#c4b9a8) !important;
  color:#54606f !important; font-size:11.5px !important; font-weight:600 !important;
  letter-spacing:.06em; text-transform:uppercase;
}
/* 2026-06-29 launch polish: calm SOLID gold primary — the glossy 180deg gradient +
   inset highlight + gold glow read dated; flatten to one Linear/Ramp-grade gold CTA
   (dark warm ink #1f1503 = 7.6:1), 40px to match the control row, subtle warm shadow. */
.v6-ask-atlas-btn{
  height:40px !important; padding:0 18px !important; display:inline-flex !important;
  align-items:center; gap:8px;
  background:var(--gold,#c18a25) !important; color:#1f1503 !important;
  border:1px solid #b07d1c !important; border-radius:8px !important;
  font-size:14px !important; font-weight:700 !important; letter-spacing:.01em;
  box-shadow:0 1px 2px rgba(29,24,14,.10), 0 1px 3px rgba(29,24,14,.12) !important;
  transition:background .16s, box-shadow .16s, transform .16s;
}
.v6-ask-atlas-btn:hover{ background:#b07d1c !important; transform:translateY(-1px); box-shadow:0 3px 8px rgba(29,24,14,.16) !important; }
.v6-ask-atlas-btn svg{ width:16px; height:16px; }

/* ---------- Persistent voice dock — recolor to V6, declutter ---------- */
/* Hide V5 cyber ornament (no JS attached): holo orb, flow arrows, waveform,
   data-sync map, and the redundant second mic button. The dock orb + readout
   become the single, persistent voice focal point. */
.qb-holo-orb-wrap, .qb-flow-arrows, .qbvc-waveform, .qb-sync-panel,
.qb-mic-btn, .qb-voice-btn-big{ display:none !important; }

.quick-bar{
  background:linear-gradient(180deg,#fbfaf7,#f4f0e8) !important;
  border-top:1px solid var(--line,#d7d0c3) !important;
  box-shadow:0 -8px 24px rgba(29,24,14,.05) !important;
}
.qb-actions-row .qb-btn{
  background:var(--surface,#fffdf8) !important; border:1px solid var(--line,#d7d0c3) !important;
  color:var(--muted,#647184) !important; border-radius:9px !important; box-shadow:none !important;
}
.qb-actions-row .qb-btn:hover{ border-color:var(--gold,#c18a25) !important; color:var(--ink,#101722) !important; }
.qb-actions-row .qb-btn svg{ stroke:currentColor !important; }

.qb-voice-section{ background:transparent !important; }
.qbvc-title{ color:var(--gold,#c18a25) !important; font-weight:700 !important; letter-spacing:.16em !important; }
.qbvc-prompt{ color:var(--ink,#101722) !important; font-weight:600 !important; }
.vd-mic, .mic-indicator, #mic-state-text{ color:#54606f !important; letter-spacing:.1em; } /* 2026-06-29: readable "Tap space" prompt (5.7:1) */
.dock-transcript{ color:var(--ink,#101722) !important; }
.mic-pulse{ background:var(--gold,#c18a25) !important; }
.tag.live, .vd-livetag{ background:rgba(193,138,37,.15) !important; color:#7a4a0a !important; border-color:rgba(193,138,37,.4) !important; }

/* the orb = the single gold voice focal point (clickable, persistent) */
.vd-orb .orb, #orb{
  background:radial-gradient(circle at 38% 32%, #e7c26b, #c18a25 58%, #9a6a16) !important;
  box-shadow:0 0 0 1px rgba(193,138,37,.45), 0 6px 18px rgba(193,138,37,.40) !important;
}
.vd-orb{ cursor:pointer; }
.orb-ring{ border-color:rgba(193,138,37,.40) !important; }

.vd-gear, #dock-settings-btn{
  background:transparent !important; border:1px solid var(--line,#d7d0c3) !important;
  color:var(--muted,#647184) !important; border-radius:8px !important;
  display:inline-flex !important; align-items:center; justify-content:center;
}
.vd-gear svg{ width:15px; height:15px; }
.voice-settings-popover{ background:var(--surface,#fffdf8) !important; border:1px solid var(--line,#d7d0c3) !important; color:var(--ink) !important; box-shadow:var(--shadow,0 18px 44px rgba(29,24,14,.11)) !important; }
.voice-settings-popover .vsp-header, .voice-settings-popover .toggle span, .voice-settings-popover .vsp-footer{ color:var(--ink,#101722) !important; }

/* ---------- Avatars: company logo (top) + user photo (bottom) ----------
   Image-capable slots. With no URL set they keep a clean monogram/initials
   (never an emoji). Set org.brand_logo_url / user.avatar_url in config to
   show a real logo or photo; js/v7-tools.js wires the class + image. */
.sb-logo.has-brand-logo, .v7-ws-tile.has-logo, .sb-user-avatar.has-photo{
  background-size:cover !important; background-position:center !important;
  background-repeat:no-repeat !important; color:transparent !important;
}
.sb-user-avatar{ overflow:hidden; }
