:root {
  color-scheme: light;
  --lab-navy-950: #071426;
  --lab-navy-900: #0f2747;
  --lab-navy-800: #17375f;
  --lab-blue-600: #2878e3;
  --lab-blue-100: #dceafe;
  --lab-canvas: #f4f7fb;
  --lab-surface: #fff;
  --lab-surface-soft: #f8fafc;
  --lab-ink: #111827;
  --lab-muted: #64748b;
  --lab-line: #d8e0ea;
  --lab-green: #16a05d;
  --lab-amber: #f5a000;
  --lab-red: #dc3545;
  --lab-violet: #7c4dff;
  --lab-status-scheduled: #2878e3;
  --lab-status-displacement: #7c4dff;
  --lab-status-attendance: #0e7490;
  --lab-status-finished: #16a05d;
  --lab-status-impeded: #dc3545;
  --lab-status-approved: #0f2747;
  --lab-status-canceled: #64748b;
  --lab-approved-chip-bg: #0f2747;
  --lab-approved-chip-ink: #fff;
  --lab-shadow-1: 0 1px 2px rgba(15, 39, 71, .05), 0 8px 22px rgba(15, 39, 71, .06);
  --lab-shadow-2: 0 20px 48px rgba(7, 20, 38, .16);
  --lab-radius-sm: 8px;
  --lab-radius-md: 12px;
  --lab-radius-lg: 16px;
  --lab-type-badge: 9px;
  --lab-type-caption: 10px;
  --lab-type-label: 11px;
  --lab-type-control: 12px;
  --lab-type-body: 13px;
  --lab-type-toolbar: 14px;
  --lab-type-card-title: 15px;
  --lab-type-brand: 18px;
  --lab-type-access: 20px;
  --lab-type-page-title: 26px;
  --lab-type-metric: 30px;
}

/* Portal users: show the stored profile photo with the initials as fallback. */
.admin-lab-portal-person > img {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--lab-blue-100);
}

/* Portal do Cliente · LAB 125 */
.admin-lab-portal-view{display:grid;gap:16px}.admin-lab-portal-view[hidden]{display:none}.admin-lab-portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-lab-portal-kpis article{min-height:92px;padding:16px 18px;border:1px solid var(--lab-line);border-radius:12px;background:var(--lab-surface);display:grid;grid-template-columns:1fr auto;align-items:center}.admin-lab-portal-kpis span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--lab-muted)}.admin-lab-portal-kpis strong{grid-row:1/3;grid-column:2;font-size:30px;color:var(--lab-ink)}.admin-lab-portal-kpis small{font-size:12px;color:var(--lab-muted)}
.admin-lab-portal-card{overflow:visible}.admin-lab-portal-toolbar{padding:14px 16px!important;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-lab-portal-tabs{display:flex;padding:3px;border:1px solid var(--lab-line);border-radius:9px;background:var(--lab-surface-soft)}.admin-lab-portal-tabs button{height:34px;padding:0 15px;border:0;border-radius:7px;background:transparent;color:var(--lab-muted);font:700 11px/1 Inter,sans-serif}.admin-lab-portal-tabs button.is-active{background:var(--lab-blue-600);color:#fff}.admin-lab-portal-toolbar__actions{display:flex;align-items:center;gap:10px}.admin-lab-portal-toolbar__actions label{height:38px;min-width:280px;border:1px solid var(--lab-line);border-radius:8px;background:var(--lab-surface);display:flex;align-items:center;padding:0 10px;gap:8px}.admin-lab-portal-toolbar__actions label span{width:17px}.admin-lab-portal-toolbar__actions input{width:100%;border:0;outline:0;background:transparent;color:var(--lab-ink);font:500 12px Inter,sans-serif}.admin-lab-portal-person{display:flex;align-items:center;gap:10px}.admin-lab-portal-person>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--lab-blue-100);color:var(--lab-blue-600);font-style:normal;font-size:11px;font-weight:800}.admin-lab-portal-person>span{display:grid;gap:3px}.admin-lab-portal-person small{color:var(--lab-muted);font-size:11px}.admin-lab-portal-note{font-size:11px;color:var(--lab-muted)}
.admin-lab-portal-dialog{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden}.admin-lab-portal-dialog form{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.admin-lab-portal-form-body{padding:16px 28px 12px;display:grid;gap:12px;overflow:hidden}.admin-lab-portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.admin-lab-portal-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-lab-portal-access-grid fieldset{margin:0;padding:10px 12px;border:1px solid var(--lab-line);border-radius:10px;min-width:0}.admin-lab-portal-access-grid legend{padding:0 6px;font-size:11px;font-weight:800;color:var(--lab-muted)}.admin-lab-portal-access-grid fieldset>label,.admin-lab-portal-access-grid fieldset>div>label{min-height:38px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--lab-line)}.admin-lab-portal-access-grid label:last-child{border-bottom:0}.admin-lab-portal-access-grid label span{display:grid;gap:2px}.admin-lab-portal-access-grid label strong{font-size:12px;color:var(--lab-ink)}.admin-lab-portal-access-grid label small{font-size:10px;color:var(--lab-muted)}.admin-lab-portal-access-grid input{accent-color:var(--lab-blue-600)}.admin-lab-portal-invite{margin:0;padding:10px 12px;border-radius:9px;background:var(--lab-blue-100);display:flex;align-items:center;gap:10px;color:var(--lab-blue-600)}.admin-lab-portal-invite>span:last-child{display:grid;gap:2px}.admin-lab-portal-invite strong{font-size:11px}.admin-lab-portal-invite small{font-size:10px;color:var(--lab-muted)}
.admin-lab-portal-field-hint{display:block;margin-top:5px;color:var(--lab-muted);font-size:10px;line-height:1.35}.admin-lab-portal-access-grid input:checked+span strong{color:var(--lab-blue-600)}
.admin-lab-portal-form-grid.is-group,.admin-lab-portal-access-grid.is-group{grid-template-columns:1fr}.admin-lab-portal-form-grid.is-group{max-width:100%}.admin-lab-portal-access-grid.is-group fieldset{width:100%}
.admin-lab-portal-dialog.is-group{width:min(760px,calc(100vw - 32px))}
.admin-lab-portal-dialog.is-group form{min-height:0}.admin-lab-portal-dialog.is-group .admin-lab-portal-form-body{min-height:0;grid-template-rows:auto auto auto auto minmax(0,1fr)}.admin-lab-portal-client-search{height:38px;border:1px solid var(--lab-line);border-radius:9px;background:var(--lab-surface);display:flex;align-items:center;gap:8px;padding:0 11px}.admin-lab-portal-client-search[hidden]{display:none}.admin-lab-portal-client-search>span{width:17px;color:var(--lab-muted)}.admin-lab-portal-client-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--lab-ink);font:500 12px Inter,sans-serif}.admin-lab-portal-client-search:focus-within{border-color:var(--lab-blue-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--lab-blue-600) 18%,transparent)}.admin-lab-portal-access-grid.is-group{min-height:0;overflow:hidden}.admin-lab-portal-access-grid.is-group fieldset{min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-lab-portal-access-grid.is-group fieldset>div{min-height:0;max-height:min(38vh,340px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.admin-lab-portal-dialog:not(.is-group) .admin-lab-portal-form-body{min-height:0;grid-template-rows:auto auto auto minmax(0,1fr) auto}.admin-lab-portal-dialog:not(.is-group) .admin-lab-portal-access-grid{min-height:0;overflow:hidden}.admin-lab-portal-dialog:not(.is-group) .admin-lab-portal-access-grid fieldset{min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-lab-portal-dialog:not(.is-group) .admin-lab-portal-access-grid fieldset>div{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.admin-lab-client-portal-groups{margin:0;padding:10px 14px;border:1px solid var(--lab-line);border-radius:10px;min-width:0}.admin-lab-client-portal-groups legend{padding:0 6px;color:var(--lab-muted);font-size:11px;font-weight:800}.admin-lab-client-portal-groups>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.admin-lab-client-portal-groups label{min-height:40px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--lab-line)}.admin-lab-client-portal-groups label span{display:grid;gap:2px}.admin-lab-client-portal-groups label strong{font-size:12px;color:var(--lab-ink)}.admin-lab-client-portal-groups label small,.admin-lab-client-portal-groups>div>small{font-size:10px;color:var(--lab-muted)}.admin-lab-client-portal-groups input{accent-color:var(--lab-blue-600)}
@media(max-width:980px){.admin-lab-portal-kpis{grid-template-columns:repeat(2,1fr)}.admin-lab-portal-toolbar{align-items:stretch;flex-direction:column}.admin-lab-portal-toolbar__actions label{min-width:0;flex:1}}
@media(max-width:640px){.admin-lab-portal-kpis{grid-template-columns:1fr 1fr}.admin-lab-portal-kpis article{padding:12px;min-height:80px}.admin-lab-portal-kpis strong{font-size:24px}.admin-lab-portal-form-grid,.admin-lab-portal-access-grid{grid-template-columns:1fr}.admin-lab-portal-access-grid fieldset:nth-child(2){display:none}.admin-lab-portal-toolbar__actions{flex-wrap:wrap}.admin-lab-portal-toolbar__actions label{flex-basis:100%}.admin-lab-portal-form-body{padding:12px 16px}.admin-lab-portal-dialog{max-height:calc(100vh - 16px)}}
.admin-lab-modal__dialog.admin-lab-technician-badge-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden}.admin-lab-technician-badge-content{min-width:0;padding:24px 28px;display:grid;gap:14px;overflow:visible}.admin-lab-technician-badge-section-title{min-width:0;margin:0}.admin-lab-technician-badge-section-title span{min-width:0;white-space:normal}.admin-lab-technician-badge-summary{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--lab-border);border-radius:12px;overflow:hidden;background:var(--lab-input)}.admin-lab-technician-badge-summary>div{min-width:0;min-height:82px;padding:15px 18px;display:grid;align-content:center;gap:6px}.admin-lab-technician-badge-summary>div+div{border-left:1px solid var(--lab-border)}.admin-lab-technician-badge-summary>div.is-awaiting-confirmation{background:rgba(37,99,235,.12);box-shadow:inset 3px 0 #2f80ed}.admin-lab-technician-badge-summary>div.is-awaiting-confirmation small,.admin-lab-technician-badge-summary>div.is-awaiting-confirmation strong,.admin-lab-technician-badge-summary>div.is-awaiting-confirmation b{color:#69a7ff}.admin-lab-technician-badge-summary small,.admin-lab-technician-badge-exception label>span{color:var(--lab-muted);font-size:12px;font-weight:800}.admin-lab-technician-badge-summary span{min-width:0;display:grid;gap:3px;overflow-wrap:anywhere}.admin-lab-technician-badge-summary strong{font-size:16px}.admin-lab-technician-badge-operation{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-lab-technician-badge-help{min-width:0;max-width:480px;margin:0;color:var(--lab-muted);font-size:14px;line-height:1.45}.admin-lab-technician-badge-actions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.admin-lab-technician-badge-actions .admin-lab-button{min-width:128px}.admin-lab-technician-badge-exception{min-width:0;display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:12px;align-items:end}.admin-lab-technician-badge-exception label{min-width:0;display:grid;gap:7px}.admin-lab-technician-badge-exception select,.admin-lab-technician-badge-exception input{min-width:0;width:100%;height:46px;border:1px solid var(--lab-border);border-radius:10px;background:var(--lab-input);color:var(--lab-text);padding:0 12px}.admin-lab-technician-badge-footer{min-height:84px}.admin-lab-technician-badge-footer .admin-lab-client-form-buttons .admin-lab-button{min-width:180px}.admin-lab-row-action--badge{color:#f5a000}@media(max-width:720px){.admin-lab-modal__dialog.admin-lab-technician-badge-dialog{max-height:calc(100vh - 16px)}.admin-lab-technician-badge-content{padding:20px;overflow:auto}.admin-lab-technician-badge-summary{grid-template-columns:1fr}.admin-lab-technician-badge-summary>div+div{border-left:0;border-top:1px solid var(--lab-border)}.admin-lab-technician-badge-operation{align-items:stretch;flex-direction:column}.admin-lab-technician-badge-actions{justify-content:stretch}.admin-lab-technician-badge-actions .admin-lab-button{flex:1}.admin-lab-technician-badge-exception{grid-template-columns:1fr}.admin-lab-technician-badge-footer{min-height:auto}}

html[data-lab-theme="dark"] .admin-lab-technician-badge-exception select {
  color-scheme: dark;
}

html[data-lab-theme="dark"] .admin-lab-technician-badge-exception select option {
  background: var(--lab-surface);
  color: var(--lab-text);
}

html[data-lab-theme="dark"] {
  color-scheme: dark;
  --lab-canvas: #071426;
  --lab-surface: #0f2036;
  --lab-surface-soft: #132940;
  --lab-ink: #f4f7fb;
  --lab-muted: #9fb0c5;
  --lab-line: #294158;
  --lab-blue-100: #163967;
  --lab-status-scheduled: #60a5fa;
  --lab-status-displacement: #a78bfa;
  --lab-status-attendance: #22d3ee;
  --lab-status-finished: #34d399;
  --lab-status-impeded: #fb7185;
  --lab-status-approved: #8dbbff;
  --lab-status-canceled: #94a3b8;
  --lab-approved-chip-bg: #8dbbff;
  --lab-approved-chip-ink: #071426;
  --lab-shadow-1: 0 1px 2px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.16);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { min-height: 100%; }
body { margin: 0; overflow: hidden; font-family: Inter, system-ui, sans-serif; background: #e7ebf1; color: var(--lab-ink); }
body.admin-lab-modal-open { overflow: hidden !important; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.lab-toolbar {
  position: relative; z-index: 20; min-height: 64px; padding: 10px 20px; display: grid;
  grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr); align-items: center; gap: 16px;
  color: #fff; background: var(--lab-navy-950); border-bottom: 1px solid rgba(255,255,255,.12);
}
.lab-toolbar__identity { display: grid; gap: 2px; }
.lab-toolbar__identity strong { font-size: var(--lab-type-card-title); }
.lab-toolbar__eyebrow { font-size: var(--lab-type-label); font-weight: 800; letter-spacing: .14em; color: #8dbbff; }
.lab-segmented { display: flex; gap: 3px; padding: 4px; border-radius: 10px; background: rgba(255,255,255,.08); }
.lab-segmented button { border: 0; border-radius: 7px; padding: 8px 14px; color: #b8c7da; background: transparent; cursor: pointer; font-size: var(--lab-type-toolbar); font-weight: 700; }
.lab-segmented button.is-active { color: #fff; background: var(--lab-blue-600); box-shadow: 0 4px 12px rgba(40,120,227,.28); }
.lab-toolbar__actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.lab-icon-button, .lab-exit { height: 36px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: #fff; background: rgba(255,255,255,.07); }
.lab-icon-button { width: 36px; padding: 8px; cursor: pointer; }
.lab-icon-button svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
.lab-exit { display: inline-flex; align-items: center; padding: 0 14px; text-decoration: none; font-size: var(--lab-type-toolbar); font-weight: 700; }

.lab-stage { height: calc(100vh - 64px); display: grid; padding: 16px; gap: 16px; }
.lab-stage[data-lab-view="proposal"], .lab-stage[data-lab-view="current"] { grid-template-columns: minmax(0,1fr); }
.lab-stage[data-lab-view="compare"] { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.lab-pane { min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #c9d1dc; border-radius: 18px; background: var(--lab-canvas); box-shadow: var(--lab-shadow-2); }
.lab-stage[data-lab-view="proposal"] .lab-pane--current, .lab-stage[data-lab-view="current"] .lab-pane--proposal { display: none; }
.lab-pane--current iframe { display: block; width: 100%; height: 100%; border: 0; background: #071426; }
.lab-stage[data-lab-view="compare"] .admin-lab-sidebar { display: none; }
.lab-stage[data-lab-view="compare"] .admin-lab-shell { grid-template-columns: minmax(0,1fr); }
.lab-stage[data-lab-view="compare"] .admin-lab-stats { grid-template-columns: repeat(3,minmax(110px,1fr)); }
.lab-stage[data-lab-view="compare"] .admin-lab-dashboard-grid { grid-template-columns: minmax(0,1fr); }

html[data-lab-environment="production"] .lab-toolbar { display: none; }
html[data-lab-environment="production"] .lab-stage { height: 100vh; padding: 0; }
html[data-lab-environment="production"] .lab-pane { border: 0; border-radius: 0; box-shadow: none; }
html[data-lab-environment="production"] .lab-pane--current { display: none !important; }

.admin-lab-shell { width: 100%; height: 100%; display: grid; grid-template-columns: 220px minmax(0,1fr); background: var(--lab-canvas); }
.admin-lab-sidebar { min-height: 0; display: flex; flex-direction: column; background: var(--lab-surface); border-right: 1px solid var(--lab-line); }
.admin-lab-brand { height: 74px; padding: 14px 16px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-brand__mark { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: var(--lab-navy-900); }
.admin-lab-brand__mark img { width: 35px; height: 35px; object-fit: contain; }
.admin-lab-brand strong, .admin-lab-brand small { display: block; }
.admin-lab-brand strong { font-size: var(--lab-type-brand); color: var(--lab-navy-900); }
html[data-lab-theme="dark"] .admin-lab-brand strong { color: var(--lab-ink); }
.admin-lab-brand small { margin-top: 2px; font-size: var(--lab-type-label); color: var(--lab-muted); }
.admin-lab-nav { flex: 0 0 auto; min-height: 0; overflow: visible; padding: 8px 9px 4px; display: grid; align-content: start; gap: 2px; }
.admin-lab-nav__section { position: relative; margin: 4px 0 2px; padding: 6px 11px; color: color-mix(in srgb,var(--lab-muted) 82%,transparent); font-size: 9px; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.admin-lab-nav__section::before, .admin-lab-nav__section::after { content: ''; position: absolute; left: 8px; right: 8px; height: 1px; background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--lab-line) 68%,transparent) 18%,color-mix(in srgb,var(--lab-line) 68%,transparent) 82%,transparent); }
.admin-lab-nav__section::before { top: 0; }
.admin-lab-nav__section::after { bottom: 0; }
.admin-lab-nav__section:first-child { margin-top: 0; }
.admin-lab-nav button, .admin-lab-sidebar__footer button, .admin-lab-sidebar__footer a { width: 100%; min-height: 36px; border: 0; padding: 0 11px; display: flex; align-items: center; gap: 10px; border-radius: 7px; color: var(--lab-muted); background: transparent; text-align: left; text-decoration: none; font-size: var(--lab-type-body); font-weight: 600; cursor: pointer; }
.admin-lab-nav button:hover, .admin-lab-sidebar__footer button:hover, .admin-lab-sidebar__footer a:hover { color: var(--lab-ink); background: var(--lab-surface-soft); }
.admin-lab-nav button.is-active { color: #0b57d0; background: var(--lab-blue-100); box-shadow: inset 3px 0 var(--lab-blue-600); }
.admin-lab-nav button:disabled { color: color-mix(in srgb,var(--lab-muted) 52%,transparent); background: transparent; opacity: .56; cursor: default; pointer-events: none; }
.admin-lab-nav__icon { width: 17px; height: 17px; flex: 0 0 17px; display: inline-flex; }
.admin-lab-nav__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-system-monitor-slot { flex: 1 1 auto; min-height: 116px; padding: 6px 16px; display: grid; place-items: center; }
.admin-lab-system-monitor { width: 100%; margin: 0; padding: 11px 12px 10px; border: 1px solid var(--lab-line); border-radius: 11px; background: color-mix(in srgb,var(--lab-surface-soft) 78%,var(--lab-surface)); box-shadow: var(--lab-shadow-1); }
.admin-lab-system-monitor__title { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--lab-ink); font-size: 11px; font-weight: 800; white-space: nowrap; }
.admin-lab-system-monitor__title::after { content: ''; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--lab-green); box-shadow: 0 0 0 4px color-mix(in srgb,var(--lab-green) 13%,transparent); }
.admin-lab-system-monitor[data-state="error"] .admin-lab-system-monitor__title::after { background: var(--lab-amber); box-shadow: 0 0 0 4px color-mix(in srgb,var(--lab-amber) 14%,transparent); }
.admin-lab-system-monitor__row + .admin-lab-system-monitor__row { margin-top: 8px; }
.admin-lab-system-monitor__head { margin-bottom: 4px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--lab-muted); font-size: 10px; font-weight: 800; letter-spacing: .035em; }
.admin-lab-system-monitor__track { height: 7px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb,var(--lab-muted) 16%,transparent); }
.admin-lab-system-monitor__fill { display: block; width: 0; height: 100%; border-radius: inherit; transition: width .35s ease; }
.admin-lab-system-monitor__row[data-metric="cpu"] .admin-lab-system-monitor__fill { background: linear-gradient(90deg,#2563eb,#60a5fa); }
.admin-lab-system-monitor__row[data-metric="ram"] .admin-lab-system-monitor__fill { background: linear-gradient(90deg,#059669,#34d399); }
.admin-lab-system-monitor__row[data-metric="disk"] .admin-lab-system-monitor__fill { background: linear-gradient(90deg,#f59e0b,#fbbf24); }
@media (max-height: 1100px) {
  .admin-lab-nav { padding-top: 5px; padding-bottom: 3px; gap: 0; }
  .admin-lab-nav button { min-height: 30px; }
  .admin-lab-nav__section { margin-top: 3px; margin-bottom: 1px; padding-top: 5px; padding-bottom: 5px; }
  .admin-lab-system-monitor-slot { min-height: 104px; padding-top: 4px; padding-bottom: 4px; }
  .admin-lab-system-monitor { padding-top: 8px; padding-bottom: 8px; }
  .admin-lab-system-monitor__title { margin-bottom: 6px; }
  .admin-lab-system-monitor__row + .admin-lab-system-monitor__row { margin-top: 6px; }
}
.admin-lab-sidebar__footer { flex: 0 0 auto; margin-top: 0; padding: 10px 9px; border-top: 1px solid var(--lab-line); }

.admin-lab-workspace { min-width: 0; min-height: 0; display: grid; grid-template-rows: 60px minmax(0,1fr); }
.admin-lab-topbar { padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--lab-surface); border-bottom: 1px solid var(--lab-line); }
.admin-lab-mobile-menu, .admin-lab-mobile-nav-backdrop { display: none; }
.admin-lab-mobile-menu { width: 38px; height: 38px; flex: 0 0 38px; padding: 9px; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-ink); background: var(--lab-surface-soft); cursor: pointer; }
.admin-lab-mobile-menu span { height: 2px; display: block; border-radius: 2px; background: currentColor; }
.admin-lab-mobile-menu span + span { margin-top: 4px; }
.admin-lab-search { min-width: 220px; max-width: 460px; height: 36px; padding: 0 11px; flex: 1 1 460px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-search[hidden] { display: none; }
.admin-lab-search input { width: 100%; border: 0; outline: 0; color: var(--lab-ink); background: transparent; font-size: var(--lab-type-body); }
.admin-lab-search.is-multi-term { overflow: hidden; }
.admin-lab-search.is-multi-term .admin-lab-search-terms { flex: 0 1 auto; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.admin-lab-search.is-multi-term .admin-lab-search-terms::-webkit-scrollbar { display: none; }
.admin-lab-search.is-multi-term input { min-width: 120px; flex: 1 1 160px; }
.admin-lab-topbar__actions { display: flex; align-items: center; gap: 7px; }
.admin-lab-account-area { min-height: 44px; margin-left: 5px; padding-left: 10px; display: flex; align-items: center; gap: 8px; border-left: 1px solid var(--lab-line); }
.admin-lab-icon-action { position: relative; width: 34px; height: 34px; padding: 8px; border: 0; border-radius: 8px; color: var(--lab-muted); background: transparent; cursor: pointer; }
.admin-lab-icon-action:hover { color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-icon-action > svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-theme-action { display: none; }
html[data-lab-environment="production"] .admin-lab-theme-action { display: inline-flex; }
.admin-lab-icon-action i { position: absolute; right: 3px; top: 2px; min-width: 14px; height: 14px; padding: 0 3px; display: grid; place-items: center; border: 2px solid var(--lab-surface); border-radius: 999px; color: #fff; background: var(--lab-red); font-size: var(--lab-type-badge); font-style: normal; font-weight: 800; }
.admin-lab-primary { height: 34px; padding: 0 14px; border: 0; border-radius: 7px; color: #fff; background: var(--lab-blue-600); box-shadow: 0 6px 14px rgba(40,120,227,.22); font-size: var(--lab-type-body); font-weight: 700; cursor: pointer; }
.admin-lab-primary b { font: inherit; }
.admin-lab-profile { min-width: 0; height: 44px; padding: 2px 4px; display: flex; align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 8px; color: var(--lab-ink); background: transparent; text-align: left; cursor: pointer; }
.admin-lab-profile:hover { background: var(--lab-surface-soft); }
.admin-lab-profile__avatar { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 50%; color: var(--lab-navy-900); background: var(--lab-blue-100); font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-profile__avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.admin-lab-profile__identity { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.admin-lab-profile__identity strong, .admin-lab-profile__identity small { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-profile__identity strong { font-size: var(--lab-type-control); }
.admin-lab-profile__identity small { margin-top: 3px; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-account-logout { width: 36px; height: 36px; padding: 7px; display: grid; place-items: center; border: 0; border-radius: 8px; color: var(--lab-muted); background: transparent; cursor: pointer; }
.admin-lab-account-logout:hover { color: var(--lab-red); background: rgba(218,43,62,.1); }
.admin-lab-account-logout span, .admin-lab-account-logout svg { width: 22px; height: 22px; display: block; }
.admin-lab-account-logout svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.admin-lab-profile-dialog { width: min(820px,calc(100vw - 32px)); max-height: none; overflow: hidden; }
.admin-lab-profile-dialog form { display: grid; grid-template-rows: auto auto; }
.admin-lab-profile-content { padding: 16px 22px; overflow: visible; }
.admin-lab-profile-summary { margin-bottom: 15px; padding: 12px 16px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--lab-line); border-radius: 12px; background: var(--lab-surface-soft); }
.admin-lab-profile-summary > div { min-width: 0; display: flex; flex-direction: column; }
.admin-lab-profile-summary h3 { margin: 0 0 5px; color: var(--lab-ink); font-size: 20px; }
.admin-lab-profile-summary span { color: var(--lab-blue-600); font-size: var(--lab-type-control); font-weight: 750; }
.admin-lab-profile-summary small { margin-top: 5px; color: var(--lab-green); font-size: var(--lab-type-caption); font-weight: 700; }
.admin-lab-profile-photo { position: relative; width: 76px; flex: 0 0 76px; display: grid; justify-items: center; gap: 4px; cursor: default; }
.admin-lab-profile-photo > span { width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; border: 2px solid var(--lab-blue-600); border-radius: 50%; color: var(--lab-navy-900); background: var(--lab-blue-100); font-weight: 800; }
.admin-lab-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.admin-lab-profile-photo input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.admin-lab-profile-photo b { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-profile-photo__folder { position: absolute; top: 19px; left: 50%; width: 28px; height: 28px; display: grid; place-items: center; visibility: hidden; transform: translateX(-50%); border-radius: 7px; color: white; background: rgba(3,18,38,.78); box-shadow: 0 4px 12px rgba(0,0,0,.22); pointer-events: none; }
.admin-lab-profile-photo__folder svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-profile-modal[data-editing="true"] .admin-lab-profile-photo { cursor: pointer; }
.admin-lab-profile-modal[data-editing="true"] .admin-lab-profile-photo__folder { visibility: visible; }
.admin-lab-profile-section-title { margin-bottom: 10px; padding-bottom: 8px; display: flex; align-items: end; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-profile-section-title h3 { margin: 0; color: var(--lab-ink); font-size: 18px; }
.admin-lab-profile-section-title span { color: var(--lab-muted); font-size: var(--lab-type-caption); text-align: right; }
.admin-lab-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.admin-lab-profile-grid input[readonly] { color: var(--lab-muted); }
.admin-lab-profile-security { margin-top: 14px; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); }
.admin-lab-profile-security > div { display: flex; flex-direction: column; gap: 4px; }
.admin-lab-profile-security strong { color: var(--lab-ink); font-size: var(--lab-type-control); }
.admin-lab-profile-security span { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-profile-actions { min-height: 70px; padding: 12px 22px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.admin-lab-profile-message { width: min(100%,390px); max-width: 390px; min-height: 40px; box-sizing: border-box; }
.admin-lab-profile-message.is-empty { visibility: hidden; }
.admin-lab-profile-actions__buttons { margin-left: auto; display: flex; gap: 10px; }
.admin-lab-profile-actions__buttons .admin-lab-button { width: auto; min-width: 126px; }

.admin-lab-content { min-height: 0; overflow: auto; padding: 20px; }
.admin-lab-pagehead { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.admin-lab-pagehead span { color: var(--lab-blue-600); font-size: var(--lab-type-label); font-weight: 800; letter-spacing: .13em; }
.admin-lab-pagehead h1 { margin: 3px 0 4px; color: var(--lab-ink); font-size: var(--lab-type-page-title); line-height: 1.1; }
.admin-lab-pagehead p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-pagehead__meta { display: flex; align-items: center; gap: 7px; }
.admin-lab-pagehead__meta i { width: 7px; height: 7px; border-radius: 50%; background: var(--lab-green); box-shadow: 0 0 0 4px rgba(22,160,93,.12); }
.admin-lab-pagehead__meta span { color: var(--lab-muted); letter-spacing: 0; font-size: var(--lab-type-label); }
.admin-lab-pagehead__meta small { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 650; white-space: nowrap; }
.admin-lab-pagehead__meta button { min-height: 30px; border: 1px solid var(--lab-line); border-radius: 7px; padding: 0 10px; color: var(--lab-ink); background: var(--lab-surface); font-size: var(--lab-type-label); font-weight: 700; cursor: pointer; }

.admin-lab-stats { margin-bottom: 14px; display: grid; grid-template-columns: repeat(6, minmax(118px,1fr)); gap: 9px; }
.admin-lab-stat { min-height: 98px; padding: 12px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: 7px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); background: var(--lab-surface); box-shadow: var(--lab-shadow-1); }
.admin-lab-stat__label { color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 700; line-height: 1.25; text-transform: uppercase; }
.admin-lab-stat__icon { width: 27px; height: 27px; padding: 6px; display: grid; place-items: center; border-radius: 8px; color: var(--tone); background: color-mix(in srgb, var(--tone) 12%, transparent); }
.admin-lab-stat__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-stat strong { align-self: end; color: var(--lab-ink); font-size: var(--lab-type-metric); line-height: 1; }
.admin-lab-stat small { grid-column: 1 / -1; color: var(--lab-muted); font-size: var(--lab-type-caption); line-height: 1.25; }

.admin-lab-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(270px,.8fr); gap: 12px; }
.admin-lab-card { min-width: 0; overflow: hidden; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); background: var(--lab-surface); box-shadow: var(--lab-shadow-1); }
.admin-lab-card > header { min-height: 58px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-card h2 { margin: 0 0 3px; font-size: var(--lab-type-card-title); }
.admin-lab-card header p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-label); }
.admin-lab-card header a { color: var(--lab-blue-600); text-decoration: none; white-space: nowrap; font-size: var(--lab-type-label); font-weight: 700; }
.admin-lab-table-wrap { overflow: auto; }
.admin-lab-card table { width: 100%; border-collapse: collapse; font-size: var(--lab-type-label); }
.admin-lab-card th { padding: 10px 11px; color: var(--lab-muted); background: var(--lab-surface-soft); text-align: left; white-space: nowrap; font-size: var(--lab-type-caption); text-transform: uppercase; letter-spacing: .04em; }
.admin-lab-sort { width: calc(100% + 22px); margin: -10px -11px; padding: 10px 11px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; border: 0; color: inherit; background: transparent; font: inherit; font-weight: 800; text-align: left; text-transform: inherit; letter-spacing: inherit; cursor: pointer; }
.admin-lab-sort:hover, .admin-lab-sort:focus-visible { color: var(--lab-blue-600); background: color-mix(in srgb,var(--lab-blue-100) 38%,transparent); outline: 0; }
.admin-lab-sort i { min-width: 10px; color: color-mix(in srgb,var(--lab-muted) 55%,transparent); font-size: 11px; font-style: normal; line-height: 1; }
.admin-lab-sort.is-active { color: var(--lab-blue-600); }
.admin-lab-sort.is-active i { color: currentColor; }
.admin-lab-card td { height: 45px; padding: 8px 11px; border-top: 1px solid var(--lab-line); color: var(--lab-muted); }
.admin-lab-card td strong { color: var(--lab-ink); }
.admin-lab-card tbody tr:hover { background: color-mix(in srgb, var(--lab-blue-100) 40%, transparent); }
.admin-lab-chip { display: inline-flex; align-items: center; gap: 5px; min-height: 21px; padding: 2px 7px; border-radius: 999px; color: var(--chip); background: color-mix(in srgb, var(--chip) 12%, transparent); white-space: nowrap; font-size: var(--lab-type-caption); font-weight: 700; }
.admin-lab-chip::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.admin-lab-order-status { justify-content: center; border-radius: 4px; }
.admin-lab-order-status::before { display: none; }
.admin-lab-order-status--approved { color: var(--lab-approved-chip-ink); background: var(--lab-approved-chip-bg); }
.admin-lab-orders-chip { justify-content: center; box-sizing: border-box; border-radius: 4px; }
.admin-lab-orders-chip::before { display: none; }
.admin-lab-orders-chip--priority { width: var(--lab-orders-priority-chip-width,auto); }
.admin-lab-orders-chip--status { width: var(--lab-orders-status-chip-width,auto); }
.admin-lab-client-status { width: 82px; justify-content: center; box-sizing: border-box; border-radius: 4px; }
.admin-lab-client-status::before { display: none; }
.admin-lab-clients-table-wrap { overflow-x: hidden; }
.admin-lab-clients-table { table-layout: fixed; }
.admin-lab-clients-table th, .admin-lab-clients-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-clients-table th:nth-child(1) { width: 17%; }
.admin-lab-clients-table th:nth-child(2) { width: 12%; }
.admin-lab-clients-table th:nth-child(3) { width: 4%; }
.admin-lab-clients-table th:nth-child(4) { width: 10%; }
.admin-lab-clients-table th:nth-child(5) { width: 10%; }
.admin-lab-clients-table th:nth-child(6) { width: 14%; }
.admin-lab-clients-table th:nth-child(7) { width: 13%; }
.admin-lab-clients-table th:nth-child(8) { width: 8%; }
.admin-lab-client-actions-column { width: 132px !important; padding-left: 4px !important; padding-right: 4px !important; }
.admin-lab-client-actions-column .admin-lab-row-actions { gap: 4px; }
.admin-lab-client-actions-column .admin-lab-row-action { width: 27px; height: 27px; padding: 6px; }
.admin-lab-technicians-table-wrap { overflow-x: hidden; }
.admin-lab-technicians-table { table-layout: fixed; }
.admin-lab-technicians-table th, .admin-lab-technicians-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-technicians-table th:nth-child(1) { width: 22%; }
.admin-lab-technicians-table th:nth-child(2) { width: 8%; }
.admin-lab-technicians-table th:nth-child(3) { width: 13%; }
.admin-lab-technicians-table th:nth-child(4) { width: 22%; }
.admin-lab-technicians-table th:nth-child(5) { width: 12%; }
.admin-lab-technicians-table th:nth-child(6) { width: 10%; }
.admin-lab-technician-actions-column { width: 132px !important; padding-left: 4px !important; padding-right: 4px !important; }
.admin-lab-technician-actions-column .admin-lab-row-actions { gap: 4px; }
.admin-lab-technician-actions-column .admin-lab-row-action { width: 27px; height: 27px; padding: 6px; }
.admin-lab-client-row--inactive > td:not(.admin-lab-client-actions-column) { opacity: .52; }
.admin-lab-client-row--inactive .admin-lab-person img { filter: grayscale(.85); }
.admin-lab-client-row--deleted > td:not(.admin-lab-client-actions-column) { opacity: .42; }
.admin-lab-client-row--deleted { background: color-mix(in srgb,var(--lab-muted) 5%,transparent); }
.admin-lab-technician-row--inactive > td:not(.admin-lab-technician-actions-column) { opacity: .52; }
.admin-lab-technician-row--inactive .admin-lab-person img { filter: grayscale(.85); }
.admin-lab-technician-row--deleted > td:not(.admin-lab-technician-actions-column) { opacity: .42; }
.admin-lab-technician-row--deleted { background: color-mix(in srgb,var(--lab-muted) 5%,transparent); }
.admin-lab-chip--measure { position: fixed !important; left: -10000px !important; top: -10000px !important; width: max-content !important; visibility: hidden !important; pointer-events: none !important; }
.admin-lab-empty { height: 180px !important; color: var(--lab-muted) !important; text-align: center; }
.admin-lab-card--map { display: flex; flex-direction: column; }
.admin-lab-map { min-height: 450px; flex: 1 1 auto; background: #dce8ee; }
.admin-lab-card--map footer { min-height: 34px; padding: 0 12px; display: flex; align-items: center; justify-content: center; color: var(--lab-muted); background: var(--lab-surface-soft); border-top: 1px solid var(--lab-line); text-align: center; font-size: var(--lab-type-caption); }
.admin-lab-map-marker { position: relative; width: 51px; height: 51px; display: block; overflow: visible; color: #fff; font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-map-marker__photo { width: 100%; height: 100%; box-sizing: border-box; display: grid; place-items: center; overflow: hidden; border: 3px solid var(--marker-status,var(--lab-blue-600)); border-radius: 50%; background: var(--lab-blue-600); box-shadow: 0 4px 10px rgba(7,20,38,.28); contain: paint; }
.admin-lab-map-marker__photo img { display: block; width: 100%; min-width: 100%; max-width: none; height: 100%; min-height: 100%; object-fit: cover; object-position: center; border-radius: inherit; }
.admin-lab-map-marker__gps { position: absolute; z-index: 2; right: 1.5px; bottom: 1.5px; width: 12px; height: 12px; box-sizing: border-box; border: 2px solid #fff; border-radius: 50%; background: #64748b; box-shadow: 0 1px 3px rgba(7,20,38,.3); }
.admin-lab-map-marker__gps[data-freshness="recent"] { background: var(--lab-green); }
.admin-lab-map-marker__gps[data-freshness="delayed"] { background: var(--lab-amber); }
.admin-lab-map-marker__gps[data-freshness="stale"] { background: var(--lab-red); }
.admin-lab-map-marker--client { width: 36px; height: 36px; font-size: 10px; z-index: 1; }
.admin-lab-map-marker--client .admin-lab-map-marker__photo { border-width: 3px; box-shadow: 0 3px 8px rgba(7,20,38,.24); }
.admin-lab-map-marker--residence { height: 41px; }
.admin-lab-map-marker--residence .admin-lab-map-marker__photo { width: 36px; height: 36px; }
.admin-lab-map-marker__home { position:absolute; z-index:3; left:50%; bottom:0; width:16px; height:16px; transform:translateX(-50%); display:grid; place-items:center; border:2px solid #fff; border-radius:50%; background:#2f80ed; color:#fff; box-shadow:0 1px 3px rgba(7,20,38,.3); }
.admin-lab-map-marker__home svg { width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }

.admin-lab-orders-view { display: grid; gap: 14px; }
.admin-lab-directory-view { display: grid; gap: 14px; }
.admin-lab-directory-filters {
  padding: 14px; display: grid; grid-template-columns: minmax(260px,1.7fr) repeat(2,minmax(150px,.7fr)) auto;
  align-items: end; gap: 11px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md);
  background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-catalog-filters {
  padding: 14px; display: grid; grid-template-columns: minmax(280px,1.8fr) minmax(160px,.6fr) auto;
  align-items: end; gap: 11px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md);
  background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-catalog-table { min-width: 720px !important; }
.admin-lab-catalog-table th:nth-child(1) { width: 22%; }
.admin-lab-catalog-table th:nth-child(2) { width: 42%; }
.admin-lab-catalog-table th:nth-child(3) { width: 10%; }
.admin-lab-color { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.admin-lab-color i { width: 18px; height: 18px; border: 1px solid var(--lab-line); border-radius: 5px; background: var(--catalog-color,var(--lab-blue-600)); box-shadow: inset 0 0 0 2px color-mix(in srgb,#fff 65%,transparent); }
.admin-lab-directory-card > header strong { color: var(--lab-muted); white-space: nowrap; font-size: var(--lab-type-label); }
.admin-lab-directory-card table { min-width: 920px; }
.admin-lab-directory-card td { height: 54px; }
.admin-lab-person { min-width: 170px; display: flex; align-items: center; gap: 9px; color: var(--lab-ink); }
.admin-lab-person img, .admin-lab-person i { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; }
.admin-lab-person img { object-fit: cover; border: 2px solid var(--lab-blue-100); }
.admin-lab-person i { display: grid; place-items: center; color: var(--lab-navy-900); background: var(--lab-blue-100); font-style: normal; font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-person strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.admin-lab-maps-view { display: grid; gap: 14px; }
.admin-lab-maps-toolbar {
  position: relative; z-index: 10; overflow: visible;
  padding: 14px; display: grid; grid-template-columns: minmax(300px,1.55fr) repeat(3,minmax(170px,.75fr)) auto; align-items: end; gap: 11px;
  border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-maps-actions { flex-wrap: nowrap; }
.admin-lab-map-summary { display: grid; grid-template-columns: repeat(6,minmax(110px,1fr)); gap: 9px; }
.admin-lab-map-summary article { min-height: 65px; padding: 10px 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); background: var(--lab-surface); box-shadow: var(--lab-shadow-1); }
.admin-lab-map-summary i { width: 9px; height: 9px; border-radius: 50%; background: var(--tone); box-shadow: 0 0 0 4px color-mix(in srgb,var(--tone) 13%,transparent); }
.admin-lab-map-summary span { color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 700; }
.admin-lab-map-summary strong { color: var(--lab-ink); font-size: var(--lab-type-access); }
.admin-lab-maps-grid { position: relative; z-index: 0; isolation: isolate; min-height: 520px; display: grid; grid-template-columns: minmax(420px,1.55fr) minmax(330px,.8fr); gap: 12px; }
.admin-lab-map-stage { position: relative; min-height: 520px; }
.admin-lab-operations-map { width: 100%; height: 100%; min-height: 520px; background: #dce8ee; }
.admin-lab-map-fullscreen { position: absolute; z-index: 500; right: 12px; top: 12px; width: 38px; height: 38px; border: 1px solid rgba(15,39,71,.22); border-radius: 8px; color: var(--lab-navy-900); background: #fff; box-shadow: var(--lab-shadow-1); cursor: pointer; font-size: var(--lab-type-access); }
.admin-lab-map-stage:fullscreen { width: 100vw; height: 100vh; border-radius: 0; }
.admin-lab-map-stage:fullscreen .admin-lab-operations-map { min-height: 100vh; }
.admin-lab-map-team { min-height: 0; max-height: 520px; padding-right: 3px; display: grid; align-content: start; gap: 9px; overflow: auto; }
.admin-lab-map-person { width: 100%; min-height: 103px; padding: 12px; display: grid; grid-template-columns: auto minmax(120px,1fr) minmax(135px,1fr); gap: 11px; align-items: center; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); color: var(--lab-ink); background: var(--lab-surface); box-shadow: var(--lab-shadow-1); text-align: left; cursor: pointer; }
.admin-lab-map-person:hover { border-color: var(--lab-blue-600); }
.admin-lab-map-person:disabled { cursor: default; opacity: .72; }
.admin-lab-map-person__avatar { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 2px solid var(--lab-blue-600); border-radius: 50%; color: #fff; background: var(--lab-blue-600); }
.admin-lab-map-person__avatar img, .admin-lab-map-person__avatar i { width: 100%; height: 100%; object-fit: cover; }
.admin-lab-map-person__avatar i { display: grid; place-items: center; font-style: normal; font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-map-person__identity, .admin-lab-map-person__status { min-width: 0; display: grid; gap: 4px; }
.admin-lab-map-person__identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lab-type-body); }
.admin-lab-map-person__identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-map-person__identity .admin-lab-map-person__version { margin-top: 2px; color: var(--lab-blue-600); font-weight: 800; }
.admin-lab-map-person__status { justify-items: end; border-left: 1px solid var(--lab-line); padding-left: 11px; }
.admin-lab-map-person__status b { min-width: 82px; box-sizing: border-box; padding: 4px 8px; border-radius: 4px; color: var(--status); background: color-mix(in srgb,var(--status) 13%,transparent); text-align: center; font-size: var(--lab-type-caption); }
.admin-lab-map-person__status small { display: flex; align-items: center; gap: 6px; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-map-person__status small i { width: 7px; height: 7px; border-radius: 50%; background: #64748b; }
.admin-lab-map-person__status small i[data-freshness="recent"] { background: var(--lab-green); }
.admin-lab-map-person__status small i[data-freshness="delayed"] { background: var(--lab-amber); }
.admin-lab-map-person__status small i[data-freshness="stale"] { background: var(--lab-red); }
.admin-lab-map-person__address { width: 100%; max-width: 100%; overflow: hidden; display: grid; color: var(--lab-muted); font-size: var(--lab-type-caption); font-style: normal; line-height: 1.28; overflow-wrap: anywhere; }
.admin-lab-map-person__address span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-map-person__address--fallback { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.admin-lab-map-marker__photo i { width: 100%; height: 100%; display: grid; place-items: center; font-style: normal; }
.admin-lab-orders-filters {
  padding: 14px; display: grid; grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(140px,.8fr)) auto;
  align-items: end; gap: 11px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md);
  background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-field { min-width: 0; display: grid; gap: 6px; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 700; }
.admin-lab-field > input, .admin-lab-field > select, .admin-lab-control {
  width: 100%; height: 39px; border: 1px solid var(--lab-line); border-radius: 8px; outline: 0;
  color: var(--lab-ink); background: var(--lab-surface-soft); font-size: var(--lab-type-control);
}
.admin-lab-field > input, .admin-lab-field > select { padding: 0 10px; }
.admin-lab-field > input:focus, .admin-lab-field > select:focus, .admin-lab-control:focus-within { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); }
.admin-lab-control { padding: 0 10px; display: flex; align-items: center; gap: 7px; }
.admin-lab-control input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--lab-ink); background: transparent; font-size: var(--lab-type-control); }
.admin-lab-control--terms { min-height: 39px; height: auto; padding-block: 5px; flex-wrap: wrap; }
.admin-lab-control--terms > .admin-lab-nav__icon { flex: 0 0 auto; }
.admin-lab-control--terms > input { flex: 1 1 150px; width: auto; height: 27px; }
.admin-lab-search-terms { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-lab-search-term { min-width: 0; max-width: 100%; height: 26px; padding: 0 4px 0 9px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid color-mix(in srgb, var(--lab-blue-600) 42%, var(--lab-line)); border-radius: 7px; color: var(--lab-blue-600); background: color-mix(in srgb, var(--lab-blue-100) 72%, var(--lab-surface)); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-search-term > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-search-term button { width: 20px; height: 20px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; color: currentColor; background: transparent; font: inherit; font-size: 17px; line-height: 1; cursor: pointer; }
.admin-lab-search-term button:hover { background: color-mix(in srgb, var(--lab-blue-600) 12%, transparent); }
.admin-lab-date-filter { position: relative; }
.admin-lab-date-filter__control { width: 100%; height: 39px; padding-left: 10px; display: grid; grid-template-columns: minmax(0,1fr) 39px; align-items: center; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-muted); background: var(--lab-surface-soft); font-size: var(--lab-type-control); font-weight: 600; }
.admin-lab-date-filter__control:focus-within { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); }
.admin-lab-date-filter__control > input { min-width: 0; width: 100%; height: 100%; padding: 0 10px 0 0; border: 0; outline: 0; color: var(--lab-ink); background: transparent; font: inherit; font-size: var(--lab-type-control); font-weight: 600; }
.admin-lab-date-filter__control > input::placeholder { color: var(--lab-muted); opacity: .78; }
.admin-lab-date-filter__control > input.has-value { color: var(--lab-ink); }
.admin-lab-date-filter__control > input[aria-invalid="true"] { color: var(--lab-red); }
.admin-lab-date-filter__control button { align-self: stretch; display: grid; place-items: center; border: 0; border-left: 1px solid var(--lab-line); color: var(--lab-ink); background: transparent; cursor: pointer; }
.admin-lab-date-filter__control button:hover { color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-date-filter__control svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-date-popover { position: absolute; z-index: 40; top: calc(100% + 8px); right: 0; width: 330px; padding: 12px; display: grid; gap: 12px; border: 1px solid var(--lab-line); border-radius: 11px; color: var(--lab-ink); background: var(--lab-surface); box-shadow: var(--lab-shadow-2); }
.admin-lab-date-popover[hidden] { display: none; }
.admin-lab-date-mode { padding: 3px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-date-mode button { min-height: 32px; padding: 0 9px; border: 0; border-radius: 7px; color: var(--lab-muted); background: transparent; font: inherit; font-size: var(--lab-type-label); font-weight: 800; cursor: pointer; }
.admin-lab-date-mode button.is-active { color: #fff; background: var(--lab-blue-600); }
.admin-lab-date-popover label { display: grid; gap: 5px; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 700; }
.admin-lab-date-entry { position: relative; height: 38px; display: grid; grid-template-columns: minmax(0,1fr) 38px; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 8px; background: var(--lab-surface-soft); }
.admin-lab-date-entry:focus-within { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); }
.admin-lab-date-entry > input[type="text"] { min-width: 0; width: 100%; height: 100%; padding: 0 9px; border: 0; outline: 0; color: var(--lab-ink); background: transparent; font: inherit; font-size: var(--lab-type-control); font-weight: 600; }
.admin-lab-date-entry > input[type="text"]::placeholder { color: var(--lab-muted); opacity: .78; }
.admin-lab-date-entry > input[type="text"][aria-invalid="true"] { color: var(--lab-red); }
.admin-lab-date-entry > button { display: grid; place-items: center; border: 0; border-left: 1px solid var(--lab-line); color: var(--lab-ink); background: transparent; cursor: pointer; }
.admin-lab-date-entry > button:hover { color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-date-entry > button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-native-date-picker { position: absolute; right: 0; bottom: 0; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; opacity: 0; pointer-events: none; }
.admin-lab-multiselect { position: relative; }
.admin-lab-multiselect__trigger { width: 100%; height: 39px; padding: 0 34px 0 10px; position: relative; display: flex; align-items: center; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-control); font-weight: 700; text-align: left; cursor: pointer; }
.admin-lab-multiselect__trigger:focus-visible, .admin-lab-multiselect__trigger[aria-expanded="true"] { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); outline: 0; }
.admin-lab-multiselect__trigger::after { content: ''; width: 7px; height: 7px; position: absolute; right: 13px; top: 50%; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-70%) rotate(45deg); transition: transform .16s ease; }
.admin-lab-multiselect__trigger[aria-expanded="true"]::after { transform: translateY(-25%) rotate(225deg); }
.admin-lab-multiselect__trigger > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-multiselect__popover { position: absolute; z-index: 42; top: calc(100% + 8px); left: 0; min-width: 100%; width: max-content; max-width: 320px; padding: 7px; display: grid; gap: 6px; border: 1px solid var(--lab-line); border-radius: 10px; color: var(--lab-ink); background: var(--lab-surface); box-shadow: var(--lab-shadow-2); }
.admin-lab-multiselect__popover[hidden] { display: none; }
.admin-lab-multiselect__options { min-width: 205px; max-height: 250px; overflow-y: auto; display: grid; gap: 2px; }
.admin-lab-multiselect__options label { min-width: 0; min-height: 34px; padding: 6px 7px; display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 8px; border-radius: 7px; color: var(--lab-ink); font-size: var(--lab-type-control); font-weight: 650; cursor: pointer; }
.admin-lab-multiselect__options label:hover { background: var(--lab-surface-soft); }
.admin-lab-multiselect__options input { width: 16px; height: 16px; margin: 0; accent-color: var(--lab-blue-600); }
.admin-lab-multiselect__options span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-multiselect__options p { margin: 0; padding: 9px; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; }
.admin-lab-multiselect__clear { height: 32px; padding: 0 9px; border: 1px solid var(--lab-line); border-radius: 7px; color: var(--lab-muted); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-label); font-weight: 750; cursor: pointer; }
.admin-lab-multiselect__clear:disabled { opacity: .45; cursor: default; }
.admin-lab-date-range { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.admin-lab-date-popover footer { display: flex; justify-content: flex-end; gap: 7px; }
.admin-lab-date-popover footer .admin-lab-button { flex: 1; }
.admin-lab-filter-actions { display: flex; align-items: center; gap: 7px; }
.admin-lab-button { height: 39px; padding: 0 13px; border: 1px solid var(--lab-blue-600); border-radius: 8px; color: #fff; background: var(--lab-blue-600); white-space: nowrap; font-size: var(--lab-type-label); font-weight: 700; cursor: pointer; }
.admin-lab-button--ghost { color: var(--lab-muted); border-color: var(--lab-line); background: var(--lab-surface); }
.admin-lab-button:hover { filter: brightness(.97); }
.admin-lab-orders-card > header strong { color: var(--lab-muted); white-space: nowrap; font-size: var(--lab-type-label); }
.admin-lab-orders-card table { min-width: 850px; }
.admin-lab-orders-card td { height: 49px; }
.admin-lab-actions-column { width: 118px; text-align: center !important; white-space: nowrap; }
.admin-lab-row-actions { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.admin-lab-row-action { width: 28px; height: 28px; padding: 6px; border: 1px solid var(--lab-line); border-radius: 7px; color: var(--lab-blue-600); background: var(--lab-surface); cursor: pointer; }
.admin-lab-row-action:hover { color: #fff; border-color: var(--lab-blue-600); background: var(--lab-blue-600); }
.admin-lab-row-action--cancel:not(:disabled) { color: var(--lab-red); }
.admin-lab-row-action--cancel:not(:disabled):hover { color: #fff; border-color: var(--lab-red); background: var(--lab-red); }
.admin-lab-row-action--status:not(:disabled) { color: var(--lab-green); }
.admin-lab-row-action--status:not(:disabled):hover { color: #fff; border-color: var(--lab-green); background: var(--lab-green); }
.admin-lab-row-action--delete:not(:disabled) { color: var(--lab-red); }
.admin-lab-row-action--delete:not(:disabled):hover { color: #fff; border-color: var(--lab-red); background: var(--lab-red); }
.admin-lab-row-action--restore:not(:disabled) { color: var(--lab-blue-600); }
.admin-lab-row-action:disabled { color: var(--lab-muted); border-color: var(--lab-line); background: var(--lab-surface-soft); opacity: .42; cursor: not-allowed; }
.admin-lab-row-action svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-pagination { min-height: 48px; padding: 9px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--lab-line); color: var(--lab-muted); font-size: var(--lab-type-label); }
.admin-lab-pagination__controls { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.admin-lab-pagination button { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--lab-line); border-radius: 7px; color: var(--lab-ink); background: var(--lab-surface); cursor: pointer; }
.admin-lab-pagination button:disabled { opacity: .4; cursor: default; }
.admin-lab-pagination__summary { order: 0; min-width: 91px; margin-right: 5px; color: var(--lab-muted); text-align: right; white-space: nowrap; font-weight: 700; }
.admin-lab-pagination__controls > [id$="Prev"] { order: 1; }
.admin-lab-pagination__page, .admin-lab-pagination__ellipsis { order: 2; }
.admin-lab-pagination__controls > [id$="Next"] { order: 3; }
.admin-lab-pagination__page.is-active { color: #fff; border-color: var(--lab-blue-600); background: var(--lab-blue-600); font-weight: 800; }
.admin-lab-pagination__ellipsis { width: 20px; display: grid; place-items: center; color: var(--lab-muted); font-weight: 800; }

.admin-lab-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 22px; }
.admin-lab-modal__backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,14,29,.68); backdrop-filter: blur(3px); cursor: default; }
.admin-lab-modal__dialog { position: relative; width: min(100%,500px); max-height: min(88vh,680px); overflow-y: auto; border: 1px solid var(--lab-line); border-radius: 18px; color: var(--lab-ink); background: var(--lab-surface); box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.admin-lab-modal__header { margin: 22px 24px 0; padding: 15px 0; border-top: 1px solid var(--lab-line); border-bottom: 1px solid var(--lab-line); text-align: center; }
.admin-lab-modal__header h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-brand); text-transform: uppercase; }
.admin-lab-modal__content { padding: 18px 24px 10px; display: grid; gap: 15px; }
.admin-lab-cancel-summary { padding: 15px 16px; display: grid; gap: 4px; border: 1px solid var(--lab-line); border-radius: 12px; background: var(--lab-surface-soft); }
.admin-lab-cancel-summary strong { font-size: var(--lab-type-card-title); }
.admin-lab-cancel-summary span, .admin-lab-cancel-warning { color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-cancel-warning { margin: 0; line-height: 1.5; }
.admin-lab-cancel-field { display: grid; gap: 7px; }
.admin-lab-cancel-field > span { font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-cancel-field textarea { min-height: 104px; resize: vertical; padding: 12px; border: 1px solid var(--lab-line); border-radius: 10px; outline: 0; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-control); line-height: 1.45; }
.admin-lab-cancel-field textarea:focus { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); }
.admin-lab-cancel-field textarea[aria-invalid="true"] { border-color: var(--lab-red); }
.admin-lab-cancel-field small { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-modal__actions { padding: 10px 24px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.admin-lab-modal__actions .admin-lab-button { width: 100%; }
.admin-lab-button--danger { border-color: var(--lab-red); background: var(--lab-red); }
.admin-lab-button:disabled { opacity: .46; cursor: not-allowed; filter: none; }

.admin-lab-order-form-dialog { width: min(100%,780px); max-height: min(92vh,780px); overflow: hidden; display: flex; flex-direction: column; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,.22); }
.admin-lab-order-form-dialog form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.admin-lab-order-form-header { margin: 0; padding: 18px 24px; text-align: left; }
.admin-lab-order-form-title { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; }
.admin-lab-order-form-title.is-editing { grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); }
.admin-lab-order-form-title > div:first-child { min-width: 0; display: grid; gap: 3px; }
.admin-lab-order-form-title h2 { font-size: var(--lab-type-brand); text-transform: none; }
.admin-lab-order-form-title p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; }
.admin-lab-order-form-header-divider { display: none; width: 1px; height: 46px; background: var(--lab-line); }
.admin-lab-order-form-title.is-editing .admin-lab-order-form-header-divider { display: block; }
.admin-lab-order-form-header-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.admin-lab-order-form-title.is-editing .admin-lab-order-form-header-actions { justify-content: space-between; }
.admin-lab-modal-close { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; padding: 8px; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-muted); background: var(--lab-surface-soft); box-shadow: 0 2px 5px rgba(7,20,38,.16), inset 0 1px rgba(255,255,255,.08); cursor: pointer; transition: color .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.admin-lab-modal-close:hover { color: var(--lab-ink); border-color: color-mix(in srgb,var(--lab-blue-600) 42%,var(--lab-line)); background: color-mix(in srgb,var(--lab-blue-600) 8%,var(--lab-surface)); box-shadow: 0 4px 9px rgba(7,20,38,.2), inset 0 1px rgba(255,255,255,.1); transform: translateY(-1px); }
.admin-lab-modal-close:active { box-shadow: 0 1px 3px rgba(7,20,38,.18); transform: translateY(0); }
.admin-lab-modal-close:focus-visible { outline: 3px solid color-mix(in srgb,var(--lab-blue-600) 25%,transparent); outline-offset: 2px; }
.admin-lab-modal-close svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.admin-lab-order-edit-notice, .admin-lab-order-form-status { padding: 8px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid color-mix(in srgb,var(--lab-blue-600) 35%,var(--lab-line)); border-radius: 8px; color: var(--lab-ink); background: color-mix(in srgb,var(--lab-blue-600) 7%,var(--lab-surface)); }
.admin-lab-order-edit-notice { max-width: 235px; }
.admin-lab-order-form-title.is-editing .admin-lab-order-edit-notice { max-width: none; flex: 1 1 auto; }
.admin-lab-order-edit-notice > svg, .admin-lab-order-form-status > svg { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: var(--lab-blue-600); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-order-edit-notice div { display: grid; gap: 2px; }
.admin-lab-order-edit-notice strong { font-size: var(--lab-type-brand); line-height: 1.15; }
.admin-lab-order-edit-notice span { overflow: hidden; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
.admin-lab-order-form-grid { min-height: 0; padding: 18px 24px; overflow-y: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 24px; scrollbar-width: thin; }
.admin-lab-order-field { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; align-content: start; gap: 6px; }
.admin-lab-order-field--full { grid-column: 1 / -1; }
.admin-lab-order-field > span, .admin-lab-order-field > legend, .admin-lab-order-field > label { width: 100%; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 750; }
.admin-lab-order-field select, .admin-lab-order-field input, .admin-lab-order-field textarea { width: 100%; min-width: 0; border: 1px solid var(--lab-line); border-radius: 10px; outline: 0; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-control); font-weight: 650; }
.admin-lab-order-field select, .admin-lab-order-field input { height: 43px; padding: 0 12px; }
.admin-lab-order-field textarea { min-height: 76px; padding: 10px 12px; resize: vertical; line-height: 1.45; }
.admin-lab-order-field select:focus, .admin-lab-order-field input:focus, .admin-lab-order-field textarea:focus { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lab-blue-600) 13%, transparent); }
.admin-lab-order-field select:disabled, .admin-lab-order-field input:disabled { opacity: .72; cursor: not-allowed; background: color-mix(in srgb, var(--lab-surface-soft) 72%, var(--lab-line)); }
.admin-lab-order-field textarea[aria-invalid="true"] { border-color: var(--lab-red); background: color-mix(in srgb, var(--lab-red) 7%, var(--lab-surface)); }
.admin-lab-order-field small { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; }
.admin-lab-order-control { position: relative; display: block; }
.admin-lab-order-control svg { position: absolute; z-index: 1; left: 12px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); fill: none; stroke: var(--lab-muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-order-control input { padding-left: 38px; }
.admin-lab-order-client-field { position: relative; }
.admin-lab-order-client-field > select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.admin-lab-order-client-combobox { position: relative; }
.admin-lab-order-client-combobox > svg { position: absolute; z-index: 2; left: 12px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); fill: none; stroke: var(--lab-muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.admin-lab-order-client-combobox > input { padding: 0 40px 0 38px; }
.admin-lab-order-client-combobox > button { position: absolute; z-index: 2; right: 4px; top: 4px; width: 35px; height: 35px; display: grid; place-items: center; padding: 9px; border: 0; border-radius: 7px; color: var(--lab-muted); background: transparent; cursor: pointer; }
.admin-lab-order-client-combobox > button svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-order-client-combobox:focus-within > input { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb,var(--lab-blue-600) 13%,transparent); }
.admin-lab-order-client-combobox.is-disabled > input { opacity: .72; cursor: not-allowed; background: color-mix(in srgb,var(--lab-surface-soft) 72%,var(--lab-line)); }
.admin-lab-order-client-combobox.is-disabled > button { display: none; }
.admin-lab-order-client-options { position: absolute; z-index: 12; left: 0; right: 0; top: calc(100% + 5px); max-height: 190px; overflow-y: auto; padding: 5px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface); box-shadow: var(--lab-shadow-2); }
.admin-lab-order-client-option { width: 100%; min-height: 37px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-radius: 6px; color: var(--lab-ink); background: transparent; text-align: left; font-size: var(--lab-type-control); font-weight: 650; cursor: pointer; }
.admin-lab-order-client-option:hover, .admin-lab-order-client-option.is-selected { color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-order-client-option small { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-order-client-empty { margin: 0; padding: 10px; color: var(--lab-muted); text-align: center; font-size: var(--lab-type-label); }
.admin-lab-order-priority-field > select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.admin-lab-order-priority-options { height: 43px; display: flex; flex-wrap: nowrap; gap: 7px; }
.admin-lab-order-priority-option { min-width: 0; height: 43px; flex: 1 1 0; padding: 0 8px; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-muted); background: var(--lab-surface); font-size: var(--lab-type-label); font-weight: 750; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; }
.admin-lab-order-priority-option:hover { color: var(--lab-ink); background: var(--lab-surface-soft); }
.admin-lab-order-priority-option.is-selected { color: var(--lab-ink); border-color: color-mix(in srgb,var(--priority-tone,var(--lab-blue-600)) 55%,var(--lab-line)); background: color-mix(in srgb,var(--priority-tone,var(--lab-blue-600)) 14%,var(--lab-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--priority-tone,var(--lab-blue-600)) 18%,transparent); }
.admin-lab-order-priority-option:focus-visible { outline: 3px solid color-mix(in srgb,var(--lab-blue-600) 24%,transparent); outline-offset: 1px; }
.admin-lab-order-description-field > span, .admin-lab-order-notes-field > span { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.admin-lab-order-description-field b, .admin-lab-order-notes-field b { display: inline-flex; align-items: center; gap: 6px; font: inherit; }
.admin-lab-order-description-field em { color: var(--lab-red); font-style: normal; }
.admin-lab-order-description-field output { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; }
.admin-lab-order-notes-field { padding: 12px; border: 1px solid var(--lab-line); border-radius: 10px; background: color-mix(in srgb,var(--lab-blue-600) 5%,var(--lab-surface)); }
.admin-lab-order-notes-field b svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-order-notes-field i { padding: 3px 7px; border-radius: 5px; color: var(--lab-muted); background: color-mix(in srgb,var(--lab-blue-600) 9%,var(--lab-surface)); font-size: var(--lab-type-badge); font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.admin-lab-order-form-status { max-width: min(48%,430px); color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 700; line-height: 1.35; }
.admin-lab-order-form-status[data-kind="error"] { color: var(--lab-red); border-color: color-mix(in srgb,var(--lab-red) 52%,var(--lab-line)); background: color-mix(in srgb,var(--lab-red) 9%,var(--lab-surface)); }
.admin-lab-order-form-status[data-kind="error"] > svg { stroke: var(--lab-red); }
.admin-lab-order-form-status[data-kind="success"] { color: var(--lab-green); border-color: color-mix(in srgb,var(--lab-green) 46%,var(--lab-line)); background: color-mix(in srgb,var(--lab-green) 8%,var(--lab-surface)); }
.admin-lab-order-form-status[data-kind="success"] > svg { stroke: var(--lab-green); }
.admin-lab-order-form-actions { flex: 0 0 auto; min-height: 72px; padding: 12px 24px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; grid-template-columns: none; border-top: 1px solid var(--lab-line); background: var(--lab-surface); }
.admin-lab-order-form-buttons { margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.admin-lab-order-form-actions .admin-lab-button { width: auto; min-width: 132px; }
.admin-lab-order-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.admin-lab-order-submit svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-order-submit.is-busy svg { border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: admin-lab-spin .8s linear infinite; }
.admin-lab-order-submit.is-busy svg path { display: none; }
@keyframes admin-lab-spin { to { transform: rotate(360deg); } }

.admin-lab-client-form-dialog { width: min(100%,980px); max-height: min(94vh,940px); overflow: hidden; display: flex; flex-direction: column; border-radius: 14px; }
.admin-lab-catalog-form-dialog { width: min(100%,760px); max-height: min(90vh,760px); }
.admin-lab-client-form-header { flex: 0 0 auto; margin: 0; padding: 17px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; text-align: left; }
.admin-lab-client-form-header > div { min-width: 0; display: grid; gap: 3px; }
.admin-lab-client-form-header h2 { text-transform: none; }
.admin-lab-client-form-header p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; }
.admin-lab-client-form-dialog form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.admin-lab-client-form-grid { min-height: 0; padding: 18px 22px; overflow-y: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 20px; scrollbar-width: thin; }
.admin-lab-client-form-section-title { grid-column: 1 / -1; margin-top: 5px; padding: 0 0 8px; display: flex; align-items: end; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-client-form-section-title:first-child { margin-top: 0; }
.admin-lab-client-form-section-title h3 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-client-form-section-title span { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; text-align: right; }
.admin-lab-client-field { min-width: 0; display: grid; align-content: start; gap: 6px; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 750; }
.admin-lab-client-field--full { grid-column: 1 / -1; }
.admin-lab-client-field > span:first-child em { color: var(--lab-red); font-style: normal; }
.admin-lab-client-field input, .admin-lab-client-field select, .admin-lab-client-field textarea { width: 100%; min-width: 0; border: 1px solid var(--lab-line); border-radius: 10px; outline: 0; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-control); font-weight: 650; }
.admin-lab-client-field input, .admin-lab-client-field select { height: 43px; padding: 0 12px; }
.admin-lab-catalog-form-dialog [data-directory-color] input[type="color"] { padding: 5px 8px; }
.admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"]) .admin-lab-client-form-grid { grid-template-columns: minmax(280px,1fr) minmax(220px,.72fr) 170px; }
.admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"]) [data-directory-name] { grid-column: 1; }
.admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"]) [data-directory-order-select] { grid-column: 2; }
.admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"]) [data-directory-color] { grid-column: 3; width: 170px; }
.admin-lab-client-form-modal[data-scope="prioridades"] .admin-lab-client-form-grid { grid-template-columns: minmax(240px,1fr) 130px minmax(210px,.7fr) 170px; }
.admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-name] { grid-column: 1; }
.admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-priority] { grid-column: 2; grid-row: 2; }
.admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-order-select] { grid-column: 3; }
.admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-color] { grid-column: 4; width: 170px; }
.admin-lab-client-field textarea { min-height: 76px; padding: 10px 12px; resize: vertical; line-height: 1.45; }
.admin-lab-client-field input:focus, .admin-lab-client-field select:focus, .admin-lab-client-field textarea:focus { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb,var(--lab-blue-600) 13%,transparent); }
.admin-lab-client-field input:disabled, .admin-lab-client-control--locked input { opacity: .72; cursor: not-allowed; background: color-mix(in srgb,var(--lab-surface-soft) 72%,var(--lab-line)); }
.admin-lab-client-field [aria-invalid="true"] { border-color: var(--lab-red); background: color-mix(in srgb,var(--lab-red) 7%,var(--lab-surface)); }
.admin-lab-client-control--locked { position: relative; display: block; }
.admin-lab-client-control--locked svg { position: absolute; z-index: 1; left: 12px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); fill: none; stroke: var(--lab-muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-client-control--locked input { padding-left: 38px; }
.admin-lab-client-control--locked.is-unlocked svg { display: none !important; }
.admin-lab-client-control--locked.is-unlocked input { padding-left: 12px; opacity: 1; cursor: text; background: var(--lab-surface-soft); }
.admin-lab-client-photo-control { min-height: 72px; padding: 9px 11px; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--lab-line); border-radius: 10px; background: color-mix(in srgb,var(--lab-blue-600) 4%,var(--lab-surface)); cursor: pointer; }
.admin-lab-client-photo-control > i { width: 52px; height: 52px; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--lab-line); border-radius: 9px; color: var(--lab-blue-600); background: var(--lab-blue-100); font-size: var(--lab-type-card-title); font-style: normal; font-weight: 850; }
.admin-lab-client-photo-control > i img { width: 100%; height: 100%; display: block; object-fit: cover; }
.admin-lab-client-photo-control > span { min-width: 0; display: grid; gap: 3px; }
.admin-lab-client-photo-control strong { color: var(--lab-ink); font-size: var(--lab-type-label); }
.admin-lab-client-photo-control small { overflow: hidden; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.admin-lab-client-photo-control input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
.admin-lab-client-photo-control > b { padding: 8px 11px; border: 1px solid var(--lab-line); border-radius: 7px; color: var(--lab-blue-600); background: var(--lab-surface); font-size: var(--lab-type-caption); white-space: nowrap; }
.admin-lab-manager-photo-field { grid-column: auto; }
.admin-lab-manager-access-field { min-width: 0; }
.admin-lab-manager-access-control { min-height: 72px; padding: 9px 11px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--lab-line); border-radius: 10px; background: color-mix(in srgb,var(--lab-blue-600) 4%,var(--lab-surface)); }
.admin-lab-manager-access-control > i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--lab-line); border-radius: 9px; color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-manager-access-control > i svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-manager-access-copy { min-width: 0; display: grid; gap: 3px; }
.admin-lab-manager-access-copy strong { color: var(--lab-ink); font-size: var(--lab-type-label); }
.admin-lab-manager-access-copy small { overflow: hidden; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.admin-lab-manager-access-switch { position: relative; width: 44px; height: 24px; display: block; }
.admin-lab-manager-access-switch input { position: absolute; opacity: 0; pointer-events: none; }
.admin-lab-manager-access-switch i { position: absolute; inset: 0; border: 1px solid var(--lab-line); border-radius: 7px; background: color-mix(in srgb,var(--lab-muted) 18%,var(--lab-surface)); cursor: pointer; transition: background .18s ease,border-color .18s ease; }
.admin-lab-manager-access-switch i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 5px; background: var(--lab-muted); transition: transform .18s ease,background .18s ease; }
.admin-lab-manager-access-switch input:checked + i { border-color: var(--lab-blue-600); background: color-mix(in srgb,var(--lab-blue-600) 26%,var(--lab-surface)); }
.admin-lab-manager-access-switch input:checked + i::after { transform: translateX(20px); background: var(--lab-blue-600); }
.admin-lab-manager-access-switch input:focus-visible + i { outline: 3px solid color-mix(in srgb,var(--lab-blue-600) 20%,transparent); outline-offset: 2px; }
.admin-lab-manager-access-switch input:disabled + i { opacity: .58; cursor: not-allowed; }
.admin-lab-client-notes-field { padding: 12px; border: 1px solid var(--lab-line); border-radius: 10px; background: color-mix(in srgb,var(--lab-blue-600) 5%,var(--lab-surface)); }
.admin-lab-client-notes-field > span { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.admin-lab-client-notes-field b { display: inline-flex; align-items: center; gap: 6px; }
.admin-lab-client-notes-field b svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-client-notes-field i { padding: 3px 7px; border-radius: 5px; color: var(--lab-muted); background: color-mix(in srgb,var(--lab-blue-600) 9%,var(--lab-surface)); font-size: var(--lab-type-badge); font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.admin-lab-client-notes-field small { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; }
.admin-lab-client-form-actions { flex: 0 0 auto; min-height: 72px; padding: 12px 22px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; grid-template-columns: none; border-top: 1px solid var(--lab-line); background: var(--lab-surface); }
.admin-lab-client-form-actions .admin-lab-order-form-status { max-width: min(52%,470px); }
.admin-lab-client-form-buttons { margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.admin-lab-client-form-actions .admin-lab-button { width: auto; min-width: 142px; }
.admin-lab-client-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.admin-lab-client-submit svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-client-submit.is-busy svg { border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: admin-lab-spin .8s linear infinite; }
.admin-lab-client-submit.is-busy svg path { display: none; }
.admin-lab-client-form-modal[data-mode="view"] .admin-lab-client-photo-control { cursor: default; }
.admin-lab-client-form-modal[data-mode="view"] .admin-lab-client-photo-control > b { display: none; }
.admin-lab-client-action-dialog { width: min(100%,560px); max-height: min(88vh,620px); overflow: hidden; display: flex; flex-direction: column; border-radius: 14px; }
.admin-lab-client-action-header { flex: 0 0 auto; margin: 0; padding: 18px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-top: 0; text-align: left; }
.admin-lab-client-action-dialog .admin-lab-modal__header > div { min-width: 0; display: grid; gap: 3px; }
.admin-lab-client-action-dialog .admin-lab-modal__header h2 { text-transform: none; }
.admin-lab-client-action-dialog .admin-lab-modal__header p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; }
.admin-lab-client-action-content { min-height: 0; padding: 18px 22px; overflow-y: auto; display: grid; gap: 14px; }
.admin-lab-client-action-content > p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); line-height: 1.55; }
.admin-lab-client-action-summary { padding: 13px 15px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px 16px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); }
.admin-lab-client-action-summary strong { overflow: hidden; color: var(--lab-ink); font-size: var(--lab-type-card-title); white-space: nowrap; text-overflow: ellipsis; }
.admin-lab-client-action-summary span { color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-client-action-summary .admin-lab-client-status { grid-column: 2; grid-row: 1 / span 2; }
.admin-lab-portal-view .admin-lab-chip,.admin-lab-client-action-summary .admin-lab-chip{width:max-content;min-width:max-content;max-width:none;justify-content:center;white-space:nowrap}.admin-lab-client-action-summary .admin-lab-chip{justify-self:end;color:var(--chip)}

/* LAB135 — fila de solicitações do Portal do Cliente. */
.admin-lab-portal-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-lab-cell-note{display:block;margin-top:4px;color:var(--lab-muted);font-size:10px}.admin-lab-portal-request-dialog{width:min(820px,calc(100vw - 32px));overflow:hidden}.admin-lab-portal-request-body{padding:18px 24px;display:grid;gap:16px;max-height:calc(100dvh - 190px);overflow-y:auto}.admin-lab-portal-request-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-lab-portal-request-summary>div{padding:12px 14px;border:1px solid var(--lab-line);border-radius:10px;background:var(--lab-surface-soft);display:grid;gap:4px}.admin-lab-portal-request-summary span{color:var(--lab-muted);font-size:10px;font-weight:800;text-transform:uppercase}.admin-lab-portal-request-summary strong{font-size:13px}.admin-lab-portal-request-summary small{color:var(--lab-muted);font-size:10px}.admin-lab-portal-request-description{padding:14px;border:1px solid var(--lab-line);border-radius:10px}.admin-lab-portal-request-description strong{display:block;margin-bottom:7px;font-size:12px}.admin-lab-portal-request-description p{margin:0;white-space:pre-wrap;color:var(--lab-muted);line-height:1.55}.admin-lab-portal-request-files{display:grid;gap:8px}.admin-lab-portal-request-files>div{display:flex;flex-wrap:wrap;gap:8px}.admin-lab-portal-request-files a{padding:7px 10px;border:1px solid var(--lab-line);border-radius:7px;color:var(--lab-blue-600);background:var(--lab-surface-soft);font-size:11px;font-weight:700;text-decoration:none}.admin-lab-portal-request-files a:hover{border-color:var(--lab-blue-600)}
@media(max-width:1100px){.admin-lab-portal-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.admin-lab-portal-kpis{grid-template-columns:1fr 1fr}.admin-lab-portal-request-summary{grid-template-columns:1fr}.admin-lab-portal-request-body{padding:14px 16px}}
.admin-lab-client-action-actions { flex: 0 0 auto; min-height: 70px; padding: 12px 22px 16px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; grid-template-columns: none; border-top: 1px solid var(--lab-line); background: var(--lab-surface); }
.admin-lab-client-action-actions .admin-lab-button { width: auto; min-width: 150px; }
.admin-lab-client-action-dialog #adminLabClientActionConfirm.is-danger { color: #fff; border-color: var(--lab-red); background: var(--lab-red); }
.admin-lab-client-action-dialog #adminLabManagerActionConfirm.is-danger { color: #fff; border-color: var(--lab-red); background: var(--lab-red); }
.admin-lab-client-action-dialog #adminLabDirectoryActionConfirm.is-danger { color: #fff; border-color: var(--lab-red); background: var(--lab-red); }

.admin-lab-reports-view { display: grid; gap: 14px; }
.admin-lab-reports-view[hidden] { display: none; }
.admin-lab-reports-analysis { display: grid; gap: 14px; }
.admin-lab-reports-analysis[hidden], .admin-lab-reports-automations[hidden] { display: none; }
.admin-lab-reports-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-lab-reports-tabs { padding: 4px; display: flex; gap: 3px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface); }
.admin-lab-reports-tabs button { min-height: 36px; padding: 0 15px; border: 0; border-radius: 7px; color: var(--lab-muted); background: transparent; font: inherit; font-size: var(--lab-type-label); font-weight: 750; cursor: pointer; }
.admin-lab-reports-tabs button.is-active { color: #fff; background: var(--lab-blue-600); }
.admin-lab-reports-toolbar-actions { display: flex; align-items: center; gap: 9px; }
.admin-lab-reports-export { white-space: nowrap; }
.admin-lab-reports-filters { padding: 15px; display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); align-items: end; gap: 12px; border: 1px solid var(--lab-line); border-radius: 12px; background: var(--lab-surface); }
.admin-lab-reports-filters label { min-width: 0; display: grid; gap: 6px; color: var(--lab-ink); font-size: var(--lab-type-caption); font-weight: 750; }
.admin-lab-reports-filters input, .admin-lab-reports-filters select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--lab-line); border-radius: 8px; outline: 0; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-reports-filters input:focus, .admin-lab-reports-filters select:focus { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb,var(--lab-blue-600) 13%,transparent); }
.admin-lab-reports-filter-actions { display: flex; justify-content: flex-end; gap: 8px; grid-column: 3 / -1; }
.admin-lab-reports-filter-actions .admin-lab-button { width: auto; min-width: 118px; }
.admin-lab-reports-kpis { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.admin-lab-reports-kpis article { min-width: 0; padding: 14px; display: grid; gap: 7px; border: 1px solid var(--lab-line); border-radius: 11px; background: var(--lab-surface); }
.admin-lab-reports-kpis span { overflow: hidden; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 750; white-space: nowrap; text-overflow: ellipsis; }
.admin-lab-reports-kpis strong { color: var(--lab-ink); font-size: clamp(21px,2vw,29px); line-height: 1; }
.admin-lab-reports-kpis small { color: var(--lab-muted); font-size: var(--lab-type-badge); font-weight: 650; }
.admin-lab-reports-insights { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.8fr); gap: 14px; }
.admin-lab-reports-chart > div, .admin-lab-reports-alerts > div { padding: 16px 18px 18px; }
.admin-lab-report-bars { display: grid; gap: 11px; }
.admin-lab-report-bar { display: grid; grid-template-columns: minmax(110px,.7fr) minmax(150px,2fr) 44px; align-items: center; gap: 10px; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 700; }
.admin-lab-report-bar > i { height: 9px; overflow: hidden; border-radius: 99px; background: var(--lab-surface-soft); }
.admin-lab-report-bar > i::after { content: ''; width: var(--value); height: 100%; display: block; border-radius: inherit; background: var(--tone); }
.admin-lab-report-bar b { color: var(--lab-ink); text-align: right; }
.admin-lab-reports-alert-list { display: grid; gap: 9px; }
.admin-lab-reports-alert-list p { margin: 0; padding: 10px 12px; border-left: 3px solid var(--tone,var(--lab-blue-600)); border-radius: 7px; color: var(--lab-muted); background: var(--lab-surface-soft); font-size: var(--lab-type-label); font-weight: 650; line-height: 1.4; }
.admin-lab-reports-table-card .admin-lab-table-wrap { max-height: 410px; }
.admin-lab-reports-table-card table { min-width: 1120px; }
.admin-lab-reports-table-card .admin-lab-chip { min-width: 82px; justify-content: center; box-sizing: border-box; border-radius: 4px; }
.admin-lab-reports-table-card .admin-lab-chip::before { display: none; }
.admin-lab-report-export-dialog { width: min(100%,720px); max-height: min(92vh,820px); }
.admin-lab-report-export-body { min-height: 0; padding: 18px 22px; overflow-y: auto; display: grid; gap: 17px; }
.admin-lab-report-export-count { padding: 13px 15px; display: flex; align-items: baseline; gap: 7px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); }
.admin-lab-report-export-count strong { color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-report-export-count span { color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-report-export-options, .admin-lab-report-export-checks { min-width: 0; margin: 0; padding: 0; display: grid; gap: 9px; border: 0; }
.admin-lab-report-export-options legend, .admin-lab-report-export-checks legend { margin-bottom: 8px; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-report-export-options label { padding: 11px 13px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 11px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); cursor: pointer; }
.admin-lab-report-export-options label:has(input:checked) { border-color: var(--lab-blue-600); background: color-mix(in srgb,var(--lab-blue-600) 7%,var(--lab-surface)); }
.admin-lab-report-export-options span { display: grid; gap: 2px; }
.admin-lab-report-export-options strong { color: var(--lab-ink); font-size: var(--lab-type-label); }
.admin-lab-report-export-options small { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; }
.admin-lab-report-export-checks { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-lab-report-export-checks label { color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-report-export-checks:disabled { opacity: .45; }
.admin-lab-report-export-checks:disabled label { cursor: not-allowed; }
.admin-lab-report-export-privacy { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 650; }
.admin-lab-report-download { margin-left: 4px; color: var(--lab-blue-500); font-weight: 850; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.admin-lab-report-download:hover { color: var(--lab-blue-400); }
.admin-lab-report-download:focus-visible { outline: 2px solid var(--lab-blue-500); outline-offset: 3px; border-radius: 2px; }
.admin-lab-reports-cancel-icon { color: var(--lab-red); border-color: color-mix(in srgb,var(--lab-red) 48%,var(--lab-line)); background: color-mix(in srgb,var(--lab-red) 10%,var(--lab-surface)); }
.admin-lab-reports-automation-card .admin-lab-table-wrap { min-height: 330px; }
.admin-lab-reports-automation-card table { min-width: 920px; }
.admin-lab-reports-automation-empty { min-height: 245px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; text-align: center; }
.admin-lab-reports-automation-empty > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--lab-blue-600) 32%,var(--lab-line)); border-radius: 14px; color: var(--lab-blue-500); background: color-mix(in srgb,var(--lab-blue-600) 9%,var(--lab-surface)); }
.admin-lab-reports-automation-empty svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-reports-automation-empty strong { color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-reports-automation-empty p { margin: 0 0 5px; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; }
.admin-lab-report-automation-dialog { width: min(100%,760px); max-height: min(92vh,850px); }
.admin-lab-report-automation-body { min-height: 0; padding: 20px 22px; overflow-y: auto; display: grid; gap: 19px; }
.admin-lab-report-automation-period, .admin-lab-report-automation-recipients { min-width: 0; margin: 0; padding: 0; border: 0; }
.admin-lab-report-automation-period { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.admin-lab-report-automation-period legend, .admin-lab-report-automation-recipients legend { width: 100%; margin-bottom: 8px; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-report-automation-period legend b, .admin-lab-report-automation-field > span b, .admin-lab-report-automation-recipients legend b { color: var(--lab-red); }
.admin-lab-report-automation-period label { min-width: 0; padding: 13px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); cursor: pointer; }
.admin-lab-report-automation-period label:has(input:checked) { border-color: var(--lab-blue-600); box-shadow: 0 0 0 2px color-mix(in srgb,var(--lab-blue-600) 13%,transparent); background: color-mix(in srgb,var(--lab-blue-600) 7%,var(--lab-surface)); }
.admin-lab-report-automation-period label span { min-width: 0; display: grid; gap: 3px; }
.admin-lab-report-automation-period strong { color: var(--lab-ink); font-size: var(--lab-type-label); }
.admin-lab-report-automation-period small, .admin-lab-report-automation-field small, .admin-lab-report-automation-recipients > small { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 600; line-height: 1.4; }
.admin-lab-report-automation-period .admin-lab-report-automation-schedule { margin-top: 3px; color: var(--lab-blue-400); font-weight: 750; }
.admin-lab-report-automation-field { display: grid; gap: 7px; color: var(--lab-ink); font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-report-automation-field select, .admin-lab-report-automation-recipients input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--lab-line); border-radius: 8px; outline: 0; color: var(--lab-ink); background: var(--lab-surface-soft); font: inherit; font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-report-automation-field select:focus, .admin-lab-report-automation-recipients input:focus { border-color: var(--lab-blue-600); box-shadow: 0 0 0 3px color-mix(in srgb,var(--lab-blue-600) 13%,transparent); }
.admin-lab-report-automation-recipients legend { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-lab-report-automation-recipients legend small { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-report-automation-recipients > div:first-of-type { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.admin-lab-report-automation-recipients .admin-lab-button { min-width: 104px; }
.admin-lab-report-automation-email-list { min-height: 49px; margin: 9px 0 6px; padding: 8px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; border: 1px dashed var(--lab-line); border-radius: 9px; background: color-mix(in srgb,var(--lab-surface-soft) 72%,transparent); }
.admin-lab-report-automation-email-list p { margin: 0 4px; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 650; }
.admin-lab-report-automation-email { height: 31px; padding: 0 5px 0 10px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid color-mix(in srgb,var(--lab-blue-600) 25%,var(--lab-line)); border-radius: 99px; color: var(--lab-ink); background: color-mix(in srgb,var(--lab-blue-600) 8%,var(--lab-surface)); font-size: var(--lab-type-caption); font-weight: 700; }
.admin-lab-report-automation-email button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; color: var(--lab-muted); background: transparent; font: 700 16px/1 Inter,sans-serif; cursor: pointer; }
.admin-lab-report-automation-email button:hover { color: #fff; background: var(--lab-red); }
.admin-lab-report-automation-note { padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid color-mix(in srgb,var(--lab-blue-600) 25%,var(--lab-line)); border-radius: 9px; background: color-mix(in srgb,var(--lab-blue-600) 6%,var(--lab-surface)); }
.admin-lab-report-automation-note > span { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--lab-blue-600); font-size: 12px; font-weight: 850; }
.admin-lab-report-automation-note p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 650; line-height: 1.45; }

@media (max-width: 1300px) {
  .admin-lab-reports-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .admin-lab-reports-toolbar { align-items: stretch; flex-direction: column; }
  .admin-lab-reports-tabs { overflow-x: auto; }
  .admin-lab-reports-tabs button { white-space: nowrap; }
  .admin-lab-reports-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-lab-reports-filter-actions { grid-column: 1 / -1; }
  .admin-lab-reports-insights { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .admin-lab-reports-filters, .admin-lab-reports-kpis, .admin-lab-report-export-checks { grid-template-columns: 1fr; }
  .admin-lab-reports-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .admin-lab-report-automation-period { grid-template-columns: 1fr; }
  .admin-lab-report-automation-recipients > div:first-of-type { grid-template-columns: 1fr; }
  .admin-lab-report-automation-recipients .admin-lab-button { width: 100%; }
}

@media (max-width: 1300px) {
  .admin-lab-clients-table th:nth-child(3), .admin-lab-clients-table td:nth-child(3),
  .admin-lab-clients-table th:nth-child(5), .admin-lab-clients-table td:nth-child(5) { display: none; }
  .admin-lab-clients-table th:nth-child(1) { width: 19%; }
  .admin-lab-clients-table th:nth-child(2) { width: 14%; }
  .admin-lab-clients-table th:nth-child(4) { width: 12%; }
  .admin-lab-clients-table th:nth-child(6) { width: 17%; }
  .admin-lab-clients-table th:nth-child(7) { width: 16%; }
  .admin-lab-clients-table th:nth-child(8) { width: 9%; }
}

.admin-lab-actions-column { width: 151px; }
.admin-lab-row-action--approval:not(:disabled) { color: var(--lab-green); }
.admin-lab-row-action--approval:not(:disabled):hover { color: #fff; border-color: var(--lab-green); background: var(--lab-green); }
.admin-lab-approval-dialog { width: min(100%,850px); max-height: min(92vh,850px); overflow: hidden; display: flex; flex-direction: column; border-radius: 14px; }
.admin-lab-approval-header { flex: 0 0 auto; margin: 0; padding: 17px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; text-align: left; }
.admin-lab-approval-header > div { min-width: 0; display: grid; gap: 3px; }
.admin-lab-approval-header h2 { text-transform: none; }
.admin-lab-approval-header p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 600; }
.admin-lab-approval-content { min-height: 0; padding: 17px 22px; overflow-y: auto; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-content: start; gap: 13px; scrollbar-width: thin; }
.admin-lab-approval-content > * { grid-column: 1 / -1; }
.admin-lab-approval-loading { min-height: 310px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--lab-muted); text-align: center; }
.admin-lab-approval-loading > span { width: 28px; height: 28px; border: 3px solid var(--lab-line); border-top-color: var(--lab-blue-600); border-radius: 50%; animation: admin-lab-spin .8s linear infinite; }
.admin-lab-approval-loading strong { color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-approval-loading small { font-size: var(--lab-type-body); }
.admin-lab-approval-error { min-height: 250px; padding: 28px; display: grid; place-content: center; justify-items: center; gap: 8px; border: 1px solid color-mix(in srgb,var(--lab-red) 42%,var(--lab-line)); border-radius: 12px; color: var(--lab-red); background: color-mix(in srgb,var(--lab-red) 7%,var(--lab-surface)); text-align: center; }
.admin-lab-approval-error strong { font-size: var(--lab-type-card-title); }
.admin-lab-approval-error p { max-width: 520px; margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-approval-summary { padding: 16px 18px; display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,auto); gap: 20px; border: 1px solid var(--lab-line); border-radius: 12px; background: var(--lab-surface-soft); }
.admin-lab-approval-summary__identity { min-width: 0; display: grid; align-content: center; gap: 5px; }
.admin-lab-approval-summary__identity strong { overflow-wrap: anywhere; color: var(--lab-ink); font-size: var(--lab-type-brand); line-height: 1.18; }
.admin-lab-approval-summary__identity span, .admin-lab-approval-summary__identity small { color: var(--lab-muted); font-size: var(--lab-type-body); font-weight: 700; }
.admin-lab-approval-summary__state { min-width: 0; padding-left: 18px; display: grid; align-content: center; justify-items: end; gap: 5px; border-left: 1px solid var(--lab-line); text-align: right; }
.admin-lab-approval-summary__state strong { color: var(--approval-tone); font-size: var(--lab-type-card-title); }
.admin-lab-approval-summary__state time { color: var(--lab-blue-600); font-size: var(--lab-type-body); font-weight: 800; }
.admin-lab-approval-summary__state span { color: var(--lab-green); font-size: var(--lab-type-body); font-weight: 800; }
.admin-lab-approval-section { padding: 14px 16px; display: grid; gap: 8px; border: 1px solid var(--lab-line); border-radius: 11px; background: var(--lab-surface-soft); }
.admin-lab-approval-section h3 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-label); letter-spacing: .025em; text-transform: uppercase; }
.admin-lab-approval-section p { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); font-weight: 600; line-height: 1.5; white-space: pre-line; }
.admin-lab-approval-section--impediment { border-color: color-mix(in srgb,var(--lab-red) 34%,var(--lab-line)); background: color-mix(in srgb,var(--lab-red) 6%,var(--lab-surface)); }
.admin-lab-approval-section--impediment h3 { color: var(--lab-red); }
.admin-lab-approval-progress { padding: 14px 16px; border: 1px solid var(--lab-line); border-radius: 11px; background: var(--lab-surface-soft); }
.admin-lab-approval-progress h3 { margin: 0 0 11px; color: var(--lab-ink); font-size: var(--lab-type-label); text-transform: uppercase; }
.admin-lab-approval-progress__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-lab-approval-progress__step { min-width: 0; padding: 0 8px; display: grid; justify-items: center; gap: 3px; border-left: 1px solid var(--lab-line); text-align: center; }
.admin-lab-approval-progress__step:first-child { border-left: 0; }
.admin-lab-approval-progress__step i { color: var(--step-tone,var(--lab-muted)); font-size: 19px; font-style: normal; font-weight: 900; line-height: 1; }
.admin-lab-approval-progress__step small { color: var(--lab-muted); font-size: var(--lab-type-badge); font-weight: 750; }
.admin-lab-approval-progress__step time { color: var(--lab-ink); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-approval-content.is-finalized > .admin-lab-approval-section--report { grid-column: 1 / 4; }
.admin-lab-approval-content.is-finalized > .admin-lab-approval-section--materials { grid-column: 4 / 6; }
.admin-lab-approval-content.is-finalized > .admin-lab-approval-section--signature { grid-column: 1 / 3; }
.admin-lab-approval-content.is-finalized > .admin-lab-approval-section--photos { grid-column: 3 / 6; }
.admin-lab-approval-signature-meta { display: grid; grid-template-columns: 1fr; gap: 4px; }
.admin-lab-approval-signature-meta span { min-width: 0; overflow-wrap: anywhere; color: var(--lab-muted); font-size: var(--lab-type-body); font-weight: 600; }
.admin-lab-approval-signature-meta strong { color: var(--lab-ink); }
.admin-lab-approval-signature { width: 100%; height: 132px; max-height: 132px; object-fit: contain; padding: 8px; border: 1px dashed var(--lab-line); border-radius: 9px; background: #fff; }
html[data-lab-theme="dark"] .admin-lab-approval-signature { filter: invert(1) brightness(1.18) contrast(1.06); }
.admin-lab-approval-photos-header { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.admin-lab-approval-photos-controls { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.admin-lab-approval-photos-counter { min-width: 64px; color: var(--lab-muted); font-size: var(--lab-type-badge); font-weight: 750; text-align: right; white-space: nowrap; }
.admin-lab-approval-photos-nav { width: 30px; height: 28px; padding: 0; display: grid; place-items: center; border: 1px solid var(--lab-line); border-radius: 6px; color: var(--lab-ink); background: var(--lab-surface); font-size: 21px; line-height: 1; cursor: pointer; }
.admin-lab-approval-photos-nav:hover:not(:disabled) { color: #fff; border-color: var(--lab-blue-600); background: var(--lab-blue-600); }
.admin-lab-approval-photos-nav:disabled { opacity: .35; cursor: default; }
.admin-lab-approval-photos { min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 18px) / 3); gap: 9px; overflow: hidden; scroll-behavior: smooth; scrollbar-width: none; touch-action: pan-y; }
.admin-lab-approval-photos::-webkit-scrollbar { display: none; }
.admin-lab-approval-photo { min-width: 0; padding: 0; overflow: hidden; display: grid; grid-template-rows: 28px 132px; border: 1px solid var(--lab-line); border-radius: 9px; color: #fff; background: var(--lab-blue-600); cursor: pointer; }
.admin-lab-approval-photo span { display: grid; place-items: center; font-size: var(--lab-type-caption); font-weight: 800; text-transform: uppercase; }
.admin-lab-approval-photo img { width: 100%; height: 100%; object-fit: cover; background: var(--lab-surface-soft); }
.admin-lab-approval-empty { margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); font-weight: 600; }
.admin-lab-approval-actions { flex: 0 0 auto; padding: 13px 22px 18px; display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,230px); gap: 10px; border-top: 1px solid var(--lab-line); background: var(--lab-surface); }
.admin-lab-approval-actions__primary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.admin-lab-approval-actions .admin-lab-button { width: 100%; }
.admin-lab-button--return { color: var(--lab-red); border-color: color-mix(in srgb,var(--lab-red) 45%,var(--lab-line)); background: var(--lab-surface); }
.admin-lab-approval-report { background: var(--lab-navy-900); border-color: var(--lab-navy-900); }
.admin-lab-approval-confirm-modal, .admin-lab-photo-modal { z-index: 1020; }
.admin-lab-approval-confirm-dialog { width: min(100%,480px); padding: 26px; display: grid; justify-items: center; gap: 13px; overflow: hidden; text-align: center; }
.admin-lab-approval-confirm-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--lab-green) 35%,var(--lab-line)); border-radius: 16px; color: var(--lab-green); background: color-mix(in srgb,var(--lab-green) 9%,var(--lab-surface)); font-size: 34px; font-weight: 800; }
.admin-lab-approval-confirm-dialog h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-brand); }
.admin-lab-approval-confirm-dialog p { max-width: 390px; margin: 0; color: var(--lab-muted); font-size: var(--lab-type-body); line-height: 1.5; }
.admin-lab-approval-confirm-context { width: 100%; padding: 12px 14px; display: grid; gap: 3px; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); text-align: left; }
.admin-lab-approval-confirm-context strong { color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-approval-confirm-context span, .admin-lab-approval-confirm-context small { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-approval-confirm-actions { width: 100%; margin-top: 5px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 9px; }
.admin-lab-photo-dialog { width: min(100%,920px); max-height: min(94vh,900px); overflow: hidden; display: flex; flex-direction: column; border-radius: 14px; }
.admin-lab-photo-header { padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-photo-header h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-photo-header p { margin: 2px 0 0; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-photo-header small { display: block; margin-top: 2px; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-photo-stage { min-height: 0; flex: 1; padding: 14px 62px; position: relative; display: grid; place-items: center; background: color-mix(in srgb,var(--lab-navy-950) 95%,#000); touch-action: pan-y; }
.admin-lab-photo-stage img { max-width: 100%; max-height: calc(94vh - 165px); object-fit: contain; }
.admin-lab-photo-nav { position: absolute; z-index: 2; top: 50%; width: 42px; height: 52px; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.32); border-radius: 9px; color: #fff; background: rgba(3,14,29,.72); font-size: 34px; line-height: 1; cursor: pointer; }
.admin-lab-photo-nav:hover { background: var(--lab-blue-600); }
.admin-lab-photo-nav:disabled { opacity: .3; cursor: not-allowed; }
.admin-lab-photo-nav--previous { left: 12px; }
.admin-lab-photo-nav--next { right: 12px; }
.admin-lab-photo-footer { padding: 11px 18px 15px; display: flex; justify-content: flex-end; border-top: 1px solid var(--lab-line); }

@media (max-width: 900px) {
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) .admin-lab-client-form-grid { grid-template-columns: minmax(240px,1fr) minmax(190px,.8fr); }
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-name] { grid-column: 1; }
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-order-select] { grid-column: 2; }
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-color] { grid-column: 1; width: 170px; }
  .admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-priority] { grid-column: 2; grid-row: 3; }
}

@media (max-width: 620px) {
  .admin-lab-modal { padding: 12px; }
  .admin-lab-modal__header { margin-inline: 17px; }
  .admin-lab-modal__content { padding-inline: 17px; }
  .admin-lab-modal__actions { padding-inline: 17px; grid-template-columns: 1fr; }
  .admin-lab-order-form-dialog { max-height: calc(100dvh - 24px); }
  .admin-lab-order-form-header { padding-inline: 17px; }
  .admin-lab-order-form-grid { padding: 15px 17px; grid-template-columns: 1fr; gap: 13px; }
  .admin-lab-order-field--full { grid-column: auto; }
  .admin-lab-order-form-title, .admin-lab-order-form-title.is-editing { grid-template-columns: minmax(0,1fr) auto; align-items: flex-start; }
  .admin-lab-order-form-title.is-editing > div:first-child { grid-column: 1 / -1; }
  .admin-lab-order-form-header-divider { display: none !important; }
  .admin-lab-order-form-title.is-editing .admin-lab-order-form-header-actions { grid-column: 1 / -1; width: 100%; }
  .admin-lab-order-edit-notice { max-width: none; }
  .admin-lab-order-form-actions { padding-inline: 17px; display: grid; grid-template-columns: 1fr; }
  .admin-lab-order-form-status { max-width: none; }
  .admin-lab-order-form-buttons { width: 100%; margin-left: 0; display: grid; grid-template-columns: 1fr 1fr; }
  .admin-lab-order-form-actions .admin-lab-button { width: 100%; }
  .admin-lab-order-priority-options { overflow-x: auto; scrollbar-width: thin; }
  .admin-lab-order-priority-option { flex: 0 0 auto; padding-inline: 13px; }
  .admin-lab-order-notes-field > span { align-items: flex-start; }
  .admin-lab-order-notes-field i { max-width: 145px; text-align: center; line-height: 1.25; }
  .admin-lab-client-form-dialog { max-height: calc(100dvh - 24px); }
  .admin-lab-client-form-header { padding-inline: 17px; }
  .admin-lab-client-form-grid { padding: 15px 17px; grid-template-columns: 1fr; gap: 13px; }
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) .admin-lab-client-form-grid { grid-template-columns: 1fr; }
  .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-name], .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-order-select], .admin-lab-client-form-modal:is([data-scope="tipos"],[data-scope="areas"],[data-scope="prioridades"]) [data-directory-color], .admin-lab-client-form-modal[data-scope="prioridades"] [data-directory-priority] { grid-column: auto; grid-row: auto; width: 100%; }
  .admin-lab-client-form-section-title, .admin-lab-client-field--full { grid-column: auto; }
  .admin-lab-client-form-section-title { align-items: start; flex-direction: column; gap: 3px; }
  .admin-lab-client-form-section-title span { text-align: left; }
  .admin-lab-client-photo-control { grid-template-columns: 48px minmax(0,1fr); }
  .admin-lab-client-photo-control > i { width: 48px; height: 48px; }
  .admin-lab-client-photo-control > b { grid-column: 1 / -1; text-align: center; }
  .admin-lab-manager-photo-field, .admin-lab-manager-access-field { grid-column: 1 / -1; }
  .admin-lab-client-notes-field > span { align-items: flex-start; }
  .admin-lab-client-notes-field i { max-width: 145px; text-align: center; line-height: 1.25; }
  .admin-lab-client-form-actions { padding-inline: 17px; display: grid; grid-template-columns: 1fr; }
  .admin-lab-client-form-actions .admin-lab-order-form-status { max-width: none; }
  .admin-lab-client-form-buttons { width: 100%; margin-left: 0; display: grid; grid-template-columns: 1fr 1fr; }
  .admin-lab-client-form-actions .admin-lab-button { width: 100%; min-width: 0; }
  .admin-lab-client-action-dialog { max-height: calc(100dvh - 24px); }
  .admin-lab-client-action-header { margin-inline: 0; padding-inline: 17px; }
  .admin-lab-client-action-content { padding-inline: 17px; }
  .admin-lab-client-action-actions { padding-inline: 17px; display: grid; grid-template-columns: 1fr; }
  .admin-lab-client-action-actions .admin-lab-button { width: 100%; min-width: 0; }
  .admin-lab-approval-dialog { max-height: calc(100dvh - 24px); }
  .admin-lab-approval-header { padding-inline: 17px; }
  .admin-lab-approval-content { padding-inline: 17px; }
  .admin-lab-approval-content.is-finalized > .admin-lab-approval-section--report,
  .admin-lab-approval-content.is-finalized > .admin-lab-approval-section--materials,
  .admin-lab-approval-content.is-finalized > .admin-lab-approval-section--signature,
  .admin-lab-approval-content.is-finalized > .admin-lab-approval-section--photos { grid-column: 1 / -1; }
  .admin-lab-approval-summary { grid-template-columns: 1fr; gap: 11px; }
  .admin-lab-approval-summary__state { padding: 10px 0 0; justify-items: start; border-top: 1px solid var(--lab-line); border-left: 0; text-align: left; }
  .admin-lab-approval-progress__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 0; }
  .admin-lab-approval-progress__step:nth-child(3) { border-left: 0; }
  .admin-lab-approval-photos { grid-auto-columns: calc((100% - 9px) / 2); }
  .admin-lab-approval-actions { padding-inline: 17px; grid-template-columns: 1fr; }
  .admin-lab-approval-actions__primary { grid-template-columns: 1fr 1fr; }
  .admin-lab-approval-actions__primary .admin-lab-button:first-child { grid-column: 1 / -1; grid-row: 2; }
  .admin-lab-photo-stage { padding-inline: 48px; }
  .admin-lab-approval-confirm-actions { grid-template-columns: 1fr; }
}

.admin-lab-calendar-view { display: grid; gap: 14px; }
.admin-lab-calendar-toolbar {
  padding: 14px; display: grid; grid-template-columns: minmax(320px,1fr) auto minmax(150px,220px) minmax(170px,240px);
  align-items: end; gap: 11px; border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md);
  background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-calendar-navigation { min-height: 39px; display: flex; align-items: center; gap: 7px; }
.admin-lab-calendar-navigation button { height: 39px; min-width: 39px; padding: 0 11px; border: 1px solid var(--lab-line); border-radius: 8px; color: var(--lab-ink); background: var(--lab-surface); cursor: pointer; font-size: var(--lab-type-control); font-weight: 700; }
.admin-lab-calendar-navigation button:hover { color: #fff; border-color: var(--lab-blue-600); background: var(--lab-blue-600); }
.admin-lab-calendar-navigation strong { margin-left: 7px; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-calendar-mode { height: 39px; padding: 3px; display: flex; align-items: stretch; gap: 3px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-calendar-mode button { min-width: 63px; padding: 0 11px; border: 0; border-radius: 6px; color: var(--lab-muted); background: transparent; font: inherit; font-size: var(--lab-type-label); font-weight: 800; cursor: pointer; }
.admin-lab-calendar-mode button:hover { color: var(--lab-ink); background: color-mix(in srgb,var(--lab-blue-100) 45%,transparent); }
.admin-lab-calendar-mode button.is-active { color: #fff; background: var(--lab-blue-600); box-shadow: 0 2px 5px color-mix(in srgb,var(--lab-blue-600) 24%,transparent); }
.admin-lab-calendar-card > header strong { color: var(--lab-muted); white-space: nowrap; font-size: var(--lab-type-label); }
.admin-lab-calendar-scroll { min-width: 0; overflow-x: auto; }
.admin-lab-calendar-weekdays, .admin-lab-calendar-grid { min-width: 700px; display: grid; grid-template-columns: repeat(7,minmax(100px,1fr)); }
.admin-lab-calendar-weekdays[hidden] { display: none; }
.admin-lab-calendar-weekdays { border-bottom: 1px solid var(--lab-line); background: var(--lab-surface-soft); }
.admin-lab-calendar-weekdays span { padding: 9px 8px; color: var(--lab-muted); text-align: center; font-size: var(--lab-type-caption); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.admin-lab-calendar-day { min-width: 0; min-height: 112px; padding: 7px; display: grid; grid-template-rows: auto 1fr; gap: 5px; border: 0; border-right: 1px solid var(--lab-line); border-bottom: 1px solid var(--lab-line); color: var(--lab-ink); background: var(--lab-surface); text-align: left; cursor: pointer; }
.admin-lab-calendar-grid[data-view="month"] .admin-lab-calendar-day { min-height: 238px; }
.admin-lab-calendar-day:nth-child(7n) { border-right: 0; }
.admin-lab-calendar-day:hover { background: color-mix(in srgb, var(--lab-blue-100) 35%, var(--lab-surface)); }
.admin-lab-calendar-day.is-outside { color: var(--lab-muted); background: color-mix(in srgb, var(--lab-surface-soft) 75%, var(--lab-surface)); }
.admin-lab-calendar-day.is-selected { box-shadow: inset 0 0 0 2px var(--lab-blue-600); }
.admin-lab-calendar-day-number { width: 25px; height: 25px; display: grid; place-items: center; justify-self: end; border-radius: 50%; font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-calendar-day.is-today .admin-lab-calendar-day-number { color: #fff; background: var(--lab-blue-600); }
.admin-lab-calendar-grid[data-view="week"] .admin-lab-calendar-day { min-height: 410px; }
.admin-lab-calendar-grid[data-view="day"] { min-width: 0; display: block; }
.admin-lab-calendar-events { min-width: 0; display: grid; align-content: start; gap: 3px; }
.admin-lab-calendar-event { min-width: 0; min-height: 35px; padding: 3px 5px; display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 4px; border-left: 3px solid var(--event-tone); border-radius: 4px; color: var(--lab-ink); background: color-mix(in srgb, var(--event-tone) 10%, var(--lab-surface)); overflow: hidden; }
.admin-lab-calendar-event time { color: var(--event-tone); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-calendar-event strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lab-type-caption); }
.admin-lab-calendar-event small { grid-column: 1 / -1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lab-muted); font-size: var(--lab-type-badge); line-height: 1.15; }
.admin-lab-calendar-event__technician { font-weight: 700; }
.admin-lab-calendar-more { padding-left: 7px; color: var(--lab-blue-600); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-calendar-day-list { padding: 14px; display: grid; gap: 9px; }
.admin-lab-calendar-agenda-item { min-height: 70px; padding: 12px 14px; display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 14px; border: 1px solid var(--lab-line); border-left: 4px solid var(--event-tone); border-radius: 8px; background: var(--lab-surface); }
.admin-lab-calendar-agenda-item > time { color: var(--event-tone); font-size: var(--lab-type-card-title); font-weight: 850; }
.admin-lab-calendar-agenda-item > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 2px 10px; }
.admin-lab-calendar-agenda-item > div strong { color: var(--lab-ink); font-size: var(--lab-type-control); }
.admin-lab-calendar-agenda-item > div span { overflow: hidden; color: var(--lab-ink); font-size: var(--lab-type-control); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-calendar-agenda-item > div small { grid-column: 1 / -1; color: var(--lab-muted); font-size: var(--lab-type-label); font-weight: 650; }
.admin-lab-calendar-agenda-status { min-width: 112px; padding: 7px 10px; border-radius: 4px; color: var(--chip); background: color-mix(in srgb,var(--chip) 12%,var(--lab-surface)); text-align: center; font-size: var(--lab-type-label); font-weight: 800; }
.admin-lab-calendar-agenda-status.admin-lab-order-status--approved { color: var(--lab-approved-chip-ink); background: var(--lab-approved-chip-bg); }
.admin-lab-calendar-empty { min-height: 220px; padding: 30px; display: grid; place-content: center; gap: 5px; color: var(--lab-muted); text-align: center; }
.admin-lab-calendar-empty strong { color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-calendar-empty span { font-size: var(--lab-type-body); }

.admin-lab-settings-view { display: grid; gap: 14px; }
.admin-lab-settings-intro {
  padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border: 1px solid var(--lab-line); border-radius: var(--lab-radius-md); background: var(--lab-surface); box-shadow: var(--lab-shadow-1);
}
.admin-lab-settings-intro > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; }
.admin-lab-settings-intro__icon { width: 36px; height: 36px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 10px; color: var(--lab-blue-600); background: var(--lab-blue-100); }
.admin-lab-settings-intro__icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-lab-settings-intro h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-settings-intro p { margin: 3px 0 0; color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-readonly-badge { padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--lab-blue-600) 30%, var(--lab-line)); border-radius: 999px; color: var(--lab-blue-600); background: color-mix(in srgb, var(--lab-blue-100) 65%, var(--lab-surface)); font-size: var(--lab-type-caption); font-weight: 800; white-space: nowrap; }
.admin-lab-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.admin-lab-settings-grid > div { min-width: 0; }
.admin-lab-settings-grid > #adminLabSettingsEmail > .admin-lab-settings-card,
.admin-lab-settings-grid > #adminLabSettingsBackups > .admin-lab-settings-card,
.admin-lab-settings-grid > #adminLabSettingsAudit > .admin-lab-settings-card,
.admin-lab-settings-grid > #adminLabSettingsActions > .admin-lab-settings-card { height: 100%; }
.admin-lab-settings-grid > #adminLabSettingsEmail > .admin-lab-settings-card { display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.admin-lab-settings-grid > #adminLabSettingsActions > .admin-lab-settings-card { display: flex; flex-direction: column; }
.admin-lab-settings-grid > #adminLabSettingsSecurity { grid-column: 1 / -1; }
.admin-lab-settings-card { overflow: hidden; }
.admin-lab-settings-card > header { padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-settings-card > header h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-settings-card > header p { margin: 3px 0 0; color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-settings-values { padding: 6px 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-lab-setting-value { min-width: 0; padding: 11px 0; display: grid; gap: 3px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-setting-value:nth-child(odd) { padding-right: 14px; }
.admin-lab-setting-value:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--lab-line); }
.admin-lab-setting-value span { color: var(--lab-muted); font-size: var(--lab-type-caption); font-weight: 700; }
.admin-lab-setting-value strong { min-width: 0; overflow-wrap: anywhere; color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-subgrid { padding: 12px 16px 16px; display: grid; gap: 8px; }
.admin-lab-settings-subgrid section { padding: 11px 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-settings-subgrid section strong { color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-subgrid section span { color: var(--lab-blue-600); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-settings-subgrid section small { grid-column: 1 / -1; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-settings-security-layout { position: relative; }
.admin-lab-settings-security-main { width: 50%; min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--lab-line); }
.admin-lab-settings-security-main > header { padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-settings-security-main > header h2 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-card-title); }
.admin-lab-settings-security-main > header p { margin: 3px 0 0; color: var(--lab-muted); font-size: var(--lab-type-body); }
.admin-lab-settings-security-main .admin-lab-settings-subgrid { flex: 1 1 auto; }
.admin-lab-settings-security-side { position: absolute; inset: 0 0 0 50%; min-width: 0; min-height: 0; padding: 10px; display: grid; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 10px; overflow: hidden; }
.admin-lab-settings-security-side > section { min-height: 0; display: flex; flex-direction: column; }
.admin-lab-settings-security-side .admin-lab-settings-list { min-height: 0; overflow-y: auto; }
.admin-lab-settings-inner-card { min-width: 0; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); }
.admin-lab-settings-inner-card > header { min-height: 72px; padding: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-settings-inner-card > header > div { min-width: 0; }
.admin-lab-settings-inner-card > header h3 { margin: 0; color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-inner-card > header p { margin: 3px 0 0; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-settings-inner-card .admin-lab-settings-list { padding: 10px; }
.admin-lab-settings-inner-card .admin-lab-settings-list section { background: var(--lab-surface); }
.admin-lab-settings-inner-card .admin-lab-settings-empty { padding: 14px 12px; }
.admin-lab-settings-note, .admin-lab-settings-empty { margin: 0; padding: 12px 16px 16px; color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-settings-status { border-radius: 4px; }
.admin-lab-settings-status::before { display: none; }
.admin-lab-settings-list { padding: 12px 16px 16px; display: grid; gap: 8px; }
.admin-lab-settings-list section { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-settings-list section > div { min-width: 0; display: grid; gap: 3px; }
.admin-lab-settings-list strong { color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-list span { color: var(--lab-blue-600); font-size: var(--lab-type-caption); font-weight: 800; }
.admin-lab-settings-list small { color: var(--lab-muted); font-size: var(--lab-type-caption); line-height: 1.35; }
.admin-lab-settings-unban { width: auto; min-width: 94px; min-height: 34px; flex: 0 0 auto; padding-inline: 12px; }
.admin-lab-settings-history section { min-height: 64px; }
.admin-lab-settings-actions-list { flex: 1 1 auto; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: minmax(64px,1fr); }
.admin-lab-settings-overview-sections { padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-lab-settings-overview-sections .admin-lab-settings-values { padding: 5px 10px 10px; }
.admin-lab-settings-overview-sections .admin-lab-setting-value:nth-child(2n) { border-right: 0; }
.admin-lab-settings-recent { margin: 0 16px 16px; padding: 11px 12px; display: grid; gap: 4px; border: 1px solid var(--lab-line); border-radius: 9px; background: var(--lab-surface-soft); }
.admin-lab-settings-recent strong { color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-recent span { color: var(--lab-muted); font-size: var(--lab-type-caption); line-height: 1.45; overflow-wrap: anywhere; }
.admin-lab-settings-email-log { margin: 10px 16px 0; overflow: hidden; border: 1px solid var(--lab-line); border-radius: 10px; background: var(--lab-surface-soft); }
.admin-lab-settings-email-log__header { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--lab-line); }
.admin-lab-settings-email-log__header strong { color: var(--lab-ink); font-size: var(--lab-type-body); }
.admin-lab-settings-email-log__header span { color: var(--lab-muted); font-size: var(--lab-type-caption); }
.admin-lab-settings-email-log .admin-lab-settings-list { max-height: 360px; padding: 10px; overflow-y: auto; }
.admin-lab-settings-email-log .admin-lab-settings-list section { background: var(--lab-surface); }
.admin-lab-settings-email-log .admin-lab-settings-list section > div { overflow: hidden; }
.admin-lab-settings-email-log .admin-lab-settings-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-lab-settings-audit-label { color: var(--lab-blue-600) !important; }
.admin-lab-settings-audit-label.is-danger { color: #dc2626 !important; }
.admin-lab-settings-audit-sections { padding: 16px; display: grid; gap: 10px; }
.admin-lab-settings-audit-table-wrap { max-width: 100%; overflow-x: auto; }
.admin-lab-settings-audit-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.admin-lab-settings-audit-table th:nth-child(1) { width: 17%; }
.admin-lab-settings-audit-table th:nth-child(2) { width: 25%; }
.admin-lab-settings-audit-table th:nth-child(3) { width: 18%; }
.admin-lab-settings-audit-table th:nth-child(4) { width: 18%; }
.admin-lab-settings-audit-table th:nth-child(5) { width: 22%; }
.admin-lab-settings-audit-table th, .admin-lab-settings-audit-table td { padding: 10px 7px; overflow: hidden; border-top: 1px solid var(--lab-line); color: var(--lab-muted); text-align: left; text-overflow: ellipsis; font-size: var(--lab-type-caption); white-space: nowrap; }
.admin-lab-settings-audit-table th { color: var(--lab-muted); background: color-mix(in srgb,var(--lab-surface-soft) 82%,var(--lab-surface)); font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.admin-lab-settings-audit-table td strong { display: block; overflow: hidden; color: var(--lab-ink); text-overflow: ellipsis; font-size: var(--lab-type-label); }
.admin-lab-settings-audit-result { max-width: 100%; min-width: 0; display: inline-flex; justify-content: center; padding: 4px 6px; border-radius: 4px; font-weight: 800; }
.admin-lab-settings-audit-result.is-success { color: #16a34a; background: color-mix(in srgb,#16a34a 12%,transparent); }
.admin-lab-settings-audit-result.is-danger { color: #dc2626; background: color-mix(in srgb,#dc2626 12%,transparent); }
.admin-lab-settings-skeleton { padding: 16px; display: grid; gap: 10px; }
.admin-lab-settings-skeleton span { height: 15px; border-radius: 4px; background: linear-gradient(90deg,var(--lab-surface-soft),color-mix(in srgb,var(--lab-blue-100) 65%,var(--lab-surface)),var(--lab-surface-soft)); background-size: 220% 100%; animation: admin-lab-settings-loading 1.2s ease-in-out infinite; }
.admin-lab-settings-skeleton span:nth-child(2) { width: 78%; }
.admin-lab-settings-skeleton span:nth-child(3) { width: 58%; }
@keyframes admin-lab-settings-loading { to { background-position: -220% 0; } }
.admin-lab-priorities-table { min-width: 760px; }

.lab-access-state { height: 100%; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--lab-muted); background: var(--lab-canvas); text-align: center; }
.lab-access-state strong { color: var(--lab-ink); font-size: var(--lab-type-access); }
.lab-access-state span { font-size: var(--lab-type-body); }
.lab-spinner { width: 26px; height: 26px; border: 3px solid var(--lab-line); border-top-color: var(--lab-blue-600); border-radius: 50%; animation: lab-spin .8s linear infinite; }
@keyframes lab-spin { to { transform: rotate(360deg); } }
.lab-toast { position: fixed; z-index: 100; left: 50%; bottom: 22px; transform: translate(-50%, 18px); max-width: min(440px, calc(100vw - 32px)); padding: 10px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; color: #fff; background: var(--lab-blue-600); box-shadow: 0 10px 28px rgba(40,120,227,.34); opacity: 0; pointer-events: none; transition: .2s ease; font-size: var(--lab-type-body); font-weight: 600; }
.lab-toast.is-visible { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1180px) {
  .admin-lab-shell { grid-template-columns: 184px minmax(0,1fr); }
  .admin-lab-stats { grid-template-columns: repeat(3,minmax(120px,1fr)); }
  .admin-lab-dashboard-grid { grid-template-columns: 1fr; }
  .admin-lab-map { min-height: 280px; height: 280px; flex: 0 0 280px; }
  .admin-lab-orders-filters { grid-template-columns: repeat(2,minmax(160px,1fr)); }
  .admin-lab-directory-filters { grid-template-columns: repeat(2,minmax(160px,1fr)); }
  .admin-lab-catalog-filters { grid-template-columns: repeat(2,minmax(160px,1fr)); }
  .admin-lab-maps-toolbar { grid-template-columns: repeat(2,minmax(160px,1fr)); }
  .admin-lab-maps-actions { grid-column: 1 / -1; }
  .admin-lab-map-summary { grid-template-columns: repeat(3,minmax(110px,1fr)); }
  .admin-lab-maps-grid { grid-template-columns: 1fr; }
  .admin-lab-map-team { max-height: none; }
  .admin-lab-filter-actions { justify-content: flex-end; }
  .admin-lab-calendar-toolbar { grid-template-columns: minmax(280px,1fr) auto; }
  .admin-lab-calendar-grid[data-view="month"] .admin-lab-calendar-day { min-height: 164px; }
}

@media (max-width: 820px) {
  body { overflow: auto; }
  .lab-toolbar { grid-template-columns: 1fr auto; }
  .lab-segmented { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
  .lab-toolbar__actions { grid-column: 2; grid-row: 1; }
  .lab-stage { height: calc(100vh - 112px); padding: 8px; }
  .lab-stage[data-lab-view="compare"] { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .admin-lab-sidebar { position: fixed; z-index: 1200; inset: 0 auto 0 0; width: min(86vw,310px); display: flex; transform: translateX(-102%); transition: transform .22s ease; box-shadow: 16px 0 42px rgba(3,14,29,.3); }
  body.admin-lab-mobile-nav-open .admin-lab-sidebar { transform: translateX(0); }
  .admin-lab-mobile-nav-backdrop { position: fixed; z-index: 1190; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: rgba(3,14,29,.62); backdrop-filter: blur(2px); }
  .admin-lab-mobile-menu { display: block; }
  body.admin-lab-mobile-nav-open { overflow: hidden !important; }
  .admin-lab-nav { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
  .admin-lab-system-monitor-slot { flex: 0 0 auto; min-height: 0; }
  .admin-lab-shell { grid-template-columns: 1fr; }
  .admin-lab-workspace { grid-template-rows: auto minmax(0,1fr); }
  .admin-lab-topbar { min-height: 58px; padding: 9px 10px; gap: 8px; flex-wrap: wrap; }
  .admin-lab-search { order: 3; min-width: 100%; max-width: none; height: 42px; flex-basis: 100%; }
  .admin-lab-topbar__actions { margin-left: auto; }
  .admin-lab-icon-action[aria-label="Notificações"] { display: none; }
  .admin-lab-account-area { min-height: 38px; margin-left: 0; padding-left: 6px; gap: 4px; }
  .admin-lab-profile { height: 38px; padding-inline: 2px; }
  .admin-lab-profile__avatar { width: 34px; height: 34px; flex-basis: 34px; }
  .admin-lab-profile__identity { display: none; }
  .admin-lab-account-logout { width: 38px; height: 38px; }
  .admin-lab-profile-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); overflow-y: auto; scrollbar-width: none; }
  .admin-lab-profile-dialog::-webkit-scrollbar { display: none; }
  .admin-lab-profile-content { padding: 14px 15px; }
  .admin-lab-profile-summary { padding: 14px; gap: 12px; }
  .admin-lab-profile-photo { width: 72px; flex-basis: 72px; }
  .admin-lab-profile-photo > span { width: 64px; height: 64px; }
  .admin-lab-profile-grid { grid-template-columns: 1fr; }
  .admin-lab-profile-section-title, .admin-lab-profile-security { align-items: flex-start; flex-direction: column; }
  .admin-lab-profile-section-title span { text-align: left; }
  .admin-lab-profile-security button { width: 100%; }
  .admin-lab-icon-action, .admin-lab-primary { min-width: 38px; height: 38px; }
  .admin-lab-content { padding: 14px 12px 24px; }
  .admin-lab-pagehead { align-items: flex-start; flex-direction: column; gap: 10px; }
  .admin-lab-pagehead__meta { width: 100%; justify-content: space-between; }
  .admin-lab-pagehead__meta span, .admin-lab-pagehead__meta small { display: inline; }
  .admin-lab-pagehead__meta span { flex: 1; }
  .admin-lab-pagehead__meta small { white-space: nowrap; }
  .admin-lab-pagehead h1 { font-size: 24px; }
  .admin-lab-card { border-radius: 12px; }
  .admin-lab-card > header { padding-inline: 14px; }
  .admin-lab-table-wrap { max-width: calc(100vw - 24px); overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .admin-lab-table-wrap table { min-width: 760px; }
  .admin-lab-clients-table th, .admin-lab-clients-table td { display: table-cell; }
  .admin-lab-calendar-card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .admin-lab-calendar-card > header { min-width: 700px; }
  .admin-lab-stats { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
  .admin-lab-stat { min-width: 150px; scroll-snap-align: start; }
  .admin-lab-orders-filters { grid-template-columns: 1fr; }
  .admin-lab-directory-filters { grid-template-columns: 1fr; }
  .admin-lab-catalog-filters { grid-template-columns: 1fr; }
  .admin-lab-maps-toolbar { grid-template-columns: 1fr; }
  .admin-lab-map-summary { display: flex; overflow-x: auto; }
  .admin-lab-map-summary article { min-width: 155px; }
  .admin-lab-maps-grid { min-height: 0; }
  .admin-lab-map-stage, .admin-lab-operations-map { min-height: 410px; }
  .admin-lab-map-person { grid-template-columns: auto minmax(0,1fr); }
  .admin-lab-map-person__status { grid-column: 1 / -1; justify-items: start; border-left: 0; border-top: 1px solid var(--lab-line); padding: 9px 0 0; }
  .admin-lab-filter-actions { justify-content: stretch; }
  .admin-lab-filter-actions .admin-lab-button { flex: 1; }
  .admin-lab-calendar-toolbar { grid-template-columns: 1fr; }
  .admin-lab-calendar-navigation { flex-wrap: wrap; }
  .admin-lab-calendar-navigation strong { width: 100%; margin: 4px 0 0; }
  .admin-lab-calendar-mode { width: 100%; }
  .admin-lab-calendar-mode button { flex: 1; }
  .admin-lab-calendar-agenda-item { grid-template-columns: 58px minmax(0,1fr); }
  .admin-lab-calendar-agenda-status { grid-column: 2; justify-self: start; }
  .admin-lab-settings-grid { grid-template-columns: 1fr; }
  .admin-lab-settings-grid > #adminLabSettingsSecurity { grid-column: auto; }
  .admin-lab-settings-actions-list { grid-template-columns: 1fr; }
  .admin-lab-settings-security-main { width: 100%; border-right: 0; border-bottom: 1px solid var(--lab-line); }
  .admin-lab-settings-security-side { position: static; grid-template-rows: none; overflow: visible; }
  .admin-lab-settings-security-side .admin-lab-settings-list { overflow: visible; }
  .admin-lab-modal { padding: 0; align-items: stretch; }
  .admin-lab-modal__dialog, .admin-lab-order-form-dialog, .admin-lab-client-form-dialog, .admin-lab-approval-dialog, .admin-lab-photo-dialog, .admin-lab-report-export-dialog { width: 100%; max-width: none; max-height: 100dvh; min-height: 100dvh; border-width: 0; border-radius: 0; }
  .admin-lab-modal-close { width: 42px; height: 42px; flex-basis: 42px; }
  .admin-lab-button, .admin-lab-filter-actions button, .admin-lab-pagination button { min-height: 44px; }
  .admin-lab-multiselect__popover, .admin-lab-date-popover { position: fixed; z-index: 1300; inset: auto 12px 12px; width: auto; max-width: none; max-height: min(65dvh,520px); overflow-y: auto; }
}

@media (max-width: 520px) {
  .lab-toolbar__identity strong { max-width: 220px; font-size: var(--lab-type-toolbar); }
  .lab-exit { padding: 0 9px; font-size: 0; }
  .lab-exit::after { content: 'Sair'; font-size: var(--lab-type-body); }
  .lab-segmented button { flex: 1; padding-inline: 7px; }
  .admin-lab-primary { font-size: 0; width: 34px; padding: 0; }
  .admin-lab-primary span { font-size: var(--lab-type-access); }
  .admin-lab-pagehead p { max-width: none; }
  .admin-lab-pagehead__meta span { display: none; }
  .admin-lab-pagehead__meta small { margin-left: 0; }
  .admin-lab-pagehead__meta button { min-height: 40px; }
  .admin-lab-card--table { min-height: 360px; }
  .admin-lab-settings-intro { align-items: flex-start; }
  .admin-lab-settings-intro > div { grid-template-columns: 1fr; }
  .admin-lab-settings-intro__icon { display: none; }
  .admin-lab-settings-values { grid-template-columns: 1fr; }
  .admin-lab-setting-value:nth-child(odd), .admin-lab-setting-value:nth-child(even) { padding-inline: 0; border-left: 0; }
  .admin-lab-settings-list section { align-items: flex-start; flex-direction: column; }
  .admin-lab-settings-overview-sections { grid-template-columns: 1fr; }
  .admin-lab-date-popover { right: auto; left: 0; width: min(330px, calc(100vw - 56px)); }
  .admin-lab-date-range { grid-template-columns: 1fr; }
  .admin-lab-multiselect__popover { width: 100%; max-width: none; }
  .admin-lab-pagination { flex-wrap: wrap; }
  .admin-lab-pagination__controls { width: 100%; justify-content: space-between; }
  .admin-lab-pagination__page, .admin-lab-pagination__ellipsis { display: none !important; }
  .admin-lab-pagination__controls > [id$="Prev"] { order: 0; }
  .admin-lab-pagination__summary { order: 1; margin: 0; text-align: center; }
  .admin-lab-pagination__controls > [id$="Next"] { order: 2; }
}
