/* O mapa Koide e Fluxo permanece à frente; esta folha enriquece as janelas. */

body[data-shell="workspace"]{
  background:#081421;
}

/* O aviso do Canvas antigo não cobre a nova navegação no telefone. */
body[data-shell="workspace"] #mobile-note{display:none}

body[data-shell="workspace"] #topbar{
  height:56px;padding:0 18px;gap:12px;z-index:180;
  background:#0b1929;border-bottom:1px solid rgba(151,181,228,.16);
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}

body[data-shell="workspace"] #topbar .brand small{color:#9cb2d0}

body[data-shell="workspace"] #crumb{
  background:rgba(126,157,203,.08);border-color:rgba(151,181,228,.18);
}

body[data-shell="workspace"] #topbar .tb-btn{
  background:rgba(126,157,203,.08);border-color:rgba(151,181,228,.18);
}

body[data-shell="workspace"] #btn-help{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;font-weight:700}

body[data-shell="workspace"] #viewport{
  top:56px;z-index:1;transition:opacity .24s ease,visibility .24s ease;
  background:radial-gradient(circle at 51% 46%,rgba(38,86,144,.17),transparent 38%),#081421;
}

body[data-shell="workspace"] #world{
  background-image:radial-gradient(rgba(122,166,216,.16) 1px,transparent 1.5px),
    linear-gradient(rgba(104,154,208,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(104,154,208,.035) 1px,transparent 1px);
  background-size:30px 30px,120px 120px,120px 120px;
}

/* A estrutura é o circuito de nós e ligações do motor. Luz curta em CSS,
   sem baixar Three.js para cada abertura do mapa. */
body[data-shell="workspace"] .node:not(.root):not(.hub-fluxo){
  min-width:205px;min-height:64px;padding:12px 15px;
  border:1px solid color-mix(in srgb,var(--nc) 37%,#38516f);
  border-left:3px solid var(--nc);border-radius:16px;
  background:linear-gradient(150deg,#20324a,#112035 70%);
  box-shadow:0 15px 33px rgba(0,0,0,.32),0 0 17px color-mix(in srgb,var(--nc) 12%,transparent);
}

body[data-shell="workspace"] .node:not(.root):not(.hub-fluxo):hover,
body[data-shell="workspace"] .node:not(.root):not(.hub-fluxo):focus-visible{
  border-color:var(--nc);box-shadow:0 18px 35px rgba(0,0,0,.43),
    0 0 22px color-mix(in srgb,var(--nc) 25%,transparent);
}

body[data-shell="workspace"] .node:not(.root):not(.hub-fluxo) .n-label{font-size:15px}

body[data-shell="workspace"] .node:not(.root):not(.hub-fluxo) .n-chip{font-size:11px}

body[data-shell="workspace"] .node.root,
body[data-shell="workspace"] .node.hub-fluxo{
  isolation:isolate;width:158px;height:158px;border:1px solid rgba(124,200,247,.66);
  background:radial-gradient(circle at 34% 26%,#315a8b,#132d4a 57%,#081a30 100%);
  box-shadow:0 0 0 8px rgba(61,145,231,.09),0 0 0 22px rgba(61,145,231,.035),
    0 0 37px rgba(66,161,242,.28),0 18px 44px rgba(0,0,0,.46),
    inset 0 1px 2px rgba(255,255,255,.23);
}

body[data-shell="workspace"] .node.hub-fluxo{
  border-color:rgba(80,229,216,.68);
  background:radial-gradient(circle at 34% 26%,#1d686d,#10363f 59%,#092229);
  box-shadow:0 0 0 8px rgba(61,214,206,.08),0 0 0 22px rgba(61,214,206,.025),
    0 0 34px rgba(61,214,206,.25),0 18px 44px rgba(0,0,0,.46);
}

body[data-shell="workspace"] .node.root:hover,
body[data-shell="workspace"] .node.hub-fluxo:hover{
  transform:translateY(-3px) scale(1.04);
}

body[data-shell="workspace"] .node.root .n-top,
body[data-shell="workspace"] .node.root .n-chip,
body[data-shell="workspace"] .node.hub-fluxo .n-top,
body[data-shell="workspace"] .node.hub-fluxo .n-chip{
  position:relative;z-index:1;text-shadow:0 2px 8px #071322;
}

body[data-shell="workspace"] #edges path.tube.on{
  filter:drop-shadow(0 0 4px rgba(53,147,240,.3));
}

body[data-shell="workspace"] #mesa{z-index:200}
@media (max-width:600px){

  body[data-shell="workspace"] #mesa.compact{overflow-y:auto;overscroll-behavior:contain}

  body[data-shell="workspace"] #mesa.compact .ring.r2{opacity:.45}

  body[data-shell="workspace"] #mesa.compact .center{width:126px;height:126px}

  body[data-shell="workspace"] #mesa.compact .sat{width:min(330px,calc(100vw - 32px));
    max-width:none;min-height:64px;white-space:normal}

  body[data-shell="workspace"] #mesa.compact .mesa-note{top:247px;bottom:auto;
    width:calc(100% - 36px);max-width:none;font-size:11px}
}


/* Mesmo chão para lista, gráfico e peça; cada janela pode ser ajustada. */
body[data-shell="workspace"] .card{
  min-width:min(320px,calc(100vw - 24px));min-height:180px;max-width:calc(100vw - 24px);
  max-height:min(78vh,820px);border-color:rgba(151,181,228,.24);
  background:linear-gradient(158deg,#20324a 0%,#14243a 22%,#0e1b2c 100%);
  box-shadow:0 30px 78px rgba(0,0,0,.54),0 0 0 1px rgba(83,175,255,.08);
}

body[data-shell="workspace"] .card.workspace-sizing{transition:none;user-select:none}

body[data-shell="workspace"] .card .card-head{
  background:linear-gradient(90deg,rgba(73,139,232,.13),rgba(73,139,232,.025));
}

body[data-shell="workspace"] .card .card-head h2{color:#f4f8ff}

.card-btns .foc-label{display:none}

body[data-shell="workspace"].workspace-item-fullscreen #focus-backdrop{z-index:220;backdrop-filter:none}

body[data-shell="workspace"] .card.workspace-item-card.focused{
  left:0!important;top:0!important;transform:none!important;
  width:100vw!important;max-width:none;height:100dvh;max-height:none;
  border-radius:0;z-index:230!important;
}

body[data-shell="workspace"] .card.workspace-item-card.focused .card-body{
  width:min(100%,1440px);margin:0 auto;align-self:center;
}
@media (min-width:900px){

  body[data-shell="workspace"] .card.workspace-item-card.workspace-quote-card:not(.focused){
    max-height:min(88vh,900px)}
}

.workspace-item-overview{padding:24px 26px;margin:0 0 18px;border-radius:18px;
  border:1px solid rgba(115,196,233,.36);
  background:radial-gradient(circle at 94% 10%,rgba(44,133,196,.2),transparent 45%),
    linear-gradient(135deg,rgba(25,65,103,.93),rgba(17,39,70,.94))}

.workspace-item-overview h3{color:#fff;font:700 clamp(24px,3vw,36px)/1.1 var(--display);
  letter-spacing:-.025em;margin:7px 0 18px}

.workspace-item-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}

.workspace-item-facts>div,.workspace-quote-context>div{min-width:0;padding:11px 13px;border-radius:11px;
  background:rgba(6,23,43,.35);border:1px solid rgba(142,198,228,.13)}

.workspace-item-facts span,.workspace-quote-context span{display:block;color:#a4c7dc;
  font:650 10px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.06em}

.workspace-item-facts strong,.workspace-quote-context strong{display:block;margin-top:4px;
  color:#f1faff;font:650 14px/1.4 var(--sans);overflow-wrap:anywhere}

.workspace-item-details{display:grid;gap:18px}

.workspace-item-details>div{scroll-margin-top:56px;padding:18px 20px;border-radius:16px;
  border:1px solid rgba(127,184,222,.17);background:rgba(8,26,46,.52)}

.workspace-item-details .sec-label{color:#8fd6f1}

.workspace-history-overview{display:grid;gap:11px;padding:18px 22px;margin:0 0 16px;
  border-radius:16px;border:1px solid rgba(115,196,233,.36);
  background:linear-gradient(135deg,rgba(25,65,103,.93),rgba(17,39,70,.94))}

.workspace-history-overview h3{margin:0;color:#fff;font:700 clamp(20px,2.5vw,28px)/1.15 var(--display)}

.workspace-history-facts{display:flex;gap:9px;flex-wrap:wrap}

.workspace-history-facts>div{flex:1 1 130px;min-width:0;padding:9px 11px;border-radius:10px;
  background:rgba(6,23,43,.35);border:1px solid rgba(142,198,228,.13)}

.workspace-history-facts span{display:block;color:#a4c7dc;font:650 10px/1.3 var(--sans);
  text-transform:uppercase;letter-spacing:.06em}

.workspace-history-facts strong{display:block;margin-top:3px;color:#f1faff;
  font:650 13px/1.35 var(--sans)}

.workspace-history-note{margin:0;color:#b4d3e5;font:500 12px/1.45 var(--sans)}

.workspace-history-back{justify-self:start;min-height:44px;padding:8px 2px;border:0;
  background:transparent;color:#b4e9ff;font:650 12px/1.25 var(--sans);cursor:pointer}

.workspace-history-back:hover,.workspace-history-back:focus-visible{color:#fff;text-decoration:underline}

.workspace-history-pages{display:flex;gap:8px;flex-wrap:wrap}

.workspace-history-page{min-height:44px;padding:8px 13px;border-radius:12px;
  border:1px solid rgba(143,225,247,.48);background:rgba(7,28,50,.42);
  color:#d6f4ff;font:650 12px/1.25 var(--sans);cursor:pointer}

.workspace-history-page:hover,.workspace-history-page:focus-visible{
  background:rgba(34,87,129,.72);outline-offset:3px}

.workspace-history-card .workspace-item-details .empty{color:#c5d9e9;text-align:left;
  font:500 13px/1.5 var(--sans);padding:8px 0}

.workspace-history-card [data-block-id="fases-cotacao"] .row{position:relative;
  margin-left:5px;padding-left:22px;border-left:2px solid rgba(91,167,223,.46)}

.workspace-history-card [data-block-id="fases-cotacao"] .row::before{content:"";
  position:absolute;left:-6px;top:18px;width:10px;height:10px;border-radius:50%;
  background:#69d8ed;border:2px solid #17324d}

.workspace-quote-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;
  padding:24px 26px;margin:0 0 23px;border-radius:18px;
  border:1px solid rgba(115,196,233,.36);
  background:radial-gradient(circle at 94% 10%,rgba(44,133,196,.24),transparent 45%),
    linear-gradient(135deg,rgba(25,65,103,.93),rgba(17,39,70,.94));
  box-shadow:0 20px 42px rgba(1,10,25,.25)}

.workspace-quote-kicker{grid-column:1/-1;color:#8fe1f7;font:700 10px/1.3 var(--mono);letter-spacing:.17em}

.workspace-quote-overview h3{grid-column:1/-1;color:#fff;font:700 clamp(26px,3vw,38px)/1.08 var(--display);
  letter-spacing:-.025em}

.workspace-quote-status-link{display:inline-flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:4px;min-height:44px;padding:0 4px 2px 0;
  border:0;background:transparent;color:inherit;
  font:inherit;text-align:left;cursor:pointer}

.workspace-quote-history-hint{color:#9be8fa;font:700 11px/1.3 var(--sans);
  letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px}

.workspace-quote-status-link:hover,.workspace-quote-status-link:focus-visible{color:#a7edff;
  outline-offset:4px}

.workspace-quote-identity{grid-column:1/-1;color:#aac5df;font:500 13px/1.4 var(--sans)}

.workspace-quote-context{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;margin-top:10px}

.workspace-quote-next{grid-column:1/-1;display:flex;gap:10px 20px;align-items:baseline;flex-wrap:wrap;
  margin-top:14px;padding-top:16px;border-top:1px solid rgba(146,208,238,.22)}

.workspace-quote-next strong{color:#9bd9f6;font:700 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em}

.workspace-quote-next span{flex:1;min-width:190px;color:#e5f3ff;font:500 14px/1.5 var(--sans)}

.workspace-quote-pending{grid-column:1/-1;width:fit-content;margin-top:5px;padding:6px 10px;
  border-radius:999px;background:rgba(224,139,102,.13);color:#ffc7a7;
  font:650 11px/1.2 var(--sans)}

.workspace-quote-act{min-height:42px;margin:0 7px 6px 0;padding:9px 13px;border:1px solid #5caed8;
  border-radius:10px;color:#f4fdff;background:rgba(47,134,190,.28);font:650 12px/1.25 var(--sans)}

.workspace-quote-act:hover,.workspace-quote-act:focus-visible{background:rgba(53,159,211,.44)}

.workspace-visual-kicker{color:#80d5f3;font:700 10px/1.3 var(--mono);letter-spacing:.13em}

.workspace-visual-origin{margin:11px 0 0;color:#b5d6e7;font:600 11px/1.4 var(--sans)}

.workspace-visual-empty{display:grid;align-items:center;min-height:146px;margin:0;
  color:#b8d0e2;font:500 13px/1.5 var(--sans)}

.workspace-quote-shell{width:min(100%,1240px);margin:0 auto;display:grid;gap:15px;
  color:#eaf6ff}

.workspace-generic-shell .workspace-quote-tablist{display:flex;gap:4px;overflow-x:auto;
  scrollbar-width:thin}

.workspace-generic-shell .workspace-quote-tab{flex:1 0 auto;min-width:130px;max-width:240px}

.workspace-quote-general.workspace-generic-wide{
  grid-template-columns:minmax(0,1fr)}

.workspace-generic-shell .workspace-generic-main{min-width:0;align-content:start}

.workspace-generic-shell .workspace-item-overview,
.workspace-generic-shell .workspace-history-overview{margin:0}

.workspace-generic-shell .workspace-quote-status{max-width:min(42%,320px);
  overflow-wrap:anywhere;text-align:center}

.workspace-quote-header{display:flex;gap:18px;align-items:center;justify-content:space-between;
  padding:4px 2px}

.workspace-quote-heading{min-width:0}

.workspace-quote-heading h2{margin:5px 0;color:#f8fcff;
  font:700 clamp(23px,2.6vw,34px)/1.16 var(--display);overflow-wrap:anywhere}

.workspace-quote-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 17px;
  color:#afcce4;font:500 12px/1.5 var(--sans)}

.workspace-quote-meta>*+*::before{content:"·";margin-right:15px;color:#78a8cb}

.workspace-quote-meta-link{padding:0;border:0;background:transparent;color:#bfe7ff;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.workspace-quote-status{flex:none;padding:10px 16px;border:1px solid rgba(82,217,163,.45);
  border-radius:999px;color:#c6ffe5;background:rgba(22,143,91,.18);
  font:700 12px/1.25 var(--sans)}

button.workspace-quote-status{cursor:pointer}

button.workspace-quote-status:hover,button.workspace-quote-status:focus-visible{
  outline:2px solid #a5f7ce;outline-offset:2px}

.workspace-quote-general{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.26fr);
  gap:15px;align-items:start}

.workspace-quote-related{display:grid;gap:8px;padding:18px 15px;border:1px solid rgba(129,192,239,.23);
  border-radius:15px;background:rgba(12,31,54,.87)}

.workspace-quote-related h3{margin:0 0 4px;color:#f4f9ff;
  font:700 15px/1.3 var(--display)}

.workspace-quote-related h4{margin:10px 0 0;padding-top:12px;
  border-top:1px solid rgba(129,192,239,.22);color:#a8c9df;
  font:700 11px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em}

.workspace-quote-related-link,.workspace-quote-history-link{
  min-height:44px;padding:9px 11px;border:1px solid rgba(128,187,232,.29);
  border-radius:9px;background:rgba(51,93,136,.22);color:#eaf7ff;
  text-align:left;cursor:pointer;font:650 12px/1.35 var(--sans)}

.workspace-quote-related-link:hover,
.workspace-quote-history-link:hover,
.workspace-quote-related-link:focus-visible,
.workspace-quote-history-link:focus-visible{border-color:#8bdcff;background:rgba(56,136,186,.34)}

/* O BOTÃO QUE RESOLVE o próximo passo. Ordem do dono, 21/09: "poderia ser como um game mesmo
   e o botão que deveria ser clicado poderia ficar piscando". Pulsa devagar e para no hover —
   piscar rápido cansa e atrapalha quem precisa ler o rótulo antes de clicar. Quem desligou
   animação no sistema recebe só o destaque fixo, que já basta para saber onde clicar. */
.workspace-quote-next .row.resolve{flex-basis:100%;border-radius:8px;
  box-shadow:0 0 0 1px rgba(139,220,255,.45);animation:resolve-pulsa 2.4s ease-in-out infinite}
.workspace-quote-next .row.resolve:hover,
.workspace-quote-next .row.resolve:focus-visible{animation:none}
.workspace-quote-related-link.resolve{
  border-color:#8bdcff;background:rgba(56,136,186,.42);color:#fff;
  box-shadow:0 0 0 1px rgba(139,220,255,.45);animation:resolve-pulsa 2.4s ease-in-out infinite}
.workspace-quote-related-link.resolve:hover,
.workspace-quote-related-link.resolve:focus-visible{animation:none;background:rgba(56,136,186,.55)}
@keyframes resolve-pulsa{
  0%,100%{box-shadow:0 0 0 1px rgba(139,220,255,.45)}
  50%{box-shadow:0 0 0 3px rgba(139,220,255,.22)}}
@media (prefers-reduced-motion:reduce){
  .workspace-quote-related-link.resolve,.workspace-quote-next .row.resolve{animation:none}}

.workspace-quote-related-gap{margin:4px 0;color:#a9c0d3;font:500 11px/1.45 var(--sans)}

.workspace-quote-detail-host{max-width:860px;margin:0 auto}

.workspace-quote-drawing-state{padding:15px 18px;border:1px solid rgba(127,184,222,.25);
  border-radius:12px;background:rgba(14,43,70,.6)}
@container (max-width:1040px){

  .workspace-quote-general{grid-template-columns:minmax(0,1fr)}

  .workspace-quote-related{grid-template-columns:repeat(2,minmax(0,1fr))}

  .workspace-quote-related h3,.workspace-quote-related h4,
  .workspace-quote-related-gap{grid-column:1/-1}
}
@container (max-width:720px){

  .workspace-quote-header{align-items:flex-start;flex-direction:column}
}

.workspace-quote-details{margin:0 0 24px}

.workspace-quote-details>h3{font:700 18px/1.25 var(--display);color:#ecf7ff;
  margin:0 0 12px}

.workspace-quote-details .resumo{margin:0}

.workspace-quote-action{font:700 18px/1.25 var(--display);color:#ecf7ff;
  margin:22px 0 11px;padding-bottom:9px;border-bottom:1px solid rgba(141,178,222,.2)}

.workspace-resize-grip{
  position:absolute;right:2px;bottom:2px;z-index:5;width:26px;height:26px;
  display:grid;place-items:center;border-radius:8px;color:#a6c5e7;
  background:linear-gradient(135deg,transparent,rgba(74,151,236,.15));
  cursor:nwse-resize;font:600 15px/1 var(--mono);touch-action:none;
}

.workspace-resize-grip:hover,.workspace-resize-grip:focus-visible{
  color:#fff;background:rgba(74,151,236,.32);
}

body[data-shell="workspace"] .card.focused .workspace-resize-grip,
body[data-shell="workspace"] .card.snap-left .workspace-resize-grip,
body[data-shell="workspace"] .card.snap-right .workspace-resize-grip{display:none}
@media (max-width:1100px){

  body[data-shell="workspace"] #topbar{gap:8px;padding:0 10px}

  body[data-shell="workspace"] .brand small{display:none}

  body[data-shell="workspace"] #crumb{max-width:30vw}
}
@media (max-width:880px){

  body[data-shell="workspace"] #topbar .brand small,
  body[data-shell="workspace"] #crumb,
  body[data-shell="workspace"] #btn-mesa,
  body[data-shell="workspace"] #btn-fit,
  body[data-shell="workspace"] #btn-k{display:none}

  body[data-shell="workspace"] #btn-fluxo{display:inline-flex;align-items:center;justify-content:center;
    min-width:56px;min-height:44px}

  body[data-shell="workspace"] #btn-help{min-width:44px;min-height:44px}

  body[data-shell="workspace"] #topbar #btn-exit{min-width:44px;min-height:44px}

  body[data-shell="workspace"] .card.workspace-item-card:not(.focused){left:12px!important;top:66px!important}

  body[data-shell="workspace"] #dock{left:12px;right:124px;bottom:12px;transform:none;
    max-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;
    padding:2px 0 4px}

  body[data-shell="workspace"] #dock .pill{flex:none;display:grid;
    grid-template-columns:8px minmax(0,1fr);grid-template-rows:auto auto;
    column-gap:8px;row-gap:2px;align-items:center;min-height:44px;
    max-width:min(250px,calc(100vw - 136px));padding:6px 11px;scroll-snap-align:start}

  body[data-shell="workspace"] #dock .pill .dot{grid-column:1;grid-row:1}

  body[data-shell="workspace"] #dock .pill .lbl{grid-column:2;grid-row:1}

  body[data-shell="workspace"] #dock .pill .pill-state{grid-column:2;grid-row:2;
    color:#f6c778;font:600 10px/1.2 var(--sans);white-space:nowrap}

  body[data-shell="workspace"] #dock .pill.has-action{border-color:rgba(246,185,78,.58)}

  body[data-shell="workspace"] .card.workspace-item-card .card-head{
    display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:11px;row-gap:6px;
    align-items:center}

  body[data-shell="workspace"] .card.workspace-item-card .card-head .dot{
    grid-column:1;grid-row:1}

  body[data-shell="workspace"] .card.workspace-item-card .card-head .t{
    grid-column:2;grid-row:1}

  body[data-shell="workspace"] .card.workspace-item-card .card-head .eyebrow,
  body[data-shell="workspace"] .card.workspace-item-card .card-head h2{
    white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

  body[data-shell="workspace"] .card.workspace-item-card .card-head h2{line-height:1.25}

  body[data-shell="workspace"] .card.workspace-item-card .card-btns{
    grid-column:1/-1;grid-row:2;justify-self:end}

  body[data-shell="workspace"] .card.workspace-item-card .card-btns button{
    width:44px;height:44px}

  .workspace-item-overview{padding:18px}

  .workspace-item-details>div{padding:15px}

  .workspace-quote-overview{padding:18px}
}
@media (prefers-reduced-motion:reduce){

  body[data-shell="workspace"] #viewport{transition:none}

  body[data-shell="workspace"] .node.root::after,
  body[data-shell="workspace"] .node.hub-fluxo::after{animation:none}
}
