/* Private Lab appears only after server-confirmed account authorization. */
@media(max-width:960px){#view-lab:checked ~ .app #lab{display:block}}
@media(min-width:961px){#view-lab:checked ~ .app #lab{display:block}}
#view-lab:checked ~ .app #labNav{background:#30291e;color:#f5db9e;box-shadow:inset 3px 0 var(--gold)}
:root[data-theme="light"] #view-lab:checked ~ .app #labNav{background:#f7e8ca;color:#704905}
.lab-stack{max-width:950px;display:grid;gap:15px}
.lab-card{padding:20px}
.lab-card h2{margin:0 0 9px}
.lab-card h3{margin:16px 0 12px}
.lab-card p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 16px}
.lab-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lab-results{display:grid;gap:13px;margin-top:15px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:clamp(12px,2vw,18px);color:var(--text);min-width:0}
.lab-results-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lab-results-title{font-size:15px;line-height:1.4}
.lab-result-counts{display:flex;gap:8px;flex-wrap:wrap}
.lab-count{border:1px solid var(--line);border-radius:7px;font-size:12px;font-weight:750;padding:6px 10px;white-space:nowrap}
.lab-count-fail{color:#ffc0b9;border-color:#a2524c;background:#402527}
.lab-count-pass{color:#9fe5c1;border-color:#42775e;background:#1d332b}
.lab-count-skip{color:var(--muted);background:var(--panel)}
.lab-report-note{font-size:12px!important;line-height:1.6!important;color:var(--muted);margin:0!important}
.lab-result-category{border:1px solid var(--line);border-radius:11px;min-width:0;overflow:hidden;background:var(--panel)}
.lab-category-fail{border-color:#a2524c;background:#322426}
.lab-category-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0!important;padding:13px 15px;font-size:14px!important;font-weight:800;line-height:1.5;letter-spacing:.01em;color:var(--text)}
.lab-category-fail .lab-category-title{color:#ffb8b3;border-bottom:1px solid #774345}
details.lab-result-category summary{cursor:pointer;list-style:none;min-height:46px}
details.lab-result-category summary::-webkit-details-marker{display:none}
details.lab-result-category summary:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
details.lab-result-category summary .lab-category-name:before{content:"▸";font-size:13px;margin-right:9px;display:inline-block}
details.lab-result-category[open] summary .lab-category-name:before{content:"▾"}
.lab-category-count{font-variant-numeric:tabular-nums;font-size:12px;border:1px solid currentColor;border-radius:100px;min-width:30px;text-align:center;padding:2px 9px;opacity:.9}
.lab-category-body{display:grid;gap:8px;padding:12px;min-width:0}
details .lab-category-body{max-height:365px;overflow-y:auto;border-top:1px solid var(--line)}
.lab-case{border:1px solid var(--line);border-radius:8px;background:var(--panel2);padding:11px 13px;display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.lab-case-fail{background:#422c2d;border-color:#84504f}
.lab-case-group{text-transform:uppercase;letter-spacing:.04em;font:700 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}
.lab-case-fail .lab-case-group{color:#f6b7ab}
.lab-case-name{font-size:13px;font-weight:700;line-height:1.55;color:var(--text)}
.lab-case-detail{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}
.lab-case-fail .lab-case-detail{color:#ffc2bd}
.lab-result-empty{margin:0!important;color:var(--muted);font-size:13px!important;padding:7px 2px}
.lab-category-fail .lab-result-empty{color:#f2c5ba}
:root[data-theme="light"] .lab-count-fail{color:#8b282b;background:#fff0ed}
:root[data-theme="light"] .lab-count-pass{color:#226c47;background:#ebf8ef}
:root[data-theme="light"] .lab-category-fail{background:#fff5f3;border-color:#bb7773}
:root[data-theme="light"] .lab-category-fail .lab-category-title{color:#912f32;border-bottom-color:#e1b7b3}
:root[data-theme="light"] .lab-case-fail{background:#fff9f8;border-color:#d4a29f}
:root[data-theme="light"] .lab-case-fail .lab-case-group,:root[data-theme="light"] .lab-case-fail .lab-case-detail{color:#8b3433}
:root[data-theme="light"] .lab-category-fail .lab-result-empty{color:#8b3433}

.lab-error{color:var(--red)!important}
.lab-env{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lab-env>div{display:grid;gap:5px;border:1px solid var(--line);background:var(--panel2);padding:12px;border-radius:9px;overflow-wrap:anywhere}
.lab-env small{color:var(--muted)}
.lab-env strong{color:var(--text)}
.lab-checkbox{display:flex;align-items:center;gap:12px;font-weight:700;cursor:pointer;color:var(--text);margin-bottom:11px;min-height:42px}
.lab-checkbox input{width:22px;height:22px;accent-color:#997129}
.lab-add-row{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 15px}
.lab-add-row input{flex:1 1 240px;min-width:0}
.lab-member{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;border-top:1px solid var(--line);gap:12px}
.lab-member>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.lab-member small{color:var(--muted)}
#labFeedback{font-size:13px;min-height:18px;line-height:1.5;color:var(--green)}
#labFeedback.lab-error{color:var(--red)}
@media(max-width:600px){.lab-card{padding:16px}.lab-env{grid-template-columns:1fr}.lab-toolbar>button{width:100%;justify-content:center}}

@media(max-width:600px){.lab-results-summary{align-items:start}.lab-category-body{padding:9px}.lab-case{padding:11px}.lab-result-counts{width:100%}}
