.provider-lab-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
    gap:20px;
    align-items:start;
}
.lab-panel,.lab-result-card{overflow:hidden}
.lab-section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}
.lab-section-head h2{margin:3px 0 0;font-size:21px}
.lab-kicker{
    display:block;
    color:var(--primary);
    font-size:11px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.lab-security{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid #b7ebcd;
    background:#ecfdf3;
    color:#067647;
    border-radius:999px;
    padding:7px 10px;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}
.lab-security::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#12b76a;
}
.lab-form{display:grid;gap:17px}
.lab-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
}
.lab-field{display:grid;gap:7px}
.lab-field>span{font-size:13px;font-weight:800;color:#344054}
.lab-field>span small{font-weight:600;color:var(--muted)}
.lab-field input,.lab-field select,.lab-field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:var(--text);
    font:inherit;
    padding:12px 13px;
    outline:none;
    transition:border-color .16s,box-shadow .16s;
}
.lab-field textarea{resize:vertical;line-height:1.55}
.lab-field input:focus,.lab-field select:focus,.lab-field textarea:focus{
    border-color:#9b8afb;
    box-shadow:0 0 0 4px rgba(91,69,224,.10);
}
.lab-field select:disabled,.lab-field input:disabled,.lab-field textarea:disabled{
    background:#f2f4f7;
    color:#98a2b3;
    cursor:not-allowed;
}
.lab-help{color:var(--muted);font-size:11px;min-height:14px}
.lab-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding-top:2px;
}
.lab-actions .btn{min-width:150px}
.btn.is-loading{pointer-events:none;opacity:.72}
.btn.is-loading::before{
    content:"";
    width:15px;
    height:15px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:lab-spin .75s linear infinite;
}
@keyframes lab-spin{to{transform:rotate(360deg)}}
.lab-output-column{display:grid;gap:16px;position:sticky;top:88px}
.lab-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.lab-metric{
    padding:15px;
    min-width:0;
}
.lab-metric span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.lab-metric strong{
    display:block;
    margin-top:7px;
    font-size:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lab-metric.status-ok strong{color:var(--ok)}
.lab-metric.status-error strong{color:var(--danger)}
.lab-metric.status-running strong{color:var(--warn)}
.lab-copy{padding:9px 12px;font-size:12px}
.lab-message{
    border-radius:12px;
    padding:13px 14px;
    font-size:13px;
    line-height:1.5;
}
.neutral-message{background:#f2f4f7;color:#475467}
.success-message{background:#ecfdf3;color:#067647}
.error-message{background:#fef3f2;color:#b42318}
.running-message{background:#fffaeb;color:#b54708}
.lab-response{
    margin-top:16px;
    border:1px solid var(--line);
    background:#fbfcfe;
    border-radius:14px;
    padding:18px;
    white-space:pre-wrap;
    word-break:break-word;
    line-height:1.68;
    max-height:540px;
    overflow:auto;
}
.lab-request-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:16px 0 0;
}
.lab-request-meta>div{
    border:1px solid var(--line);
    background:#fff;
    border-radius:11px;
    padding:11px 12px;
    min-width:0;
}
.lab-request-meta dt{
    color:var(--muted);
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}
.lab-request-meta dd{
    margin:5px 0 0;
    font-size:12px;
    font-weight:750;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.lab-json-details{
    margin-top:16px;
    border-top:1px solid var(--line);
    padding-top:13px;
}
.lab-json-details summary{
    cursor:pointer;
    color:#475467;
    font-size:12px;
    font-weight:800;
}
.lab-json-details pre{
    margin:12px 0 0;
    max-height:340px;
    overflow:auto;
    border-radius:11px;
    background:#101828;
    color:#e4e7ec;
    padding:14px;
    font:12px/1.55 Consolas,Monaco,monospace;
    white-space:pre-wrap;
    word-break:break-word;
}
@media(max-width:1180px){
    .provider-lab-grid{grid-template-columns:1fr}
    .lab-output-column{position:static}
}
@media(max-width:760px){
    .lab-field-grid,.lab-request-meta{grid-template-columns:1fr}
    .lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lab-actions{display:grid}
    .lab-actions .btn{width:100%}
    .lab-section-head{align-items:flex-start}
}
