﻿/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  transition: transform .05s ease, background .15s ease, border-color .15s ease;
  text-decoration:none;
  user-select:none;
  max-width:100%;
  overflow:hidden;
}
.btn span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.btn:active{transform: translateY(1px)}
.btn.primary{
  background: linear-gradient(180deg, rgba(34,197,94,.22), rgba(34,197,94,.12));
  border-color: rgba(34,197,94,.30);
}
.btn.primary:hover{background: linear-gradient(180deg, rgba(34,197,94,.26), rgba(34,197,94,.14))}
.btn.danger{
  background: linear-gradient(180deg, rgba(239,68,68,.22), rgba(239,68,68,.10));
  border-color: rgba(239,68,68,.30);
}
.btn.warn{
  background: linear-gradient(180deg, rgba(245,158,11,.22), rgba(245,158,11,.10));
  border-color: rgba(245,158,11,.30);
  color: #fbbf24;
}
.btn.warn:hover{ background: linear-gradient(180deg, rgba(245,158,11,.30), rgba(245,158,11,.15)) }
.btn.ghost{background:transparent}
.btn.small{padding:8px 10px;border-radius:12px;font-size:13px}
.btn.icon{width:44px;height:44px;padding:0;border-radius:14px}
.btn.icon.small{width:38px;height:38px;border-radius:12px}
.btn:disabled{opacity:.55;cursor:not-allowed}

/* Cards */
.card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
}
.card.pad{padding: var(--pad)}
.card .card-title{
  font-weight:800;
  letter-spacing:.2px;
  margin:0;
}
.card .card-sub{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}
.grid{
  display:grid;
  gap:14px;
}
.grid.cols-4{grid-template-columns: repeat(4, minmax(0,1fr))}
.grid.cols-3{grid-template-columns: repeat(3, minmax(0,1fr))}
.grid.cols-2{grid-template-columns: repeat(2, minmax(0,1fr))}
@media (max-width: 1024px){
  .grid.cols-4, .grid.cols-3{grid-template-columns: 1fr 1fr}
}
@media (max-width: 760px){
  .grid.cols-4, .grid.cols-3, .grid.cols-2{grid-template-columns: 1fr}
}

.stat{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start;
}
.stat .value{font-size:28px;font-weight:900}
.stat .label{color:var(--muted); font-size:13px}
.badge{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--muted);
}
.badge.good{border-color:rgba(34,197,94,.28); background:rgba(34,197,94,.12); color:rgba(229,231,235,.95)}
.badge.warn{border-color:rgba(245,158,11,.28); background:rgba(245,158,11,.10); color:rgba(229,231,235,.95)}
.badge.bad{border-color:rgba(239,68,68,.28); background:rgba(239,68,68,.10); color:rgba(229,231,235,.95)}

/* Tables */
.table-wrap{overflow:auto;border-radius: var(--radius); border:1px solid var(--border); background:rgba(255,255,255,.02);width:100%;max-width:100%;-webkit-overflow-scrolling:touch}
table{width:100%; border-collapse: collapse; min-width: 860px}
th,td{padding:12px 12px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; font-size:14px}
th{color:rgba(229,231,235,.86); font-weight:800; letter-spacing:.02em; background:rgba(255,255,255,.03); position:sticky; top:0}
tr:hover td{background:rgba(255,255,255,.02)}
td.muted{color:var(--muted)}
td.actions{white-space:normal;vertical-align:middle}
.action-stack .btn{margin:0}
td.actions > .btn,
td.actions > a.btn{margin-right:6px}

.page-hero{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(160deg, rgba(15,23,42,.94), rgba(9,14,25,.88)),
    radial-gradient(420px 220px at 12% 0%, rgba(34,197,94,.14), transparent 70%);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  overflow:hidden;
  isolation:isolate;
}

@media (max-width: 980px){
  .page-hero{
    padding:20px;
    flex-direction:column;
  }
  .page-actions{
    justify-content:flex-start;
  }
  .filter-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .page-title-lg{
    font-size:26px;
  }
  .page-actions .btn{
    flex:1 1 220px;
  }
  .filter-input{
    min-width:0;
    width:100%;
  }
  .table-panel{
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .table-panel::before{
    content:none;
  }
  .month-strip{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .table-wrap table.table-responsive-ready td.actions,
  .table-wrap table.table-responsive-ready td[data-label="Ações"]{
    display:block;
    text-align:left;
  }
  .table-wrap table.table-responsive-ready td.actions::before,
  .table-wrap table.table-responsive-ready td[data-label="Ações"]::before{
    display:block;
    margin-bottom:2px;
  }
  .table-wrap table.table-responsive-ready td.actions .action-stack,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    justify-self:stretch;
  }
}

@media (max-width: 420px){
  .table-wrap table.table-responsive-ready td.actions .action-stack,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    grid-template-columns:1fr;
  }
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:-35% auto auto 52%;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(56,189,248,.16), transparent 68%);
  filter:blur(10px);
  opacity:.9;
  pointer-events:none;
}
.page-hero-content{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  min-width:0;
  flex:1;
}
.page-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(229,231,235,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.page-title-lg{
  margin:0;
  font-size:30px;
  font-weight:900;
  letter-spacing:-.03em;
}
.page-hero-content > h2{
  margin:0;
  font-size:30px;
  font-weight:900;
  letter-spacing:-.03em;
}
.page-subtitle{
  max-width:760px;
  color:var(--muted);
  line-height:1.55;
}
.page-hero-content > .help{
  max-width:760px;
  margin-top:0;
  color:var(--muted);
  line-height:1.55;
}
.page-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
}
.page-actions .btn{
  min-height:42px;
}

.filter-shell{
  position:relative;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,23,42,.88), rgba(12,18,30,.8));
  box-shadow:var(--shadow2);
}
.filter-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:center;
}
.filter-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  min-width:0;
}
.filter-input{
  flex:1;
  min-width:240px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:12px 14px;
  border-radius:16px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.filter-input:focus{
  border-color:rgba(56,189,248,.30);
  box-shadow:0 0 0 4px rgba(56,189,248,.10);
  background:rgba(255,255,255,.045);
}

.table-panel{
  position:relative;
  padding:10px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,23,42,.9), rgba(9,14,25,.84));
  box-shadow:0 22px 60px rgba(0,0,0,.34);
  overflow:hidden;
}
.table-panel::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, rgba(34,197,94,.45), rgba(56,189,248,.35), transparent 72%);
  pointer-events:none;
}
.table-panel .table-wrap{
  position:relative;
  border-radius:22px;
  border-color:rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.018));
}

.data-table{
  width:100%;
  table-layout:fixed;
}
.data-table--clients{
  min-width:0;
  table-layout:auto;
}
.data-table--catalog{
  min-width:0;
  table-layout:auto;
}
.data-table--vehicles{min-width:940px}
.data-table--os{
  min-width:0;
  table-layout:auto;
}
.data-table th{
  padding:14px;
  background:rgba(255,255,255,.035);
  color:rgba(229,231,235,.9);
}
.data-table td{
  padding:14px;
  vertical-align:middle;
}
.data-table tr:hover td{
  background:rgba(255,255,255,.028);
}
.table-cell-stack{
  display:grid;
  gap:4px;
  min-width:0;
}
.table-primary{
  min-width:0;
  font-weight:800;
  line-height:1.35;
}
.table-secondary{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.status-stack{
  display:grid;
  gap:6px;
  min-width:0;
  justify-items:start;
  align-content:start;
}
.status-stack .badge,
.status-stack .table-secondary{
  margin:0;
}
.plate-pill-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}
.plate-pill{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(229,231,235,.92);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.plate-pill.more{
  color:var(--muted);
  background:rgba(255,255,255,.02);
}
.action-stack{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  justify-self:stretch;
  min-width:0;
}
.action-btn{
  min-height:36px;
  padding:7px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
.action-btn.icon-only{
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  border-radius:12px;
}
.action-btn.icon-only i{
  font-size:13px;
}
.os-action-stack{
  flex-wrap:nowrap;
  gap:6px;
}
.os-action-stack .action-btn.primary{
  min-width:36px;
}
.clients-action-stack{
  flex-wrap:nowrap;
  gap:6px;
}
.clients-table-tight td{
  padding:12px 10px;
}
.clients-table-tight .table-primary{
  font-size:13px;
}
.data-table--catalog th:nth-child(1),
.data-table--catalog td:nth-child(1){
  width:32%;
}
.data-table--catalog th:nth-child(2),
.data-table--catalog td:nth-child(2){
  width:18%;
}
.data-table--catalog th:nth-child(3),
.data-table--catalog td:nth-child(3){
  width:18%;
}
.data-table--catalog th:nth-child(4),
.data-table--catalog td:nth-child(4){
  width:12%;
}
.data-table--catalog th:nth-child(5),
.data-table--catalog td:nth-child(5){
  width:20%;
}
.catalog-status-stack{
  min-height:40px;
  gap:4px;
}
.catalog-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:32px;
  padding:6px 12px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalog-price-cell{
  white-space:nowrap;
}
.catalog-action-stack{
  gap:6px;
  justify-content:flex-end;
}
.catalog-action-stack .action-btn{
  min-width:92px;
}

@media (max-width: 980px){
  .data-table--catalog th:nth-child(1),
  .data-table--catalog td:nth-child(1){
    width:30%;
  }
  .data-table--catalog th:nth-child(2),
  .data-table--catalog td:nth-child(2){
    width:16%;
  }
  .data-table--catalog th:nth-child(3),
  .data-table--catalog td:nth-child(3){
    width:22%;
  }
  .data-table--catalog th:nth-child(4),
  .data-table--catalog td:nth-child(4){
    width:12%;
  }
  .data-table--catalog th:nth-child(5),
  .data-table--catalog td:nth-child(5){
    width:20%;
  }
}

@media (max-width: 760px){
  .data-table--catalog.table-responsive-ready td > *{
    justify-self:start;
    text-align:left;
  }
  .data-table--catalog.table-responsive-ready td.catalog-price-cell > *{
    justify-self:end;
    text-align:right;
  }
  .data-table--catalog.table-responsive-ready .catalog-status-stack{
    justify-items:start;
  }
  .data-table--catalog.table-responsive-ready .catalog-action-stack{
    justify-content:stretch;
  }
  .data-table--catalog.table-responsive-ready .catalog-action-stack .action-btn{
    min-width:0;
  }
}
.clients-table-tight .table-secondary{
  font-size:11px;
}
.os-table-tight td{
  padding:12px 10px;
}
.os-table-tight .table-primary{
  font-size:13px;
}
.os-table-tight .table-secondary{
  font-size:11px;
}
.oil-stat-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.oil-filter-grid{
  display:grid;
  grid-template-columns:minmax(280px, 1.15fr) minmax(420px, 1fr);
  gap:14px;
  align-items:start;
}
.oil-filter-grid > *{
  min-width:0;
}
.oil-filter-grid .filter-main{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:12px;
  align-items:center;
}
.oil-filter-side{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  min-width:0;
}
.oil-filter-side .field{
  min-width:0;
}
.oil-table td{
  vertical-align:middle;
}
.oil-table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px 8px;
  border-top:1px solid rgba(255,255,255,.08);
}
.oil-table-summary{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.oil-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.oil-pagination .btn{
  min-width:40px;
  min-height:36px;
  padding:8px 12px;
}
.oil-pagination .btn.active{
  border-color:rgba(34,197,94,.34);
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(255,255,255,.03));
  color:#eafff1;
}
.smtp-inline-field{
  margin-top:2px;
}
.smtp-inline-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.03);
}
.smtp-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
  min-width:0;
  color:var(--text);
}
.smtp-toggle input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
  accent-color:rgb(34,197,94);
}
.smtp-toggle span{
  line-height:1.35;
}
.oil-mini-thumbs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.oil-mini-thumb{
  width:44px;
  height:44px;
  border:none;
  padding:0;
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  cursor:pointer;
}
.oil-mini-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.oil-action-stack{
  flex-wrap:nowrap;
  gap:6px;
}
.oil-upload-grid .card{
  min-height:132px;
}
.oil-photo-zoom{
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
}

@media (max-width: 640px){
  .oil-stat-grid{
    grid-template-columns:1fr 1fr;
  }
  .oil-filter-grid{
    grid-template-columns:1fr;
  }
  .oil-filter-grid .filter-main{
    grid-template-columns:1fr;
  }
  .oil-filter-side{
    grid-template-columns:1fr;
  }
  .oil-table-footer{
    flex-direction:column;
    align-items:flex-start;
  }
  .oil-pagination{
    justify-content:flex-start;
  }
  .smtp-inline-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .smtp-inline-actions .btn{
    width:100%;
  }
  .table-wrap table.table-responsive-ready td[data-label="Ações"],
  .table-wrap table.table-responsive-ready td[data-label="Ações"]::before,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    all: revert;
  }
  .table-wrap table.table-responsive-ready td[data-label="Ações"]{
    display:block;
    text-align:left;
  }
  .table-wrap table.table-responsive-ready td[data-label="Ações"]::before{
    content:attr(data-label);
    display:block;
    margin-bottom:2px;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
  }
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    justify-self:stretch;
  }
}

@media (max-width: 420px){
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    grid-template-columns:1fr;
  }
}

/* Forms */
.form-grid{
  display:grid; gap:12px;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 720px){ .form-grid{grid-template-columns:1fr} }
.field label{display:block; font-size:12px; color:var(--muted); margin-bottom:6px}
.field input, .field select, .field textarea{
  width:100%;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: rgba(34,197,94,.35);
  box-shadow: 0 0 0 4px rgba(34,197,94,.10);
}
.field textarea{min-height:92px; resize:vertical}
.help{font-size:12px;color:var(--muted); margin-top:6px}
.help,.card .card-sub{
  overflow-wrap:anywhere;
}
.inline-split{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:end;
  min-width:0;
}
.month-strip{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:8px;
}
.month-chip{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.month-chip:hover{
  background:rgba(255,255,255,.05);
  color:var(--text);
}
.month-chip.active{
  background:linear-gradient(180deg, rgba(34,197,94,.20), rgba(34,197,94,.12));
  border-color:rgba(34,197,94,.30);
  color:var(--text);
}

.select2-container{
  width:100% !important;
}
.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single.oficina-select2-selection{
  height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.03) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}
.select2-container--open .select2-selection--single,
.select2-container--open .select2-selection--single.oficina-select2-selection{
  border-color:rgba(34,197,94,.35) !important;
  box-shadow:0 0 0 4px rgba(34,197,94,.10) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single.oficina-select2-selection .select2-selection__rendered{
  line-height:42px !important;
  color:var(--text) !important;
  padding:0 38px 0 12px !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--default .select2-selection--single.oficina-select2-selection .select2-selection__placeholder{
  color:var(--muted) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single.oficina-select2-selection .select2-selection__arrow{
  height:42px !important;
  right:8px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--default .select2-selection--single.oficina-select2-selection .select2-selection__arrow b{
  border-color:rgba(229,231,235,.74) transparent transparent transparent !important;
}
.select2-dropdown,
.select2-dropdown.oficina-select2-dropdown{
  z-index:120 !important;
  min-width:0 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:#0f172a !important;
  color:var(--text) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 18px 36px rgba(0,0,0,.42) !important;
}
.field .select2-container,
.inline-split .select2-container{
  min-width:0 !important;
}
/* ── Catalog inline item builder ── */
.catalog-inline-card{
  border:1px solid var(--border);
  border-radius:var(--radius2);
  background:rgba(255,255,255,.03);
  padding:14px 16px;
  margin-bottom:0;
}
.catalog-inline-builder{
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.catalog-inline-builder > .field:first-child{
  flex:1;
  min-width:200px;
}
.catalog-inline-qty{
  width:110px;
  flex-shrink:0;
}
.catalog-inline-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex-shrink:0;
}
/* Push buttons down to align with the inputs (offset = label line-height + gap) */
.catalog-inline-actions::before{
  content:"";
  display:block;
  height:calc(1em + 6px); /* matches label font-size + .field gap */
  flex-shrink:0;
}
.catalog-inline-actions .btn-row{
  display:flex;
  gap:8px;
}
.catalog-inline-actions .btn{
  height:44px;
  white-space:nowrap;
}
.catalog-inline-actions .btn-secondary-inline{
  height:44px;
  font-size:12px;
  padding-inline:12px;
  color:var(--muted);
  border-style:dashed;
  background:transparent;
}
/* ── Searchable Select (combobox) ── */
.searchable-select{
  position:relative;
  width:100%;
}
.searchable-select .ss-input{
  width:100%;
  padding:11px 36px 11px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
  font:inherit;
  cursor:text;
}
.searchable-select .ss-input::placeholder{color:var(--muted2,var(--muted));opacity:.7}
.searchable-select .ss-input:focus{
  border-color:rgba(34,197,94,.35);
  box-shadow:0 0 0 4px rgba(34,197,94,.10);
}
.searchable-select .ss-arrow{
  position:absolute;
  right:12px;top:50%;
  transform:translateY(-50%);
  font-size:14px;color:var(--muted);
  pointer-events:all;cursor:pointer;
  transition:transform .15s;
  z-index:2;
  line-height:1;
}
.searchable-select.ss-is-open .ss-arrow{
  transform:translateY(-50%) rotate(180deg);
}
.searchable-select .ss-dropdown{
  display:none;
  position:absolute;left:0;right:0;top:calc(100% + 4px);
  background:var(--card,#0b1327);
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.3);
  z-index:100;
  max-height:240px;overflow-y:auto;
  padding:6px;
}
.searchable-select .ss-dropdown.ss-open{display:block}
.searchable-select .ss-options{display:grid;gap:2px}
.searchable-select .ss-option{
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  cursor:pointer;
  transition:background .1s;
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.searchable-select .ss-option:hover,
.searchable-select .ss-option.ss-highlight{
  background:rgba(34,197,94,.10);
}
.searchable-select .ss-option-price{
  font-weight:700;font-size:12px;color:var(--primary,#22c55e);
  margin-left:auto;white-space:nowrap;
}
.searchable-select .ss-option-stock{
  font-size:11px;color:var(--muted);white-space:nowrap;
}

/* Light mode */
html[data-system-theme="light"] .searchable-select .ss-input{
  background:rgba(255,255,255,.88);
  border-color:var(--border);
  color:var(--text);
}
html[data-system-theme="light"] .searchable-select .ss-input:focus{
  border-color:rgba(15,23,42,.18);
  box-shadow:0 0 0 4px var(--system-primary-ring);
}
html[data-system-theme="light"] .searchable-select .ss-dropdown{
  background:#fff;
  border-color:var(--border);
  box-shadow:0 12px 40px rgba(0,0,0,.10);
}
html[data-system-theme="light"] .searchable-select .ss-option:hover,
html[data-system-theme="light"] .searchable-select .ss-option.ss-highlight{
  background:rgba(34,197,94,.08);
}

.sale-lines-wrap{
  display:grid;
  gap:14px;
}
.sale-line-card{
  display:grid;
  gap:14px;
  border:1px solid var(--border);
  border-radius:var(--radius2);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  padding:16px;
  box-shadow:0 14px 34px rgba(0,0,0,.14);
  min-width:0;
}
.sale-line-card--compact{
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
}
.sale-line-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.sale-line-product{
  display:grid;
  gap:6px;
  min-width:0;
  flex:1 1 260px;
}
.sale-line-product strong{
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.01em;
}
.sale-line-card--compact .sale-line-product{
  gap:4px;
  flex:1 1 220px;
}
.sale-line-card--compact .sale-line-product strong{
  font-size:15px;
  line-height:1.2;
}
.sale-line-card--compact .sale-line-product .help{
  font-size:12px;
  line-height:1.35;
}
.sale-line-product .help{
  margin:0;
}
.sale-line-side{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-left:auto;
}
.sale-line-total-box{
  display:grid;
  gap:4px;
  align-content:center;
  min-width:158px;
  padding:12px 14px;
  border:1px solid rgba(34,197,94,.18);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(34,197,94,.12), rgba(34,197,94,.05));
}
.sale-line-total-box span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.sale-line-total-box strong{
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.sale-line-card--compact .sale-line-side{
  gap:8px;
}
.sale-line-card--compact .sale-line-total-box{
  min-width:132px;
  padding:10px 12px;
  border-radius:14px;
}
.sale-line-card--compact .sale-line-total-box span{
  font-size:10px;
}
.sale-line-card--compact .sale-line-total-box strong{
  font-size:17px;
}
.sale-line-remove{
  align-self:center;
}
.sale-line-fields{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:12px;
  min-width:0;
}
.sale-line-card--compact .sale-line-fields{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.sale-line-field{
  min-width:0;
}
.sale-line-field input{
  min-width:0;
}
.sale-line-field select{
  min-width:0;
}
.sale-line-field-input{
  width:100%;
  min-height:46px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.52);
  color:var(--text);
  padding:0 13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  appearance:textfield;
  -moz-appearance:textfield;
}
select.sale-line-field-input{
  appearance:auto;
  -moz-appearance:auto;
  padding-right:32px;
}
.sale-line-field-input::-webkit-outer-spin-button,
.sale-line-field-input::-webkit-inner-spin-button{
  margin:0;
}
.sale-line-field-input:focus{
  border-color:var(--system-primary-ring);
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
  outline:none;
}
.sale-line-field-input--money{
  font-variant-numeric:tabular-nums;
  font-weight:800;
}
.sale-line-static{
  display:flex;
  align-items:center;
  min-height:44px;
  width:100%;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  border-radius:14px;
  padding:10px 12px;
  font-weight:700;
}
.sale-line-empty{
  display:grid;
  gap:6px;
  padding:18px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:var(--radius2);
  background:rgba(255,255,255,.02);
}
.sale-line-empty strong{
  font-size:15px;
}
.sale-line-empty span{
  color:var(--muted);
  line-height:1.5;
}
.sale-line-card--compact .sale-line-field label{
  font-size:11px;
  margin-bottom:5px;
}
.sale-line-card--compact .sale-line-field-input,
.sale-line-card--compact .sale-line-static{
  min-height:40px;
  border-radius:12px;
  padding:0 11px;
}
.sale-line-card--compact .sale-line-static{
  padding:8px 11px;
  font-size:13px;
}
.sale-line-product--pricing{
  flex-basis:100%;
}
.catalog-pricing-card{
  margin-top:2px;
}
@media (max-width: 980px){
  .sale-line-fields{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .sale-line-card--compact .sale-line-fields{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .sale-line-card{
    padding:14px;
  }
  .sale-line-card--compact{
    padding:12px;
  }
  .sale-line-side{
    width:100%;
    margin-left:0;
  }
  .sale-line-total-box,
  .sale-line-remove{
    width:100%;
  }
  .sale-line-remove{
    justify-content:center;
  }
  .sale-line-fields{
    grid-template-columns:1fr;
  }
  .sale-line-card--compact .sale-line-fields{
    grid-template-columns:1fr;
  }
}
.select2-search--dropdown{
  padding:10px !important;
  background:#0f172a !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
  width:100% !important;
  min-height:40px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.04) !important;
  color:var(--text) !important;
  padding:8px 10px !important;
  outline:none !important;
  box-shadow:none !important;
}
.select2-results{
  background:#0f172a !important;
}
.help[data-cep-feedback][data-tone="info"]{
  color:#93c5fd;
}
.help[data-cep-feedback][data-tone="good"]{
  color:#86efac;
}
.help[data-cep-feedback][data-tone="warn"],
.help[data-cep-feedback][data-tone="bad"]{
  color:#fca5a5;
}
.select2-results__options{
  background:#0f172a !important;
}
.select2-results__option{
  padding:10px 12px !important;
  background:#0f172a !important;
  color:var(--text) !important;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background:rgba(34,197,94,.16) !important;
  color:var(--text) !important;
}
.select2-container--default .select2-results__option--selected{
  background:rgba(255,255,255,.06) !important;
  color:var(--text) !important;
}

/* Modal */
.modal-overlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.60);
  display:none;
  align-items:center; justify-content:center;
  padding:16px;
  overflow:hidden;
  z-index:50;
}
.modal-overlay.open{display:flex}
.modal{
  width:min(860px, calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  display:flex;
  flex-direction:column;
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(10,16,30,.95);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.modal .head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.10);
  flex:0 0 auto;
}
.modal .head .title{
  min-width:0;
  font-weight:900;
}
.modal .body{
  flex:1 1 auto;
  min-width:0;
  padding:16px;
  overflow:auto;
  overscroll-behavior:contain;
}
.modal .body > *{
  min-width:0;
  max-width:100%;
}
.modal .body form,
.modal .body .form-grid,
.modal .body .card,
.modal .body .field,
.modal .body .row,
.modal .body .table-wrap{
  min-width:0;
  max-width:100%;
}
.modal .foot{
  display:flex; gap:10px; justify-content:flex-end;
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  flex:0 0 auto;
}

/* ── Barra de progresso global ──────────────────────────────────
   Fina (3 px), fixa no topo. Não cobre sidebar nem conteúdo.
   Ativada por:  .loading.show  |  html.store-pending #appLoading
   ─────────────────────────────────────────────────────────────  */
.loading{
  position:fixed; top:0; left:0; right:0;
  height:3px;
  display:none;
  background:rgba(34,197,94,.12);
  z-index:9999;
  pointer-events:none;
  overflow:hidden;
}
.loading::after{
  content:'';
  position:absolute; top:0; bottom:0; left:0;
  width:46%;
  border-radius:0 999px 999px 0;
  background:linear-gradient(90deg, var(--primary,#22C55E) 0%, #0EA5E9 100%);
  animation:topBarSlide 1.35s cubic-bezier(.4,0,.6,1) infinite;
}
.loading.show,
body.store-hydrating #appLoading,
html.store-pending #appLoading{display:block}
/* Oculta estrutura interna legada (box/spinner/texto) */
.loading .box,
.loading .spinner,
.loading .loading-progress,
.loading [data-loading-text],
.loading .help,
.loading .msg{display:none !important}

@keyframes topBarSlide{
  0%  {left:-50%}
  100%{left:105%}
}

/* ── Transições SPA ─────────────────────────────────────────────
   .spa-exit  → conteúdo sai ao navegar
   .spa-enter → conteúdo entra depois do swap
   ─────────────────────────────────────────────────────────────── */
.main.spa-exit,
.content.spa-exit{
  animation:spaOut .13s cubic-bezier(.4,0,1,1) both;
  pointer-events:none;
}
.main.spa-enter,
.content.spa-enter{
  animation:spaIn .22s cubic-bezier(0,0,.2,1) both;
}
@keyframes spaOut{
  to{opacity:0; transform:translateY(-6px)}
}
@keyframes spaIn{
  from{opacity:0; transform:translateY(8px)}
  to  {opacity:1; transform:translateY(0)}
}

/* ── Botão de leitor de placa no topbar ────────────────────────── */
.scan-topbar-btn{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  border-radius:12px;
  padding:0 12px;
  height:36px;
  font-size:13px;
  font-weight:700;
  background:rgba(34,197,94,.10);
  border:1px solid rgba(34,197,94,.22);
  color:var(--text);
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s;
}
.scan-topbar-btn:hover{background:rgba(34,197,94,.18)}
.scan-topbar-btn .scan-api-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 6px #22c55e;
  flex-shrink:0;
}
.scan-topbar-btn .scan-api-dot.off{
  background:rgba(255,255,255,.2);
  box-shadow:none;
}
.scan-topbar-btn .scan-label{
  display:none;
}
@media(min-width:680px){
  .scan-topbar-btn .scan-label{display:inline}
}

/* Utility */
.row{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.space{height:14px}
hr.sep{border:0;border-top:1px solid rgba(255,255,255,.10); margin:14px 0}

/* Form controls */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--muted)}
.field input,.field select,.field textarea{
  width:100%;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  outline:none;
}
.field select,
select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(229,231,235,.78) 50%),
    linear-gradient(135deg, rgba(229,231,235,.78) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:34px;
  color-scheme:dark;
}
.field select option,
.field select optgroup,
select option,
select optgroup{
  background:#0f172a;
  color:var(--text);
}
.field select:disabled,
select:disabled{
  opacity:.72;
  cursor:not-allowed;
}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(34,197,94,.45);
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}
.client-form-shell{
  min-width:0;
}
.client-form-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:start;
}
.client-form-span-full{
  grid-column:1 / -1;
}
.client-form-switches{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.client-form-switches .row{
  min-width:0;
  align-items:flex-start;
}
.client-form-switches .row span{
  min-width:0;
  overflow-wrap:anywhere;
}

@media (max-width: 760px){
  .client-form-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .client-form-span-full{
    grid-column:auto;
  }
  .client-form-switches{
    grid-template-columns:1fr;
  }
}

@media (max-width: 520px){
  .modal .body .client-form-shell{
    padding-bottom:6px;
  }
  .modal .body .client-form-grid .field input,
  .modal .body .client-form-grid .field select,
  .modal .body .client-form-grid .field textarea{
    min-height:46px;
    font-size:16px;
  }
  .modal .body .client-form-switches .row{
    padding:12px;
    border-radius:16px;
  }
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  border-radius:999px;
  cursor:pointer;
  user-select:none;
}
.pill input{accent-color:var(--primary)}
.pill span{font-size:12px;color:var(--text)}

.thumb{
  width:100%;
  max-height:240px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
}
.sig{
  width:100%;
  border-radius:14px;
  border:1px dashed rgba(255,255,255,.25);
  background:rgba(15,23,42,.45);
}

/* Login */
.top-glow{
  position:absolute; left:0; right:0; top:0; height:320px;
  pointer-events:none;
  background:
    radial-gradient(550px 320px at 12% 8%, rgba(34,197,94,.18), transparent 60%),
    radial-gradient(620px 360px at 90% 0%, rgba(59,130,246,.18), transparent 60%);
  opacity:.75;
}
.login-container{max-width:1080px;}
.login-wrap{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 0;
}
.login-grid{
  width:100%;
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap:20px;
  padding:12px;
  align-items:stretch;
  animation: loginFadeIn .28s ease;
}
@media (max-width: 900px){
  .login-wrap{padding:22px 0}
  .login-grid{
    grid-template-columns:1fr;
    max-width:640px;
    margin:0 auto;
  }
}
.login-hero{
  position:relative;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  padding:26px;
  background:linear-gradient(135deg, rgba(34,197,94,.14), rgba(34,197,94,.06), rgba(14,165,233,.10));
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  overflow:hidden;
  isolation:isolate;
}
.login-hero::after{
  content:"";
  position:absolute; inset:-20%;
  background:radial-gradient(500px 400px at 60% 10%, rgba(255,255,255,.08), transparent 55%);
  filter: blur(12px);
  z-index:0;
}
.login-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(229,231,235,.86);
}
.login-hero h1{
  margin:16px 0 10px;
  font-size:32px;
  letter-spacing:-.01em;
}
.login-hero .sub{
  color:var(--muted);
  max-width:520px;
}
.login-highlights{
  list-style:none;
  padding:0; margin:18px 0 0;
  display:grid; gap:10px;
}
.login-highlights li{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.06);
  color:var(--muted);
}
.login-highlights strong{color:var(--text)}
.login-card{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg, rgba(12,17,30,.9), rgba(10,14,26,.86));
  border-radius:24px;
  padding:26px;
  box-shadow:0 28px 70px rgba(0,0,0,.45);
  position:relative;
  overflow:hidden;
}
.login-card::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(420px 280px at 90% 0%, rgba(14,165,233,.22), transparent 45%);
  opacity:.65;
  pointer-events:none;
}
.brand{display:flex;gap:12px;align-items:center}
.brand .logo{
  width:52px;height:52px;border-radius:16px;
  background:radial-gradient(120% 120% at 30% 20%, rgba(34,197,94,.35), rgba(34,197,94,.06));
  border:1px solid rgba(34,197,94,.35);
  display:grid;place-items:center;font-weight:900;
}
.login-card .brand .logo{
  width:60px;height:60px;border-radius:18px;
  background:radial-gradient(120% 120% at 30% 20%, rgba(34,197,94,.45), rgba(34,197,94,.10));
}
.brand .title{font-weight:900;font-size:18px}
.brand .subtitle{color:var(--muted);font-size:13px}
.login-card form{position:relative; z-index:1}
.login-card .help{color:var(--muted); line-height:1.4}
.login-card .btn.primary{
  width:100%;
  font-weight:800;
  letter-spacing:.02em;
  background:linear-gradient(120deg, #22c55e, #16a34a);
  box-shadow:0 14px 30px rgba(22,163,74,.35);
  border:none;
}
.login-card .btn.primary:hover{filter:brightness(1.05)}
.login-card .field input{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.12);
}
.login-card .field input:focus{
  border-color:rgba(34,197,94,.6);
  box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

@keyframes loginFadeIn{
  from{opacity:0; transform: translateY(10px);}
  to{opacity:1; transform: translateY(0);}
}

/* Vehicle tracking */
.track-card .card-title{display:flex;align-items:center;gap:10px}
.track-meta{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
  color:var(--muted);
  font-size:13px;
}
.track-steps{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap:12px;
  margin-top:14px;
}
.track-step{
  position:relative;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px 14px 14px 18px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.track-step::before{
  content:"";
  position:absolute;
  left:14px; top:14px; bottom:14px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  opacity:.6;
}
.track-step .dot{
  position:absolute;
  left:7px; top:16px;
  width:14px;height:14px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.35);
  box-shadow:0 0 0 8px rgba(255,255,255,.03);
}
.track-step .title{font-weight:800;margin-left:18px}
.track-step .desc{margin-left:18px;color:var(--muted);font-size:13px;line-height:1.45}
.track-step .time{
  margin-left:18px;
  margin-top:8px;
  font-size:12px;
  color:var(--muted2);
}
.track-step.state-done{
  border-color:rgba(34,197,94,.32);
  background:linear-gradient(160deg, rgba(34,197,94,.16), rgba(255,255,255,.02));
}
.track-step.state-done .dot{
  background:#22c55e;
  border-color:rgba(34,197,94,.65);
  box-shadow:0 0 0 8px rgba(34,197,94,.10);
}
.track-step.state-in_progress{
  border-color:rgba(59,130,246,.35);
  background:linear-gradient(160deg, rgba(59,130,246,.18), rgba(255,255,255,.02));
}
.track-step.state-in_progress .dot{
  background:#3b82f6;
  border-color:rgba(59,130,246,.65);
  box-shadow:0 0 0 8px rgba(59,130,246,.12);
}
.track-step.state-pending .dot{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.24);
}

/* Notification bubble */
.note-bubble{
  position:relative;
  border:1px solid rgba(34,197,94,.28);
  border-radius:22px;
  padding:16px 18px 18px 18px;
  background:linear-gradient(160deg, rgba(34,197,94,.14), rgba(34,197,94,.04));
  box-shadow:0 18px 46px rgba(0,0,0,.45);
  overflow:hidden;
}
.note-bubble::before{
  content:"";
  position:absolute;
  right:26px; bottom:-22px;
  width:120px; height:120px;
  background:radial-gradient(90px 90px at 50% 50%, rgba(34,197,94,.24), transparent 60%);
  filter: blur(14px);
  opacity:.65;
  pointer-events:none;
}
.note-bubble .title{
  display:flex; align-items:center; gap:10px;
  font-weight:800;
  letter-spacing:.02em;
}
.note-bubble .pill{
  background:rgba(0,0,0,.20);
  border-color:rgba(255,255,255,.12);
  padding:6px 8px;
  font-size:12px;
}
.note-bubble ul{
  margin:10px 0 0;
  padding:0 0 0 16px;
  color:var(--muted);
}
.note-bubble li{margin-bottom:6px; line-height:1.35}
.note-bubble strong{color:var(--text)}
.note-bubble .cta{
  margin-top:12px;
  display:flex; gap:10px; flex-wrap:wrap;
}

/* Floating alerts (corner) */
.float-alerts{
  position:fixed;
  right:18px; bottom:18px;
  display:grid;
  gap:12px;
  max-width: min(420px, 90vw);
  z-index:120;
  pointer-events:none;
}
.float-card{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:14px 14px 12px 16px;
  background:linear-gradient(145deg, rgba(12,18,32,.92), rgba(12,18,32,.86));
  box-shadow:0 22px 52px rgba(0,0,0,.55);
  overflow:hidden;
  animation: fadeUp .25s ease;
  pointer-events:auto;
}
.float-card::after{
  content:"";
  position:absolute;
  inset:-20% 40% 40% -20%;
  background:radial-gradient(280px 200px at 100% 0%, rgba(34,197,94,.16), transparent 60%);
  opacity:.9;
  pointer-events:none;
}
.float-card .head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.float-card .tag{
  padding:6px 10px;
  border-radius:12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}
.float-card .tag.warn{
  background:rgba(245,158,11,.16);
  border-color:rgba(245,158,11,.30);
  color:rgba(255,237,213,.95);
}
.float-card .tag.danger{
  background:rgba(239,68,68,.16);
  border-color:rgba(239,68,68,.32);
  color:rgba(254,226,226,.95);
}
.float-card .tag.info{
  background:rgba(56,189,248,.14);
  border-color:rgba(56,189,248,.28);
  color:rgba(224,242,254,.95);
}
.float-card .title{
  margin:8px 0 4px;
  font-weight:900;
  letter-spacing:.01em;
}
.float-card .text{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.float-card .actions{
  display:flex; gap:8px; flex-wrap:wrap;
  margin-top:10px;
}
.float-card .close{
  background:transparent;
  border:none;
  color:var(--muted2);
  cursor:pointer;
  padding:6px;
  border-radius:10px;
}
.float-card .close:hover{color:var(--text);background:rgba(255,255,255,.05)}

@keyframes fadeUp{
  from{opacity:0; transform: translateY(10px);}
  to{opacity:1; transform: translateY(0);}
}

/* Notification bell (topbar) */
.notify-wrap{position:relative;}
.notify-btn{
  position:relative;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  display:grid;place-items:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.notify-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.notify-btn .ico{
  width:20px;height:20px;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23fff' d='M12 22q-.825 0-1.412-.587T10 20h4q0 .825-.588 1.413T12 22Zm-7-4v-2h1V11q0-2.3 1.263-4.087T8.45 4.1q.175-.55.625-.825T10 3q.65 0 1.1.375t.625.825q1.85.55 3.063 2.125T16 11v5h1v2H5Z'/></svg>") center/contain no-repeat;
  background:linear-gradient(120deg, #22c55e, #16a34a);
}
.notify-btn .badge{
  position:absolute;
  top:6px; right:6px;
  min-width:18px;
  padding:2px 5px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}

.notify-panel{
  position:absolute;
  right:0; top:52px;
  width:min(420px, 92vw);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(7,12,22,.95);
  backdrop-filter: blur(12px);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  padding:12px;
  display:none;
  z-index:60;
}
.notify-panel.show{display:block}
.notify-panel .head{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:8px;
}
.notify-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.notify-panel .title{font-weight:900; letter-spacing:.02em;}
.notify-list{display:grid; gap:10px; max-height:420px; overflow:auto; padding-right:2px;}
.notify-item{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.02);
}
.notify-item-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.notify-item .tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px;
  border-radius:12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
}
.notify-item.danger{border-color:rgba(239,68,68,.32); background:linear-gradient(150deg, rgba(239,68,68,.12), rgba(255,255,255,.02));}
.notify-item.danger .tag{background:rgba(239,68,68,.20); border-color:rgba(239,68,68,.30); color:#fee2e2;}
.notify-item.warn{border-color:rgba(245,158,11,.28); background:linear-gradient(150deg, rgba(245,158,11,.10), rgba(255,255,255,.02));}
.notify-item.warn .tag{background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.26); color:#ffedd5;}
.notify-item.info{border-color:rgba(56,189,248,.26); background:linear-gradient(150deg, rgba(56,189,248,.12), rgba(255,255,255,.02));}
.notify-item.info .tag{background:rgba(56,189,248,.18); border-color:rgba(56,189,248,.28); color:#e0f2fe;}
.notify-item .subject{font-weight:800; margin:6px 0 4px;}
.notify-item .text{color:var(--muted); font-size:13px; line-height:1.4;}
.notify-item .actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:8px;}
.notify-dismiss{
  width:30px;
  height:30px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#e2e8f0;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}
.notify-dismiss:hover{
  background:rgba(239,68,68,.16);
  border-color:rgba(239,68,68,.30);
  transform:translateY(-1px);
}
.notify-more{
  text-align:center;
  padding:4px 2px 2px;
  font-size:12px;
}
.portal-switcher{
  border-color:rgba(56,189,248,.18);
  background:linear-gradient(140deg, rgba(56,189,248,.10), rgba(34,197,94,.08), rgba(255,255,255,.03));
}

.client-page-shell{
  display:grid;
  gap:14px;
}
.client-section-head{
  display:grid;
  gap:6px;
}
.client-section-head h2{
  margin:0;
  font-weight:900;
  letter-spacing:-.02em;
}
.client-section-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.client-section-bar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.client-stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.client-stat-card{
  min-height:132px;
  display:grid;
  gap:8px;
  align-content:start;
}
.client-stat-card .label{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.client-stat-card .value{
  font-size:26px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.03em;
}
.client-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.client-panel{
  display:grid;
  gap:12px;
  align-content:start;
}
.client-panel > *{
  min-width:0;
}
.client-recent-list{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(220px, 1fr);
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  padding-bottom:4px;
}
.client-recent-list::-webkit-scrollbar{
  height:8px;
}
.client-recent-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.16);
  border-radius:999px;
}
.client-recent-item,
.client-record-card,
.client-insight-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:var(--shadow2);
}
.client-recent-item{
  min-height:152px;
  padding:14px;
  display:grid;
  gap:10px;
  align-content:start;
}
.client-recent-top,
.client-record-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.client-recent-date,
.client-record-kicker{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.client-recent-title,
.client-record-title{
  font-weight:900;
  line-height:1.15;
}
.client-recent-text,
.client-record-text{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.client-recent-meta,
.client-record-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--muted);
  font-size:12px;
}
.client-card-list{
  display:grid;
  gap:12px;
}
.client-record-card{
  padding:14px;
  display:grid;
  gap:12px;
}
.client-record-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.client-record-cell{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.client-record-cell strong{
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}
.client-empty-state{
  padding:16px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:18px;
  color:var(--muted);
  background:rgba(255,255,255,.02);
}
.client-insight-card{
  padding:14px;
  display:grid;
  gap:6px;
}
.client-insight-card strong{
  font-size:16px;
  line-height:1.15;
}
.client-filter-shell{
  display:grid;
  gap:12px;
}
.client-filter-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(200px, 240px);
  gap:12px;
}
.client-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.client-pagination-summary{
  color:var(--muted);
  font-size:13px;
}
.client-pagination-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.client-pagination-actions .btn.active{
  background:linear-gradient(180deg, rgba(34,197,94,.22), rgba(34,197,94,.12));
  border-color:rgba(34,197,94,.34);
  color:#dfffe8;
}
.client-vistoria-card{
  position:relative;
  overflow:hidden;
}
.client-vistoria-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(56,189,248,.95), rgba(34,197,94,.75));
}
.client-vistoria-card.bad::before{
  background:linear-gradient(180deg, rgba(248,113,113,.95), rgba(251,146,60,.75));
}
.client-vistoria-card.warn::before{
  background:linear-gradient(180deg, rgba(251,191,36,.95), rgba(251,146,60,.75));
}
.client-vistoria-highlight{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.client-vistoria-highlight strong{
  font-size:14px;
}

/* Quick alerts list */
.alert-list{display:grid;gap:10px;}

/* Mobile tweaks */
@media (max-width: 760px){
  html, body, .app, .main, .topbar, .content{
    max-width:100vw;
  }
  .content{padding:12px !important;}
  .card{width:100%; margin-bottom:12px;}
  .card, .card.pad, .row, .field, .btn, .table-wrap{
    max-width:100%;
  }
  .row > *{
    min-width:0;
    max-width:100%;
  }
  .grid{grid-template-columns:1fr !important;}
  .track-steps{grid-template-columns:1fr;}
  .notify-list{max-height:none;}
  .notify-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:74px;
    width:auto;
    max-height:calc(100dvh - 92px);
    border-radius:20px;
  }
  .notify-panel .head,
  .notify-head-actions,
  .notify-item-top{
    align-items:flex-start;
  }
  .notify-panel .head{
    flex-direction:column;
  }
  .notify-head-actions{
    width:100%;
  }
  .notify-head-actions .btn{
    flex:1 1 0;
    justify-content:center;
  }
  .notify-item .actions .btn{
    width:100%;
    justify-content:center;
  }
  .client-stat-grid,
  .client-dashboard-grid,
  .client-record-grid{
    grid-template-columns:1fr;
  }
  .client-recent-list{
    grid-auto-flow:row;
    grid-auto-columns:auto;
    overflow:visible;
    padding-bottom:0;
  }
  .client-recent-item{
    min-height:0;
  }
  .client-recent-top,
  .client-record-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .client-section-bar,
  .client-pagination{
    flex-direction:column;
    align-items:flex-start;
  }
  .client-filter-grid{
    grid-template-columns:1fr;
  }
  .portal-switcher .row{
    display:grid;
    gap:12px;
  }
  .portal-switcher .field{
    min-width:0 !important;
  }
}

@media (max-width: 1024px){
  .table-wrap{
    min-width:0;
    overflow:visible;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  .table-wrap table.table-responsive-ready,
  .table-wrap table.table-responsive-ready tbody,
  .table-wrap table.table-responsive-ready tr,
  .table-wrap table.table-responsive-ready td{
    display:block;
    width:100%;
  }
  .table-wrap table.table-responsive-ready{
    min-width:0 !important;
    border-collapse:separate;
  }
  .table-wrap table.table-responsive-ready thead{
    display:none;
  }
  .table-wrap table.table-responsive-ready tbody{
    display:grid;
    gap:12px;
  }
  .table-wrap table.table-responsive-ready tr{
    border:1px solid var(--border);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    box-shadow:var(--shadow2);
    overflow:hidden;
  }
  .table-wrap table.table-responsive-ready td{
    display:grid;
    grid-template-columns:minmax(92px, 38%) minmax(0, 1fr);
    align-items:flex-start;
    gap:12px;
    text-align:left;
    min-width:0;
    padding:10px 12px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .table-wrap table.table-responsive-ready td:last-child{
    border-bottom:none;
  }
  .table-wrap table.table-responsive-ready td::before{
    content:attr(data-label);
    min-width:0;
    text-align:left;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
  }
  .table-wrap table.table-responsive-ready td > *{
    min-width:0;
    justify-self:end;
    text-align:right;
  }
  .table-wrap table.table-responsive-ready td .help{
    margin-top:4px;
    text-align:right;
  }
  .table-wrap table.table-responsive-ready td.actions,
  .table-wrap table.table-responsive-ready td[data-label="Ações"]{
    display:block;
    text-align:left;
  }
  .table-wrap table.table-responsive-ready td.actions::before,
  .table-wrap table.table-responsive-ready td[data-label="Ações"]::before{
    display:block;
    margin-bottom:2px;
  }
  .table-wrap table.table-responsive-ready td.actions .action-stack,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    justify-self:stretch;
  }
  .table-wrap table.table-responsive-ready td.actions .btn,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .btn{
    width:100%;
    min-width:0;
    margin:0;
    justify-content:center;
  }
  .table-wrap table.table-responsive-ready td.actions .btn.small,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .btn.small{
    padding:8px 10px;
    font-size:12px;
  }
  .table-wrap table.table-responsive-ready td.table-empty-cell{
    display:block;
    text-align:left;
    padding:14px;
  }
  .table-wrap table.table-responsive-ready td.table-empty-cell::before{
    content:none;
  }
}

@media (max-width: 420px){
  .table-wrap table.table-responsive-ready td.actions .action-stack,
  .table-wrap table.table-responsive-ready td[data-label="Ações"] .action-stack{
    grid-template-columns:1fr;
  }
}

@media (max-width: 980px){
  body.modal-open{
    overflow:hidden;
  }
  .modal-overlay{
    align-items:flex-start;
    padding:12px;
  }
  .modal{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px);
  }
  .modal .head,
  .modal .body,
  .modal .foot{
    padding-inline:14px;
  }
  .modal .body .form-grid{
    grid-template-columns:1fr !important;
  }
  .modal .body table,
  .modal .body [style*="min-width:"]{
    min-width:0 !important;
  }
  .modal .body .row{
    width:100%;
  }
  .modal .body .row > *{
    min-width:0;
    max-width:100%;
  }
  .modal .body .row > [style*="width:"]{
    width:100% !important;
  }
  .modal .body .row > [style*="flex:1"]{
    flex:1 1 100% !important;
  }
  .modal .body .row > .btn,
  .modal .foot .btn{
    width:100%;
  }
  .modal .foot{
    flex-wrap:wrap;
  }
}

@media (max-width: 420px){
  .modal-overlay{
    padding:8px;
  }
  .modal{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:18px;
  }
  .modal .head,
  .modal .body,
  .modal .foot{
    padding:12px;
  }
  .modal .head .title{
    font-size:16px;
  }
}

/* Checklist builder */
.builder-grid{
  display:grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap:14px;
  align-items:start;
}
.builder-sidebar{
  position:sticky;
  top:88px;
  max-height:calc(100vh - 110px);
  overflow:auto;
}
.builder-widget-list{display:grid;gap:10px}
.builder-widget{
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.02);
  display:grid;
  gap:10px;
  cursor:grab;
}
.builder-widget:active{cursor:grabbing}
.builder-widget-head{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.builder-widget-ico{
  min-width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  font-size:12px;
  font-weight:800;
}
.builder-widget-title{font-weight:800}
.builder-widget-sub{font-size:12px;color:var(--muted)}

.builder-toolbar{
  display:grid;
  grid-template-columns: minmax(180px, 230px) 1fr 1fr;
  gap:10px;
}

.builder-canvas{
  min-height:220px;
  border:1px dashed rgba(255,255,255,.24);
  border-radius:16px;
  padding:12px;
  display:grid;
  gap:10px;
  background:rgba(0,0,0,.15);
}
.builder-empty{
  min-height:180px;
  display:grid;
  place-items:center;
  text-align:center;
  color:var(--muted);
  padding:16px;
}
.builder-field{
  border-color:rgba(34,197,94,.2);
  background:linear-gradient(160deg, rgba(34,197,94,.06), rgba(255,255,255,.02));
}
.builder-field-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.builder-field-settings .form-grid{grid-template-columns:1fr 1fr}
.builder-preview{
  display:grid;
  gap:12px;
}

/* Dynamic checklist fields */
.cl-form{
  display:grid;
  gap:12px;
}
.cl-address{
  display:grid;
  gap:10px;
  grid-template-columns:1fr 1fr;
}
.cl-address .full{grid-column:1/-1}
.cl-thumb-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap:10px;
}
.cl-thumb-item{
  position:relative;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
}
.cl-thumb-item img{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}
.cl-thumb-item .remove{
  position:absolute;
  right:6px;
  top:6px;
}

@media (max-width: 1100px){
  .builder-grid{
    grid-template-columns:1fr;
  }
  .builder-sidebar{
    position:static;
    max-height:none;
  }
  .builder-toolbar{
    grid-template-columns:1fr;
  }
}

.field select{
  appearance:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;
  padding-right:42px;
}
.field select option{
  background:#0f172a;
  color:#e5e7eb;
}

.vehicle-switcher{
  display:grid;
  gap:10px;
}
.vehicle-switcher.compact{display:block}
.vehicle-switcher-title{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.vehicle-switcher-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.vehicle-chip{
  min-width:180px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius:16px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  color:var(--text);
}
.vehicle-chip.active{
  border-color:rgba(34,197,94,.34);
  background:linear-gradient(180deg, rgba(34,197,94,.16), rgba(255,255,255,.03));
}

.status-plate-shell{
  display:grid;
  gap:18px;
}
.execution-shell{
  display:grid;
  gap:18px;
}
.execution-hero{
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg, rgba(14,165,233,.12), rgba(34,197,94,.08), rgba(255,255,255,.03));
}
.execution-active{
  border:1px solid rgba(14,165,233,.24);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(145deg, rgba(14,165,233,.12), rgba(255,255,255,.03));
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}
.execution-title{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.execution-plate{
  font-size:34px;
  font-weight:900;
  letter-spacing:.06em;
}
.execution-stage-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.execution-list{
  display:grid;
  gap:12px;
}
.execution-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:16px;
  background:rgba(255,255,255,.03);
}
.execution-card--queue{
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.execution-card--queue.is-blocked{
  cursor:not-allowed;
  opacity:.74;
  filter:saturate(.82);
}
.execution-card--queue:hover{
  transform:translateY(-1px);
  border-color:rgba(56,189,248,.24);
  background:linear-gradient(145deg, rgba(56,189,248,.08), rgba(34,197,94,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 36px rgba(0,0,0,.18);
}
.execution-card-kickers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mini-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(15,23,42,.72);
  color:rgba(241,245,249,.9);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.mini-pill.good{
  border-color:rgba(34,197,94,.44);
  background:linear-gradient(180deg, rgba(22,163,74,.3), rgba(21,128,61,.24));
  color:#ecfdf3;
}
.mini-pill.warn{
  border-color:rgba(245,158,11,.42);
  background:linear-gradient(180deg, rgba(245,158,11,.28), rgba(180,83,9,.22));
  color:#fff7e8;
}
.execution-card--queue .btn.primary{
  min-width:148px;
}
.execution-empty{
  background:rgba(255,255,255,.03);
}
.execution-shell--plate{
  max-width:1120px;
  margin:0 auto;
}
.execution-hero--plate{
  background:linear-gradient(135deg, rgba(14,165,233,.16), rgba(34,197,94,.12), rgba(255,255,255,.03));
}
.execution-search-card{
  border-radius:28px;
  background:linear-gradient(180deg, rgba(15,23,42,.88), rgba(15,23,42,.72));
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}
.execution-search-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
.execution-search-title{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--text);
}
.execution-search-copy{
  max-width:720px;
  line-height:1.6;
  color:var(--muted);
}
.execution-search-badges{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.execution-search-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:end;
}
.execution-search-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.execution-search-actions .btn{
  min-height:44px;
}
.execution-search-tip{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(255,255,255,.03);
  color:var(--muted);
}
.execution-inline-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(34,197,94,.24);
  border-radius:999px;
  background:rgba(34,197,94,.12);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}
.execution-match-list{
  display:grid;
  gap:14px;
}
.execution-match-card{
  border:1px solid rgba(148,163,184,.14);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.execution-match-card--compact{
  padding:14px 16px;
  border-radius:20px;
}
.execution-queue-panel{
  border-radius:28px;
}
.execution-queue-panel-side{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.execution-match-card.is-blocked{
  opacity:.78;
  filter:saturate(.85);
}
.execution-match-card--active{
  border-color:rgba(14,165,233,.26);
  background:linear-gradient(145deg, rgba(14,165,233,.12), rgba(34,197,94,.06), rgba(255,255,255,.03));
}
.execution-match-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
}
.execution-match-kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:6px;
}
.execution-match-title{
  font-size:32px;
  font-weight:900;
  letter-spacing:.06em;
  color:var(--text);
}
.execution-match-title--compact{
  font-size:24px;
  letter-spacing:.04em;
}
.execution-match-sub{
  margin-top:4px;
  color:var(--text);
  font-weight:700;
  line-height:1.45;
}
.execution-result-meta{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.execution-result-meta > div{
  display:grid;
  gap:5px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.12);
  background:rgba(255,255,255,.03);
}
.execution-team-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.execution-team-pill{
  display:inline-grid;
  gap:2px;
  min-width:160px;
  padding:10px 14px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(255,255,255,.03);
}
.execution-team-pill strong{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.execution-team-pill span{
  font-size:13px;
  font-weight:900;
  color:var(--text);
}
.execution-team-pill.is-owner{
  border-color:rgba(34,197,94,.28);
  background:linear-gradient(180deg, rgba(34,197,94,.12), rgba(14,165,233,.05));
}
.execution-result-meta span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.execution-result-meta strong{
  font-size:16px;
  font-weight:900;
  color:var(--text);
}
.execution-result-meta--compact{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.execution-result-meta--compact > div{
  padding:10px 12px;
  border-radius:16px;
}
.execution-result-meta--compact strong{
  font-size:14px;
}
.execution-team-strip--compact{
  gap:8px;
}
.execution-team-strip--compact .execution-team-pill{
  min-width:132px;
  padding:8px 12px;
  border-radius:16px;
}
.execution-team-strip--compact .execution-team-pill span{
  font-size:12px;
}
.execution-stage-pill-list{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.execution-stage-pill{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.14);
  background:rgba(255,255,255,.03);
}
.execution-stage-pill strong{
  font-size:13px;
  font-weight:800;
}
.execution-stage-pill span{
  font-size:12px;
  color:var(--muted);
}
.execution-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.execution-action-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.execution-primary-action{
  min-width:220px;
  min-height:48px;
  border-radius:16px;
  font-weight:900;
}
.execution-primary-action--compact{
  min-width:180px;
  min-height:42px;
}
.execution-secondary-action{
  min-width:180px;
  min-height:46px;
  border-radius:16px;
  font-weight:800;
}
.execution-secondary-action--compact{
  min-width:160px;
  min-height:42px;
}
.execution-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.execution-pagination-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.execution-pagination-btn{
  min-width:44px;
  min-height:40px;
  border-radius:14px;
}
.execution-pagination-btn.active{
  background:linear-gradient(180deg, rgba(34,197,94,.22), rgba(14,165,233,.12));
  border-color:rgba(34,197,94,.28);
  color:var(--text);
}
.execution-state-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text);
  background:rgba(255,255,255,.06);
}
.execution-state-badge--queue{
  border-color:rgba(34,197,94,.28);
  background:rgba(34,197,94,.14);
  color:#b7f7c7;
}
.execution-state-badge--live{
  border-color:rgba(14,165,233,.28);
  background:rgba(14,165,233,.14);
  color:#d6f0ff;
}
.execution-state-badge--assigned{
  border-color:rgba(245,158,11,.28);
  background:rgba(245,158,11,.14);
  color:#ffe6b0;
}
.execution-stage-pill.done{
  border-color:rgba(34,197,94,.24);
  background:rgba(34,197,94,.10);
}
.execution-stage-pill.active{
  border-color:rgba(14,165,233,.24);
  background:rgba(14,165,233,.10);
}
.execution-note-field textarea{
  min-height:108px;
}
.employee-performance-shell{
  display:grid;
  gap:18px;
}
.dashboard-hero{
  background:
    linear-gradient(145deg, rgba(15,23,42,.92), rgba(14,165,233,.10), rgba(34,197,94,.08)),
    radial-gradient(320px 180px at 8% 0%, rgba(56,189,248,.16), transparent 72%);
}
.dashboard-filter-shell{
  padding:18px;
}
.dashboard-filter-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:end;
}
.dashboard-filter-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.dashboard-filter-actions .btn{
  min-height:44px;
}
.dashboard-chart-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}
.dashboard-chart-card{
  min-height:100%;
  overflow:hidden;
}
.dashboard-chart-card--wide{
  grid-column:1 / -1;
}
.dashboard-chart-wrap{
  position:relative;
  height:320px;
  min-height:320px;
  padding:8px 2px 0;
}
.dashboard-chart-wrap--wide{
  height:400px;
  min-height:400px;
}
.dashboard-chart-wrap canvas{
  width:100% !important;
  height:100% !important;
  display:block;
}
.dashboard-chart-empty{
  position:absolute;
  inset:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  border-radius:20px;
  border:1px dashed rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  pointer-events:none;
}
.dashboard-filter-modal{
  display:grid;
  gap:16px;
}
.dashboard-filter-modal-note{
  display:grid;
  gap:8px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.dashboard-filter-modal-note strong{
  font-size:14px;
  font-weight:900;
}
.dashboard-filter-modal-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.dashboard-filter-modal-buttons{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.dashboard-filter-trigger{
  min-width:46px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  padding:0;
}
.dashboard-filter-trigger i{
  font-size:15px;
  line-height:1;
}
[data-dashboard-root]{
  transition:padding .22s ease, background .22s ease;
}
[data-dashboard-root]:fullscreen{
  box-sizing:border-box;
  width:100%;
  min-height:100%;
  padding:clamp(18px, 2.4vw, 30px);
  overflow:auto;
  color:var(--text);
  scrollbar-gutter:stable both-edges;
  background:
    linear-gradient(180deg, #09111f 0%, #0b1528 45%, #0b1627 70%, #090f1a 100%),
    radial-gradient(900px 520px at 20% 12%, rgba(34,197,94,.16), transparent 60%),
    radial-gradient(820px 460px at 85% 5%, rgba(56,189,248,.14), transparent 60%);
}
[data-dashboard-root]:fullscreen::backdrop{
  background:
    linear-gradient(180deg, #09111f 0%, #0b1528 45%, #0b1627 70%, #090f1a 100%);
}
[data-dashboard-root]:fullscreen > *{
  width:min(1540px, 100%);
  margin-inline:auto;
}
[data-dashboard-root]:fullscreen .dashboard-hero{
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(15,23,42,.92), rgba(14,165,233,.10), rgba(34,197,94,.08)),
    radial-gradient(320px 180px at 8% 0%, rgba(56,189,248,.16), transparent 72%);
  box-shadow:0 24px 64px rgba(2,6,23,.28);
}
[data-dashboard-root]:fullscreen .card,
[data-dashboard-root]:fullscreen .performance-card,
[data-dashboard-root]:fullscreen .dashboard-leader-card,
[data-dashboard-root]:fullscreen .dashboard-op-card{
  border-color:rgba(148,163,184,.16);
  background:linear-gradient(180deg, rgba(15,23,42,.88), rgba(15,23,42,.72));
  box-shadow:0 18px 44px rgba(2,6,23,.24);
}
[data-dashboard-root]:fullscreen .performance-card-value,
[data-dashboard-root]:fullscreen .card .card-title,
[data-dashboard-root]:fullscreen .dashboard-leader-name,
[data-dashboard-root]:fullscreen .dashboard-op-card strong{
  color:var(--text);
}
[data-dashboard-root]:fullscreen .performance-card-label,
[data-dashboard-root]:fullscreen .page-subtitle,
[data-dashboard-root]:fullscreen .help,
[data-dashboard-root]:fullscreen .card .card-sub,
[data-dashboard-root]:fullscreen .dashboard-op-card span,
[data-dashboard-root]:fullscreen .dashboard-leader-stats span{
  color:var(--muted);
}
.dashboard-filter-note{
  display:grid;
  gap:6px;
  min-height:44px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.14);
  background:rgba(255,255,255,.03);
}
.dashboard-filter-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.dashboard-leader-list{
  display:grid;
  gap:12px;
}
.dashboard-leader-card{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.dashboard-leader-rank{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(34,197,94,.18), rgba(14,165,233,.18));
  font-size:18px;
  font-weight:900;
}
.dashboard-leader-main{
  min-width:0;
}
.dashboard-leader-name{
  font-size:17px;
  font-weight:900;
  letter-spacing:-.02em;
}
.dashboard-leader-stats{
  display:grid;
  justify-items:end;
  gap:4px;
}
.dashboard-leader-stats strong{
  font-size:16px;
  font-weight:900;
}
.dashboard-leader-stats span{
  color:var(--muted);
  font-size:13px;
}
.dashboard-operation-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.dashboard-op-card{
  display:grid;
  gap:8px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.dashboard-op-card span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.dashboard-op-card strong{
  font-size:24px;
  font-weight:900;
  letter-spacing:-.03em;
}
.employee-performance-panel{
  display:grid;
  gap:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg, rgba(15,23,42,.86), rgba(14,165,233,.08), rgba(34,197,94,.06));
  box-shadow:0 22px 48px rgba(0,0,0,.24);
}
.performance-summary-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.performance-leaders-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.performance-card{
  display:grid;
  gap:8px;
  min-width:0;
  border:1px solid rgba(148,163,184,.12);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}
.performance-card-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.performance-card-head > :first-child{
  flex:1 1 180px;
  min-width:0;
}
.performance-card-head .badge{
  flex:0 0 auto;
  max-width:100%;
}
.performance-card-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.performance-card-value{
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
  overflow-wrap:anywhere;
}
.leader-card .performance-card-value{
  font-size:22px;
}
.employee-performance-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.employee-performance-card{
  display:grid;
  gap:14px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.employee-performance-name{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.03em;
}
.employee-performance-metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.employee-performance-metrics > div{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(148,163,184,.10);
}
.employee-performance-metrics strong{
  font-size:18px;
  font-weight:900;
}
.employee-performance-metrics span{
  font-size:12px;
  color:var(--muted);
}
.employee-performance-insight{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(14,165,233,.10);
  border:1px solid rgba(14,165,233,.18);
  color:#dbeafe;
}
.employee-performance-footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.performance-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(255,255,255,.03);
  font-size:12px;
  color:var(--muted);
}
.goal-list{
  display:grid;
  gap:10px;
}
.goal-item{
  display:grid;
  gap:7px;
}
.goal-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.goal-head strong{
  font-size:13px;
  font-weight:800;
}
.goal-head span{
  font-size:12px;
  color:var(--muted);
}
.goal-track{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.goal-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(34,197,94,.86), rgba(14,165,233,.88));
}
.productivity-hero{
  background:linear-gradient(135deg, rgba(14,165,233,.14), rgba(34,197,94,.10), rgba(245,158,11,.08));
}
.status-plate-hero{
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg, rgba(34,197,94,.12), rgba(14,165,233,.10), rgba(255,255,255,.03));
}
.status-plate-actions{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
}
.status-plate-btn{
  min-height:92px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:16px;
  text-align:left;
  font-weight:800;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.status-plate-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(56,189,248,.28);
  background:linear-gradient(180deg, rgba(14,165,233,.10), rgba(255,255,255,.03));
  box-shadow:0 18px 32px rgba(0,0,0,.18);
}
.status-plate-btn.active{
  border-color:rgba(34,197,94,.4);
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(255,255,255,.03));
}
.scan-stage{
  display:grid;
  gap:14px;
}
.scan-guide{
  position:relative;
}
.scan-video{
  width:100%;
  min-height:240px;
  max-height:52vw;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  background:#050b17;
  object-fit:cover;
  display:block;
}
.scan-frame{
  position:absolute;
  inset:14px;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.scan-frame::before{
  content:"";
  width:calc(100% - 12px);
  height:calc(100% - 12px);
  border-radius:22px;
  border:2px solid rgba(255,255,255,.86);
  box-shadow:0 0 0 999px rgba(0,0,0,.10);
}
.scan-frame-label{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(5,11,23,.82);
  color:rgba(229,231,235,.92);
  font-size:12px;
  white-space:nowrap;
  max-width:90%;
  text-overflow:ellipsis;
  overflow:hidden;
}
.scan-progress-wrap{display:grid;gap:5px;padding:4px 0}
.scan-progress-bar{height:5px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden}
.scan-progress-fill{height:100%;background:var(--primary,#3b82f6);border-radius:99px;transition:width .28s ease;width:0%}
.scan-progress-label{font-size:12px;color:rgba(255,255,255,.45);text-align:right;letter-spacing:.03em}
.scan-api-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:12px;font-size:12px;color:rgba(255,255,255,.5)}
.scan-result{
  border:1px dashed rgba(255,255,255,.18);
  border-radius:16px;
  padding:13px 16px;
  background:rgba(255,255,255,.02);
  font-size:14px;
  line-height:1.5;
}
.scan-read-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.scan-read-card{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.scan-read-label{
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.scan-read-value{
  font-size:16px;
  line-height:1.2;
  color:#fff;
  word-break:break-word;
}
/* Mobile-first action row */
.scan-actions{
  display:grid;
  gap:10px;
}
.scan-btn-capture{
  width:100%;
  height:54px;
  font-size:16px;
  font-weight:800;
  border-radius:16px;
  letter-spacing:.01em;
}
.scan-btn-capture:disabled{
  opacity:.45;
}
@media (max-width: 720px){
  .scan-read-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px){
  .catalog-inline-builder{
    flex-direction:column;
    align-items:stretch;
  }
  .catalog-inline-qty{
    width:100%;
  }
  .catalog-inline-actions{
    width:100%;
  }
  .catalog-inline-actions::before{
    display:none;
  }
  .catalog-inline-actions .btn-row{
    width:100%;
  }
  .catalog-inline-actions .btn,
  .catalog-inline-actions .btn-secondary-inline{
    flex:1;
  }
}
.scan-alt-row{
  display:grid;
  gap:8px;
}
.scan-alt-sep{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.32);
  font-size:12px;
}
.scan-alt-sep::before,
.scan-alt-sep::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.10);
}
.scan-file-btns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.scan-file-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:54px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:rgba(229,231,235,.9);
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
.scan-file-label:active{
  background:rgba(255,255,255,.10);
}
.scan-file-label svg{
  flex-shrink:0;
}
.scan-bottom-row{
  display:flex;
  gap:10px;
  justify-content:center;
}
.scan-bottom-row .btn{
  min-width:140px;
  height:48px;
  font-size:15px;
}
/* .scan-fab removido — leitor de placa foi movido para o topbar (.scan-topbar-btn) */

@keyframes scanLineMove{
  0%{transform:translate(-50%, -76px);}
  50%{transform:translate(-50%, 76px);}
  100%{transform:translate(-50%, -76px);}
}

.os-print-page{
  background:#eef3fb;
  color:#0f172a;
}
.os-print-shell{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 48px;
}
.os-print-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:18px;
}
.os-float-print{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:30;
  min-width:160px;
  padding:14px 18px;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(15,23,42,.22);
  color:#123321 !important;
  border-color:rgba(22,163,74,.28) !important;
  background:linear-gradient(180deg, rgba(187,247,208,.96), rgba(134,239,172,.92)) !important;
  font-weight:900;
}
.os-print-document .card{
  background:#fff;
  color:#0f172a;
  border-color:#d7e2f2;
  box-shadow:none;
}
.os-sheet{
  background:#fff;
  border-radius:28px;
  padding:28px;
  border:1px solid #d7e2f2;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
  position:relative;
  overflow:hidden;
}
.os-sheet-glow{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:180px;
  background:
    radial-gradient(420px 160px at 0% 0%, rgba(22,163,74,.10), transparent 70%),
    radial-gradient(520px 200px at 100% 0%, rgba(59,130,246,.10), transparent 68%);
  pointer-events:none;
}
.os-sheet-header{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  position:relative;
  z-index:1;
  padding-bottom:18px;
  border-bottom:1px solid #dce6f4;
  margin-bottom:20px;
}
.os-company-block{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-width:0;
}
.os-company-mark{
  width:72px;
  height:72px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, #16a34a, #0f766e);
  box-shadow:0 18px 32px rgba(15,118,110,.22);
  flex:0 0 auto;
}
.os-company-eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#5f728f;
  margin-bottom:6px;
}
.os-company-name{
  font-size:28px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.03em;
}
.os-company-meta{
  margin-top:8px;
  color:#61738d;
  font-size:12px;
}
.os-order-badge{
  min-width:220px;
  text-align:right;
  display:grid;
  gap:6px;
  padding:14px 16px;
  border:1px solid #dce6f4;
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff, #f8fbff);
}
.os-order-label{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8da0b8;
}
.os-order-badge strong{
  font-size:36px;
  line-height:1;
  letter-spacing:-.04em;
}
.os-order-status{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#edf4ff;
  color:#274060;
  font-size:12px;
  font-weight:700;
}
.os-sheet-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.os-data-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}
.os-info-card{
  border:1px solid #d7e2f2;
  border-radius:22px;
  padding:18px 18px 16px;
  background:#fff;
  min-height:148px;
}
.os-info-card-highlight{
  background:linear-gradient(180deg, #f3fbf7, #ffffff);
  border-color:#cfe6d7;
}
.os-info-title{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#90a0b5;
  margin-bottom:10px;
}
.os-info-value{
  font-size:20px;
  line-height:1.12;
  font-weight:900;
  color:#16233b;
  letter-spacing:-.03em;
}
.os-info-meta{
  margin-top:8px;
  color:#708096;
  font-size:12px;
}
.os-panel{
  border:1px solid #d7e2f2;
  border-radius:24px;
  background:#fff;
  padding:18px 18px 16px;
}
.os-panel-full{
  margin-bottom:18px;
}
.os-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.os-panel-head h3{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#16233b;
}
.os-panel-sub{
  margin-top:4px;
  color:#73839a;
  font-size:12px;
}
.os-panel-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:36px;
  border-radius:999px;
  background:#eff5ff;
  color:#2a4f78;
  font-size:13px;
  font-weight:800;
}
.os-note-box{
  min-height:88px;
  border:1px dashed #d3deed;
  border-radius:18px;
  background:#fbfdff;
  padding:16px;
  font-size:14px;
  line-height:1.7;
  color:#223249;
  white-space:pre-wrap;
}
.os-items-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}
.os-table{
  width:100%;
  min-width:0;
  border-collapse:collapse;
  table-layout:fixed;
  border:1px solid #e3ebf6;
  border-radius:18px;
  overflow:hidden;
}
.os-table thead th{
  background:#f6f9fd;
  color:#637790;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  padding:14px 14px;
  border-bottom:1px solid #e3ebf6;
  position:static;
}
.os-table tbody td{
  padding:14px 14px;
  border-bottom:1px solid #edf2f8;
  color:#17253d;
  vertical-align:top;
  font-size:13px;
}
.os-table tbody tr:last-child td{
  border-bottom:none;
}
.os-col-description{
  width:auto;
}
.os-col-qty{
  width:76px;
  text-align:center;
}
.os-col-money{
  width:120px;
  text-align:right;
  white-space:nowrap;
}
.os-item-name{
  font-weight:800;
  color:#19273f;
}
.os-item-code{
  margin-top:6px;
  font-size:11px;
  color:#7b8ca2;
}
.os-empty-row{
  text-align:center;
  color:#7b8ca2;
  padding:18px 14px;
}
.os-bottom-grid{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:14px;
}
.os-timeline{
  display:grid;
  gap:12px;
}
.os-timeline-item{
  display:grid;
  grid-template-columns:16px minmax(0, 1fr);
  gap:12px;
  align-items:flex-start;
}
.os-timeline-dot{
  width:16px;
  height:16px;
  border-radius:999px;
  margin-top:4px;
  background:linear-gradient(135deg, #16a34a, #0ea5e9);
  box-shadow:0 0 0 4px rgba(14,165,233,.10);
}
.os-timeline-content{
  border:1px solid #e3ebf6;
  border-radius:18px;
  background:#fbfdff;
  padding:14px 15px;
}
.os-timeline-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  color:#1b2b44;
  margin-bottom:8px;
}
.os-timeline-head span{
  color:#72839a;
  font-size:11px;
  white-space:nowrap;
}
.os-timeline-note{
  color:#5f7187;
  font-size:12px;
  line-height:1.55;
}
.os-financial-list{
  display:grid;
  gap:10px;
}
.os-financial-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid #e3ebf6;
  border-radius:18px;
  background:#fbfdff;
  color:#24354c;
  font-size:13px;
}
.os-financial-total{
  margin-top:4px;
  background:linear-gradient(180deg, #f3fbf7, #ffffff);
  border-color:#cfe6d7;
  font-size:15px;
}
.os-financial-total strong{
  font-size:20px;
  color:#0f5132;
}
.os-empty-state{
  color:#7b8ca2;
  padding:8px 2px;
}

@media (max-width: 980px){
  .execution-stage-grid,
  .status-plate-actions{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .execution-search-form,
  .dashboard-filter-grid,
  .execution-result-meta,
  .execution-result-meta--compact,
  .execution-stage-pill-list,
  .dashboard-operation-grid{grid-template-columns:1fr 1fr;}
  .performance-summary-grid,
  .performance-leaders-grid,
  .employee-performance-grid,
  .employee-performance-metrics{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .os-sheet-grid,
  .os-data-grid,
  .os-items-grid,
  .os-bottom-grid{grid-template-columns:1fr;}
  .os-sheet-header{
    flex-direction:column;
  }
  .os-order-badge{
    width:100%;
    text-align:left;
  }
  .os-order-status{
    justify-self:start;
  }
}

@media (max-width: 760px){
  .performance-summary-grid,
  .performance-leaders-grid,
  .employee-performance-grid,
  .employee-performance-metrics{grid-template-columns:1fr;}
  .execution-search-head,
  .goal-head,
  .performance-card-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .dashboard-leader-card{
    grid-template-columns:1fr;
  }
  .dashboard-leader-stats{
    justify-items:start;
  }
  .execution-search-form,
  .dashboard-filter-grid,
  .execution-result-meta,
  .execution-result-meta--compact,
  .execution-stage-pill-list,
  .dashboard-operation-grid{grid-template-columns:1fr;}
  .execution-card-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .execution-action-group{
    width:100%;
    justify-content:stretch;
  }
  .execution-action-group .btn{
    flex:1 1 180px;
  }
  .execution-queue-panel-side,
  .execution-pagination,
  .execution-pagination-actions{
    width:100%;
    justify-content:stretch;
  }
  .execution-pagination-actions .btn{
    flex:1 1 88px;
  }
  .execution-primary-action{
    width:100%;
    min-width:0;
  }
  .dashboard-filter-actions{
    justify-content:stretch;
  }
  .dashboard-filter-actions .btn{
    flex:1 1 180px;
  }
  .dashboard-filter-modal-actions,
  .dashboard-filter-modal-buttons{
    flex-direction:column;
    align-items:stretch;
  }
  .dashboard-chart-grid{
    grid-template-columns:1fr;
  }
  .dashboard-chart-card--wide{
    grid-column:auto;
  }
  .dashboard-chart-wrap{
    height:260px;
    min-height:260px;
  }
  .dashboard-chart-wrap--wide{
    height:300px;
    min-height:300px;
  }
  .execution-search-actions{
    width:100%;
  }
  .execution-search-actions .btn{
    flex:1 1 180px;
  }
  .execution-plate{
    font-size:28px;
  }
  .execution-card .row[style*="justify-content:space-between;align-items:center"]{
    flex-direction:column;
    align-items:stretch !important;
  }
  .execution-card .row[style*="justify-content:space-between;align-items:center"] .btn{
    width:100%;
    justify-content:center;
  }
  .os-float-print{
    right:14px;
    bottom:14px;
    min-width:auto;
    width:calc(100vw - 28px);
  }
  .os-sheet{
    padding:18px;
    border-radius:22px;
  }
  .os-company-name{
    font-size:24px;
  }
  .os-info-value{
    font-size:18px;
  }
  .os-panel-head h3{
    font-size:18px;
  }
  .os-order-badge strong{
    font-size:28px;
  }
  .os-table{
    display:block;
    overflow-x:auto;
  }
}

@media print{
  .os-print-toolbar,
  .os-float-print{display:none !important;}
  .os-print-page{background:#eef3fb !important;}
  .os-print-shell{
    width:190mm;
    padding:0;
  }
  .os-sheet{
    border:1px solid #d7e2f2;
    border-radius:28px;
    box-shadow:none;
    padding:18px;
    overflow:visible !important;
  }
  .os-sheet-header{
    flex-direction:row !important;
    gap:16px !important;
    padding-bottom:12px;
    margin-bottom:12px;
  }
  .os-company-block{
    gap:12px;
  }
  .os-company-mark{
    width:56px;
    height:56px;
    border-radius:16px;
    box-shadow:none;
  }
  .os-company-eyebrow{
    font-size:9px;
    margin-bottom:4px;
  }
  .os-company-name{
    font-size:22px;
  }
  .os-company-meta{
    margin-top:4px;
    font-size:11px;
  }
  .os-order-badge{
    width:auto !important;
    min-width:170px;
    text-align:right !important;
    padding:10px 12px;
    gap:4px;
  }
  .os-order-badge strong{
    font-size:30px;
  }
  .os-order-status{
    justify-self:end !important;
    padding:5px 10px;
    font-size:11px;
  }
  .os-data-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:10px !important;
    margin-bottom:12px;
  }
  .os-items-grid{
    display:block !important;
    margin-bottom:12px;
  }
  .os-items-grid > .os-panel{
    margin-bottom:12px;
    break-inside:auto !important;
    page-break-inside:auto !important;
  }
  .os-bottom-grid{
    grid-template-columns:1.35fr .85fr !important;
    gap:10px !important;
  }
  .os-info-card{
    min-height:auto;
    padding:12px 12px 10px;
    border-radius:16px;
  }
  .os-info-title{
    margin-bottom:6px;
    font-size:10px;
  }
  .os-info-value{
    font-size:14px;
  }
  .os-info-meta{
    margin-top:5px;
    font-size:10px;
    line-height:1.35;
  }
  .os-panel{
    border-radius:16px;
    padding:12px 12px 10px;
  }
  .os-panel-full{
    margin-bottom:12px;
  }
  .os-panel-head{
    margin-bottom:10px;
  }
  .os-panel-head h3{
    font-size:16px;
  }
  .os-panel-sub{
    font-size:10px;
    margin-top:2px;
  }
  .os-panel-badge{
    min-width:28px;
    height:28px;
    font-size:11px;
  }
  .os-note-box{
    min-height:56px;
    padding:10px 12px;
    font-size:12px;
    line-height:1.45;
    border-radius:12px;
  }
  .os-table thead th{
    padding:8px 10px;
    font-size:10px;
  }
  .os-table tbody td{
    padding:8px 10px;
    font-size:11px;
  }
  .os-table{
    display:table !important;
    width:100% !important;
    table-layout:fixed !important;
    overflow:visible !important;
    break-inside:auto !important;
    page-break-inside:auto !important;
  }
  .os-table thead{
    display:table-header-group !important;
  }
  .os-table tbody{
    display:table-row-group !important;
  }
  .os-table tr{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .os-col-qty{
    width:50px;
  }
  .os-col-money{
    width:82px;
  }
  .os-item-name{
    font-size:11px;
  }
  .os-item-code{
    margin-top:3px;
    font-size:9px;
  }
  .os-timeline{
    gap:8px;
  }
  .os-timeline-item{
    gap:8px;
  }
  .os-timeline-dot{
    width:12px;
    height:12px;
    margin-top:3px;
    box-shadow:0 0 0 3px rgba(14,165,233,.08);
  }
  .os-timeline-content{
    padding:10px 12px;
    border-radius:12px;
  }
  .os-timeline-head{
    margin-bottom:5px;
  }
  .os-timeline-head strong{
    font-size:11px;
  }
  .os-timeline-head span{
    font-size:9px;
  }
  .os-timeline-note{
    font-size:10px;
    line-height:1.4;
  }
  .os-financial-list{
    gap:8px;
  }
  .os-financial-row{
    padding:10px 12px;
    border-radius:12px;
    font-size:11px;
  }
  .os-financial-total{
    font-size:12px;
  }
  .os-financial-total strong{
    font-size:16px;
  }
  .os-info-card,
  .os-panel,
  .os-timeline-content,
  .os-financial-row,
  .os-order-badge{
    break-inside:avoid;
  }
}

/* ════════════════════════════════════════════════════════════
   WP-STYLE CHECKLIST BUILDER  (.wpb-*)
   ════════════════════════════════════════════════════════════ */

body.builder-page .app{ display:none }
body.builder-page{ overflow:hidden }

.wpb-layout{
  display:grid;
  grid-template-columns:300px 1fr;
  height:100vh;
  height:100dvh;
  overflow:hidden;
}

/* ── Sidebar ── */
.wpb-sidebar{
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  background:linear-gradient(180deg,#0c1828 0%,#091220 100%);
  border-right:1px solid rgba(255,255,255,.10);
  z-index:10;
}
.wpb-sidebar-header{
  padding:16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.wpb-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.wpb-brand-icon{
  width:40px;height:40px;
  border-radius:12px;
  display:grid;place-items:center;
  font-size:20px;
  background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(34,197,94,.06));
  border:1px solid rgba(34,197,94,.24);
  flex-shrink:0;
}
.wpb-brand-name{ font-weight:900;font-size:14px;letter-spacing:.01em }
.wpb-brand-sub{ font-size:11px;color:var(--muted2);margin-top:2px }

.wpb-sidebar-search{
  padding:10px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-shrink:0;
}
.wpb-sidebar-search input{
  width:100%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  padding:8px 12px;
  color:var(--text);
  font-size:13px;
  outline:none;
  transition:border-color .15s ease;
}
.wpb-sidebar-search input:focus{
  border-color:rgba(34,197,94,.40);
  background:rgba(255,255,255,.07);
}
.wpb-sidebar-search input::placeholder{ color:var(--muted2) }

.wpb-sidebar-body{
  flex:1;
  overflow-y:auto;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.10) transparent;
}
.wpb-group-title{
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted2);
  padding:10px 4px 5px;
}
.wpb-group-items{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.wpb-widget{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid transparent;
  cursor:grab;
  user-select:none;
  transition:background .12s ease,border-color .12s ease,transform .08s ease;
}
.wpb-widget:hover{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.10);
}
.wpb-widget:active{ cursor:grabbing;transform:scale(.98) }
.wpb-widget.dragging{ opacity:.45;cursor:grabbing }
.wpb-widget-ico{
  width:32px;height:32px;
  border-radius:8px;
  display:grid;place-items:center;
  font-size:13px;font-weight:900;
  border:1px solid;
  flex-shrink:0;
  transition:transform .1s ease;
}
.wpb-widget:hover .wpb-widget-ico{ transform:scale(1.06) }
.wpb-widget-name{ font-size:13px;font-weight:700;line-height:1.2 }
.wpb-widget-desc{
  font-size:11px;
  color:var(--muted2);
  margin-top:1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:180px;
}
.wpb-search-empty{
  padding:24px 8px;
  text-align:center;
  color:var(--muted2);
  font-size:13px;
  line-height:1.5;
}

.wpb-sidebar-footer{
  padding:14px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  flex-direction:column;
  gap:8px;
  flex-shrink:0;
  background:rgba(0,0,0,.18);
}
.wpb-full-btn{ width:100%;justify-content:center }

/* ── Workspace ── */
.wpb-workspace{
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  min-width:0;
}
.wpb-topbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 18px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(11,18,32,.90);
  backdrop-filter:blur(12px);
  flex-shrink:0;
  z-index:5;
  min-height:52px;
}
.wpb-topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.wpb-topbar-center{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  justify-content:center;
  min-width:0;
}
.wpb-topbar-icon{ font-size:18px }
.wpb-topbar-title{
  font-weight:900;
  font-size:14px;
  white-space:nowrap;
}
.wpb-topbar-divider{
  width:1px;height:22px;
  background:rgba(255,255,255,.12);
  flex-shrink:0;
}
.wpb-topbar-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  min-width:0;
  overflow:hidden;
}
.wpb-select-wrap select{
  height:34px;
  padding:0 32px 0 10px;
  border-radius:10px;
  font-size:12px;
  max-width:200px;
  appearance:none;
  background:rgba(255,255,255,.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center/16px;
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
  cursor:pointer;
}
.wpb-select-wrap select option{ background:#0f172a;color:#e5e7eb }
.wpb-meta-input{
  height:34px;
  padding:0 10px;
  border-radius:10px;
  font-size:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:var(--text);
  width:170px;
  flex-shrink:0;
  transition:border-color .15s ease;
}
.wpb-meta-desc{ width:220px }
.wpb-meta-input:focus{
  outline:none;
  border-color:rgba(34,197,94,.35);
  background:rgba(255,255,255,.07);
}
.wpb-meta-input::placeholder{ color:var(--muted2) }
.wpb-active-pill{ flex-shrink:0 }

/* Template header — faixa logo abaixo da topbar */
.wpb-template-header{
  display:flex;
  align-items:flex-end;
  gap:20px;
  padding:16px 22px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.wpb-th-main{
  display:flex;
  gap:16px;
  flex:1;
  min-width:0;
  flex-wrap:wrap;
}
.wpb-th-name-wrap{ flex:1;min-width:200px }
.wpb-th-desc-wrap{ flex:2;min-width:260px }
.wpb-th-label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted2);
  margin-bottom:5px;
}
.wpb-th-name-input,
.wpb-th-desc-input{
  width:100%;
  height:40px;
  padding:0 12px;
  border-radius:10px;
  font-size:14px;
  border:1.5px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:border-color .15s,background .15s;
}
.wpb-th-name-input{
  font-size:15px;
  font-weight:700;
}
.wpb-th-name-input:focus,
.wpb-th-desc-input:focus{
  outline:none;
  border-color:rgba(34,197,94,.4);
  background:rgba(255,255,255,.07);
}
.wpb-th-name-input::placeholder,
.wpb-th-desc-input::placeholder{ color:var(--muted2);font-weight:400 }
.wpb-th-side{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  flex-shrink:0;
}
.wpb-th-pill{ align-self:flex-start }
.wpb-th-field-count{ margin-top:2px }

/* Canvas + preview */
.wpb-canvas-wrap{
  flex:1;
  overflow-y:auto;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:18px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.10) transparent;
}
.wpb-canvas-card,
.wpb-preview-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
}
.wpb-section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.wpb-section-title{ font-weight:800;font-size:14px }

.wpb-canvas{
  min-height:200px;
  border:2px dashed rgba(255,255,255,.12);
  border-radius:14px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
  transition:border-color .15s ease,background .15s ease;
}
.wpb-canvas.drag-over{
  border-color:rgba(34,197,94,.5);
  background:rgba(34,197,94,.04);
}
.wpb-canvas-empty{
  flex:1;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  pointer-events:none;
}
.wpb-canvas-empty-icon{ font-size:36px;opacity:.3 }
.wpb-canvas-empty-label{ font-size:14px;font-weight:700;color:var(--muted) }
.wpb-canvas-empty-hint{ font-size:12px;color:var(--muted2) }

/* Field rows */
.wpb-field-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  transition:background .12s ease,border-color .12s ease;
  cursor:default;
}
.wpb-field-item:hover{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.14);
}
.wpb-field-item.dragging{ opacity:.4;transform:scale(.98) }
.wpb-field-handle{
  cursor:grab;
  color:rgba(229,231,235,.28);
  font-size:18px;
  line-height:1;
  flex-shrink:0;
  transition:color .12s ease;
}
.wpb-field-item:hover .wpb-field-handle{ color:rgba(229,231,235,.60) }
.wpb-field-handle:active{ cursor:grabbing }
.wpb-field-type-ico{
  width:34px;height:34px;
  border-radius:9px;
  display:grid;place-items:center;
  font-size:13px;font-weight:900;
  border:1px solid;
  flex-shrink:0;
}
.wpb-field-info{ flex:1;min-width:0 }
.wpb-field-label{
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wpb-field-meta{ font-size:11px;color:var(--muted2);margin-top:2px }
.wpb-field-name{ font-family:var(--mono);font-size:10px }
.wpb-field-pills{
  display:flex;
  gap:5px;
  align-items:center;
  flex-shrink:0;
}
.wpb-badge-sm{
  font-size:10px !important;
  padding:3px 7px !important;
}
.wpb-field-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex-shrink:0;
}

.wpb-preview{ display:grid;gap:12px }

/* ── Modal ── */
.wpb-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.60);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:200;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease,visibility .15s ease;
  padding:20px;
  backdrop-filter:blur(4px);
}
.wpb-modal-overlay.open{
  opacity:1;
  visibility:visible;
}
.wpb-modal{
  background:linear-gradient(160deg,#0f1e36,#0b1728);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  width:min(580px,100%);
  max-height:86vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 32px 90px rgba(0,0,0,.65);
  transform:translateY(12px) scale(.98);
  transition:transform .18s ease;
}
.wpb-modal-overlay.open .wpb-modal{
  transform:translateY(0) scale(1);
}
.wpb-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.wpb-modal-head-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.wpb-modal-badge{
  font-size:11px;
  font-weight:800;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid;
  letter-spacing:.04em;
}
.wpb-modal-title{ font-weight:900;font-size:15px }
.wpb-modal-tabs{
  display:flex;
  gap:2px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.07);
  padding:8px 20px 0;
  flex-shrink:0;
}
.wpb-tab{
  padding:8px 16px;
  border-radius:10px 10px 0 0;
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  transition:color .12s ease;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.wpb-tab:hover{ color:var(--text) }
.wpb-tab.active{
  color:var(--text);
  border-bottom-color:var(--primary);
  background:rgba(34,197,94,.06);
}
.wpb-modal-body{
  flex:1;
  overflow-y:auto;
  padding:20px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.10) transparent;
}
.wpb-tab-panel{ display:none }
.wpb-tab-panel.active{ display:block }
.wpb-modal-foot{
  padding:14px 20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex-shrink:0;
}

/* ── Responsive ── */
@media (max-width:1100px){
  .wpb-layout{ grid-template-columns:260px 1fr }
}
@media (max-width:860px){
  .wpb-layout{ grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto }
  body.builder-page{ overflow:auto }
  .wpb-sidebar{ height:auto;max-height:60vh }
  .wpb-workspace{ height:auto;min-height:60vh }
  .wpb-topbar-meta{ flex-wrap:wrap }
  .wpb-meta-desc{ display:none }
}

/* ── Back button & save hint in topbar ── */
.wpb-back-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;height:30px;
  border-radius:8px;
  color:var(--muted);
  text-decoration:none;
  font-size:17px;
  font-weight:700;
  flex-shrink:0;
  transition:background .12s ease,color .12s ease;
}
.wpb-back-btn:hover{ background:rgba(255,255,255,.08);color:var(--text) }
.wpb-topbar-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
  margin-left:auto;
}
.wpb-save-hint{
  font-size:11px;
  color:var(--muted2);
  white-space:nowrap;
  letter-spacing:.02em;
  transition:color .2s ease,opacity .2s ease;
}
.wpb-save-hint.dirty{ color:#fbbf24 }
.wpb-save-hint.saved{ color:#22c55e }

/* ── WPForms-style live field canvas ── */

/* Override canvas to feel like a form area, not a drop zone */
.wpb-form-canvas{
  border-style:dashed;
  border-color:rgba(255,255,255,.10);
  padding:6px;
  gap:2px;
}
.wpb-form-canvas.drag-over{
  border-color:rgba(34,197,94,.45);
  background:rgba(34,197,94,.03);
}

/* Drop indicator line between fields */
.wpb-drop-line{
  height:3px;
  background:var(--primary);
  border-radius:2px;
  margin:2px 6px;
  box-shadow:0 0 8px rgba(34,197,94,.55);
  pointer-events:none;
}

/* Each live field wrapper */
.wpb-live-field{
  position:relative;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid var(--field-color,rgba(255,255,255,.18));
  cursor:pointer;
  transition:border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.wpb-live-field + .wpb-live-field{ margin-top:2px }
.wpb-live-field:hover{
  border-color:rgba(255,255,255,.14);
  border-left-color:var(--field-color,rgba(255,255,255,.4));
  background:rgba(255,255,255,.022);
  box-shadow:0 2px 14px rgba(0,0,0,.22);
}
.wpb-live-field.wpb-selected{
  border-color:rgba(34,197,94,.35);
  border-left-color:var(--field-color,rgba(34,197,94,.7));
  background:rgba(34,197,94,.03);
}
.wpb-live-field.wpb-dragging{
  opacity:.35;
  pointer-events:none;
}

/* Hover action toolbar — appears at top-right of each field */
.wpb-live-actions{
  position:absolute;
  top:-1px;
  right:10px;
  transform:translateY(-100%);
  display:flex;
  align-items:center;
  gap:2px;
  background:linear-gradient(180deg,#1a3a28,#152e20);
  border:1px solid rgba(34,197,94,.35);
  border-radius:8px 8px 0 0;
  border-bottom:none;
  padding:3px 6px;
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease;
  z-index:30;
  white-space:nowrap;
}
.wpb-live-field:hover .wpb-live-actions,
.wpb-live-field.wpb-selected .wpb-live-actions{
  opacity:1;
  pointer-events:auto;
}
.wpb-live-num{
  font-size:10px;
  font-weight:900;
  font-family:var(--mono);
  color:var(--field-color,var(--muted2));
  opacity:.75;
  min-width:18px;
  text-align:center;
  letter-spacing:.02em;
}
.wpb-live-type{
  font-size:9px;
  font-weight:800;
  color:var(--field-color,var(--muted2));
  opacity:.7;
  letter-spacing:.08em;
  text-transform:uppercase;
  max-width:60px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wpb-live-handle{
  cursor:grab;
  color:rgba(134,239,172,.70);
  font-size:16px;
  line-height:1;
  padding:3px 4px;
  border-radius:5px;
  transition:background .1s, color .1s;
  user-select:none;
}
.wpb-live-handle:hover{ background:rgba(255,255,255,.10);color:#86efac }
.wpb-live-handle:active{ cursor:grabbing }
.wpb-live-sep{
  width:1px;height:12px;
  background:rgba(255,255,255,.14);
  margin:0 3px;
  flex-shrink:0;
}
.wpb-live-btn{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 8px;
  border:none;
  border-radius:5px;
  background:transparent;
  color:rgba(134,239,172,.90);
  cursor:pointer;
  font-size:11px;
  font-weight:700;
  transition:background .1s ease, color .1s ease;
  line-height:1.3;
}
.wpb-live-btn:hover{ background:rgba(255,255,255,.10);color:#fff }
.wpb-live-btn-muted{
  color:rgba(148,163,184,.75);
}
.wpb-live-btn-muted:hover{
  background:rgba(255,255,255,.08);
  color:#e5e7eb;
}
.wpb-live-btn-danger{
  color:rgba(252,165,165,.80);
}
.wpb-live-btn-danger:hover{
  background:rgba(239,68,68,.18);
  color:#fca5a5;
}

/* Field content area — blocks interaction so clicks reach the wrapper */
.wpb-live-inner{
  padding:10px 14px 12px;
  pointer-events:none;
  user-select:none;
}
.wpb-live-inner input,
.wpb-live-inner textarea,
.wpb-live-inner select{
  pointer-events:none !important;
  cursor:default !important;
}
.wpb-live-inner label.pill input{
  pointer-events:none !important;
}

/* Required asterisk */
.wpb-req{
  color:var(--danger);
  margin-left:3px;
  font-weight:900;
}

/* Photo & signature placeholders */
.wpb-media-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:68px;
  border:2px dashed rgba(255,255,255,.12);
  border-radius:10px;
  color:var(--muted2);
  font-size:13px;
  font-weight:600;
  background:rgba(255,255,255,.02);
}
.wpb-sig-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  height:72px;
  border:2px dashed rgba(255,255,255,.12);
  border-radius:10px;
  color:var(--muted2);
  font-size:13px;
  font-weight:600;
  background:rgba(255,255,255,.02);
  letter-spacing:.02em;
}

/* Sidebar template counter */
.wpb-tpl-count{
  font-size:10px;
  font-weight:700;
  color:var(--muted2);
  padding:6px 4px 2px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* ═══════════════════════════════════════════════════════
   CHECKLIST LIST PAGE — card grid  (.cl-*)
   ═══════════════════════════════════════════════════════ */

.cl-list-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:14px;
}

.cl-list-empty{
  grid-column:1/-1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:60px 20px;
  text-align:center;
}
.cl-list-empty-ico{ font-size:40px;opacity:.35 }
.cl-list-empty-title{ font-size:16px;font-weight:800;color:var(--muted) }
.cl-list-empty-sub{ font-size:13px;color:var(--muted2) }

.cl-card{
  display:flex;
  flex-direction:column;
  gap:0;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  overflow:hidden;
  transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;
}
.cl-card:hover{
  border-color:rgba(255,255,255,.16);
  box-shadow:0 4px 24px rgba(0,0,0,.28);
  transform:translateY(-1px);
}

.cl-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:14px 16px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cl-card-left{ min-width:0;flex:1 }
.cl-card-model{
  font-size:14px;
  font-weight:800;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:220px;
}
.cl-card-meta{
  font-size:11px;
  color:var(--muted2);
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cl-card-body{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:10px 16px;
  flex:1;
}
.cl-card-info{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:var(--muted);
  min-width:0;
}
.cl-card-info span:last-child{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cl-card-info-ico{ font-size:13px;flex-shrink:0;opacity:.8 }

.cl-card-foot{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:10px 14px 13px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.08);
}

/* Light mode */
html[data-system-theme="light"] .cl-card{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(148,163,184,.18) !important;
}
html[data-system-theme="light"] .cl-card:hover{
  border-color:rgba(148,163,184,.35) !important;
  box-shadow:0 4px 20px rgba(15,23,42,.12) !important;
}
html[data-system-theme="light"] .cl-card-head{
  border-bottom-color:rgba(148,163,184,.14) !important;
}
html[data-system-theme="light"] .cl-card-foot{
  border-top-color:rgba(148,163,184,.14) !important;
  background:rgba(241,245,249,.6) !important;
}
html[data-system-theme="light"] .cl-list-empty-title{ color:var(--muted) !important }
html[data-system-theme="light"] .cl-list-empty-sub{ color:var(--muted2) !important }

/* ── Checklist skeleton loading ─────────────────────────────── */
@keyframes cl-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position:  400px 0; }
}
.cl-skel-line {
  border-radius: 6px;
  background: linear-gradient(90deg,
    rgba(255,255,255,.04) 25%,
    rgba(255,255,255,.10) 50%,
    rgba(255,255,255,.04) 75%
  );
  background-size: 800px 100%;
  animation: cl-shimmer 1.4s ease-in-out infinite;
}
html[data-system-theme="light"] .cl-skel-line {
  background: linear-gradient(90deg,
    rgba(0,0,0,.06) 25%,
    rgba(0,0,0,.13) 50%,
    rgba(0,0,0,.06) 75%
  );
  background-size: 800px 100%;
  animation: cl-shimmer 1.4s ease-in-out infinite;
}
.cl-card-skeleton {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  overflow: hidden;
  pointer-events: none;
}
html[data-system-theme="light"] .cl-card-skeleton {
  background: rgba(255,255,255,.92);
  border-color: rgba(148,163,184,.15);
}
.cl-card-skeleton .cl-card-head {
  padding: 14px 16px 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.cl-card-skeleton .cl-card-body {
  padding: 10px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cl-card-skeleton .cl-card-foot {
  padding: 10px 14px 12px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.07);
  display: flex;
  gap: 6px;
}

/* ═══════════════════════════════════════════════════════
   OIL — pendências modal rows  (.oil-pend-*)
   ═══════════════════════════════════════════════════════ */

.oil-pend-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease;
}
.oil-pend-row:hover{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14) }
.oil-pend-row:has(input:checked){ background:rgba(34,197,94,.06); border-color:rgba(34,197,94,.25) }
.oil-pend-disabled{ opacity:.45; cursor:not-allowed }
.oil-pend-info{ flex:1; min-width:0 }
.oil-pend-name{ font-weight:700; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.oil-pend-sub{ font-size:11px; color:var(--muted2); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }

/* Floating bulk send player */
.oil-bulk-player{
  position:fixed;
  bottom:24px;
  right:24px;
  width:340px;
  background:linear-gradient(160deg,#0f1e36,#0b1728);
  border:1px solid rgba(34,197,94,.3);
  border-radius:16px;
  box-shadow:0 16px 60px rgba(0,0,0,.70);
  z-index:9999;
  overflow:hidden;
  transition:width .2s ease, box-shadow .2s ease;
}
.oil-bulk-player.oil-bulk-minimized{
  width:240px;
  border-color:rgba(251,191,36,.35);
}
.oil-bulk-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  background:rgba(0,0,0,.25);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.oil-bulk-title{ font-size:13px; font-weight:800; color:#86efac }
.oil-bulk-action{
  background:rgba(255,255,255,.08);
  border:none;
  border-radius:6px;
  color:var(--muted);
  cursor:pointer;
  font-size:12px;
  font-weight:700;
  padding:3px 8px;
  transition:background .1s, color .1s;
}
.oil-bulk-action:hover{ background:rgba(255,255,255,.16); color:var(--text) }
.oil-bulk-action.danger:hover{ background:rgba(239,68,68,.22); color:#fca5a5 }
.oil-bulk-body{ padding:12px 14px; display:flex; flex-direction:column; gap:8px }
.oil-bulk-progress-wrap{
  height:6px;
  background:rgba(255,255,255,.08);
  border-radius:4px;
  overflow:hidden;
}
.oil-bulk-bar{
  height:100%;
  background:linear-gradient(90deg,#22c55e,#86efac);
  border-radius:4px;
  transition:width .4s ease;
}
.oil-bulk-status{
  font-size:12px;
  color:var(--muted);
  min-height:16px;
}
.oil-bulk-log{
  max-height:130px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:3px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.10) transparent;
}
.oil-bulk-log-row{
  font-size:11px;
  color:#86efac;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.oil-bulk-log-err{ color:#fca5a5 }

/* Light mode overrides */
html[data-system-theme="light"] .btn.warn{
  background:linear-gradient(180deg,rgba(245,158,11,.18),rgba(245,158,11,.08)) !important;
  border-color:rgba(245,158,11,.35) !important;
  color:#92400e !important;
}
html[data-system-theme="light"] .oil-pend-row{
  background:rgba(255,255,255,.9) !important;
  border-color:rgba(148,163,184,.18) !important;
}
html[data-system-theme="light"] .oil-pend-row:has(input:checked){
  background:rgba(34,197,94,.06) !important;
  border-color:rgba(34,197,94,.28) !important;
}
html[data-system-theme="light"] .oil-bulk-player{
  background:linear-gradient(160deg,#ffffff,#f1f5f9) !important;
  border-color:rgba(34,197,94,.35) !important;
  box-shadow:0 16px 50px rgba(15,23,42,.18) !important;
}
html[data-system-theme="light"] .oil-bulk-title{ color:#166534 !important }
html[data-system-theme="light"] .oil-bulk-status{ color:var(--muted) !important }
html[data-system-theme="light"] .oil-bulk-log-row{ color:#166534 !important }
html[data-system-theme="light"] .oil-bulk-log-err{ color:#991b1b !important }
html[data-system-theme="light"] .oil-bulk-progress-wrap{ background:rgba(148,163,184,.2) !important }

/* ═══════════════════════════════════════════════════════
   MOBILE CHECKLIST EXECUTION PAGE  (.exec-page)
   ═══════════════════════════════════════════════════════ */

/* Hide normal app layout on exec page */
.exec-page .app { display:none!important; }

body.exec-page {
  margin:0; padding:0;
  height:100dvh; overflow:hidden;
  background:
    radial-gradient(circle at top, rgba(56,189,248,.16), transparent 30%),
    radial-gradient(circle at 85% 18%, rgba(34,197,94,.14), transparent 24%),
    linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,1));
  font-size:16px;          /* prevents iOS auto-zoom */
  -webkit-tap-highlight-color:transparent;
}

.exec-layout {
  display:flex; flex-direction:column;
  height:100dvh;
  max-width:680px; margin:0 auto;
}

/* ── Header ─────────────────────────────────────── */
.exec-header {
  flex-shrink:0;
  background:rgba(8,15,28,.88);
  border-bottom:1px solid rgba(148,163,184,.14);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 36px rgba(2,8,23,.22);
  z-index:20;
}
.exec-header-inner {
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
}
.exec-back {
  flex-shrink:0;
  width:40px; height:40px;
  border:1px solid var(--border); border-radius:10px;
  background:var(--bg); color:var(--text);
  font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.exec-header-info { flex:1; min-width:0; }
.exec-header-title {
  font-size:15px; font-weight:700; line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.exec-header-sub { font-size:11px; color:var(--muted2); margin-top:1px; }

/* Status badge */
.exec-badge {
  flex-shrink:0;
  font-size:11px; font-weight:700; padding:4px 9px;
  border-radius:20px; border:1px solid transparent;
  white-space:nowrap;
}
.exec-badge-warn  { background:rgba(250,204,21,.15); color:#fbbf24; border-color:rgba(250,204,21,.25); }
.exec-badge-good  { background:rgba(34,197,94,.15);  color:#22c55e; border-color:rgba(34,197,94,.25); }
.exec-badge-bad   { background:rgba(239,68,68,.15);  color:#ef4444; border-color:rgba(239,68,68,.25); }
.exec-badge-orange{ background:rgba(251,146,60,.15); color:#fb923c; border-color:rgba(251,146,60,.25); }

/* Progress bar */
.exec-progress-bar {
  height:4px; background:rgba(148,163,184,.16);
}
.exec-progress-fill {
  height:100%; background:linear-gradient(90deg,#22c55e,#0ea5e9);
  transition:width .35s ease; border-radius:0 2px 2px 0;
}

/* ── Body ───────────────────────────────────────── */
.exec-body {
  flex:1; overflow-y:auto;
  padding:18px 14px 20px;
  -webkit-overflow-scrolling:touch;
}
#execFields { padding-bottom:18px; }

.exec-context-card {
  margin-bottom:14px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(125,211,252,.18);
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.18), transparent 34%),
    linear-gradient(180deg, rgba(15,23,42,.94), rgba(8,15,28,.92));
  box-shadow:0 18px 40px rgba(2,8,23,.22);
}
.exec-context-card-empty{
  border-style:dashed;
}
.exec-context-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.exec-context-eyebrow{
  color:#7dd3fc;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.exec-context-title{
  margin-top:6px;
  color:#f8fafc;
  font-size:20px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.03em;
}
.exec-context-badge{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.24);
  color:#86efac;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.exec-context-copy{
  margin-top:12px;
  color:rgba(226,232,240,.82);
  font-size:13px;
  line-height:1.65;
}
.exec-context-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
  margin-top:14px;
}
.exec-context-field,
.exec-context-readonly{
  display:grid;
  gap:8px;
}
.exec-context-label{
  color:#93c5fd;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.exec-context-readonly{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(148,163,184,.12);
}
.exec-context-value{
  color:#f8fafc;
  font-size:17px;
  font-weight:800;
  line-height:1.2;
}
.exec-context-help{
  color:rgba(226,232,240,.7);
  font-size:12px;
  line-height:1.5;
}
.exec-context-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.exec-context-chip{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.14);
  background:rgba(255,255,255,.04);
  color:#dbe5f1;
  font-size:12px;
  font-weight:700;
}

/* ── Field card ─────────────────────────────────── */
.exec-field-card {
  background:linear-gradient(180deg, rgba(15,23,42,.92), rgba(8,15,28,.94));
  border:1.5px solid rgba(148,163,184,.14);
  border-radius:20px;
  padding:16px 16px 14px;
  margin-bottom:12px;
  box-shadow:0 18px 34px rgba(2,8,23,.18);
  transition:border-color .15s, transform .15s ease, box-shadow .15s ease;
}
.exec-field-card:focus-within{
  transform:translateY(-1px);
  box-shadow:0 24px 42px rgba(2,8,23,.24);
}
.exec-field-card.exec-field-error {
  border-color:#ef4444;
  box-shadow:0 0 0 2px rgba(239,68,68,.15);
}
.exec-field-label {
  font-size:13px; font-weight:700;
  margin-bottom:10px; color:var(--text);
  display:flex; align-items:center; gap:5px;
}
.exec-req { color:#ef4444; font-size:16px; line-height:1; }
.exec-help { font-size:12px; color:var(--muted2); margin-top:6px; }

/* All mobile inputs */
.exec-body input:not([type=checkbox]):not([type=file]):not([type=hidden]),
.exec-body textarea,
.exec-body select {
  font-size:16px;          /* prevents iOS zoom */
  min-height:50px;
  padding:0 14px;
  width:100%; box-sizing:border-box;
  background:rgba(15,23,42,.72);
  border:1.5px solid rgba(148,163,184,.16);
  border-radius:14px;
  color:#f8fafc;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
  font-family:inherit;
}
.exec-body input:focus,
.exec-body textarea:focus,
.exec-body select:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(34,197,94,.15);
}
.exec-body textarea { min-height:100px; padding:12px 14px; resize:vertical; }

/* ── Checkbox ───────────────────────────────────── */
.exec-checkbox-label {
  display:flex; align-items:center; gap:12px;
  min-height:50px; cursor:pointer;
  background:rgba(15,23,42,.72); border:1.5px solid rgba(148,163,184,.16);
  border-radius:14px; padding:0 14px;
}
.exec-checkbox {
  width:22px!important; height:22px!important; min-height:22px!important;
  flex-shrink:0; cursor:pointer; accent-color:var(--accent);
}
.exec-checkbox-text { font-size:15px; line-height:1.4; }

/* ── Address ────────────────────────────────────── */
.exec-address { display:flex; flex-direction:column; gap:8px; }
.exec-addr-row { display:flex; gap:8px; }
.exec-addr-row input { flex:1; }
.exec-addr-sm { max-width:90px; }

/* ── Photo ──────────────────────────────────────── */
.exec-photo-wrap { display:flex; flex-direction:column; gap:10px; }
.exec-photo-preview {
  min-height:100px; border-radius:10px;
  border:1.5px dashed rgba(148,163,184,.18);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; position:relative;
  background:rgba(15,23,42,.58);
}
.exec-photo-img { width:100%; max-height:220px; object-fit:cover; border-radius:8px; display:block; }
.exec-photo-remove {
  position:absolute; top:8px; right:8px;
  width:28px; height:28px; border-radius:50%;
  background:rgba(239,68,68,.9); color:#fff;
  border:none; cursor:pointer; font-size:13px;
  display:flex; align-items:center; justify-content:center;
}
.exec-photo-empty { font-size:13px; color:var(--muted2); }

.exec-camera-btn {
  display:flex; align-items:center; justify-content:center;
  min-height:50px; border-radius:10px; cursor:pointer;
  background:linear-gradient(135deg, rgba(34,197,94,.16), rgba(14,165,233,.14));
  border:1.5px solid rgba(56,189,248,.24);
  color:#d9f99d; font-size:15px; font-weight:800;
  gap:6px; padding:0 16px;
}
.exec-camera-btn:active { opacity:.75; }

.exec-multi-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
}
.exec-multi-thumb {
  position:relative; border-radius:8px; overflow:hidden;
  aspect-ratio:1; background:var(--bg);
  border:1px solid var(--border);
}
.exec-multi-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.exec-thumb-remove {
  position:absolute; top:4px; right:4px;
  width:22px; height:22px; border-radius:50%;
  background:rgba(239,68,68,.9); color:#fff;
  border:none; cursor:pointer; font-size:11px;
  display:flex; align-items:center; justify-content:center;
}

/* ── Signature ──────────────────────────────────── */
.exec-sig-wrap {
  border:1.5px solid rgba(148,163,184,.16); border-radius:14px;
  overflow:hidden; background:rgba(15,23,42,.55);
}
.exec-sig-canvas { display:block; width:100%; touch-action:none; cursor:crosshair; }
.exec-sig-footer {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 12px;
  border-top:1px solid var(--border);
  background:var(--surface);
}
.exec-sig-hint { font-size:12px; color:var(--muted2); }
.exec-sig-clear {
  font-size:12px; padding:4px 10px; border-radius:6px;
  background:transparent; border:1px solid var(--border);
  color:var(--muted2); cursor:pointer;
}

/* ── Footer ─────────────────────────────────────── */
.exec-footer {
  flex-shrink:0;
  padding:12px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  background:rgba(8,15,28,.9);
  border-top:1px solid rgba(148,163,184,.14);
  backdrop-filter:blur(18px);
}
.exec-footer-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.exec-btn-draft,
.exec-btn-wait,
.exec-btn-finish {
  flex:1; min-height:52px; border:none; border-radius:12px;
  font-size:13px; font-weight:700; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
.exec-btn-draft  { background:rgba(255,255,255,.04); color:#dbe5f1; border:1.5px solid rgba(148,163,184,.14); }
.exec-btn-wait   { background:rgba(251,146,60,.15); color:#fed7aa; border:1.5px solid rgba(251,146,60,.28); }
.exec-btn-finish { background:linear-gradient(135deg,#22c55e,#0ea5e9); color:#041019; font-weight:900; }
.exec-btn-draft:active  { opacity:.7; }
.exec-btn-wait:active   { opacity:.7; }
.exec-btn-finish:active { opacity:.85; }

@media (max-width: 560px){
  .exec-context-top,
  .exec-context-grid{
    display:grid;
    grid-template-columns:1fr;
  }
  .exec-context-badge{
    justify-self:start;
  }
}

/* ── Template picker ────────────────────────────── */
.exec-pick { padding:4px 0; }
.exec-pick-title { font-size:18px; font-weight:800; margin-bottom:16px; }
.exec-pick-item {
  width:100%; text-align:left; display:block;
  background:var(--surface); border:1.5px solid var(--border);
  border-radius:14px; padding:16px 18px; margin-bottom:10px;
  cursor:pointer; color:var(--text); font-family:inherit;
}
.exec-pick-item:active { border-color:var(--accent); background:rgba(34,197,94,.05); }
.exec-pick-name  { font-size:16px; font-weight:700; }
.exec-pick-desc  { font-size:13px; color:var(--muted2); margin-top:4px; }

/* ── Empty state ────────────────────────────────── */
.exec-empty {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:60px 24px; text-align:center; gap:10px;
}
.exec-empty-icon  { font-size:48px; }
.exec-empty-text  { font-size:17px; font-weight:700; }
.exec-empty-sub   { font-size:14px; color:var(--muted2); }
.exec-empty-link  {
  margin-top:12px; font-size:14px; font-weight:700;
  color:var(--accent); text-decoration:none;
}

html[data-system-theme="light"] .btn,
html[data-system-theme="light"] .card,
html[data-system-theme="light"] .table-wrap,
html[data-system-theme="light"] .page-hero,
html[data-system-theme="light"] .filter-shell,
html[data-system-theme="light"] .table-panel,
html[data-system-theme="light"] .modal,
html[data-system-theme="light"] .notify-panel,
html[data-system-theme="light"] .ui-task-notice{
  background:rgba(255,255,255,.92) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
  box-shadow:var(--shadow2) !important;
}

html[data-system-theme="light"] .btn.primary{
  background:linear-gradient(180deg, var(--system-primary-soft), rgba(255,255,255,.96)) !important;
  color:var(--text) !important;
}

html[data-system-theme="light"] .badge{
  background:rgba(255,255,255,.82) !important;
  color:var(--muted) !important;
  border-color:var(--border) !important;
}

html[data-system-theme="light"] .page-hero,
html[data-system-theme="light"] .filter-shell,
html[data-system-theme="light"] .table-panel{
  background:
    linear-gradient(160deg, rgba(255,255,255,.96), rgba(244,248,252,.94)),
    radial-gradient(420px 220px at 12% 0%, var(--system-primary-soft), transparent 70%) !important;
}

html[data-system-theme="light"] th{
  background:rgba(241,245,249,.95) !important;
  color:var(--text) !important;
}

html[data-system-theme="light"] tr:hover td{
  background:rgba(241,245,249,.68) !important;
}

html[data-system-theme="light"] input,
html[data-system-theme="light"] select,
html[data-system-theme="light"] textarea,
html[data-system-theme="light"] .filter-input{
  background:rgba(255,255,255,.92) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

html[data-system-theme="light"] input:focus,
html[data-system-theme="light"] select:focus,
html[data-system-theme="light"] textarea:focus,
html[data-system-theme="light"] .filter-input:focus{
  box-shadow:0 0 0 4px var(--system-primary-ring) !important;
}

/* ============================================================
   LIGHT MODE — EXTENDED COMPONENT OVERRIDES
   ============================================================ */

/* Native select: arrow color + color-scheme */
html[data-system-theme="light"] select,
html[data-system-theme="light"] .field select{
  color-scheme:light !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(22,32,51,.52) 50%),
    linear-gradient(135deg, rgba(22,32,51,.52) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px) !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
}
html[data-system-theme="light"] .field select option,
html[data-system-theme="light"] select option,
html[data-system-theme="light"] .field select optgroup,
html[data-system-theme="light"] select optgroup{
  background:#ffffff !important;
  color:#162033 !important;
}

/* Select2 dropdown */
html[data-system-theme="light"] .select2-dropdown,
html[data-system-theme="light"] .select2-dropdown.oficina-select2-dropdown{
  background:#ffffff !important;
  border-color:rgba(148,163,184,.28) !important;
  box-shadow:0 18px 36px rgba(15,23,42,.12) !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .select2-search--dropdown{
  background:#ffffff !important;
  border-bottom:1px solid rgba(148,163,184,.16) !important;
}
html[data-system-theme="light"] .select2-container--default .select2-search--dropdown .select2-search__field{
  background:rgba(241,245,249,.9) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .select2-results,
html[data-system-theme="light"] .select2-results__options,
html[data-system-theme="light"] .select2-results__option{
  background:#ffffff !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background:rgba(34,197,94,.12) !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .select2-container--default .select2-results__option--selected{
  background:rgba(241,245,249,.96) !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .select2-container .select2-selection--single,
html[data-system-theme="light"] .select2-container--default .select2-selection--single{
  background:rgba(255,255,255,.96) !important;
  border-color:rgba(148,163,184,.28) !important;
}
html[data-system-theme="light"] .select2-container--default .select2-selection--single .select2-selection__arrow b,
html[data-system-theme="light"] .select2-container--default .select2-selection--single.oficina-select2-selection .select2-selection__arrow b{
  border-color:rgba(22,32,51,.5) transparent transparent transparent !important;
}

/* Badge colored text */
html[data-system-theme="light"] .badge.good{ color:#166534 !important; }
html[data-system-theme="light"] .badge.warn{ color:#92400e !important; }
html[data-system-theme="light"] .badge.bad { color:#991b1b !important; }

/* Plate pills */
html[data-system-theme="light"] .plate-pill{
  background:rgba(241,245,249,.9) !important;
  border-color:rgba(148,163,184,.26) !important;
  color:var(--text) !important;
}

/* Separators */
html[data-system-theme="light"] hr.sep{
  border-top-color:rgba(148,163,184,.22) !important;
}

/* Modal head / foot borders */
html[data-system-theme="light"] .modal .head{
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .modal .foot{
  border-top-color:var(--border) !important;
  background:rgba(241,245,249,.45) !important;
}

/* Table cell borders */
html[data-system-theme="light"] th,
html[data-system-theme="light"] td{
  border-bottom-color:rgba(148,163,184,.16) !important;
}
html[data-system-theme="light"] .table-panel .table-wrap{
  border-color:var(--border) !important;
  background:rgba(255,255,255,.98) !important;
}

/* Loading bar — light theme (barra usa var(--primary) já definido) */
html[data-system-theme="light"] .loading{
  background:rgba(34,197,94,.08);
}

/* Page eyebrow */
html[data-system-theme="light"] .page-eyebrow{
  background:rgba(241,245,249,.9) !important;
  border-color:var(--border) !important;
  color:var(--muted) !important;
}

/* Oil table footer border */
html[data-system-theme="light"] .oil-table-footer{
  border-top-color:var(--border) !important;
}

/* Month chips */
html[data-system-theme="light"] .month-chip{
  background:rgba(255,255,255,.9) !important;
  border-color:var(--border) !important;
  color:var(--muted) !important;
}
html[data-system-theme="light"] .month-chip:hover{
  background:rgba(241,245,249,.96) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .month-chip.active{
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(34,197,94,.10)) !important;
  border-color:rgba(34,197,94,.30) !important;
  color:#166534 !important;
}

/* Button hover & danger variant */
html[data-system-theme="light"] .btn:hover{
  background:#f1f5f9 !important;
  border-color:rgba(100,116,139,.28) !important;
}
html[data-system-theme="light"] .btn.primary:hover{
  background:linear-gradient(180deg, rgba(34,197,94,.24), rgba(255,255,255,.98)) !important;
}
html[data-system-theme="light"] .btn.danger{
  background:linear-gradient(180deg, rgba(239,68,68,.12), rgba(239,68,68,.06)) !important;
  border-color:rgba(239,68,68,.26) !important;
  color:#991b1b !important;
}
html[data-system-theme="light"] .btn.danger:hover{
  background:linear-gradient(180deg, rgba(239,68,68,.18), rgba(239,68,68,.10)) !important;
  border-color:rgba(239,68,68,.36) !important;
}

/* Oil pagination active */
html[data-system-theme="light"] .oil-pagination .btn.active{
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(255,255,255,.96)) !important;
  border-color:rgba(34,197,94,.34) !important;
  color:#166534 !important;
}

/* Pill */
html[data-system-theme="light"] .pill{
  background:rgba(255,255,255,.9) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}

/* SMTP inline actions */
html[data-system-theme="light"] .smtp-inline-actions{
  background:rgba(255,255,255,.88) !important;
  border-color:var(--border) !important;
}

/* Float alert cards */
html[data-system-theme="light"] .float-card{
  background:rgba(255,255,255,.97) !important;
  border-color:var(--border) !important;
  box-shadow:0 22px 52px rgba(15,23,42,.12) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .float-card::after{ opacity:.25 !important; }
html[data-system-theme="light"] .float-card .title{ color:var(--text) !important; }
html[data-system-theme="light"] .float-card .tag{
  background:rgba(241,245,249,.9) !important;
  border-color:var(--border) !important;
  color:var(--muted) !important;
}
html[data-system-theme="light"] .float-card .tag.warn{
  background:rgba(245,158,11,.12) !important;
  border-color:rgba(245,158,11,.28) !important;
  color:#92400e !important;
}
html[data-system-theme="light"] .float-card .tag.danger{
  background:rgba(239,68,68,.12) !important;
  border-color:rgba(239,68,68,.28) !important;
  color:#991b1b !important;
}
html[data-system-theme="light"] .float-card .tag.info{
  background:rgba(56,189,248,.12) !important;
  border-color:rgba(56,189,248,.26) !important;
  color:#0369a1 !important;
}
html[data-system-theme="light"] .float-card .close:hover{
  background:rgba(239,68,68,.10) !important;
  color:#991b1b !important;
}

/* ── Notification panel (light mode) ── */
html[data-system-theme="light"] .notify-panel{
  background:linear-gradient(160deg,#ffffff,#f8fafc) !important;
  border-color:rgba(148,163,184,.26) !important;
  box-shadow:0 20px 60px rgba(15,23,42,.14) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .notify-panel .head{
  border-bottom:1px solid rgba(148,163,184,.18);
  padding-bottom:8px;
  margin-bottom:10px;
}
html[data-system-theme="light"] .notify-panel .title{
  color:var(--text) !important;
  font-weight:900;
}
html[data-system-theme="light"] .notify-head-actions .btn{
  background:rgba(241,245,249,.9) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .notify-head-actions .btn:hover{
  background:#ffffff !important;
  border-color:rgba(100,116,139,.3) !important;
}
html[data-system-theme="light"] .notify-more{
  color:var(--muted) !important;
  font-size:12px;
  text-align:center;
  padding:4px 0;
}
/* Items */
html[data-system-theme="light"] .notify-item{
  background:rgba(248,250,252,.95) !important;
  border-color:rgba(148,163,184,.24) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .notify-item .subject{
  color:var(--text) !important;
}
html[data-system-theme="light"] .notify-item .text{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .notify-item .tag{
  background:rgba(226,232,240,.8) !important;
  border-color:rgba(148,163,184,.32) !important;
  color:#334155 !important;
}
html[data-system-theme="light"] .notify-item.danger{
  background:linear-gradient(150deg, rgba(254,226,226,.7), rgba(255,255,255,.96)) !important;
  border-color:rgba(239,68,68,.28) !important;
}
html[data-system-theme="light"] .notify-item.danger .subject{ color:#7f1d1d !important; }
html[data-system-theme="light"] .notify-item.danger .tag{
  background:rgba(239,68,68,.14) !important;
  border-color:rgba(239,68,68,.28) !important;
  color:#991b1b !important;
}
html[data-system-theme="light"] .notify-item.warn{
  background:linear-gradient(150deg, rgba(255,237,213,.7), rgba(255,255,255,.96)) !important;
  border-color:rgba(245,158,11,.28) !important;
}
html[data-system-theme="light"] .notify-item.warn .subject{ color:#78350f !important; }
html[data-system-theme="light"] .notify-item.warn .tag{
  background:rgba(245,158,11,.14) !important;
  border-color:rgba(245,158,11,.28) !important;
  color:#92400e !important;
}
html[data-system-theme="light"] .notify-item.info{
  background:linear-gradient(150deg, rgba(224,242,254,.7), rgba(255,255,255,.96)) !important;
  border-color:rgba(56,189,248,.26) !important;
}
html[data-system-theme="light"] .notify-item.info .subject{ color:#0c4a6e !important; }
html[data-system-theme="light"] .notify-item.info .tag{
  background:rgba(56,189,248,.14) !important;
  border-color:rgba(56,189,248,.28) !important;
  color:#0369a1 !important;
}
html[data-system-theme="light"] .notify-dismiss{
  background:rgba(241,245,249,.8) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:#64748b !important;
}
html[data-system-theme="light"] .notify-dismiss:hover{
  background:rgba(239,68,68,.10) !important;
  border-color:rgba(239,68,68,.28) !important;
  color:#991b1b !important;
}
/* Notify button (topbar) */
html[data-system-theme="light"] .notify-btn{
  box-shadow:0 4px 12px rgba(15,23,42,.08) !important;
}
html[data-system-theme="light"] .notify-btn .ico{
  background:linear-gradient(120deg, var(--primary2), var(--primary)) !important;
}

/* Client portal cards */
html[data-system-theme="light"] .client-recent-item,
html[data-system-theme="light"] .client-record-card,
html[data-system-theme="light"] .client-insight-card{
  background:rgba(255,255,255,.9) !important;
  border-color:var(--border) !important;
}
html[data-system-theme="light"] .client-record-cell{
  background:rgba(241,245,249,.7) !important;
  border-color:rgba(148,163,184,.18) !important;
}
html[data-system-theme="light"] .client-empty-state{
  background:rgba(241,245,249,.5) !important;
  border-color:rgba(148,163,184,.28) !important;
}

/* Vehicle track steps */
html[data-system-theme="light"] .track-step{
  background:rgba(255,255,255,.9) !important;
  border-color:var(--border) !important;
}
html[data-system-theme="light"] .track-step::before{
  background:linear-gradient(180deg, rgba(148,163,184,.3), rgba(148,163,184,.1)) !important;
  opacity:1 !important;
}
html[data-system-theme="light"] .track-step .dot{
  background:rgba(148,163,184,.28) !important;
  border-color:rgba(148,163,184,.5) !important;
  box-shadow:0 0 0 8px rgba(148,163,184,.08) !important;
}
html[data-system-theme="light"] .track-step.state-done{
  background:linear-gradient(160deg, rgba(34,197,94,.09), rgba(255,255,255,.95)) !important;
  border-color:rgba(34,197,94,.26) !important;
}
html[data-system-theme="light"] .track-step.state-in_progress{
  background:linear-gradient(160deg, rgba(59,130,246,.09), rgba(255,255,255,.95)) !important;
  border-color:rgba(59,130,246,.26) !important;
}

/* Note bubble */
html[data-system-theme="light"] .note-bubble{
  background:linear-gradient(160deg, rgba(34,197,94,.09), rgba(255,255,255,.96)) !important;
  border-color:rgba(34,197,94,.22) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.10) !important;
}
html[data-system-theme="light"] .note-bubble .pill{
  background:rgba(255,255,255,.8) !important;
  border-color:var(--border) !important;
}

/* Filter input focus */
html[data-system-theme="light"] .filter-input:focus{
  border-color:rgba(34,197,94,.38) !important;
}

/* ============================================================
   LIGHT MODE — CHECKLIST BUILDER  (.wpb-*)
   ============================================================ */

/* Layout & sidebar */
html[data-system-theme="light"] .wpb-sidebar{
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;
  border-right-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-sidebar-header{
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-sidebar-search{
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-sidebar-search input{
  background:rgba(255,255,255,.9) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .wpb-sidebar-search input:focus{
  background:#ffffff !important;
  border-color:rgba(34,197,94,.4) !important;
}
html[data-system-theme="light"] .wpb-sidebar-search input::placeholder{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .wpb-sidebar-body{
  scrollbar-color:rgba(148,163,184,.35) transparent !important;
}
html[data-system-theme="light"] .wpb-sidebar-footer{
  background:rgba(241,245,249,.7) !important;
  border-top-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-brand-sub{
  color:var(--muted2) !important;
}

/* Widget palette items */
html[data-system-theme="light"] .wpb-widget:hover{
  background:rgba(255,255,255,.85) !important;
  border-color:rgba(148,163,184,.28) !important;
}
html[data-system-theme="light"] .wpb-widget-desc{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .wpb-group-title{
  color:var(--muted2) !important;
}

/* Topbar */
html[data-system-theme="light"] .wpb-topbar{
  background:rgba(255,255,255,.92) !important;
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-topbar-divider{
  background:rgba(148,163,184,.3) !important;
}
/* Topbar select — dark chevron SVG para modo claro */
html[data-system-theme="light"] .wpb-select-wrap select{
  background-color:rgba(255,255,255,.9) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 8px center !important;
  background-size:16px !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .wpb-select-wrap select option{
  background:#ffffff !important;
  color:#162033 !important;
}
html[data-system-theme="light"] .wpb-meta-input{
  background:rgba(255,255,255,.9) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .wpb-meta-input:focus{
  background:#ffffff !important;
  border-color:rgba(34,197,94,.38) !important;
}
html[data-system-theme="light"] .wpb-meta-input::placeholder{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .wpb-template-header{
  background:rgba(248,250,252,.8) !important;
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-th-name-input,
html[data-system-theme="light"] .wpb-th-desc-input{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .wpb-th-name-input:focus,
html[data-system-theme="light"] .wpb-th-desc-input:focus{
  background:#ffffff !important;
  border-color:rgba(34,197,94,.4) !important;
}

/* Canvas area */
html[data-system-theme="light"] .wpb-canvas-wrap{
  scrollbar-color:rgba(148,163,184,.35) transparent !important;
}
html[data-system-theme="light"] .wpb-canvas-card,
html[data-system-theme="light"] .wpb-preview-card{
  background:rgba(255,255,255,.95) !important;
  border-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-canvas,
html[data-system-theme="light"] .wpb-form-canvas{
  border-color:rgba(148,163,184,.3) !important;
}
html[data-system-theme="light"] .wpb-canvas.drag-over,
html[data-system-theme="light"] .wpb-form-canvas.drag-over{
  border-color:rgba(34,197,94,.5) !important;
  background:rgba(34,197,94,.04) !important;
}
html[data-system-theme="light"] .wpb-canvas-empty-label{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .wpb-canvas-empty-hint{
  color:var(--muted2) !important;
}

/* Field items in canvas */
html[data-system-theme="light"] .wpb-field-item{
  background:rgba(255,255,255,.9) !important;
  border-color:rgba(148,163,184,.22) !important;
}
html[data-system-theme="light"] .wpb-field-item:hover{
  background:#ffffff !important;
  border-color:rgba(148,163,184,.38) !important;
}
html[data-system-theme="light"] .wpb-field-handle{
  color:rgba(100,116,139,.4) !important;
}
html[data-system-theme="light"] .wpb-field-item:hover .wpb-field-handle{
  color:rgba(100,116,139,.7) !important;
}
html[data-system-theme="light"] .wpb-field-meta,
html[data-system-theme="light"] .wpb-field-name{
  color:var(--muted2) !important;
}

/* Live field hover toolbar */
html[data-system-theme="light"] .wpb-live-field{
  border-color:rgba(148,163,184,.18) !important;
}
html[data-system-theme="light"] .wpb-live-field:hover{
  border-color:rgba(148,163,184,.3) !important;
  background:rgba(0,0,0,.015) !important;
  box-shadow:0 2px 12px rgba(15,23,42,.10) !important;
}
html[data-system-theme="light"] .wpb-live-field.wpb-selected{
  border-color:rgba(34,197,94,.3) !important;
  background:rgba(34,197,94,.025) !important;
}
html[data-system-theme="light"] .wpb-live-actions{
  background:linear-gradient(180deg,#ecfdf5,#d1fae5) !important;
  border-color:rgba(34,197,94,.4) !important;
}
html[data-system-theme="light"] .wpb-live-num,
html[data-system-theme="light"] .wpb-live-type{
  /* field-color CSS var already handles color */
  opacity:.75 !important;
}
html[data-system-theme="light"] .wpb-live-handle{
  color:rgba(22,101,52,.7) !important;
}
html[data-system-theme="light"] .wpb-live-handle:hover{
  background:rgba(34,197,94,.15) !important;
  color:#166534 !important;
}
html[data-system-theme="light"] .wpb-live-sep{
  background:rgba(34,197,94,.3) !important;
}
html[data-system-theme="light"] .wpb-live-btn{
  color:#166534 !important;
}
html[data-system-theme="light"] .wpb-live-btn:hover{
  background:rgba(34,197,94,.14) !important;
  color:#14532d !important;
}
html[data-system-theme="light"] .wpb-live-btn-muted{
  color:#475569 !important;
}
html[data-system-theme="light"] .wpb-live-btn-muted:hover{
  background:rgba(71,85,105,.10) !important;
  color:#1e293b !important;
}
html[data-system-theme="light"] .wpb-live-btn-danger{
  color:#991b1b !important;
}
html[data-system-theme="light"] .wpb-live-btn-danger:hover{
  background:rgba(239,68,68,.12) !important;
  color:#7f1d1d !important;
}
html[data-system-theme="light"] .wpb-back-btn{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .wpb-back-btn:hover{
  background:rgba(0,0,0,.06) !important;
  color:var(--text) !important;
}

/* Field labels inside the live canvas */
html[data-system-theme="light"] .wpb-live-inner .field label,
html[data-system-theme="light"] .wpb-live-inner label{
  color:#334155 !important;
}

/* Media & signature placeholders */
html[data-system-theme="light"] .wpb-media-placeholder,
html[data-system-theme="light"] .wpb-sig-placeholder{
  background:rgba(241,245,249,.8) !important;
  border-color:rgba(148,163,184,.3) !important;
  color:var(--muted) !important;
}

/* Builder modal */
html[data-system-theme="light"] .wpb-modal{
  background:linear-gradient(160deg,#ffffff,#f8fafc) !important;
  border-color:var(--border) !important;
  box-shadow:0 32px 90px rgba(15,23,42,.18) !important;
}
html[data-system-theme="light"] .wpb-modal-head{
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-modal-tabs{
  background:rgba(241,245,249,.7) !important;
  border-bottom-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-tab{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .wpb-tab:hover{
  color:var(--text) !important;
}
html[data-system-theme="light"] .wpb-tab.active{
  color:var(--text) !important;
  background:rgba(34,197,94,.08) !important;
  border-bottom-color:var(--primary) !important;
}
html[data-system-theme="light"] .wpb-modal-body{
  scrollbar-color:rgba(148,163,184,.35) transparent !important;
}
html[data-system-theme="light"] .wpb-modal-foot{
  border-top-color:var(--border) !important;
}
html[data-system-theme="light"] .wpb-modal-title{
  color:var(--text) !important;
}

/* ============================================================
   LIGHT MODE — CHECKLIST EXECUTION PAGE  (.exec-*)
   ============================================================ */

html[data-system-theme="light"] body.exec-page{
  background:
    radial-gradient(circle at top, rgba(34,197,94,.10), transparent 32%),
    radial-gradient(circle at 85% 15%, rgba(56,189,248,.08), transparent 26%),
    linear-gradient(180deg,#f3f7fb 0%,#edf3f8 100%) !important;
}

/* Header */
html[data-system-theme="light"] .exec-header{
  background:rgba(255,255,255,.92) !important;
  border-bottom-color:var(--border) !important;
  box-shadow:0 4px 18px rgba(15,23,42,.08) !important;
}
html[data-system-theme="light"] .exec-header-title{
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-header-sub{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .exec-back{
  background:rgba(255,255,255,.9) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-progress-bar{
  background:rgba(148,163,184,.2) !important;
}

/* Status badges */
html[data-system-theme="light"] .exec-badge-warn{
  background:rgba(245,158,11,.12) !important;
  color:#92400e !important;
  border-color:rgba(245,158,11,.28) !important;
}
html[data-system-theme="light"] .exec-badge-good{
  background:rgba(34,197,94,.12) !important;
  color:#166534 !important;
  border-color:rgba(34,197,94,.28) !important;
}
html[data-system-theme="light"] .exec-badge-bad{
  background:rgba(239,68,68,.12) !important;
  color:#991b1b !important;
  border-color:rgba(239,68,68,.28) !important;
}
html[data-system-theme="light"] .exec-badge-orange{
  background:rgba(251,146,60,.12) !important;
  color:#c2410c !important;
  border-color:rgba(251,146,60,.28) !important;
}

/* Context card */
html[data-system-theme="light"] .exec-context-card{
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,251,255,.95)) !important;
  border-color:rgba(34,197,94,.2) !important;
  box-shadow:0 10px 30px rgba(15,23,42,.08) !important;
}
html[data-system-theme="light"] .exec-context-eyebrow{
  color:#0369a1 !important;
}
html[data-system-theme="light"] .exec-context-title{
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-context-badge{
  background:rgba(34,197,94,.12) !important;
  border-color:rgba(34,197,94,.24) !important;
  color:#166534 !important;
}
html[data-system-theme="light"] .exec-context-copy{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .exec-context-label{
  color:#0369a1 !important;
}
html[data-system-theme="light"] .exec-context-readonly{
  background:rgba(241,245,249,.8) !important;
  border-color:rgba(148,163,184,.2) !important;
}
html[data-system-theme="light"] .exec-context-value{
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-context-help{
  color:var(--muted) !important;
}
html[data-system-theme="light"] .exec-context-chip{
  background:rgba(241,245,249,.9) !important;
  border-color:rgba(148,163,184,.22) !important;
  color:var(--text) !important;
}

/* Field cards */
html[data-system-theme="light"] .exec-field-card{
  background:rgba(255,255,255,.97) !important;
  border-color:rgba(148,163,184,.2) !important;
  box-shadow:0 6px 20px rgba(15,23,42,.07) !important;
}
html[data-system-theme="light"] .exec-field-card:focus-within{
  border-color:rgba(34,197,94,.35) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.10),0 0 0 3px rgba(34,197,94,.10) !important;
}
html[data-system-theme="light"] .exec-field-card.exec-field-error{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12) !important;
}
html[data-system-theme="light"] .exec-help{
  color:var(--muted2) !important;
}

/* Inputs inside exec body */
html[data-system-theme="light"] .exec-body input:not([type=checkbox]):not([type=file]):not([type=hidden]),
html[data-system-theme="light"] .exec-body textarea,
html[data-system-theme="light"] .exec-body select{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-body input:focus,
html[data-system-theme="light"] .exec-body textarea:focus,
html[data-system-theme="light"] .exec-body select:focus{
  border-color:rgba(34,197,94,.45) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.12) !important;
}

/* Checkbox row */
html[data-system-theme="light"] .exec-checkbox-label{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:var(--text) !important;
}

/* Photo */
html[data-system-theme="light"] .exec-photo-preview{
  background:rgba(241,245,249,.8) !important;
  border-color:rgba(148,163,184,.3) !important;
}
html[data-system-theme="light"] .exec-photo-empty{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .exec-camera-btn{
  background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(14,165,233,.10)) !important;
  border-color:rgba(34,197,94,.3) !important;
  color:#166534 !important;
}

/* Signature */
html[data-system-theme="light"] .exec-sig-wrap{
  background:rgba(248,251,255,.95) !important;
  border-color:rgba(148,163,184,.28) !important;
}
html[data-system-theme="light"] .exec-sig-footer{
  background:rgba(241,245,249,.9) !important;
  border-top-color:var(--border) !important;
}
html[data-system-theme="light"] .exec-sig-hint{
  color:var(--muted2) !important;
}
html[data-system-theme="light"] .exec-sig-clear{
  border-color:var(--border) !important;
  color:var(--muted) !important;
}

/* Footer */
html[data-system-theme="light"] .exec-footer{
  background:rgba(255,255,255,.93) !important;
  border-top-color:var(--border) !important;
  box-shadow:0 -4px 20px rgba(15,23,42,.07) !important;
}
html[data-system-theme="light"] .exec-btn-draft{
  background:rgba(241,245,249,.9) !important;
  border-color:rgba(148,163,184,.3) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .exec-btn-wait{
  background:rgba(245,158,11,.12) !important;
  border-color:rgba(245,158,11,.32) !important;
  color:#92400e !important;
}

/* Template picker */
html[data-system-theme="light"] .exec-pick-item{
  background:rgba(255,255,255,.95) !important;
  border-color:rgba(148,163,184,.24) !important;
}
html[data-system-theme="light"] .exec-pick-item:active{
  border-color:rgba(34,197,94,.4) !important;
  background:rgba(240,253,244,.9) !important;
}
html[data-system-theme="light"] .exec-pick-desc{
  color:var(--muted2) !important;
}

/* ── OS catalog inline card (light mode) ── */
html[data-system-theme="light"] .catalog-inline-card{
  background:rgba(248,250,252,.96) !important;
  border-color:rgba(148,163,184,.24) !important;
  box-shadow:0 2px 8px rgba(15,23,42,.05) !important;
}
html[data-system-theme="light"] .catalog-inline-actions .btn-secondary-inline{
  color:var(--muted) !important;
  border-color:rgba(148,163,184,.36) !important;
}
html[data-system-theme="light"] .catalog-inline-actions .btn-secondary-inline:hover{
  background:rgba(241,245,249,.9) !important;
  color:var(--text) !important;
  border-color:rgba(100,116,139,.3) !important;
}
html[data-system-theme="light"] .sale-line-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95)) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
html[data-system-theme="light"] .sale-line-total-box{
  background:linear-gradient(180deg, rgba(220,252,231,.88), rgba(240,253,244,.94)) !important;
  border-color:rgba(34,197,94,.2) !important;
}
html[data-system-theme="light"] .sale-line-static{
  background:rgba(248,250,252,.96) !important;
  border-color:rgba(148,163,184,.24) !important;
  color:var(--muted) !important;
}
html[data-system-theme="light"] .sale-line-field-input{
  background:rgba(255,255,255,.96) !important;
  border-color:rgba(148,163,184,.26) !important;
  color:#162033 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 6px 16px rgba(15,23,42,.04) !important;
}
html[data-system-theme="light"] .sale-line-field-input:focus{
  border-color:rgba(34,197,94,.34) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.10), 0 8px 18px rgba(15,23,42,.06) !important;
}
html[data-system-theme="light"] .sale-line-empty{
  background:rgba(248,250,252,.92) !important;
  border-color:rgba(148,163,184,.24) !important;
}
html[data-system-theme="light"] .execution-search-card,
html[data-system-theme="light"] .execution-match-card,
html[data-system-theme="light"] .dashboard-leader-card,
html[data-system-theme="light"] .dashboard-op-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95)) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.06) !important;
}
html[data-system-theme="light"] .execution-search-tip,
html[data-system-theme="light"] .dashboard-filter-note,
html[data-system-theme="light"] .execution-result-meta > div,
html[data-system-theme="light"] .execution-stage-pill,
html[data-system-theme="light"] .execution-team-pill{
  background:rgba(248,250,252,.92) !important;
  border-color:rgba(148,163,184,.22) !important;
}
html[data-system-theme="light"] .execution-team-pill.is-owner{
  background:linear-gradient(180deg, rgba(220,252,231,.98), rgba(224,242,254,.92)) !important;
  border-color:rgba(34,197,94,.24) !important;
}
html[data-system-theme="light"] .dashboard-chart-empty,
html[data-system-theme="light"] .dashboard-filter-modal-note{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  border-color:rgba(148,163,184,.22) !important;
  color:#64748b !important;
  box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
}
html[data-system-theme="light"] .execution-search-title,
html[data-system-theme="light"] .execution-match-title,
html[data-system-theme="light"] .execution-match-sub,
html[data-system-theme="light"] .execution-result-meta strong,
html[data-system-theme="light"] .execution-team-pill span,
html[data-system-theme="light"] .execution-stage-pill strong,
html[data-system-theme="light"] .execution-queue-panel [style*="font-weight:900"]{
  color:#1e293b !important;
}
html[data-system-theme="light"] .execution-search-copy,
html[data-system-theme="light"] .execution-search-tip,
html[data-system-theme="light"] .execution-match-card .help,
html[data-system-theme="light"] .execution-result-meta span,
html[data-system-theme="light"] .execution-team-pill strong,
html[data-system-theme="light"] .execution-stage-pill span{
  color:#64748b !important;
}
html[data-system-theme="light"] .execution-inline-chip{
  background:rgba(220,252,231,.88) !important;
  border-color:rgba(34,197,94,.22) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] .mini-pill{
  background:linear-gradient(180deg, rgba(241,245,249,.98), rgba(226,232,240,.94)) !important;
  border-color:rgba(100,116,139,.24) !important;
  color:#334155 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}
html[data-system-theme="light"] .mini-pill.good{
  background:linear-gradient(180deg, rgba(220,252,231,.98), rgba(187,247,208,.95)) !important;
  border-color:rgba(34,197,94,.28) !important;
  color:#166534 !important;
}
html[data-system-theme="light"] .mini-pill.warn{
  background:linear-gradient(180deg, rgba(254,243,199,.98), rgba(253,230,138,.94)) !important;
  border-color:rgba(245,158,11,.28) !important;
  color:#92400e !important;
}
html[data-system-theme="light"] .execution-state-badge{
  background:#f8fafc !important;
  border-color:rgba(148,163,184,.26) !important;
  color:#1e293b !important;
}
html[data-system-theme="light"] .execution-state-badge--queue{
  background:linear-gradient(180deg, rgba(220,252,231,.98), rgba(187,247,208,.94)) !important;
  border-color:rgba(34,197,94,.3) !important;
  color:#14532d !important;
}
html[data-system-theme="light"] .execution-state-badge--live{
  background:rgba(224,242,254,.96) !important;
  border-color:rgba(14,165,233,.24) !important;
  color:#075985 !important;
}
html[data-system-theme="light"] .execution-state-badge--assigned{
  background:rgba(254,243,199,.95) !important;
  border-color:rgba(245,158,11,.24) !important;
  color:#92400e !important;
}
html[data-system-theme="light"] .execution-match-card--active,
html[data-system-theme="light"] .dashboard-hero{
  background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(224,242,254,.82), rgba(240,253,244,.86)) !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen{
  background:
    linear-gradient(180deg, #f8fbff 0%, #eef4fa 48%, #edf3f8 100%),
    radial-gradient(900px 520px at 18% 10%, rgba(255,255,255,.94), transparent 58%),
    radial-gradient(760px 420px at 86% 4%, var(--system-primary-soft), transparent 60%),
    radial-gradient(980px 620px at 55% 118%, rgba(56,189,248,.10), transparent 68%) !important;
  color:var(--text) !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen::backdrop{
  background:linear-gradient(180deg, #f8fbff 0%, #eef4fa 48%, #edf3f8 100%) !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-hero{
  background:
    linear-gradient(160deg, rgba(255,255,255,.96), rgba(245,249,253,.94)),
    radial-gradient(420px 220px at 12% 0%, var(--system-primary-soft), transparent 70%) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:var(--shadow) !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .card,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .performance-card,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-leader-card,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-op-card{
  background:rgba(255,255,255,.92) !important;
  border-color:var(--border) !important;
  box-shadow:var(--shadow2) !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .performance-card-value,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .card .card-title,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-leader-name,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-op-card strong{
  color:#162033 !important;
}
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .performance-card-label,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .page-subtitle,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .help,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .card .card-sub,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-op-card span,
html[data-system-theme="light"] [data-dashboard-root]:fullscreen .dashboard-leader-stats span{
  color:rgba(22,32,51,.68) !important;
}



/* ============================================================
   OS — Banner de re-aprovação pendente (formulário de edição)
   ============================================================ */
.os-revision-alert {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 20px;
  border-radius: 16px;
  border: 1px solid rgba(245,158,11,.38);
  background: linear-gradient(135deg, rgba(245,158,11,.14), rgba(245,158,11,.05) 60%, rgba(255,255,255,.02));
  box-shadow: 0 4px 18px rgba(245,158,11,.10);
  animation: os-rev-pulse 3s ease-in-out infinite;
}

@keyframes os-rev-pulse {
  0%,100% { box-shadow: 0 4px 18px rgba(245,158,11,.10); }
  50%      { box-shadow: 0 4px 24px rgba(245,158,11,.20); }
}

.os-revision-alert-icon {
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}

.os-revision-alert-title {
  font-size: 14px;
  font-weight: 800;
  color: #fde68a;
  margin-bottom: 5px;
}

.os-revision-alert-sub {
  font-size: 12px;
  color: rgba(253,230,138,.80);
  line-height: 1.5;
  margin-bottom: 8px;
}

.os-revision-alert-changes {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 8px;
}

.os-revision-change-line {
  font-size: 11px;
  color: rgba(253,230,138,.70);
  line-height: 1.4;
}

.os-revision-alert-hint {
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(245,158,11,.22);
  color: rgba(253,230,138,.75);
  line-height: 1.45;
}

/* Chip de re-aprovação na lista de OS */
.os-reapproval-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(245,158,11,.14);
  border: 1px solid rgba(245,158,11,.32);
  color: #fbbf24;
  white-space: nowrap;
  animation: os-chip-blink 2.5s ease-in-out infinite;
}

@keyframes os-chip-blink {
  0%,100% { opacity: 1; }
  50%      { opacity: .7; }
}

/* Light theme */
html[data-system-theme="light"] .os-revision-alert {
  background: linear-gradient(135deg, rgba(245,158,11,.10), rgba(245,158,11,.04) 60%, rgba(255,255,255,.6));
  border-color: rgba(202,138,4,.30);
  box-shadow: 0 4px 18px rgba(202,138,4,.08);
}

html[data-system-theme="light"] .os-revision-alert-title { color: #92400e; }
html[data-system-theme="light"] .os-revision-alert-sub   { color: #78350f; }
html[data-system-theme="light"] .os-revision-alert-hint  { color: #92400e; background: rgba(0,0,0,.03); border-color: rgba(202,138,4,.20); }
html[data-system-theme="light"] .os-revision-change-line  { color: #92400e; }

html[data-system-theme="light"] .os-reapproval-chip {
  background: rgba(202,138,4,.10);
  border-color: rgba(202,138,4,.28);
  color: #92400e;
}

/* ── Configurações: abas ─────────────────────────────────────── */
.cfg-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:6px;
  border-radius:20px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.025);
}
.cfg-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:14px;
  border:1px solid transparent;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.cfg-tab:hover{
  background:rgba(255,255,255,.05);
  color:var(--text);
}
.cfg-tab.active{
  background:linear-gradient(180deg, rgba(34,197,94,.18), rgba(34,197,94,.08));
  border-color:rgba(34,197,94,.30);
  color:var(--text);
}
.cfg-tab .cfg-tab-ico{
  font-size:16px;
  line-height:1;
}
.cfg-panel{
  display:none;
}
.cfg-panel.active{
  display:block;
}
@media(max-width:720px){
  .cfg-tabs{
    gap:4px;
    padding:4px;
  }
  .cfg-tab{
    padding:9px 12px;
    font-size:13px;
    gap:6px;
  }
  .cfg-tab .cfg-tab-label{
    display:none;
  }
}
html[data-system-theme="light"] .cfg-tabs{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.09);
}
html[data-system-theme="light"] .cfg-tab.active{
  background:linear-gradient(180deg,rgba(34,197,94,.16),rgba(34,197,94,.07));
}
/* ── fim abas ────────────────────────────────────────────────── */
