/* Egytag Advanced Tool Lab — browser, privacy, proxy, data and API workspaces. */

.lab-controls,
.proxy-controls,
.converter-controls,
.api-client{
  gap:1rem;
}
.lab-actionbar{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
}
.tool-controls .secondary-action{
  background:var(--surface-raised);
  color:var(--text-primary);
  border-color:var(--quality-surface-border-strong);
  box-shadow:none;
}
.tool-controls .secondary-action:hover,
.tool-controls .secondary-action:focus-visible{
  border-color:var(--accent);
  color:var(--accent);
}
.tool-controls .text-action{
  min-height:auto;
  padding:.15rem .35rem;
  border:0;
  background:transparent;
  color:var(--accent);
  box-shadow:none;
  font-size:.76rem;
}
.lab-report{
  min-width:0;
  display:grid;
  gap:.85rem;
  padding:1rem;
  border:1px solid var(--quality-surface-border);
  border-radius:var(--quality-radius-panel);
  background:var(--quality-surface-bg);
  box-shadow:var(--quality-surface-shadow);
}
.lab-report--empty{
  min-height:8rem;
  place-items:center;
}
.lab-empty{
  color:var(--text-muted);
  text-align:center;
  line-height:1.8;
}
.lab-report__section{
  min-width:0;
  padding:.95rem;
  border:1px solid color-mix(in srgb,var(--quality-surface-border) 82%,transparent);
  border-radius:14px;
  background:var(--surface-raised);
}
.lab-report__section h2{
  margin:0 0 .7rem;
  font-size:1rem;
  line-height:1.4;
}
.lab-kv{
  margin:0;
  display:grid;
  gap:0;
}
.lab-kv>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(9rem,.72fr) minmax(0,1.28fr);
  gap:.9rem;
  padding:.55rem 0;
  border-block-end:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);
}
.lab-kv>div:last-child{border-block-end:0}
.lab-kv dt{
  color:var(--text-muted);
  font-size:.75rem;
  font-weight:750;
}
.lab-kv dd{
  min-width:0;
  margin:0;
  color:var(--text-primary);
  font-size:.82rem;
  font-weight:750;
  overflow-wrap:anywhere;
  direction:auto;
}
.lab-kv dd[data-tone="good"]{color:var(--success)}
.lab-kv dd[data-tone="bad"]{color:var(--danger)}
.lab-signature{
  display:grid;
  gap:.35rem;
  margin-block-end:.75rem;
}
.lab-signature span{
  color:var(--text-muted);
  font-size:.7rem;
  font-weight:800;
}
.lab-signature code{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  padding:.7rem .8rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:var(--surface-soft);
  direction:ltr;
  text-align:left;
  font-size:.74rem;
}
.lab-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.lab-chip-list span{
  padding:.28rem .48rem;
  border:1px solid var(--border-subtle);
  border-radius:999px;
  background:var(--surface-soft);
  color:var(--text-secondary);
  font-size:.68rem;
  direction:ltr;
}
.lab-callout{
  padding:.8rem .9rem;
  border-inline-start:3px solid var(--accent);
  border-radius:10px;
  background:var(--surface-soft);
  color:var(--text-secondary);
  font-size:.8rem;
  line-height:1.7;
}
.lab-callout--warning{border-inline-start-color:var(--warning)}
.lab-progress{
  min-height:1.4rem;
  color:var(--text-muted);
  font-size:.78rem;
}
.canvas-lab-preview{
  overflow:hidden;
  padding:.75rem;
  border:1px solid var(--quality-surface-border);
  border-radius:14px;
  background:
    linear-gradient(45deg,var(--surface-soft) 25%,transparent 25%) 0 0/16px 16px,
    linear-gradient(-45deg,var(--surface-soft) 25%,transparent 25%) 0 8px/16px 16px,
    linear-gradient(45deg,transparent 75%,var(--surface-soft) 75%) 8px -8px/16px 16px,
    linear-gradient(-45deg,transparent 75%,var(--surface-soft) 75%) -8px 0/16px 16px,
    var(--surface-raised);
}
.canvas-lab-preview canvas{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
.converter-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:.7rem;
  align-items:end;
}
.converter-swap{
  min-width:3rem;
  align-self:end;
}
.converter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.field-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  margin-block-end:.4rem;
}
.field-head strong{font-size:.82rem}
.converter-grid textarea{
  min-height:25rem;
  resize:vertical;
}
.proxy-config-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.proxy-result-table{
  min-width:0;
  display:grid;
  overflow:hidden;
  border:1px solid var(--border-subtle);
  border-radius:12px;
}
.proxy-result-row{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(10rem,1.5fr) .75fr .7fr .7fr 1fr .7fr;
  gap:.55rem;
  align-items:center;
  padding:.6rem .7rem;
  border-block-end:1px solid var(--border-subtle);
  font-size:.72rem;
}
.proxy-result-row:last-child{border-block-end:0}
.proxy-result-row--head{
  background:var(--surface-soft);
  color:var(--text-muted);
}
.proxy-result-row span,
.proxy-result-row strong{
  min-width:0;
  overflow-wrap:anywhere;
}
.proxy-result-row span[data-tone="good"]{color:var(--success);font-weight:850}
.proxy-result-row span[data-tone="bad"]{color:var(--danger);font-weight:850}
.proxy-finder-list{
  display:grid;
  gap:.35rem;
}
.proxy-finder-row{
  display:grid;
  grid-template-columns:minmax(12rem,1fr) minmax(0,1fr);
  gap:.8rem;
  align-items:center;
  padding:.6rem .7rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:var(--surface-raised);
}
.proxy-finder-row code{
  direction:ltr;
  text-align:left;
  overflow-wrap:anywhere;
}
.proxy-finder-row span{
  color:var(--text-muted);
  font-size:.7rem;
}
.api-request-line{
  display:grid;
  grid-template-columns:7.2rem minmax(0,1fr) auto;
  gap:.55rem;
}
.api-request-line select,
.api-request-line input,
.api-request-line button{
  min-height:3rem;
}
.api-panels{
  display:grid;
  gap:.5rem;
}
.api-panels details{
  overflow:hidden;
  border:1px solid var(--quality-surface-border);
  border-radius:12px;
  background:var(--quality-surface-bg);
}
.api-panels summary{
  cursor:pointer;
  padding:.7rem .85rem;
  background:var(--surface-soft);
  color:var(--text-primary);
  font-size:.78rem;
  font-weight:850;
}
.api-panels details>*:not(summary){
  margin:.8rem;
}
.api-auth-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.api-response-head{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
  justify-content:space-between;
  padding-block-start:.8rem;
  border-block-start:1px solid var(--border-subtle);
}
.api-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.api-metrics>span{
  display:grid;
  min-width:5.5rem;
  padding:.45rem .6rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:var(--surface-soft);
}
.api-metrics strong{
  font-size:.85rem;
  direction:ltr;
}
.api-metrics small{
  color:var(--text-muted);
  font-size:.62rem;
}
.api-response-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);
  gap:.75rem;
}
.api-response-grid h3{
  margin:0 0 .35rem;
  font-size:.76rem;
}
.api-response-grid textarea{
  min-height:23rem;
}

@media(max-width:820px){
  .converter-grid,
  .api-response-grid{
    grid-template-columns:1fr;
  }
  .converter-grid textarea,
  .api-response-grid textarea{
    min-height:16rem;
  }
  .proxy-result-table{
    overflow-x:auto;
  }
  .proxy-result-row{
    min-width:48rem;
  }
}
@media(max-width:640px){
  .lab-kv>div{
    grid-template-columns:1fr;
    gap:.2rem;
  }
  .converter-toolbar{
    grid-template-columns:1fr auto 1fr;
  }
  .proxy-config-grid,
  .api-auth-grid{
    grid-template-columns:1fr;
  }
  .api-request-line{
    grid-template-columns:6.3rem minmax(0,1fr);
  }
  .api-request-line button{
    grid-column:1/-1;
  }
  .proxy-finder-row{
    grid-template-columns:1fr;
  }
}

/* Tool Lab V4.1 — local API environments/history and curated proxy selection. */
.api-localbar{
  display:grid;
  grid-template-columns:minmax(11rem,.75fr) minmax(12rem,1fr) auto;
  gap:.65rem;
  align-items:end;
}
.api-panel-note{
  margin:.7rem .85rem 0;
  color:var(--text-muted);
  font-size:.72rem;
  line-height:1.65;
}
.api-panel-note code{
  padding:.1rem .28rem;
  border-radius:5px;
  background:var(--surface-soft);
  direction:ltr;
}
.api-code-actions{
  display:flex;
  gap:.3rem;
  align-items:center;
}
.api-history-head{
  display:flex;
  gap:.7rem;
  align-items:center;
  justify-content:space-between;
  margin:.75rem .85rem .4rem;
  color:var(--text-muted);
  font-size:.68rem;
}
.api-history{
  display:grid;
  gap:.35rem;
  padding:0 .85rem .85rem;
}
.tool-controls .api-history-item{
  min-height:auto;
  display:grid;
  grid-template-columns:4.5rem minmax(0,1fr) auto;
  gap:.65rem;
  align-items:center;
  padding:.55rem .65rem;
  border:1px solid var(--border-subtle);
  border-radius:9px;
  background:var(--surface-raised);
  color:var(--text-primary);
  box-shadow:none;
  text-align:start;
}
.tool-controls .api-history-item:hover{
  transform:none;
  border-color:var(--accent);
  box-shadow:none;
}
.api-history-item strong{
  color:var(--accent);
  font-size:.72rem;
  direction:ltr;
}
.api-history-item span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  direction:ltr;
  text-align:left;
  font-size:.72rem;
}
.api-history-item small{
  color:var(--text-muted);
  font-size:.62rem;
  white-space:nowrap;
}
.api-redirects{
  padding:.7rem .85rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:var(--surface-soft);
}
.api-redirects strong{
  display:block;
  margin-block-end:.35rem;
  font-size:.72rem;
}
.api-redirects ol{
  margin:0;
  padding-inline-start:1.15rem;
  color:var(--text-muted);
  font-size:.68rem;
  line-height:1.65;
  direction:ltr;
  text-align:left;
}
.proxy-finder-meta{
  min-height:1.35rem;
  color:var(--text-muted);
  font-size:.68rem;
  line-height:1.6;
}
.proxy-finder-row{
  grid-template-columns:auto minmax(12rem,1fr) minmax(0,1fr);
  cursor:pointer;
}
.proxy-finder-row input{
  inline-size:1rem;
  block-size:1rem;
  min-height:0;
  accent-color:var(--accent);
}
.proxy-finder-row:has(input:checked){
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border-subtle));
  background:color-mix(in srgb,var(--accent) 4%,var(--surface-raised));
}

@media(max-width:820px){
  .api-localbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .api-localbar .lab-actionbar{
    grid-column:1/-1;
  }
}
@media(max-width:640px){
  .api-localbar{
    grid-template-columns:1fr;
  }
  .api-localbar .lab-actionbar{
    grid-column:auto;
  }
  .tool-controls .api-history-item{
    grid-template-columns:3.7rem minmax(0,1fr);
  }
  .api-history-item small{
    grid-column:1/-1;
  }
  .api-history-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .proxy-finder-row{
    grid-template-columns:auto minmax(0,1fr);
  }
  .proxy-finder-row span{
    grid-column:2;
  }
}
