/* ATELIER 1.28 — shared call workspace. Layout only; the call stays in its original page. */
.chat-session-dock-v34.studio-call-dock {
  box-sizing:border-box; position:fixed; z-index:24060; left:12px; right:12px;
  bottom:max(12px, env(safe-area-inset-bottom)); transform:none;
  display:grid; grid-template-columns:minmax(180px,1fr) auto auto auto; gap:8px 12px;
  width:auto; min-width:0; max-width:none; max-height:38dvh;
  padding:12px 16px; overflow:auto; border:1px solid #756044; border-radius:12px;
  background:linear-gradient(135deg,#171410,#0d0d0d 72%); box-shadow:0 12px 48px #0009;
  color:#e7dece; font-family:Inter,Arial,sans-serif;
}
.chat-session-dock-v34.studio-call-dock[hidden] { display:none!important; }
.studio-call-dock .studio-call-connection { grid-column:1; grid-row:1; display:flex; align-items:center; gap:10px; min-width:0; }
.studio-call-dock .chat-session-live-v34 { flex:none; width:7px; height:7px; }
.studio-call-dock .chat-session-copy-v34 { display:flex; flex-direction:column; min-width:0; gap:4px; }
.studio-call-dock .chat-session-copy-v34 small { color:#bcaa8f; font-size:10px; letter-spacing:.12em; }
.studio-call-dock .chat-session-copy-v34 b { display:block; font-size:11px; font-weight:400; color:#d8d0c1; letter-spacing:0; line-height:1.35; }
.studio-call-dock #chatSessionDockTimer { grid-column:3!important; grid-row:1; align-self:center; margin:0; font:500 15px/1.1 Inter,Arial,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:.03em; }
.studio-call-dock #aiCopilotDock71 { grid-column:2; grid-row:1; align-self:center; }
.studio-call-dock .studio-call-actions { grid-column:4; grid-row:1; display:flex; align-items:stretch; justify-content:flex-end; gap:6px; }
.chat-session-dock-v34.studio-call-dock button,
.chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 button {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; min-width:40px; width:auto; padding:8px 13px; border:1px solid #4b4235;
  border-radius:6px; background:#131210; color:#dfd5c4; font:500 11px/1.35 Inter,Arial,sans-serif;
  letter-spacing:0; text-transform:none; cursor:pointer; white-space:normal;
}
.chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 {
  display:flex!important; grid-row:2; grid-column:1/-1; justify-content:flex-start; gap:5px;
  padding:8px 0 0; border:0; border-top:1px solid #393126; border-radius:0; background:none;
  min-width:0; margin:0; flex-wrap:nowrap; overflow:auto; scrollbar-width:thin;
}
.chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 button { flex:none; width:auto!important; background:transparent; border-color:transparent; color:#b7ab98; }
.chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 button.active { background:#2b241a; border-color:#8c704c; color:#f0dfbf; box-shadow:none; }
.chat-session-dock-v34.studio-call-dock button:hover { color:#fff0d7; border-color:#b49a72; background:#231e17; }
.chat-session-dock-v34.studio-call-dock #chatSessionDockEnd { display:inline-flex!important; border-color:#795148; color:#ecc4b9; background:#281b18; }
.chat-session-dock-v34.studio-call-dock #chatSessionDockMute.active { color:#ead5ad; border-color:#a78958; background:#30281b; }
.chat-session-dock-v34.studio-call-dock .chat-live-3d-share-v114.is-live { color:#c2ddbd; border-color:#78916b; background:#1b2a1b; box-shadow:none; }
.chat-workspace-3d-v891 {
  inset:12px 12px calc(var(--studio-call-dock-space,140px) + 8px); z-index:24040;
  grid-template-rows:auto minmax(0,1fr); border:1px solid #6f5b40; border-radius:12px;
  background:#0c0c0b; box-shadow:0 18px 70px #000a;
}
.chat-workspace-3d-v891 > header {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:12px; padding:12px 16px; min-height:0; background:#14120f; border-bottom:1px solid #463b2c;
}
.chat-workspace-3d-v891 > header > .studio-call-workspace-heading { display:block; min-width:0; }
.chat-workspace-3d-v891 > header .studio-call-workspace-heading small { display:block; color:#b9a27d; font-size:10px; letter-spacing:.12em; }
.chat-workspace-3d-v891 > header h3 { margin:5px 0 0; font:500 25px/1.05 'Cormorant Garamond',Georgia,serif; color:#f1e6d3; white-space:normal; }
.chat-workspace-3d-v891 #chat3dSharingStatus { margin:6px 0 0; color:#c6bcaa; font:400 11px/1.35 Inter,Arial,sans-serif; }
.chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 { display:flex; align-items:stretch; justify-content:flex-end; gap:6px; flex-wrap:wrap; min-width:0; }
.chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 button,
.chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 a {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:40px;
  min-width:40px; padding:9px 12px; border:1px solid #61503a; border-radius:6px; background:#181510;
  color:#e1d0b2; font:500 11px/1.35 Inter,Arial,sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; white-space:normal;
}
.chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 button.is-live { border-color:#839974; background:#1c2a1a; color:#d2eac5; }
.chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 button.active { border-color:#aa9063; background:#302718; color:#f2e0bc; }
.chat-workspace-3d-v891 > header #chatWorkspace3dClose { border-color:#756246; background:#30291f; color:#f0e0c4; }
.chat-workspace-3d-v891 #chatWorkspace3dFrame { display:block; width:100%; height:100%; min-height:0; min-width:0; border:0; }
.chat-client-3d-live-v114 {
  inset:12px 12px calc(var(--studio-call-dock-space,100px) + 8px); z-index:24040; min-height:0;
  border-color:#6f5b40; border-radius:12px; overflow:hidden; background:#0b0b0a;
}
.chat-client-3d-live-v114 > header { height:auto; min-height:62px; padding:12px 18px; gap:12px; flex-wrap:wrap; background:#15120f; }
.chat-client-3d-live-v114 > header small { color:#b9a27d; font-size:10px; letter-spacing:.12em; }
.chat-client-3d-live-v114 > header b { font-size:26px; line-height:1.1; color:#f1e6d3; }
.chat-client-3d-live-v114 > header span { font:400 11px/1.4 Inter,Arial,sans-serif; letter-spacing:0; color:#c3d9b3; }
.chat-client-3d-live-v114 #chatClient3dFrame { display:block; flex:1; width:100%; height:0; min-height:0; border:0; }
.chat-client-3d-live-v114 .chat-client-3d-note-v114 { position:static; flex:none; margin:0; border:0; border-top:1px solid #3b3227; padding:9px 16px; color:#c8bcaa; background:#13110f; font:400 11px/1.45 Inter,Arial,sans-serif; letter-spacing:0; }
.studio-call-overlay .chat-call-actions-v22 button { min-height:44px; font-size:12px; letter-spacing:0; border-radius:6px; }
.studio-call-overlay .chat-call-card-v22 p { font-size:13px; line-height:1.6; color:#c1b5a3; }
.studio-call-overlay .chat-call-note-v22 { color:#b0a18b!important; font-size:11px; line-height:1.6; letter-spacing:0; }
.studio-call-dock button:focus-visible,
.chat-workspace-3d-v891 button:focus-visible,
.chat-workspace-3d-v891 a:focus-visible,
.session-3d-window-v891 button:focus-visible,
.session-3d-window-v891 a:focus-visible { outline:2px solid #dbc298; outline-offset:3px; }
.session-3d-window-v891 { width:calc(100vw - 24px); height:calc(100dvh - 24px); grid-template-rows:auto minmax(0,1fr); border-radius:12px; }
.session-3d-window-v891 > header { gap:12px; padding:12px 16px; min-height:64px; }
.session-3d-window-v891 > header .kicker { font-size:10px; line-height:1.4; letter-spacing:.08em; }
.session-3d-window-v891 > header a,.session-3d-window-v891 > header button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:40px; padding:9px 12px; font-size:11px; line-height:1.3; letter-spacing:0; border-radius:6px; }
.session-3d-window-v891 > header button { font-size:24px; }
.session-3d-window-v891 iframe { min-width:0; min-height:0; height:100%; }
@media(max-width:900px) {
  .chat-session-dock-v34.studio-call-dock { grid-template-columns:minmax(0,1fr) auto auto; gap:7px; padding:10px 12px!important; }
  .studio-call-dock .studio-call-connection { grid-column:1; grid-row:1; }
  .studio-call-dock .chat-session-copy-v34 { flex:1; }
  .studio-call-dock #chatSessionDockTimer { flex:none; margin:0; }
  .studio-call-dock .studio-call-actions { grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .studio-call-dock .studio-call-actions:not(:has(#chatSessionDock3dShare)) { grid-template-columns:repeat(3,minmax(0,1fr)); grid-row:2; }
  .chat-workspace-3d-v891 > header { padding:10px 12px; }
  .chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 { justify-content:flex-start; }
}
@media(max-width:560px) {
  .chat-session-dock-v34.studio-call-dock { left:6px; right:6px; bottom:max(6px,env(safe-area-inset-bottom)); grid-template-columns:minmax(0,1fr) auto auto!important; gap:6px; max-height:42dvh; border-radius:9px; padding:8px!important; }
  .studio-call-dock .chat-session-copy-v34 { flex-direction:row; align-items:center; gap:8px; }
  .studio-call-dock .chat-session-copy-v34 small { font-size:9px; }
  .studio-call-dock .chat-session-copy-v34 b { font-size:10px; }
  .studio-call-dock #chatSessionDockTimer { font-size:13px; }
  .chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 { padding-top:5px; gap:2px; }
  .chat-session-dock-v34.studio-call-dock button,
  .chat-session-dock-v34.studio-call-dock .chat-workspace-nav-v37 button { min-height:40px; padding:6px 7px; font-size:11px; width:auto; }
  .chat-session-dock-v34.studio-call-dock .studio-call-actions button { width:100%; min-height:44px; }
  .chat-workspace-3d-v891,.chat-client-3d-live-v114 { left:6px; right:6px; top:6px; border-radius:9px; }
  .chat-workspace-3d-v891 > header { gap:9px; padding:9px; }
  .chat-workspace-3d-v891 > header h3 { font-size:22px; }
  .chat-workspace-3d-v891 > header .studio-call-workspace-heading small { display:none; }
  .chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 button,
  .chat-workspace-3d-v891 > header .chat-3d-live-controls-v114 a { min-height:42px; padding:6px; font-size:11px; }
  .chat-workspace-3d-v891 > header #chatWorkspace3dClose { grid-column:2/-1; }
  .chat-client-3d-live-v114 > header { padding:10px 12px; gap:8px; }
  .chat-client-3d-live-v114 > header b { font-size:23px; }
  .chat-client-3d-live-v114 .chat-client-3d-note-v114 { padding:8px 10px; }
  .session-3d-window-v891 { width:100vw; height:100dvh; border:0; border-radius:0; }
  .session-3d-window-v891 > header { padding:10px; gap:8px; }
  .session-3d-window-v891 > header .kicker { font-size:9px; }
  .session-3d-window-v891 > header h2 { font-size:22px; }
}
@media(max-height:540px) and (min-width:561px) {
  .studio-call-dock .chat-session-copy-v34 small { display:none; }
  .chat-session-dock-v34.studio-call-dock { padding:6px 10px!important; max-height:32dvh; }
  .chat-workspace-3d-v891 > header { padding:7px 10px; gap:8px; }
  .chat-workspace-3d-v891 > header h3 { font-size:21px; }
  .chat-workspace-3d-v891 > header .studio-call-workspace-heading small { display:none; }
}

/* Existing project/registration and image panels share the measured dock clearance. */
.studio-call-dock:not([hidden]) ~ .chat-workspace-project-v37 {
  box-sizing:border-box; bottom:calc(var(--studio-call-dock-space,140px) + 8px);
  max-height:calc(100dvh - var(--studio-call-dock-space,140px) - 24px);
  overflow:auto; overscroll-behavior:contain;
}
.studio-call-dock:not([hidden]) ~ .chat-media-viewer-v30 {
  bottom:calc(var(--studio-call-dock-space,140px) + 8px); padding:12px;
}
.studio-call-dock:not([hidden]) ~ .chat-media-viewer-v30 .chat-media-viewer-card-v30 {
  box-sizing:border-box; height:100%; max-height:100%; min-height:0; overflow:auto;
}
@media(max-width:560px) {
  .studio-call-dock:not([hidden]) ~ .chat-media-viewer-v30 { padding:6px; }
  .studio-call-dock:not([hidden]) ~ .chat-workspace-project-v37 { right:6px; width:calc(100vw - 12px); }
}

/* Toasts created after the call dock must leave its controls readable. */
.studio-call-dock:not([hidden]) ~ #chatLiveToast {
  bottom:calc(var(--studio-call-dock-space,140px) + 8px);
  transform:translateY(0);
}
