:root{
  --bg:#edf5f6;
  --surface:#ffffff;
  --surface-2:#f5fbfb;
  --line:#cfe2e5;
  --text:#10333a;
  --muted:#5b7880;
  --brand:#15616e;
  --brand-2:#1e7683;
  --success:#1f8c5c;
  --warning:#d18a16;
  --danger:#c53b36;
  --radius:4px;
  --shadow-sm:0 6px 18px rgba(10, 51, 58, 0.06);
  --shadow-md:0 14px 30px rgba(10, 51, 58, 0.10);
}

/* v20.1.0 — Dashboard operacional reorganizada */
#sec-dashboard{max-width:1380px!important;margin:0 auto!important}
#sec-dashboard .dashboard-title-row{max-width:none!important;margin:0 0 12px!important;padding:18px 22px!important;border-radius:16px!important;background:linear-gradient(135deg,#063f49,#0b7280)!important;box-shadow:0 14px 34px rgba(6,63,73,.16)!important}
#sec-dashboard .dashboard-title-row .title{padding:0!important}
#sec-dashboard .dashboard-title-row .title h1{font-size:25px!important;margin:0!important;color:#fff!important}
#sec-dashboard .dashboard-title-row .title p{margin:5px 0 0!important;color:rgba(255,255,255,.82)!important;font-size:13px!important}
#sec-dashboard .dashboard-overview-block{padding:18px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--surface)!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important}
#sec-dashboard .dashboard-block-heading{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin-bottom:14px!important}
#sec-dashboard .dashboard-block-heading span,.dashboard-section-kicker{display:block!important;font-size:11px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#0f8a8f!important}
#sec-dashboard .dashboard-block-heading h2{margin:3px 0 0!important;font-size:19px!important}
#sec-dashboard .dashboard-block-heading p{margin:0!important;font-size:13px!important;color:var(--muted)!important}
#sec-dashboard .dashboard-overview-block .dashboard-top-row{display:block!important;max-width:none!important;margin:0!important}
#sec-dashboard .dashboard-overview-block #dashboardCards{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;max-width:none!important;margin:0!important}
#sec-dashboard .dashboard-overview-block #dashboardExtra{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;max-width:none!important;margin:10px 0 0!important}
#sec-dashboard .dashboard-overview-block #dashboardCards .dashboard-kpi{width:auto!important;max-width:none!important;min-width:0!important;min-height:94px!important;padding:14px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;text-align:left!important;border-radius:13px!important;border:1px solid var(--line)!important;border-left:4px solid #0f8a8f!important;background:var(--surface-2)!important}
#sec-dashboard .dashboard-kpi .kpi-icon{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:12px!important;background:rgba(15,138,143,.12)!important;color:#08747a!important;font-size:14px!important;font-weight:900!important}
#sec-dashboard .dashboard-kpi.pendentes{border-left-color:#ef4444!important}#sec-dashboard .dashboard-kpi.pendentes .kpi-icon{background:#fee2e2!important;color:#b91c1c!important}
#sec-dashboard .dashboard-kpi.aprovacao{border-left-color:#f59e0b!important}#sec-dashboard .dashboard-kpi.aprovacao .kpi-icon{background:#fef3c7!important;color:#92400e!important}
#sec-dashboard .dashboard-kpi.andamento{border-left-color:#3b82f6!important}#sec-dashboard .dashboard-kpi.andamento .kpi-icon{background:#dbeafe!important;color:#1d4ed8!important}
#sec-dashboard .dashboard-kpi .label,#sec-dashboard .dashboard-kpi .value,#sec-dashboard .dashboard-kpi small{text-align:left!important;width:auto!important}
#sec-dashboard .dashboard-kpi .label{font-size:11px!important;letter-spacing:.06em!important}
#sec-dashboard .dashboard-kpi .value{font-size:27px!important;line-height:1!important;margin:4px 0!important}
#sec-dashboard .dashboard-kpi small{display:block!important;color:var(--muted)!important;font-size:11px!important}
#sec-dashboard .dashboard-overview-block #dashboardExtra .dashboard-resource{width:auto!important;max-width:none!important;min-width:0!important;min-height:66px!important;padding:10px!important;border-radius:11px!important;background:var(--surface-2)!important}
#sec-dashboard .dashboard-resource .label{font-size:10px!important}#sec-dashboard .dashboard-resource .value{font-size:20px!important;margin-top:5px!important}
#sec-dashboard>.section{max-width:none!important;margin:14px 0 0!important;padding:18px!important;border-radius:16px!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important;background:var(--surface)!important}
#sec-dashboard>.section>.section-head,#sec-dashboard>.section>#synkIaResumo,#sec-dashboard>.section>.synkia-monitor-mini,#sec-dashboard>.section>.kit{grid-column:1/-1!important;margin:0!important}
#sec-dashboard>.section>.section-head{padding-bottom:12px!important;border-bottom:1px solid var(--line)!important}
#sec-dashboard>.section>.dashboard-half{grid-column:span 6!important;margin:0!important;border-radius:13px!important;background:var(--surface-2)!important}
#sec-dashboard>.section>.dashboard-wide{grid-column:1/-1!important;margin:0!important;border-radius:13px!important;background:var(--surface-2)!important}
#sec-dashboard #synkIaResumo.card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;max-width:none!important}
#sec-dashboard #synkIaResumo.card-grid .card{width:auto!important;max-width:none!important;min-width:0!important;min-height:88px!important;padding:12px!important;border-radius:12px!important}
#sec-dashboard #synkIaResumo .card .label{font-size:10px!important}#sec-dashboard #synkIaResumo .card .value{font-size:25px!important;margin:5px 0!important}
#sec-dashboard #synkIaResumo .card small{display:block!important;color:var(--muted)!important;font-size:10px!important;line-height:1.25!important}
#sec-dashboard #synkIaResumo .network-kpi.online{border:1px solid rgba(16,185,129,.32)!important;border-left:4px solid #10b981!important;background:linear-gradient(135deg,rgba(16,185,129,.10),var(--surface))!important}
#sec-dashboard .synkia-monitor-mini{display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:10px!important;border-radius:11px!important;background:var(--surface-2)!important}
#sec-dashboard .synkia-monitor-mini span{padding:6px 9px!important;border-radius:8px!important;background:var(--surface)!important;border:1px solid var(--line)!important;font-size:11px!important}
@media(max-width:1050px){#sec-dashboard .dashboard-overview-block #dashboardCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}#sec-dashboard .dashboard-overview-block #dashboardExtra{grid-template-columns:repeat(3,minmax(0,1fr))!important}#sec-dashboard #synkIaResumo.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){#sec-dashboard .dashboard-block-heading{align-items:flex-start!important;flex-direction:column!important}#sec-dashboard .dashboard-overview-block #dashboardCards{grid-template-columns:1fr!important}#sec-dashboard .dashboard-overview-block #dashboardExtra{grid-template-columns:repeat(2,minmax(0,1fr))!important}#sec-dashboard>.section{grid-template-columns:1fr!important;padding:12px!important}#sec-dashboard>.section>.dashboard-half,#sec-dashboard>.section>.dashboard-wide{grid-column:1!important}#sec-dashboard #synkIaResumo.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
body[data-theme="dark"]{
  --bg:#07161a;
  --surface:#0d252b;
  --surface-2:#113039;
  --line:#1c434b;
  --text:#e4f3f4;
  --muted:#9db9be;
  --brand:#2b8e9d;
  --brand-2:#47a8b6;
  --success:#27b46f;
  --warning:#e9a52b;
  --danger:#ef5c56;
  --shadow-sm:0 8px 20px rgba(0,0,0,0.22);
  --shadow-md:0 18px 34px rgba(0,0,0,0.28);
}
:root{
  --bg:#edf5f6;
  --surface:#ffffff;
  --surface-2:#f5fbfb;
  --line:#cfe2e5;
  --text:#10333a;
  --muted:#5b7880;
  --brand:#15616e;
  --brand-2:#1e7683;
  --success:#1f8c5c;
  --warning:#d18a16;
  --danger:#c53b36;
  --radius:4px;
  --shadow-sm:0 6px 18px rgba(10, 51, 58, 0.06);
  --shadow-md:0 14px 30px rgba(10, 51, 58, 0.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#15616e 0%,#114d57 100%);color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-md)}
.brand{font-weight:800;font-size:20px;letter-spacing:.4px}
.brand small{display:block;color:#93c5fd;font-size:12px;font-weight:600;margin-top:4px}
.nav{display:grid;gap:8px}
.nav button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:12px 14px;border-radius:14px;font-size:14px;cursor:pointer}
.nav button.active,.nav button:hover{background:#1e293b;color:#fff}
.main{padding:22px;background:radial-gradient(circle at top right, rgba(21,97,110,.08), transparent 24%), var(--bg)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.title h1{margin:0;font-size:28px}
.title p{margin:6px 0 0;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.card .value{font-size:28px;font-weight:800;margin-top:8px}
.section{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.section-head h2{margin:0;font-size:18px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
button,.btn{border:1px solid transparent;background:var(--brand);color:#fff;padding:11px 14px;border-radius:var(--radius);font-weight:700;cursor:pointer;box-shadow:0 10px 18px rgba(21,97,110,.16);transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease}
button.secondary,.btn.secondary{background:var(--surface-2);color:var(--text);border-color:var(--line);box-shadow:none}
button.success{background:var(--success)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
select,input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;font-size:14px;min-width:180px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.badge.aberta{background:#dbeafe;color:#1d4ed8}
.badge.andamento{background:#fef3c7;color:#b45309}
.badge.pendente{background:#fee2e2;color:#b91c1c}
.badge.enviado{background:#dcfce7;color:#166534}
.badge.aprovacao{background:#fef3c7;color:#92400e}

.aprovacao-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
.aprovacao-kpi{padding:18px;border-left:5px solid var(--line)}
.aprovacao-kpi span,.aprovacao-kpi small{display:block;color:var(--muted)}
.aprovacao-kpi strong{display:block;font-size:30px;line-height:1.1;margin:6px 0}
.aprovacao-kpi.aguardando{border-left-color:#f59e0b}.aprovacao-kpi.aprovado{border-left-color:#16a34a}.aprovacao-kpi.reprovado{border-left-color:#dc2626}
.approval-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.approval-badge.aguardando{background:#fef3c7;color:#92400e}.approval-badge.aprovado{background:#dcfce7;color:#166534}.approval-badge.reprovado{background:#fee2e2;color:#991b1b}
.approval-report-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);border-left:5px solid #f59e0b;border-radius:12px;background:#fffbeb}
.approval-report-banner.aprovado{border-left-color:#16a34a;background:#f0fdf4}.approval-report-banner.reprovado{border-left-color:#dc2626;background:#fef2f2}
.approval-report-banner>div:first-child span,.approval-report-banner>div:first-child small{display:block}.approval-report-banner>div:first-child span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}
.approval-report-banner>div:first-child strong{display:block;margin:2px 0}.approval-report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.aprovacao-kpis{grid-template-columns:1fr}.approval-report-banner{align-items:stretch;flex-direction:column}.approval-report-actions{justify-content:flex-start}}
.kit{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.muted{color:var(--muted)}
.hidden{display:none}
@media (max-width:1100px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .app{grid-template-columns:1fr}
  .sidebar{padding:14px}
  .main{padding:14px}
  .card-grid,.kit{grid-template-columns:1fr}
}
.brand-shell{display:flex;align-items:center;gap:10px}
.brand-logo{width:42px;height:42px;border-radius:12px;object-fit:cover;background:#fff;border:1px solid rgba(255,255,255,.15)}
.brand-text small{display:block;color:#93c5fd;font-size:12px;font-weight:600;margin-top:4px}

.badge.fechada{background:#e2e8f0;color:#334155}


.card,
.section,
button,
.btn,
select,
input,
.brand-logo,
.nav button{
  border-radius: 4px !important;
}


.card.prioridade .label,
.card.prioridade .value{
  color:#fff;
}
.card.prioridade.critica{
  background:#7f1d1d;
  border-color:#7f1d1d;
}
.card.prioridade.alta{
  background:#b91c1c;
  border-color:#b91c1c;
}
.card.prioridade.normal{
  background:#1d4ed8;
  border-color:#1d4ed8;
}
.card.prioridade.baixa{
  background:#166534;
  border-color:#166534;
}
body[data-theme="dark"] .card.prioridade.critica{background:#991b1b;border-color:#991b1b}
body[data-theme="dark"] .card.prioridade.alta{background:#dc2626;border-color:#dc2626}
body[data-theme="dark"] .card.prioridade.normal{background:#2563eb;border-color:#2563eb}
body[data-theme="dark"] .card.prioridade.baixa{background:#15803d;border-color:#15803d}


#synkIaInsights, #synkIaRecomendacoes{
  margin:0;
  padding-left:18px;
}
#synkIaInsights li, #synkIaRecomendacoes li{
  margin:8px 0;
}


body[data-theme="synk_teal"]{
  --bg:#e9f4f5;
  --surface:#ffffff;
  --surface-2:#f2fbfb;
  --line:#c7dde0;
  --text:#11343b;
  --muted:#5d7f86;
  --brand:#15616e;
  --brand-2:#1f7481;
  --success:#1c8f5d;
  --warning:#d28a14;
  --danger:#c44239;
  --shadow-sm:0 8px 22px rgba(21, 97, 110, 0.08);
  --shadow-md:0 18px 38px rgba(21, 97, 110, 0.14);
}


.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
button:hover,.btn:hover{transform:translateY(-1px)}
button:active,.btn:active{transform:translateY(0)}
.topbar{background:transparent}
.title h1{letter-spacing:-0.02em}
.title p{max-width:760px}
.section-head h2{letter-spacing:-0.01em}
.table-wrap{border:1px solid var(--line);background:var(--surface-2)}
table{background:transparent}
tbody tr:hover{background:rgba(21,97,110,.05)}
th{background:rgba(21,97,110,.06)}
.brand{letter-spacing:.5px}
.nav button{border:1px solid transparent}
.nav button.active,.nav button:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16);color:#fff}
.brand-logo{box-shadow:0 8px 18px rgba(0,0,0,.18)}
.muted{line-height:1.5}


.login-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at top left, rgba(21,97,110,.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(21,97,110,.12), transparent 24%),
    var(--bg);
}
.login-card{
  width:min(100%, 430px);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  padding:28px;
}
.login-title h1{
  margin:0 0 8px 0;
  font-size:30px;
  letter-spacing:-0.02em;
}
.login-title p{
  margin:0 0 18px 0;
  color:var(--muted);
}
.login-form{
  display:grid;
  gap:12px;
}
.login-brand{
  margin-bottom:18px;
}








/* Dashboard: 9 cards principais em uma linha */
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra{
  display:grid;
  gap:8px;
  align-items:stretch;
}

#sec-dashboard #dashboardCards{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

#sec-dashboard #dashboardExtra{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

#sec-dashboard .card{
  min-height:74px;
  padding:10px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

#sec-dashboard .card .label{
  font-size:9px;
  line-height:1.15;
}

#sec-dashboard .card .value{
  font-size:18px;
  line-height:1;
  margin-top:4px;
}

@media (min-width: 1280px){
  #sec-dashboard .dashboard-top-row{
    display:grid;
    grid-template-columns:5fr 4fr;
    gap:8px;
    align-items:stretch;
  }
}

@media (max-width: 1279px){
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  #sec-dashboard #dashboardExtra{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px){
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra{
    grid-template-columns:1fr;
  }
}


/* Fundo da tela de login com imagem SynkNet */
body.login-page .login-shell{
  background:
    linear-gradient(rgba(4, 18, 36, 0.45), rgba(4, 18, 36, 0.55)),
    url('/painel/login-bg-synknet.png') center center / cover no-repeat,
    var(--bg);
}

body.login-page .login-card{
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 18px 40px rgba(0,0,0,0.24);
}

body[data-theme="dark"].login-page .login-card,
body[data-theme="synk_teal"].login-page .login-card{
  background: rgba(13, 37, 43, 0.88);
  border-color: rgba(71,168,182,0.28);
}

body.login-page .login-title h1,
body.login-page .login-brand,
body.login-page .login-title p,
body.login-page #loginFeedback{
  position: relative;
  z-index: 1;
}


/* Ajuste da tela de login centralizada */
.login-card{
  width:min(100%, 430px);
  padding:34px 30px;
}
.login-brand.centered{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-bottom:22px;
}
.login-logo{
  width:84px;
  height:84px;
  object-fit:contain;
  margin-bottom:14px;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.12));
}
.login-brand-text{
  font-size:38px;
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--text);
  line-height:1;
}
.login-brand-subtitle{
  margin-top:8px;
  font-size:18px;
  font-weight:600;
  color:var(--muted);
}
.login-form{
  margin-top:8px;
}
.login-feedback{
  text-align:center;
  margin-top:12px;
}


/* Logo e textos brancos na tela de login */
.login-logo{
  width: 110px;
  height: 110px;
  object-fit: contain;
  margin-bottom: 14px;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.18));
}

body.login-page .login-brand-text,
body.login-page .login-brand-subtitle{
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

body.login-page .login-card{
  background: rgba(8, 24, 42, 0.58);
  border-color: rgba(255,255,255,0.18);
}

body.login-page .login-form input{
  background: rgba(255,255,255,0.96);
}

body.login-page #loginFeedback{
  color: #ffffff !important;
}


#osCreateCard .filters{
  margin-bottom:10px;
}
#novaOsMensagem{
  flex:1 1 420px;
}


#buscaClienteResultados{
  min-width:360px;
}


#novaOsEndereco{
  flex: 1 1 420px;
  min-width: 420px !important;
}
#novaOsTecnico{
  min-width: 260px;
}


#sec-os > div > .section{
  margin-top: 14px;
}
#novaOsEndereco{
  flex: 1 1 520px;
  min-width: 520px !important;
}


#novaOsCliente,
#novaOsReferencia{
  flex: 1 1 420px;
  min-width: 420px !important;
}


button.linklike{
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--brand);
  padding: 0;
  font-weight: 700;
  text-decoration: underline;
}
button.linklike:hover{
  opacity: .8;
  transform: none;
}


.modal.hidden{
  display:none;
}
.modal{
  position:fixed;
  inset:0;
  z-index:1000;
}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}
.modal-card{
  position:relative;
  z-index:1;
  width:min(1100px, calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  margin:20px auto;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  padding:18px;
}
.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.modal-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.modal-field{
  border:1px solid var(--line);
  background:var(--surface-2);
  padding:12px;
}
.modal-field-wide{
  grid-column:1 / -1;
}
.modal-label{
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  margin-bottom:6px;
}
.modal-value{
  font-size:14px;
  line-height:1.5;
  color:var(--text);
  white-space:pre-wrap;
  word-break:break-word;
}
@media (max-width: 900px){
  .modal-grid{
    grid-template-columns:1fr;
  }
}


#osDetailModal.hidden{
  display: none !important;
  pointer-events: none !important;
}
#osDetailModal{
  pointer-events: auto;
}
#btnFecharOsModal{
  position: relative;
  z-index: 3;
}


.print-area.hidden{
  display:none;
}
.print-area{
  display:none;
}
.print-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.print-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.print-logo{
  width:72px;
  height:72px;
  object-fit:contain;
}
.print-company-name{
  font-size:24px;
  font-weight:800;
}
.print-company-sub,
.print-date{
  color:#444;
  font-size:13px;
}
.print-section-title{
  margin:16px 0 8px;
  font-size:16px;
  font-weight:700;
}
.print-cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.print-card{
  border:1px solid #ccc;
  padding:10px;
  background:#fff;
}
.print-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.print-table th,
.print-table td{
  border:1px solid #999;
  padding:8px;
  text-align:left;
}
@media print{
  body *{
    visibility:hidden !important;
  }
  #printRelatorioArea,
  #printRelatorioArea *{
    visibility:visible !important;
  }
  #printRelatorioArea{
    display:block !important;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    background:#fff;
    color:#000;
    padding:24px;
  }
}


#empresa_nome,
#empresa_endereco{
  flex: 1 1 420px;
  min-width: 420px;
}


#empresa_cnpj{
  min-width: 220px;
}


#novaOsFilialId,
#novaOsSetorId,
#novaOsStatusIxc,
#novaOsOrigemEndereco{
  min-width: 180px;
}


#novaOsIdAssunto,
#novaOsFilialId,
#novaOsSetorId{
  min-width: 190px;
}


#novaOsSetorIdManual{
  min-width: 190px;
}


#novaOsIdAssunto,
#novaOsFilialId,
#novaOsSetorId,
#novaOsSetorIdManual{
  min-width: 190px;
  display: inline-block;
}


/* Ajuste fino do popup Detalhes da Ordem de Serviço */
.modal-card{
  width:min(920px, calc(100vw - 40px));
}

.modal-grid{
  grid-template-columns: 160px 1fr 160px 1fr;
  gap:10px 12px;
  align-items:start;
}

.modal-field{
  padding:10px 12px;
  min-height:auto;
}

.modal-field-wide{
  grid-column:1 / -1;
}

.modal-label{
  font-size:11px;
  margin-bottom:4px;
}

.modal-value{
  font-size:13px;
  line-height:1.35;
}

#modalOsNumero,
#modalOsCidade,
#modalOsBairro,
#modalOsStatus,
#modalOsPrioridade,
#modalOsWebapp,
#modalOsIxcOnline{
  white-space:nowrap;
}

#modalOsCliente,
#modalOsTecnico,
#modalOsLocal,
#modalOsReferencia,
#modalOsOcorrencia{
  white-space:pre-wrap;
  word-break:break-word;
}

@media (max-width: 980px){
  .modal-grid{
    grid-template-columns: 150px 1fr;
  }
}

@media (max-width: 640px){
  .modal-card{
    width:min(96vw, calc(100vw - 16px));
    margin:8px auto;
    padding:14px;
  }

  .modal-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .modal-field,
  .modal-field-wide{
    grid-column:auto;
  }

  .modal-label{
    font-size:11px;
  }

  .modal-value{
    font-size:13px;
  }
}


#novaOsIdAssunto,
#novaOsFilialId,
#novaOsSetorIdManual{
  min-width: 190px;
}


.floating-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-md);
}

.floating-top.hidden{
  display: none !important;
}

@media (max-width: 640px){
  .floating-top{
    right: 12px;
    bottom: 12px;
    width: 42px;
    height: 42px;
  }
}


#novaOsSetorIdManual{
  min-width: 190px;
}


#btnLogout{
  padding: 7px 10px !important;
  font-size: 12px !important;
  opacity: .78;
  min-height: auto !important;
  line-height: 1.1;
}
#btnLogout:hover{
  opacity: .95;
}

.floating-top{
  width: 40px !important;
  height: 40px !important;
  right: 14px !important;
  bottom: 14px !important;
  font-size: 18px !important;
  opacity: .9;
  z-index: 5000 !important;
  pointer-events: auto !important;
}
.floating-top.hidden{
  display: none !important;
}


#btnLogout{
  padding: 6px 9px !important;
  font-size: 11px !important;
  opacity: .72;
  min-height: auto !important;
  line-height: 1.05;
  width: auto !important;
  max-width: fit-content;
  align-self: flex-start;
}
#btnLogout:hover{
  opacity: .9;
}


#relatorioClienteBusca{
  min-width: 240px;
}


.cliente-hero{
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px 20px;
  margin-bottom: 14px;
}
.cliente-nome{
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  color: var(--text);
}
.cliente-sub{
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
}
.cliente-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.cliente-card{
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px 16px;
  background: var(--panel);
  min-height: 82px;
}
.cliente-card-wide{
  grid-column: span 2;
}
.cliente-label{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--muted);
  margin-bottom: 6px;
}
.cliente-value{
  font-size: 15px;
  line-height: 1.35;
  color: var(--text);
  word-break: break-word;
}
.cliente-os-status{
  font-size: 14px;
  color: var(--text);
  font-weight: 600;
}
@media (max-width: 1100px){
  .cliente-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cliente-card-wide{
    grid-column: span 2;
  }
}
@media (max-width: 640px){
  .cliente-grid{
    grid-template-columns: 1fr;
  }
  .cliente-card-wide{
    grid-column: span 1;
  }
  .cliente-nome{
    font-size: 22px;
  }
}


.cliente-value-wrap{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.cliente-cadastro-modelo .nova-os-etapa-title{
  margin:14px 0 8px;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.cliente-cadastro-modelo .nova-os-etapa-title strong{
  font-size:14px;
}
.cliente-cadastro-modelo .nova-os-etapa-title span{
  font-size:12px;
  color:var(--muted);
}
.cliente-cadastro-row{
  display:grid;
  gap:12px;
  margin-bottom:12px;
}
.cliente-cadastro-row input,
.cliente-cadastro-row select,
.cliente-cadastro-bottom textarea{
  width:100%;
  max-width:100%;
  min-height:48px;
  padding:10px 14px !important;
  font-size:13px !important;
}
.cliente-cadastro-row-top{ grid-template-columns:1.15fr 1.2fr 1.1fr .75fr; }
.cliente-cadastro-row-identidade{ grid-template-columns:1.35fr 1fr .95fr .9fr; }
.cliente-cadastro-row-contact{ grid-template-columns:1fr 1fr 1fr 1fr; }
.cliente-cadastro-row-address-1{ grid-template-columns:.8fr 2.15fr .75fr; }
.cliente-cadastro-row-address-2{ grid-template-columns:1.2fr 1fr 1fr .55fr; }
.cliente-cadastro-row-address-3{ grid-template-columns:1.6fr .8fr .8fr; }
.cliente-cadastro-row-access{ grid-template-columns:1fr 1fr; }
.cliente-cadastro-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin:10px 0 12px;
}
.cliente-cadastro-bottom textarea{
  min-height:132px;
  resize:vertical;
  grid-column:1 / -1;
}
.cliente-cadastro-actions{
  justify-content:flex-start;
  align-items:center;
  gap:8px !important;
  flex-wrap:wrap;
  margin:0 !important;
  width:100%;
}
.cliente-cadastro-actions button{
  min-height:48px;
  white-space:nowrap;
  padding-inline:18px;
}
.cliente-cadastro-table-wrap{
  max-height:520px;
  overflow:auto;
}
.cliente-cadastro-table-wrap table{
  min-width:980px;
}
@media (max-width: 1100px){
  .cliente-cadastro-row-top,
  .cliente-cadastro-row-identidade,
  .cliente-cadastro-row-contact,
  .cliente-cadastro-row-address-1,
  .cliente-cadastro-row-address-2,
  .cliente-cadastro-row-address-3,
  .cliente-cadastro-row-access{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cliente-cadastro-bottom{
    grid-template-columns:1fr;
  }
  .cliente-cadastro-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 640px){
  .cliente-cadastro-row-top,
  .cliente-cadastro-row-identidade,
  .cliente-cadastro-row-contact,
  .cliente-cadastro-row-address-1,
  .cliente-cadastro-row-address-2,
  .cliente-cadastro-row-address-3,
  .cliente-cadastro-row-access{
    grid-template-columns:1fr;
  }
  .cliente-cadastro-actions button{
    width:100%;
  }
}
button.tiny{
  padding:6px 10px;
  min-height:auto;
  font-size:12px;
  white-space:nowrap;
}


/* Cliente: layout mais compacto e status coloridos */
.cliente-hero{
  padding: 12px 16px !important;
  margin-bottom: 10px !important;
  border-radius: 14px !important;
}
.cliente-nome{
  font-size: 24px !important;
}
.cliente-sub{
  margin-top: 4px !important;
  font-size: 13px !important;
}
.cliente-grid{
  gap: 8px !important;
}
.cliente-card{
  padding: 9px 11px !important;
  min-height: 58px !important;
  border-radius: 12px !important;
}
.cliente-label{
  font-size: 11px !important;
  margin-bottom: 3px !important;
  line-height: 1.15 !important;
}
.cliente-value{
  font-size: 14px !important;
  line-height: 1.22 !important;
}
.cliente-value-wrap{
  gap: 6px !important;
}
.cliente-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  border: 1px solid transparent;
  white-space: nowrap;
}
.cliente-pill.verde{
  background: rgba(22, 163, 74, .14);
  color: #15803d;
  border-color: rgba(22, 163, 74, .28);
}
.cliente-pill.vermelho{
  background: rgba(220, 38, 38, .14);
  color: #b91c1c;
  border-color: rgba(220, 38, 38, .28);
}
.cliente-pill.amarelo{
  background: rgba(234, 179, 8, .18);
  color: #92400e;
  border-color: rgba(234, 179, 8, .34);
}
.cliente-pill.neutro{
  background: rgba(100, 116, 139, .14);
  color: #475569;
  border-color: rgba(100, 116, 139, .26);
}
body.theme-dark .cliente-pill.verde,
body.theme-synk_teal .cliente-pill.verde{
  color: #86efac;
}
body.theme-dark .cliente-pill.vermelho,
body.theme-synk_teal .cliente-pill.vermelho{
  color: #fca5a5;
}
body.theme-dark .cliente-pill.amarelo,
body.theme-synk_teal .cliente-pill.amarelo{
  color: #fde68a;
}




/* Tela separada após login: Menu Principal */
.launcher-page,
.module-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 15%, rgba(20,184,166,.22), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(59,130,246,.18), transparent 34%),
    #06151a;
  color:#eafdfb;
}
.launcher-shell,
.module-shell{
  min-height:100vh;
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  display:flex;
  flex-direction:column;
}
.launcher-header,
.module-header{
  padding:34px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.launcher-brand{
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#5eead4;
  margin-bottom:10px;
}
.launcher-header h1{
  margin:0;
  font-size:38px;
  line-height:1.05;
}
.launcher-header p{
  margin:8px 0 0;
  color:rgba(234,253,251,.70);
}
.launcher-grid{
  flex:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
  align-content:center;
  padding-bottom:48px;
}
.launcher-card{
  min-height:220px;
  border:1px solid rgba(148,163,184,.26);
  border-radius:28px;
  text-decoration:none;
  color:#eafdfb;
  background:rgba(15,23,42,.58);
  box-shadow:0 26px 70px rgba(0,0,0,.26);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:24px;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.launcher-card:hover{
  transform:translateY(-5px);
  border-color:rgba(94,234,212,.70);
  box-shadow:0 34px 85px rgba(0,0,0,.34);
}
.launcher-icon,
.module-icon{
  width:76px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  font-size:40px;
  background:linear-gradient(135deg, rgba(20,184,166,.26), rgba(59,130,246,.18));
}
.launcher-card strong{
  font-size:24px;
  font-weight:950;
}
.launcher-card small{
  color:rgba(234,253,251,.70);
  font-size:14px;
}
.module-card{
  margin:auto;
  width:min(680px, 100%);
  border:1px solid rgba(148,163,184,.26);
  border-radius:30px;
  background:rgba(15,23,42,.58);
  box-shadow:0 26px 70px rgba(0,0,0,.26);
  padding:42px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.module-card h1{
  margin:8px 0 0;
  font-size:36px;
}
.module-card p{
  margin:0;
  color:rgba(234,253,251,.72);
}
.module-back{
  text-decoration:none;
}
.btn-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:12px;
  background:#14b8a6;
  color:#05201d;
  font-weight:900;
  padding:0 18px;
  text-decoration:none;
}
.module-actions{
  margin-top:10px;
}
@media (max-width:980px){
  .launcher-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:560px){
  .launcher-header,
  .module-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .launcher-grid{
    grid-template-columns:1fr;
    align-content:start;
  }
  .launcher-card{
    min-height:155px;
  }
}

.webapp-lock-note{font-size:12px;color:var(--muted);}


/* Launcher dentro de /painel/ para evitar erro em /painel/inicio */
body.home-launcher-mode .sidebar{
  display:none !important;
}
body.home-launcher-mode .main{
  margin-left:0 !important;
  width:100% !important;
}
body.home-launcher-mode{
  background:
    radial-gradient(circle at 15% 15%, rgba(20,184,166,.22), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(59,130,246,.18), transparent 34%),
    #06151a;
}
.launcher-inline{
  min-height:100vh;
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#eafdfb;
}
.launcher-inline-header{
  margin-bottom:26px;
}
.launcher-inline-brand{
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#5eead4;
  margin-bottom:10px;
}
.launcher-inline h1{
  margin:0;
  font-size:42px;
  line-height:1.05;
}
.launcher-inline p{
  margin:8px 0 0;
  color:rgba(234,253,251,.72);
}
.launcher-inline-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
}
.launcher-inline-card{
  min-height:220px;
  border:1px solid rgba(148,163,184,.26);
  border-radius:28px;
  text-decoration:none;
  color:#eafdfb;
  background:rgba(15,23,42,.58);
  box-shadow:0 26px 70px rgba(0,0,0,.26);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:24px;
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.launcher-inline-card:hover{
  transform:translateY(-5px);
  border-color:rgba(94,234,212,.70);
  box-shadow:0 34px 85px rgba(0,0,0,.34);
}
.launcher-inline-icon{
  width:76px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  font-size:40px;
  background:linear-gradient(135deg, rgba(20,184,166,.26), rgba(59,130,246,.18));
}
.launcher-inline-card strong{
  font-size:24px;
  font-weight:950;
}
.launcher-inline-card small{
  color:rgba(234,253,251,.70);
  font-size:14px;
}
@media (max-width:980px){
  .launcher-inline-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:560px){
  .launcher-inline{
    justify-content:flex-start;
    padding-top:40px;
  }
  .launcher-inline-grid{
    grid-template-columns:1fr;
  }
  .launcher-inline-card{
    min-height:150px;
  }
}


/* v16.19.12.16 - correção da tela Menu Principal após login */
body.home-launcher-mode .app{
  display:block !important;
  grid-template-columns:none !important;
  min-height:100vh !important;
  width:100% !important;
}
body.home-launcher-mode .sidebar{
  display:none !important;
}
body.home-launcher-mode .main{
  display:block !important;
  width:100% !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  background:
    radial-gradient(circle at 15% 15%, rgba(20,184,166,.22), transparent 30%),
    radial-gradient(circle at 85% 85%, rgba(59,130,246,.18), transparent 34%),
    linear-gradient(135deg, #06151a 0%, #08242b 48%, #061525 100%) !important;
  overflow:auto !important;
}
body.home-launcher-mode [data-section]{
  min-height:100vh;
}
body.home-launcher-mode #sec-home{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.home-launcher-mode #sec-home.hidden{
  display:none !important;
}
.launcher-inline{
  min-height:auto !important;
  width:min(1180px, calc(100vw - 48px)) !important;
  margin:0 auto !important;
  padding:48px 0 !important;
  color:#eafdfb !important;
}
.launcher-inline-header{
  text-align:center !important;
  margin:0 0 34px !important;
}
.launcher-inline-brand{
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  color:#5eead4 !important;
  margin-bottom:12px !important;
}
.launcher-inline h1{
  margin:0 !important;
  font-size:clamp(34px, 5vw, 58px) !important;
  line-height:1.02 !important;
  color:#ecfeff !important;
}
.launcher-inline p{
  margin:12px 0 0 !important;
  color:rgba(236,254,255,.72) !important;
  font-size:16px !important;
}
.launcher-inline-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(190px, 1fr)) !important;
  gap:22px !important;
}
.launcher-inline-card{
  min-height:230px !important;
  border:1px solid rgba(148,163,184,.28) !important;
  border-radius:28px !important;
  color:#eafdfb !important;
  background:rgba(15,23,42,.62) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.28) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  gap:12px !important;
  padding:26px 20px !important;
  cursor:pointer !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.launcher-inline-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(94,234,212,.72) !important;
  box-shadow:0 34px 85px rgba(0,0,0,.36) !important;
}
.launcher-inline-icon{
  width:78px !important;
  height:78px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:24px !important;
  font-size:40px !important;
  background:linear-gradient(135deg, rgba(20,184,166,.28), rgba(59,130,246,.20)) !important;
}
.launcher-inline-card strong{
  font-size:26px !important;
  font-weight:950 !important;
  line-height:1.05 !important;
  color:#ecfeff !important;
}
.launcher-inline-card small{
  max-width:150px !important;
  color:rgba(236,254,255,.72) !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
@media (max-width:980px){
  .launcher-inline-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width:560px){
  body.home-launcher-mode #sec-home{
    align-items:flex-start !important;
  }
  .launcher-inline{
    width:calc(100vw - 28px) !important;
    padding:28px 0 !important;
  }
  .launcher-inline-header{
    text-align:left !important;
    margin-bottom:22px !important;
  }
  .launcher-inline-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .launcher-inline-card{
    min-height:140px !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .launcher-inline-icon{
    width:58px !important;
    height:58px !important;
    font-size:30px !important;
    flex:0 0 auto !important;
  }
  .launcher-inline-card small{
    max-width:none !important;
  }
}


/* v16.20.3 - evita piscar tela errada antes do app.js escolher a seção correta */
body.app-booting .app{
  visibility:hidden !important;
}
body.app-booting::before{
  content:'Carregando Synk Painel...';
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Inter, Arial, sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  color:#0f766e;
  background:#eef8f8;
  z-index:9999;
}

/* v16.20.6 - logo da empresa e atalhos rápidos acima do Dashboard Geral */
#sec-dashboard .dashboard-brand-area{
  background:linear-gradient(135deg, rgba(21,97,110,.12), rgba(30,118,131,.06));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:18px;
  box-shadow:var(--shadow-sm);
}
#sec-dashboard .dashboard-logo-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}
#sec-dashboard .dashboard-empresa-logo{
  width:96px;
  height:96px;
  object-fit:contain;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius);
  padding:10px;
  box-shadow:0 12px 28px rgba(10,51,58,.12);
}
#sec-dashboard .dashboard-brand-kicker{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:6px;
}
#sec-dashboard .dashboard-logo-wrap h1{
  margin:0;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.04;
}
#sec-dashboard .dashboard-logo-wrap p{
  margin:8px 0 0;
  color:var(--muted);
}
#sec-dashboard .dashboard-menu-buttons{
  display:grid;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  gap:8px;
}
#sec-dashboard .dashboard-menu-buttons button{
  min-height:48px;
  padding:10px 8px;
  background:var(--surface);
  color:var(--text);
  border-color:var(--line);
  box-shadow:none;
  white-space:nowrap;
}
#sec-dashboard .dashboard-menu-buttons button:hover{
  background:var(--brand);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(21,97,110,.14);
}
#sec-dashboard .dashboard-title-row{
  margin-top:0;
}
/* Menu Principal antigo fica preservado e acessível por /painel/inicio?sec=home, mas não aparece na navegação normal. */
#nav-home{
  display:none !important;
}
@media (max-width:1280px){
  #sec-dashboard .dashboard-menu-buttons{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}
@media (max-width:720px){
  #sec-dashboard .dashboard-logo-wrap{
    align-items:flex-start;
  }
  #sec-dashboard .dashboard-empresa-logo{
    width:78px;
    height:78px;
  }
  #sec-dashboard .dashboard-menu-buttons{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:460px){
  #sec-dashboard .dashboard-logo-wrap{
    flex-direction:column;
  }
  #sec-dashboard .dashboard-menu-buttons{
    grid-template-columns:1fr;
  }
}


/* v16.20.7 - páginas separadas para RH e Frota */
.system-page{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
}
.system-shell{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:26px 0 34px;
}
.system-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:linear-gradient(135deg, rgba(21,97,110,.12), rgba(30,118,131,.06));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:18px;
  margin-bottom:16px;
}
.system-brand{
  display:flex;
  align-items:center;
  gap:16px;
}
.system-brand img{
  width:84px;
  height:84px;
  object-fit:contain;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--radius);
  padding:9px;
  box-shadow:0 12px 28px rgba(10,51,58,.12);
}
.system-kicker{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.system-brand h1{
  margin:0;
  font-size:clamp(26px, 4vw, 40px);
  line-height:1.04;
}
.system-brand p{
  margin:8px 0 0;
  color:var(--muted);
}
.system-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.system-feedback{
  margin:6px 0 14px;
  font-weight:800;
}
.system-card-grid{
  margin-bottom:16px;
}
.system-section{
  margin-top:16px;
}
.system-filter input{
  min-width:min(360px, 100%);
}
@media (max-width:760px){
  .system-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .system-brand{
    align-items:flex-start;
    flex-direction:column;
  }
  .system-brand img{
    width:74px;
    height:74px;
  }
  .system-actions{
    justify-content:flex-start;
  }
}


/* v16.20.8 - módulos principais em páginas separadas e remoção do card Menu Principal */
#sec-home,
#nav-home,
.home-launcher-mode #sec-home{
  display:none !important;
}
#nav-config{
  display:none !important;
}
.panel-module-header.hidden{
  display:none !important;
}
.module-page-mode .sidebar{
  display:none !important;
}
.module-page-mode .app{
  display:block;
  min-height:100vh;
}
.module-page-mode .main{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:26px 0 34px;
  overflow:visible;
}
.module-page-mode [data-section]{
  margin-top:0;
}
.module-page-mode #sec-dashboard .dashboard-brand-area{
  display:none;
}
.module-page-mode .topbar{
  margin-top:0;
}
@media (max-width:760px){
  .module-page-mode .main{
    width:min(100% - 20px, 1180px);
    padding-top:14px;
  }
}


/* v16.21.1 - remoção definitiva do card/tela Menu Principal antigo */
#sec-home,
#nav-home,
.launcher-inline,
.launcher-page,
.launcher-shell,
.launcher-grid,
.launcher-card,
body.home-launcher-mode #sec-home,
body.home-launcher-mode .launcher-inline,
body:not(.login-page) .module-card{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body.home-launcher-mode{
  display:block !important;
}
body.home-launcher-mode .sidebar,
body.home-launcher-mode .main,
body.home-launcher-mode .app{
  display:revert !important;
}


/* v16.21.3 - remove menu lateral antigo da dashboard principal */
body:not(.login-page) .sidebar{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body:not(.login-page) .app{
  display:block !important;
  grid-template-columns:none !important;
  min-height:100vh !important;
}
body:not(.login-page) .main{
  width:min(1280px, calc(100% - 32px)) !important;
  margin:0 auto !important;
  padding:22px 0 34px !important;
}
body:not(.login-page) .dashboard-brand-area{
  margin-top:0 !important;
}
.dashboard-menu-buttons button#dashBtnLogout{
  background:var(--surface-2);
  color:var(--text);
  border-color:var(--line);
  box-shadow:none;
}
@media (max-width:760px){
  body:not(.login-page) .main{
    width:min(100% - 20px, 1280px) !important;
    padding-top:14px !important;
  }
}


/* v16.22.8 - botão excluir do usuário WebApp avulso */
button.danger,
.btn-link.danger {
  background:#7f1d1d !important;
  color:#fff !important;
  border-color:#991b1b !important;
}
button.danger:hover,
.btn-link.danger:hover {
  filter:brightness(1.08);
}


/* v16.22.9 - mapa de localização WebApp na configuração */
.webapp-map-frame-wrap{
  width:100%;
  min-height:360px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface-2);
  overflow:hidden;
}
.webapp-map-frame-wrap iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
  background:var(--surface-2);
}
#btnAbrirMapaWebappExterno:disabled{
  opacity:.55;
  cursor:not-allowed;
}
@media (max-width:760px){
  .webapp-map-frame-wrap{min-height:300px}
  .webapp-map-frame-wrap iframe{height:320px}
}


/* v16.23.8 - botões mais compactos nos cards do WebApp */
.actions.compact{
  gap:5px !important;
  align-items:center;
}
.actions.compact button,
.actions.compact .btn{
  padding:5px 8px !important;
  font-size:11.5px !important;
  line-height:1.15 !important;
  min-height:28px !important;
  box-shadow:none !important;
  white-space:nowrap;
}
#webappAcessoConfigBlock .table-wrap td,
#webappAvulsoConfigBlock .table-wrap td{
  padding:8px 7px !important;
}
#webappAcessoConfigBlock .table-wrap th,
#webappAvulsoConfigBlock .table-wrap th{
  padding:8px 7px !important;
}


/* v16.24.0 - menu principal mais compacto */
#sec-dashboard .dashboard-menu-buttons.compact-menu{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px !important;
}
#sec-dashboard .dashboard-menu-buttons.compact-menu button{
  min-height:34px !important;
  width:auto !important;
  min-width:82px;
  padding:6px 9px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  border-radius:12px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
#sec-dashboard .dashboard-menu-buttons.compact-menu button#dashGoOSTecnico,
#sec-dashboard .dashboard-menu-buttons.compact-menu button#dashGoConfig{
  min-width:94px;
}
#sec-dashboard .dashboard-menu-buttons.compact-menu button#dashBtnLogout{
  min-width:74px;
}
@media (max-width:720px){
  #sec-dashboard .dashboard-menu-buttons.compact-menu{
    justify-content:flex-start;
  }
  #sec-dashboard .dashboard-menu-buttons.compact-menu button{
    min-width:74px;
    font-size:11px !important;
    padding:6px 7px !important;
  }
}
@media (max-width:460px){
  #sec-dashboard .dashboard-menu-buttons.compact-menu button{
    flex:1 1 calc(33.333% - 6px);
    min-width:0;
  }
}


/* v16.24.1 - Synk IA compacta, alertas e popup flutuante */
.synkia-actions.compact-square{
  gap:6px !important;
  align-items:center;
  justify-content:flex-end;
}
.synkia-actions.compact-square button{
  min-width:74px;
  min-height:32px;
  padding:6px 9px !important;
  border-radius:6px !important;
  font-size:11.5px !important;
  line-height:1.05 !important;
  text-align:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none !important;
}
.synkia-monitor-mini{
  margin-top:8px;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}
.synkia-monitor-mini span{
  border:1px solid var(--line);
  background:var(--surface-2);
  padding:6px 8px;
  border-radius:8px;
  font-size:12px;
}
.synkia-floating{
  position:fixed;
  right:18px;
  bottom:78px;
  z-index:1200;
  border-radius:12px !important;
  padding:9px 12px !important;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 16px 35px rgba(15,23,42,.24) !important;
}
.synkia-floating strong{
  min-width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.24);
}
.synkia-floating.critica{background:#dc2626 !important;color:#fff !important;}
.synkia-floating.alta{background:#f97316 !important;color:#fff !important;}
.synkia-floating.media{background:#d97706 !important;color:#fff !important;}
.synkia-floating.info{background:var(--brand) !important;color:#fff !important;}
.synkia-popup{
  position:fixed;
  right:18px;
  bottom:128px;
  z-index:1199;
  width:min(420px, calc(100vw - 32px));
  max-height:70vh;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 20px 50px rgba(15,23,42,.26);
}
.synkia-popup-head{
  position:sticky;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.synkia-popup-head button{
  min-width:30px;
  min-height:28px;
  padding:3px 8px !important;
  border-radius:6px !important;
  box-shadow:none !important;
  cursor:pointer;
  font-size:18px !important;
  line-height:1 !important;
}
.synkia-popup-body{padding:10px;}
.synkia-popup-summary{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.synkia-popup-summary span{
  padding:5px 7px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  font-size:12px;
}
.synkia-alert-item{
  padding:8px 9px;
  border:1px solid var(--line);
  border-left-width:4px;
  border-radius:10px;
  margin-bottom:8px;
  background:var(--surface-2);
}
.synkia-alert-item.critica{border-left-color:#dc2626;}
.synkia-alert-item.alta{border-left-color:#f97316;}
.synkia-alert-item.media{border-left-color:#d97706;}
.synkia-alert-item.info{border-left-color:var(--brand);}
.badge.prioridade-cnpj{
  display:inline-flex;
  margin-left:4px;
  padding:2px 5px;
  border-radius:6px;
  background:#dc2626;
  color:#fff;
  font-size:10px;
  vertical-align:middle;
}
@media (max-width:720px){
  .synkia-actions.compact-square{justify-content:flex-start;}
  .synkia-actions.compact-square button{min-width:68px;font-size:11px !important;padding:6px 7px !important;}
  .synkia-floating{right:12px;bottom:70px;}
  .synkia-popup{right:10px;bottom:120px;}
}

/* v16.24.2 - compactação geral sem mudar a estética principal */
body:not(.login-page) .section{
  padding:12px !important;
  margin-top:12px !important;
}
body:not(.login-page) .card{
  padding:10px !important;
}
body:not(.login-page) .card .label{
  font-size:10px !important;
}
body:not(.login-page) .card .value{
  font-size:22px !important;
  margin-top:5px !important;
}
body:not(.login-page) .section-head{
  margin-bottom:9px !important;
  gap:8px !important;
}
body:not(.login-page) .section-head h2{
  font-size:16px !important;
}
body:not(.login-page) button,
body:not(.login-page) .btn,
body:not(.login-page) .btn-link{
  padding:7px 10px !important;
  min-height:32px !important;
  font-size:12px !important;
  line-height:1.08 !important;
  border-radius:5px !important;
  box-shadow:none !important;
}
body:not(.login-page) button.tiny{
  padding:5px 7px !important;
  min-height:26px !important;
  font-size:11px !important;
}
body:not(.login-page) input,
body:not(.login-page) select{
  padding:8px 9px !important;
  min-height:34px !important;
  font-size:13px !important;
  min-width:150px;
}
body:not(.login-page) th,
body:not(.login-page) td{
  padding:8px 7px !important;
  font-size:12.5px !important;
}
body:not(.login-page) th{
  font-size:10.5px !important;
}
body:not(.login-page) .filters,
body:not(.login-page) .actions{
  gap:6px !important;
  margin-bottom:8px !important;
}
body:not(.login-page) .badge{
  padding:4px 7px !important;
  font-size:10.5px !important;
}
#sec-dashboard .dashboard-menu-buttons.compact-menu button{
  min-height:30px !important;
  min-width:68px !important;
  padding:5px 8px !important;
  font-size:11.5px !important;
  border-radius:5px !important;
}
#sec-dashboard .dashboard-brand-area{
  padding:12px !important;
  margin-bottom:12px !important;
}
#sec-dashboard .dashboard-empresa-logo{
  width:76px !important;
  height:76px !important;
}
#sec-dashboard .dashboard-logo-wrap h1{
  font-size:clamp(22px,3vw,34px) !important;
}
#sec-dashboard .dashboard-logo-wrap p{
  margin-top:4px !important;
  font-size:13px !important;
}
#sec-dashboard .dashboard-brand-kicker{
  font-size:11px !important;
}
#sec-dashboard .dashboard-top-row,
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra,
#synkIaResumo{
  gap:7px !important;
}
#synkIaResumo.card-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.synkia-actions.compact-square button{
  min-width:62px !important;
  min-height:28px !important;
  padding:5px 7px !important;
  border-radius:4px !important;
}
.synkia-monitor-mini{
  gap:5px !important;
}
.synkia-monitor-mini span{
  padding:4px 6px !important;
  border-radius:5px !important;
  font-size:11px !important;
}
.synkia-floating{
  border-radius:6px !important;
  padding:7px 9px !important;
  min-height:36px !important;
  right:14px !important;
  bottom:62px !important;
}
.synkia-popup{
  border-radius:7px !important;
  bottom:106px !important;
}
.synkia-alert-item{
  border-radius:6px !important;
  padding:7px 8px !important;
}
@media (max-width:900px){
  body:not(.login-page) .main{
    width:calc(100% - 12px) !important;
    padding:8px 0 18px !important;
  }
  #synkIaResumo.card-grid,
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body:not(.login-page) .topbar,
  body:not(.login-page) .section-head{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  body:not(.login-page) .actions{
    width:100%;
  }
  body:not(.login-page) .actions button{
    flex:0 1 auto;
  }
}
@media (max-width:560px){
  body:not(.login-page){
    font-size:13px;
  }
  body:not(.login-page) .section{
    padding:9px !important;
    margin-top:9px !important;
  }
  body:not(.login-page) .card{
    padding:8px !important;
  }
  #sec-dashboard .dashboard-brand-area{
    padding:9px !important;
  }
  #sec-dashboard .dashboard-logo-wrap{
    flex-direction:row !important;
    gap:8px !important;
  }
  #sec-dashboard .dashboard-empresa-logo{
    width:54px !important;
    height:54px !important;
  }
  #sec-dashboard .dashboard-menu-buttons.compact-menu button{
    flex:1 1 calc(33.333% - 6px) !important;
    min-width:0 !important;
    font-size:10.5px !important;
    padding:5px 4px !important;
  }
  body:not(.login-page) input,
  body:not(.login-page) select{
    min-width:0 !important;
    flex:1 1 150px;
  }
  .table-wrap{
    max-width:100%;
  }
}

/* v16.24.2 - login mais profissional com ícones */
body.login-page.login-pro .login-shell{
  padding:18px;
  background:
    linear-gradient(135deg, rgba(4,18,36,.78), rgba(10,59,68,.48)),
    radial-gradient(circle at 18% 12%, rgba(71,168,182,.38), transparent 27%),
    radial-gradient(circle at 88% 86%, rgba(31,140,92,.22), transparent 26%),
    url('/painel/login-bg-synknet.png') center center / cover no-repeat,
    #07161a;
}
body.login-page.login-pro .login-card-pro{
  position:relative;
  overflow:hidden;
  width:min(100%, 390px);
  padding:24px 22px 20px;
  border-radius:12px !important;
  background:rgba(8,24,42,.66);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
body.login-page.login-pro .login-card-pro::before{
  content:"";
  position:absolute;
  inset:-70px auto auto -70px;
  width:170px;
  height:170px;
  border-radius:999px;
  background:rgba(71,168,182,.22);
  filter:blur(1px);
}
.login-icon-orbit{
  display:flex;
  gap:7px;
  margin-bottom:9px;
}
.login-icon-orbit span,
.login-feature-row span,
.login-input-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.login-icon-orbit span{
  width:30px;
  height:30px;
  border-radius:8px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
}
.login-feature-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin:0 0 12px;
}
.login-feature-row span{
  min-height:30px;
  border-radius:6px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.login-input-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.40);
  border-radius:7px;
  padding:0 10px;
}
.login-input-wrap input,
body.login-page .login-input-wrap input{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  flex:1;
  min-width:0;
  padding:11px 0 !important;
}
.login-input-icon{
  width:22px;
  color:#15616e;
}
body.login-page.login-pro #loginBtn{
  min-height:42px;
  border-radius:7px !important;
  font-weight:900;
  letter-spacing:.01em;
  background:linear-gradient(135deg, #15616e, #1f8c5c);
  box-shadow:0 14px 28px rgba(0,0,0,.22) !important;
}
.login-safe-note{
  margin-top:12px;
  text-align:center;
  color:rgba(255,255,255,.74);
  font-size:11px;
  font-weight:700;
}
body.login-page.login-pro .login-logo{
  width:82px;
  height:82px;
  margin-bottom:10px;
}
body.login-page.login-pro .login-brand-text{
  font-size:30px;
}
body.login-page.login-pro .login-brand-subtitle{
  margin-top:5px;
  font-size:14px;
}
@media (max-width:420px){
  body.login-page.login-pro .login-card-pro{
    width:100%;
    padding:20px 16px 16px;
  }
  .login-feature-row span{font-size:11px;}
}

/* v16.24.3 - Integração IXC com letras compactas nos cards de status */
#ixcConfigBlock .card-grid .card{
  min-height:auto !important;
  padding:10px 12px !important;
}
#ixcConfigBlock .card-grid .card .label,
#ixcConfigBlock .card-grid .card .value,
#ixcConfigBlock #syncStatusCfg,
#ixcConfigBlock #lastSyncCfg,
#ixcConfigBlock #syncAutoCfg,
#ixcConfigBlock #syncAutoLastCfg,
#ixcConfigBlock #syncMessageCfg{
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:0.02em !important;
}
#ixcConfigBlock .card-grid .card .value{
  margin-top:6px !important;
  font-weight:800 !important;
  word-break:break-word;
}
@media (max-width:900px){
  #ixcConfigBlock .card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:520px){
  #ixcConfigBlock .card-grid{
    grid-template-columns:1fr !important;
  }
}


/* v16.24.5 - Dashboard principal com cards menores e centralizados */
#sec-dashboard .dashboard-title-row{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#sec-dashboard .dashboard-title-row .title{
  width:100% !important;
}
#sec-dashboard .dashboard-top-row{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
  max-width:1180px !important;
  margin:0 auto 10px auto !important;
}
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra{
  display:contents !important;
}
#sec-dashboard #dashboardCards .card,
#sec-dashboard #dashboardExtra .card{
  flex:0 0 132px !important;
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  min-height:56px !important;
  padding:7px 8px !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  gap:4px !important;
}
#sec-dashboard #dashboardCards .card .label,
#sec-dashboard #dashboardExtra .card .label{
  width:100% !important;
  text-align:center !important;
  font-size:8.5px !important;
  line-height:1.05 !important;
  letter-spacing:.08em !important;
}
#sec-dashboard #dashboardCards .card .value,
#sec-dashboard #dashboardExtra .card .value{
  width:100% !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1 !important;
  margin-top:2px !important;
}
#sec-dashboard > .section{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#synkIaResumo.card-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
}
#synkIaResumo.card-grid .card{
  flex:0 0 150px !important;
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  min-height:62px !important;
  padding:8px 9px !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#synkIaResumo.card-grid .card .label{
  width:100% !important;
  text-align:center !important;
  font-size:8.5px !important;
  line-height:1.05 !important;
  letter-spacing:.08em !important;
}
#synkIaResumo.card-grid .card .value{
  width:100% !important;
  text-align:center !important;
  font-size:17px !important;
  line-height:1 !important;
  margin-top:3px !important;
}
#sec-dashboard .synkia-monitor-mini{
  justify-content:center !important;
}
@media (max-width:900px){
  #sec-dashboard .dashboard-title-row,
  #sec-dashboard .dashboard-top-row,
  #sec-dashboard > .section{
    max-width:100% !important;
  }
  #sec-dashboard #dashboardCards .card,
  #sec-dashboard #dashboardExtra .card{
    flex:1 1 calc(25% - 8px) !important;
    width:auto !important;
    min-width:96px !important;
    max-width:132px !important;
  }
  #synkIaResumo.card-grid .card{
    flex:1 1 calc(33.333% - 8px) !important;
    width:auto !important;
    min-width:112px !important;
    max-width:150px !important;
  }
}
@media (max-width:560px){
  #sec-dashboard .dashboard-title-row .title{
    text-align:center !important;
  }
  #sec-dashboard #dashboardCards .card,
  #sec-dashboard #dashboardExtra .card{
    flex:1 1 calc(50% - 8px) !important;
    min-width:0 !important;
    max-width:none !important;
  }
  #synkIaResumo.card-grid .card{
    flex:1 1 calc(50% - 8px) !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* v16.24.9 - cabeçalho/menu principal fixo, Início real e fundo sólido */
.global-panel-header{
  position:sticky !important;
  top:8px !important;
  z-index:80 !important;
  background:linear-gradient(135deg, #d9eff2 0%, #e8f7f9 100%) !important;
  backdrop-filter:none !important;
  border:1px solid rgba(91,145,154,.55) !important;
  border-radius:8px !important;
  box-shadow:0 12px 26px rgba(10,51,58,.18) !important;
  padding:10px 12px !important;
  margin:0 0 12px 0 !important;
}
.global-panel-header .dashboard-logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  margin-bottom:10px !important;
  text-align:left !important;
}
.global-panel-header .dashboard-empresa-logo{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:7px !important;
  padding:7px !important;
  box-shadow:0 8px 18px rgba(10,51,58,.10) !important;
}
.global-panel-header .dashboard-brand-kicker{
  color:var(--brand) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  margin-bottom:3px !important;
}
.global-panel-header .dashboard-logo-wrap h1{
  margin:0 !important;
  font-size:clamp(22px, 3vw, 34px) !important;
  line-height:1.05 !important;
}
.global-panel-header .dashboard-logo-wrap p{
  margin:4px 0 0 !important;
  color:var(--muted) !important;
  font-size:12px !important;
}
.global-panel-header .dashboard-menu-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
}
.global-panel-header .dashboard-menu-buttons button{
  min-height:28px !important;
  min-width:62px !important;
  padding:4px 8px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  border-radius:5px !important;
  background:var(--surface) !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}
.global-panel-header .dashboard-menu-buttons button:hover{
  background:var(--brand) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 8px 16px rgba(21,97,110,.13) !important;
}
.global-panel-header .dashboard-menu-buttons button.secondary{
  background:var(--surface-2) !important;
  color:var(--text) !important;
}
.global-panel-header .dashboard-menu-buttons button.secondary:hover{
  background:var(--brand) !important;
  color:#fff !important;
}
.panel-module-header,
.module-page-mode #moduleSystemHeader{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.module-page-mode .main{
  padding-top:12px !important;
}
.system-page .system-shell{
  width:min(1280px, calc(100% - 32px)) !important;
  padding-top:12px !important;
}
.system-page .system-header:not(.global-panel-header){
  display:none !important;
}
.system-global-header{
  margin-bottom:12px !important;
}

.global-panel-header .dashboard-logo-wrap{
  cursor:pointer !important;
}
.global-panel-header .dashboard-logo-wrap:focus{
  outline:2px solid rgba(21,97,110,.35) !important;
  outline-offset:3px !important;
  border-radius:8px !important;
}

@media (max-width:760px){
  .global-panel-header{
    top:4px !important;
    padding:8px !important;
    margin-bottom:10px !important;
  }
  .global-panel-header .dashboard-logo-wrap{
    justify-content:flex-start !important;
    gap:8px !important;
    margin-bottom:8px !important;
  }
  .global-panel-header .dashboard-empresa-logo{
    width:48px !important;
    height:48px !important;
    padding:5px !important;
  }
  .global-panel-header .dashboard-logo-wrap h1{
    font-size:18px !important;
  }
  .global-panel-header .dashboard-logo-wrap p{
    display:none !important;
  }
  .global-panel-header .dashboard-menu-buttons{
    gap:5px !important;
  }
  .global-panel-header .dashboard-menu-buttons button{
    flex:1 1 calc(33.333% - 5px) !important;
    min-width:0 !important;
    padding:5px 4px !important;
    font-size:10px !important;
  }
  .system-page .system-shell{
    width:min(100% - 12px, 1280px) !important;
    padding-top:8px !important;
  }
}
@media (max-width:420px){
  .global-panel-header .dashboard-menu-buttons button{
    flex:1 1 calc(50% - 5px) !important;
  }
}

/* v16.25.0 - Relatório da OS finalizada pelo WebApp */
.os-clickable-row{cursor:pointer;}
.os-clickable-row:hover{background:rgba(15,118,110,.055);}
.os-numero-link{font-size:13px;}
.os-relatorio-webapp{margin-top:14px;border-top:1px solid var(--line);padding-top:14px;}
.section-head.compact{margin-bottom:8px;}
.os-relatorio-box{border:1px solid var(--line);background:var(--surface-2);padding:12px;font-size:12px;}
.os-relatorio-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;}
.os-relatorio-resumo>div,.os-relatorio-kv>div{border:1px solid var(--line);background:var(--surface);padding:8px;}
.os-relatorio-resumo strong,.os-relatorio-kv strong{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.os-relatorio-resumo span,.os-relatorio-kv span{display:block;font-size:12px;line-height:1.35;white-space:pre-wrap;word-break:break-word;}
.os-relatorio-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;}
.os-relatorio-subtitle{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);margin:12px 0 6px;}
.os-relatorio-list{margin:4px 0 0 18px;padding:0;font-size:12px;}
.os-relatorio-localizacao{border:1px solid var(--line);background:var(--surface);padding:8px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:12px;}
.os-relatorio-localizacao span{font-size:12px;word-break:break-word;color:var(--text);}
.os-mapa-link{font-size:11px;padding:5px 8px;border-radius:6px;text-decoration:none;}

.os-anexos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;}
.os-anexo-card{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);padding:7px;text-decoration:none;color:var(--text);min-height:112px;text-align:center;}
.os-anexo-card img{width:100%;height:74px;object-fit:cover;border-radius:4px;border:1px solid var(--line);}
.os-anexo-card span{font-size:10.5px;font-weight:800;line-height:1.2;word-break:break-word;}
.os-anexo-card small{font-size:9px;color:var(--muted);text-transform:uppercase;}
.os-anexo-icon{font-size:26px;line-height:1;}
@media (max-width: 760px){
  .os-relatorio-resumo,.os-relatorio-kv{grid-template-columns:1fr;}
  .os-anexos-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* v16.25.1 - Mantém Ver dados e adiciona Ver OS */
.os-relatorio-destaque{outline:2px solid rgba(59,130,246,.65);box-shadow:0 0 0 3px rgba(59,130,246,.12);}


/* v16.25.3 - Cliente: dados do cliente mais visiveis */
#sec-cliente .cliente-grid .cliente-value,
#sec-cliente .cliente-grid .cliente-value-wrap .cliente-value,
body[data-sec="cliente"] .cliente-grid .cliente-value,
.cliente-grid .cliente-card .cliente-value{
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
#sec-cliente .cliente-grid .cliente-pill,
body[data-sec="cliente"] .cliente-grid .cliente-pill,
.cliente-grid .cliente-card .cliente-pill{
  font-size: 14px !important;
  line-height: 1.2 !important;
}
#sec-cliente .cliente-grid .cliente-label,
body[data-sec="cliente"] .cliente-grid .cliente-label,
.cliente-grid .cliente-card .cliente-label{
  font-size: 11px !important;
}

/* v16.25.5 - Página Técnicos: somente ID/Nome da lista em 14px */
#tecnicosTable td.tecnico-idnome {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

/* v16.25.8 - Monitoramento compacto do servidor na Configuração */
.server-monitor-note{
  font-size:12px;
  line-height:1.35;
}
.server-monitor-grid{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
}
.server-monitor-card{
  min-height:104px;
  padding:12px !important;
  text-align:center;
}
.server-monitor-card .label{
  font-size:10px;
  letter-spacing:.04em;
}
.server-monitor-card .value{
  font-size:18px !important;
  line-height:1.15;
  margin:5px 0 6px;
}
.server-monitor-card .muted{
  font-size:10px;
  line-height:1.25;
}
.server-meter{
  height:7px;
  width:100%;
  overflow:hidden;
  border-radius:999px;
  background:rgba(148,163,184,.22);
  margin:6px 0 7px;
}
.server-meter span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,#16a34a,#22c55e);
  transition:width .25s ease;
}
.server-meter span[data-status="alto"]{
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
}
.server-meter span[data-status="crítico"],
.server-meter span[data-status="critico"]{
  background:linear-gradient(90deg,#dc2626,#ef4444);
}
.server-monitor-details{
  margin-top:10px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(15,23,42,.05);
  color:var(--muted);
  font-size:11px;
  text-align:center;
}
@media (max-width: 900px){
  .server-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 520px){
  .server-monitor-grid{grid-template-columns:1fr;}
}


/* v16.26.0 - alerta flutuante da Synk IA sempre ativo */
.synkia-floating.synkia-pulse{
  animation:synkiaPulse 1.6s infinite;
}
@keyframes synkiaPulse{
  0%{transform:scale(1); box-shadow:0 16px 35px rgba(15,23,42,.24);}
  50%{transform:scale(1.045); box-shadow:0 18px 44px rgba(220,38,38,.38);}
  100%{transform:scale(1); box-shadow:0 16px 35px rgba(15,23,42,.24);}
}


/* v16.26.2 - Synk IA popup close/auto-hide */
.synkia-popup.hidden{display:none !important;}
#btnFecharSynkIaPopup{user-select:none;}


/* v16.26.3 - OpenAI/Synk IA */
#openaiConfigBlock input,
#openaiConfigBlock select,
#openaiConfigBlock button { font-size: 11px; }
#openaiConfigBlock .card .label,
#openaiConfigBlock .card .value { text-align:center; }
.synkia-openai-resumo { display:block; margin-top:4px; padding:6px 8px; border-radius:8px; background:rgba(56,189,248,.10); border:1px solid rgba(56,189,248,.22); }
@media (max-width: 760px) {
  .openai-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #openaiConfigBlock .filters { gap:6px; }
  #openaiConfigBlock input, #openaiConfigBlock select { min-width:100% !important; max-width:100% !important; }
}


/* v16.26.4 - OpenAI controlado / baixo custo */
#openaiConfigBlock .filters { align-items:center; }
#openaiConfigBlock input, #openaiConfigBlock select { height:32px; padding:6px 8px; }
#openaiConfigBlock .actions button { min-height:30px; padding:6px 10px; border-radius:8px; }


/* v16.26.5 - OpenAI para OS */
.os-modal-actions{align-items:center;justify-content:flex-end;gap:6px;}
.os-modal-actions button{font-size:11px!important;padding:5px 8px!important;border-radius:7px!important;min-height:26px!important;}
.os-openai-box{margin-top:10px;}
.os-openai-result{font-size:12px;line-height:1.45;}
.os-openai-meta{font-size:10px;color:var(--muted);margin-bottom:6px;text-align:center;}
.os-openai-text{white-space:normal;text-align:left;}
.danger-text{color:#ef4444;font-size:12px;}

/* v16.26.6 - Layout responsivo para notebook 13/14/15, monitores 19/24 e celular */
:root{
  --content-max: 1360px;
  --page-pad: clamp(8px, 1.1vw, 18px);
  --section-pad: clamp(9px, .9vw, 14px);
  --card-pad: clamp(8px, .75vw, 12px);
  --btn-pad-y: clamp(5px, .45vw, 8px);
  --btn-pad-x: clamp(7px, .65vw, 11px);
  --ui-font: clamp(11px, .72vw, 13px);
  --title-font: clamp(18px, 1.55vw, 28px);
  --h2-font: clamp(14px, 1vw, 18px);
}

body:not(.login-page){
  font-size:var(--ui-font) !important;
}
body:not(.login-page) .app{
  display:block !important;
  min-height:100vh;
}
body:not(.login-page) .sidebar{
  display:none !important;
}
body:not(.login-page) .main,
body.system-page .system-shell > main{
  width:min(var(--content-max), calc(100vw - (var(--page-pad) * 2))) !important;
  max-width:var(--content-max) !important;
  margin:0 auto !important;
  padding:var(--page-pad) 0 24px !important;
}
body:not(.login-page) .section,
body.system-page .system-section{
  padding:var(--section-pad) !important;
  margin-top:clamp(8px, .85vw, 14px) !important;
}
body:not(.login-page) .card{
  padding:var(--card-pad) !important;
}
body:not(.login-page) .title h1,
body.system-page .system-title h1{
  font-size:var(--title-font) !important;
  line-height:1.08 !important;
}
body:not(.login-page) .title p,
body.system-page .system-title p,
body:not(.login-page) .muted{
  font-size:clamp(10.5px, .72vw, 12.5px) !important;
}
body:not(.login-page) .section-head{
  gap:8px !important;
  margin-bottom:clamp(7px, .7vw, 12px) !important;
}
body:not(.login-page) .section-head h2,
body.system-page .section-head h2{
  font-size:var(--h2-font) !important;
  line-height:1.15 !important;
}
body:not(.login-page) button,
body:not(.login-page) .btn{
  min-height:clamp(26px, 2vw, 32px) !important;
  padding:var(--btn-pad-y) var(--btn-pad-x) !important;
  font-size:clamp(10px, .68vw, 12px) !important;
  line-height:1.1 !important;
  border-radius:4px !important;
  white-space:nowrap;
}
body:not(.login-page) input,
body:not(.login-page) select,
body:not(.login-page) textarea{
  min-height:clamp(28px, 2.1vw, 34px) !important;
  padding:clamp(5px, .55vw, 8px) clamp(7px, .7vw, 10px) !important;
  font-size:clamp(11px, .72vw, 13px) !important;
  min-width:min(190px, 100%) !important;
}
body:not(.login-page) th,
body:not(.login-page) td{
  padding:clamp(5px, .55vw, 8px) clamp(5px, .5vw, 8px) !important;
  font-size:clamp(10.5px, .68vw, 12.5px) !important;
}
body:not(.login-page) th{
  font-size:clamp(9px, .58vw, 10.5px) !important;
}
body:not(.login-page) .filters,
body:not(.login-page) .actions{
  gap:clamp(4px, .45vw, 8px) !important;
}
body:not(.login-page) .table-wrap{
  max-width:100% !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}
body:not(.login-page) table{
  min-width:max-content;
}

/* Cabeçalho global fixo responsivo */
body:not(.login-page) .global-panel-header,
body.system-page .global-panel-header{
  width:min(var(--content-max), calc(100vw - (var(--page-pad) * 2))) !important;
  max-width:var(--content-max) !important;
  margin:clamp(6px, .8vw, 12px) auto clamp(8px, .9vw, 14px) !important;
  padding:clamp(8px, .85vw, 13px) !important;
  top:clamp(4px, .55vw, 8px) !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(6px, .75vw, 12px) !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(5px) !important;
}
body[data-theme="dark"]:not(.login-page) .global-panel-header,
body[data-theme="dark"].system-page .global-panel-header{
  background:rgba(13,37,43,.96) !important;
}
body:not(.login-page) .dashboard-logo-wrap,
body.system-page .dashboard-logo-wrap{
  flex:1 1 260px !important;
  min-width:220px !important;
  justify-content:center !important;
  gap:clamp(7px, .7vw, 12px) !important;
  text-align:left !important;
}
body:not(.login-page) .dashboard-empresa-logo,
body.system-page .dashboard-empresa-logo{
  width:clamp(46px, 4.4vw, 72px) !important;
  height:clamp(46px, 4.4vw, 72px) !important;
}
body:not(.login-page) .dashboard-logo-wrap h1,
body.system-page .dashboard-logo-wrap h1{
  font-size:clamp(17px, 1.55vw, 27px) !important;
  line-height:1.05 !important;
  margin:0 !important;
}
body:not(.login-page) .dashboard-logo-wrap p,
body.system-page .dashboard-logo-wrap p{
  font-size:clamp(10px, .68vw, 12px) !important;
  line-height:1.2 !important;
  margin:2px 0 0 !important;
}
body:not(.login-page) .dashboard-brand-kicker,
body.system-page .dashboard-brand-kicker{
  font-size:clamp(9px, .58vw, 11px) !important;
}
body:not(.login-page) .dashboard-menu-buttons,
body.system-page .dashboard-menu-buttons{
  flex:999 1 520px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(4px, .45vw, 7px) !important;
}
body:not(.login-page) .dashboard-menu-buttons button,
body.system-page .dashboard-menu-buttons button{
  min-width:clamp(54px, 5vw, 82px) !important;
  min-height:clamp(26px, 2.25vw, 32px) !important;
  padding:clamp(4px, .45vw, 7px) clamp(5px, .55vw, 9px) !important;
  font-size:clamp(9.5px, .68vw, 11.5px) !important;
  text-align:center !important;
}

/* Grids adaptativos para cards gerais */
body:not(.login-page) .card-grid,
body.system-page .card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(clamp(112px, 13vw, 175px), 1fr)) !important;
  gap:clamp(6px, .65vw, 10px) !important;
}
body:not(.login-page) .card .label{
  font-size:clamp(8px, .56vw, 10px) !important;
  line-height:1.1 !important;
}
body:not(.login-page) .card .value{
  font-size:clamp(15px, 1.25vw, 22px) !important;
  line-height:1.05 !important;
}
#sec-dashboard .dashboard-top-row{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, .86fr) !important;
  gap:clamp(6px, .7vw, 10px) !important;
  max-width:100% !important;
}
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra{
  grid-template-columns:repeat(auto-fit, minmax(clamp(90px, 9vw, 132px), 1fr)) !important;
  justify-content:center !important;
}
#sec-dashboard #dashboardCards .card,
#sec-dashboard #dashboardExtra .card{
  min-height:clamp(54px, 5vw, 72px) !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#synkIaResumo.card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(clamp(110px, 10vw, 150px), 1fr)) !important;
  justify-content:center !important;
}
#synkIaResumo.card-grid .card{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:clamp(56px, 5vw, 72px) !important;
}

/* Ajustes por faixas comuns de tela */
@media (min-width: 1850px){
  :root{--content-max: 1580px; --ui-font: 13px;}
  #sec-dashboard .dashboard-top-row{grid-template-columns:1.06fr .94fr !important;}
}
@media (min-width: 1500px) and (max-width: 1849px){
  :root{--content-max: 1440px;}
}
@media (min-width: 1280px) and (max-width: 1499px){
  :root{--content-max: 1240px; --page-pad: 10px;}
  body:not(.login-page) .dashboard-menu-buttons button{min-width:60px !important;}
}
@media (min-width: 1024px) and (max-width: 1279px){
  :root{--content-max: 1000px; --page-pad: 8px; --ui-font: 12px;}
  #sec-dashboard .dashboard-top-row{grid-template-columns:1fr !important;}
  body:not(.login-page) .dashboard-logo-wrap{flex-basis:100% !important;}
}
@media (max-width: 900px){
  :root{--content-max: 100%; --page-pad: 7px;}
  body:not(.login-page) .main,
  body.system-page .system-shell > main{
    width:calc(100vw - 12px) !important;
  }
  body:not(.login-page) .global-panel-header,
  body.system-page .global-panel-header{
    width:calc(100vw - 12px) !important;
  }
  #sec-dashboard .dashboard-top-row{grid-template-columns:1fr !important;}
  body:not(.login-page) .kit{grid-template-columns:1fr !important;}
  body:not(.login-page) .modal-card{width:calc(100vw - 14px) !important;margin:7px auto !important;max-height:calc(100vh - 14px) !important;}
}
@media (max-width: 620px){
  body:not(.login-page) .dashboard-logo-wrap,
  body.system-page .dashboard-logo-wrap{
    flex-basis:100% !important;
    min-width:0 !important;
    text-align:center !important;
  }
  body:not(.login-page) .dashboard-logo-wrap,
  body.system-page .dashboard-logo-wrap{
    flex-direction:column !important;
  }
  body:not(.login-page) .dashboard-logo-wrap p,
  body.system-page .dashboard-logo-wrap p{display:none !important;}
  body:not(.login-page) .dashboard-menu-buttons button,
  body.system-page .dashboard-menu-buttons button{
    flex:1 1 calc(25% - 6px) !important;
    min-width:0 !important;
  }
  body:not(.login-page) .filters input,
  body:not(.login-page) .filters select,
  body:not(.login-page) .filters button{
    flex:1 1 100% !important;
    width:100% !important;
  }
}
@media (max-width: 420px){
  body:not(.login-page) .dashboard-menu-buttons button,
  body.system-page .dashboard-menu-buttons button{
    flex:1 1 calc(33.333% - 6px) !important;
    font-size:9.5px !important;
  }
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra,
  #synkIaResumo.card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .synkia-popup{width:calc(100vw - 20px) !important;right:10px !important;}
}

/* Login também responsivo em telas pequenas e grandes */
body.login-page .login-card{
  width:min(420px, calc(100vw - 24px)) !important;
  padding:clamp(22px, 3.5vw, 34px) clamp(18px, 3vw, 30px) !important;
}
body.login-page .login-title h1{font-size:clamp(24px, 3.2vw, 32px) !important;}
body.login-page input,
body.login-page button{font-size:14px !important;}
@media (max-width:420px){
  body.login-page .login-shell{padding:12px !important;}
  body.login-page .login-brand-logo{width:72px !important;height:72px !important;}
}

/* v16.26.7 - Revisão do responsivo: cards alinhados e centralizados
   Corrige os grids da v16.26.6 que podiam deixar cards fora de posição
   em notebooks/monitores diferentes. Mantém compactação sem quebrar layout. */
:root{
  --content-max: 1360px;
  --page-pad: clamp(8px, 1vw, 16px);
  --section-pad: clamp(10px, .9vw, 14px);
  --card-pad: clamp(9px, .8vw, 13px);
}
body:not(.login-page) .app{display:block !important;}
body:not(.login-page) .sidebar{display:none !important;}
body:not(.login-page) .main,
body.system-page .system-shell > main{
  width:calc(100% - (var(--page-pad) * 2)) !important;
  max-width:var(--content-max) !important;
  margin:0 auto !important;
  padding:var(--page-pad) 0 24px !important;
}
body:not(.login-page) .section,
body.system-page .system-section{
  padding:var(--section-pad) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:100% !important;
}
body:not(.login-page) .card{padding:var(--card-pad) !important;}

/* Header/menu fixo: centralizado, sem empurrar cards */
body:not(.login-page) .global-panel-header,
body.system-page .global-panel-header{
  width:calc(100% - (var(--page-pad) * 2)) !important;
  max-width:var(--content-max) !important;
  margin:8px auto 10px !important;
  padding:10px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.97) !important;
}
body[data-theme="dark"]:not(.login-page) .global-panel-header,
body[data-theme="dark"].system-page .global-panel-header{background:rgba(13,37,43,.97) !important;}
body:not(.login-page) .dashboard-logo-wrap,
body.system-page .dashboard-logo-wrap{
  flex:0 1 320px !important;
  min-width:230px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:left !important;
}
body:not(.login-page) .dashboard-menu-buttons,
body.system-page .dashboard-menu-buttons{
  flex:1 1 620px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:5px !important;
}
body:not(.login-page) .dashboard-menu-buttons button,
body.system-page .dashboard-menu-buttons button{
  min-width:58px !important;
  min-height:28px !important;
  padding:5px 8px !important;
  font-size:10.5px !important;
  text-align:center !important;
  line-height:1.1 !important;
}

/* Cards: regra geral estável para páginas internas */
body:not(.login-page) .card-grid,
body.system-page .card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}
body:not(.login-page) .card .label{
  font-size:10px !important;
  line-height:1.15 !important;
  text-align:center !important;
}
body:not(.login-page) .card .value{
  font-size:20px !important;
  line-height:1.1 !important;
  text-align:center !important;
}

/* Dashboard principal: cards em blocos centralizados */
#sec-dashboard .dashboard-top-row{
  display:block !important;
  max-width:100% !important;
  margin:0 auto !important;
}
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra,
#synkIaResumo.card-grid,
.system-card-grid{
  display:grid !important;
  justify-content:center !important;
  justify-items:stretch !important;
  align-items:stretch !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:8px !important;
}
#sec-dashboard #dashboardCards{
  grid-template-columns:repeat(5, minmax(118px, 160px)) !important;
  max-width:840px !important;
}
#sec-dashboard #dashboardExtra{
  grid-template-columns:repeat(3, minmax(118px, 160px)) !important;
  max-width:510px !important;
  margin-top:8px !important;
}
#synkIaResumo.card-grid{
  grid-template-columns:repeat(auto-fit, minmax(124px, 150px)) !important;
  max-width:980px !important;
}
.system-card-grid{
  grid-template-columns:repeat(auto-fit, minmax(140px, 170px)) !important;
  max-width:760px !important;
}
#sec-dashboard #dashboardCards .card,
#sec-dashboard #dashboardExtra .card,
#synkIaResumo.card-grid .card,
.system-card-grid .card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:64px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

/* Formulários/tabelas: compactos sem quebrar alinhamento */
body:not(.login-page) .filters,
body:not(.login-page) .actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:6px !important;
}
body:not(.login-page) input,
body:not(.login-page) select,
body:not(.login-page) textarea{
  min-height:30px !important;
  font-size:12px !important;
  padding:6px 8px !important;
}
body:not(.login-page) button,
body:not(.login-page) .btn{
  min-height:28px !important;
  font-size:11px !important;
  padding:6px 9px !important;
  border-radius:4px !important;
}
body:not(.login-page) th,
body:not(.login-page) td{
  padding:7px 8px !important;
  font-size:12px !important;
}
body:not(.login-page) th{font-size:10px !important;}
body:not(.login-page) .table-wrap{max-width:100% !important; overflow:auto !important;}
body:not(.login-page) table{min-width:max-content;}

@media (min-width:1500px){
  :root{--content-max:1440px;}
  #sec-dashboard #dashboardCards{max-width:900px !important; grid-template-columns:repeat(5, minmax(132px, 170px)) !important;}
  #sec-dashboard #dashboardExtra{max-width:560px !important; grid-template-columns:repeat(3, minmax(132px, 170px)) !important;}
}
@media (min-width:1850px){
  :root{--content-max:1580px;}
}
@media (max-width:1279px){
  :root{--content-max:1100px;}
  #sec-dashboard #dashboardCards,
  #synkIaResumo.card-grid{grid-template-columns:repeat(auto-fit, minmax(128px, 160px)) !important;}
  #sec-dashboard #dashboardExtra{grid-template-columns:repeat(auto-fit, minmax(128px, 160px)) !important;}
}
@media (max-width:900px){
  :root{--content-max:100%; --page-pad:7px;}
  body:not(.login-page) .main,
  body.system-page .system-shell > main,
  body:not(.login-page) .global-panel-header,
  body.system-page .global-panel-header{width:calc(100vw - 12px) !important;}
  body:not(.login-page) .dashboard-logo-wrap,
  body.system-page .dashboard-logo-wrap{flex-basis:100% !important; min-width:0 !important;}
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra,
  #synkIaResumo.card-grid,
  .system-card-grid{max-width:100% !important; grid-template-columns:repeat(auto-fit, minmax(128px, 1fr)) !important;}
  body:not(.login-page) .kit{grid-template-columns:1fr !important;}
}
@media (max-width:620px){
  body:not(.login-page) .dashboard-logo-wrap,
  body.system-page .dashboard-logo-wrap{flex-direction:column !important; text-align:center !important;}
  body:not(.login-page) .dashboard-logo-wrap p,
  body.system-page .dashboard-logo-wrap p{display:none !important;}
  body:not(.login-page) .dashboard-menu-buttons button,
  body.system-page .dashboard-menu-buttons button{flex:1 1 calc(25% - 6px) !important; min-width:0 !important;}
  body:not(.login-page) .section-head{align-items:flex-start !important; flex-direction:column !important;}
  body:not(.login-page) .filters input,
  body:not(.login-page) .filters select{flex:1 1 100% !important; width:100% !important;}
}
@media (max-width:430px){
  #sec-dashboard #dashboardCards,
  #sec-dashboard #dashboardExtra,
  #synkIaResumo.card-grid,
  .system-card-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  body:not(.login-page) .dashboard-menu-buttons button,
  body.system-page .dashboard-menu-buttons button{flex:1 1 calc(33.333% - 6px) !important; font-size:9.5px !important; padding:5px 4px !important;}
  .synkia-popup{width:calc(100vw - 20px) !important; right:10px !important;}
}

/* v16.26.8 - Layout estável: corrige cards fora do lugar
   - Dashboard geral volta a alinhar todos os cards em linha centralizada quando houver espaço.
   - Header fixo fica compacto e proporcional, sem empurrar os cards.
   - Mantém quebra responsiva para notebook, tablet e celular. */
:root{
  --content-max: 1380px;
  --page-pad: clamp(8px, 1vw, 16px);
}
body:not(.login-page) .main,
body.system-page .system-shell > main{
  width:min(var(--content-max), calc(100vw - (var(--page-pad) * 2))) !important;
  max-width:var(--content-max) !important;
  margin:0 auto !important;
}
body:not(.login-page) .global-panel-header,
body.system-page .global-panel-header{
  width:min(var(--content-max), calc(100vw - (var(--page-pad) * 2))) !important;
  max-width:var(--content-max) !important;
  display:grid !important;
  grid-template-columns:minmax(245px, 390px) minmax(0, 1fr) !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px 16px !important;
  padding:10px 12px !important;
  margin:8px auto 12px !important;
  background:rgba(255,255,255,.98) !important;
  border-color:rgba(91,145,154,.52) !important;
}
body[data-theme="dark"]:not(.login-page) .global-panel-header,
body[data-theme="dark"].system-page .global-panel-header{
  background:rgba(13,37,43,.98) !important;
}
body:not(.login-page) .global-panel-header .dashboard-logo-wrap,
body.system-page .global-panel-header .dashboard-logo-wrap{
  flex:initial !important;
  min-width:0 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:0 !important;
  text-align:left !important;
}
body:not(.login-page) .global-panel-header .dashboard-empresa-logo,
body.system-page .global-panel-header .dashboard-empresa-logo{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
}
body:not(.login-page) .global-panel-header .dashboard-logo-wrap h1,
body.system-page .global-panel-header .dashboard-logo-wrap h1{
  font-size:clamp(18px, 1.6vw, 28px) !important;
  line-height:1.02 !important;
}
body:not(.login-page) .global-panel-header .dashboard-logo-wrap p,
body.system-page .global-panel-header .dashboard-logo-wrap p{
  font-size:11px !important;
  line-height:1.15 !important;
  max-width:320px !important;
}
body:not(.login-page) .global-panel-header .dashboard-menu-buttons,
body.system-page .global-panel-header .dashboard-menu-buttons{
  flex:initial !important;
  width:100% !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
}
body:not(.login-page) .global-panel-header .dashboard-menu-buttons button,
body.system-page .global-panel-header .dashboard-menu-buttons button{
  min-width:60px !important;
  min-height:27px !important;
  padding:5px 8px !important;
  font-size:10.5px !important;
  line-height:1.05 !important;
}

/* Dashboard: todos os cards do resumo alinhados no mesmo fluxo */
#sec-dashboard .dashboard-title-row,
#sec-dashboard .dashboard-top-row,
#sec-dashboard > .section{
  max-width:1220px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#sec-dashboard .dashboard-top-row{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
  margin-bottom:10px !important;
}
#sec-dashboard #dashboardCards,
#sec-dashboard #dashboardExtra{
  display:contents !important;
}
#sec-dashboard #dashboardCards .card,
#sec-dashboard #dashboardExtra .card{
  flex:0 0 132px !important;
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  min-height:58px !important;
  padding:7px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#sec-dashboard #dashboardCards .card .label,
#sec-dashboard #dashboardExtra .card .label{
  font-size:8.5px !important;
  line-height:1.08 !important;
  letter-spacing:.08em !important;
  text-align:center !important;
  width:100% !important;
}
#sec-dashboard #dashboardCards .card .value,
#sec-dashboard #dashboardExtra .card .value{
  font-size:16px !important;
  line-height:1 !important;
  margin-top:3px !important;
  text-align:center !important;
  width:100% !important;
}

/* Synk IA: mantém os cards alinhados no centro sem saltar para posições irregulares */
#synkIaResumo.card-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#synkIaResumo.card-grid .card{
  flex:0 0 146px !important;
  width:146px !important;
  min-width:146px !important;
  max-width:146px !important;
  min-height:62px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

@media (min-width:1500px){
  #sec-dashboard #dashboardCards .card,
  #sec-dashboard #dashboardExtra .card{flex-basis:142px !important;width:142px !important;min-width:142px !important;max-width:142px !important;}
  #synkIaResumo.card-grid .card{flex-basis:152px !important;width:152px !important;min-width:152px !important;max-width:152px !important;}
}
@media (max-width:1100px){
  body:not(.login-page) .global-panel-header,
  body.system-page .global-panel-header{
    grid-template-columns:1fr !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap,
  body.system-page .global-panel-header .dashboard-logo-wrap{
    justify-content:center !important;
    text-align:left !important;
  }
  #sec-dashboard #dashboardCards .card,
  #sec-dashboard #dashboardExtra .card{
    flex:1 1 124px !important;
    width:auto !important;
    min-width:112px !important;
    max-width:150px !important;
  }
}
@media (max-width:620px){
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap,
  body.system-page .global-panel-header .dashboard-logo-wrap{
    justify-content:flex-start !important;
    flex-direction:row !important;
    text-align:left !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-empresa-logo,
  body.system-page .global-panel-header .dashboard-empresa-logo{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap h1,
  body.system-page .global-panel-header .dashboard-logo-wrap h1{
    font-size:17px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap p,
  body.system-page .global-panel-header .dashboard-logo-wrap p{
    display:none !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-menu-buttons button,
  body.system-page .global-panel-header .dashboard-menu-buttons button{
    flex:1 1 calc(25% - 5px) !important;
    min-width:0 !important;
    font-size:9.5px !important;
    padding:5px 4px !important;
  }
  #sec-dashboard #dashboardCards .card,
  #sec-dashboard #dashboardExtra .card,
  #synkIaResumo.card-grid .card{
    flex:1 1 calc(50% - 8px) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
}
@media (max-width:420px){
  body:not(.login-page) .global-panel-header .dashboard-menu-buttons button,
  body.system-page .global-panel-header .dashboard-menu-buttons button{
    flex:1 1 calc(33.333% - 5px) !important;
  }
}


/* v16.26.9 - Correção definitiva do alinhamento da Dashboard
   O resumo agora usa um único container (#dashboardCards), evitando a quebra 5 + 3.
   Em telas grandes/notebooks, os 8 cards ficam na mesma linha centralizada.
   Em telas menores, quebram de forma uniforme. */
#sec-dashboard .dashboard-top-row{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 10px !important;
}
#sec-dashboard #dashboardExtra{
  display:none !important;
}
#sec-dashboard #dashboardCards{
  display:grid !important;
  gap:8px !important;
  justify-content:center !important;
  justify-items:stretch !important;
  align-items:stretch !important;
  margin:0 auto !important;
  width:auto !important;
  max-width:100% !important;
}
#sec-dashboard #dashboardCards .card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:58px !important;
  padding:7px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}
#sec-dashboard #dashboardCards .card .label{
  font-size:8.5px !important;
  line-height:1.08 !important;
  letter-spacing:.08em !important;
  text-align:center !important;
}
#sec-dashboard #dashboardCards .card .value{
  font-size:16px !important;
  line-height:1 !important;
  margin-top:3px !important;
  text-align:center !important;
}
@media (min-width:1180px){
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(8, 132px) !important;
    max-width:1112px !important;
  }
}
@media (min-width:1024px) and (max-width:1179px){
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(4, minmax(132px, 160px)) !important;
    max-width:680px !important;
  }
}
@media (min-width:680px) and (max-width:1023px){
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(4, minmax(120px, 1fr)) !important;
    max-width:720px !important;
  }
}
@media (max-width:679px){
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    max-width:100% !important;
  }
}

/* Synk IA centralizada com linha estável nas telas maiores */
@media (min-width:1180px){
  #synkIaResumo.card-grid{
    display:grid !important;
    grid-template-columns:repeat(6, 146px) !important;
    max-width:916px !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #synkIaResumo.card-grid .card{
    width:146px !important;
    min-width:146px !important;
    max-width:146px !important;
  }
}

/* Header um pouco mais compacto no notebook para não empurrar o conteúdo */
@media (min-width:1024px){
  body:not(.login-page) .global-panel-header,
  body.system-page .global-panel-header{
    grid-template-columns:minmax(220px, 360px) minmax(0, 1fr) !important;
    padding:9px 11px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-empresa-logo,
  body.system-page .global-panel-header .dashboard-empresa-logo{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap h1,
  body.system-page .global-panel-header .dashboard-logo-wrap h1{
    font-size:clamp(17px, 1.35vw, 24px) !important;
  }
}

/* v16.27.0 - Fontes responsivas para monitores acima de 15 polegadas
   Mantém notebook/celular compactos, mas aumenta leitura em telas grandes. */
@media (min-width: 1366px){
  body:not(.login-page){
    font-size:15px !important;
  }
  body:not(.login-page) .main,
  body.system-page .main{
    font-size:15px !important;
  }
  .title h1,
  #sec-dashboard .dashboard-title-row h1{
    font-size:30px !important;
    line-height:1.12 !important;
  }
  .title p,
  #sec-dashboard .dashboard-title-row p,
  .muted{
    font-size:15px !important;
  }
  .section-head h2,
  .section h2,
  #sec-dashboard .section h2{
    font-size:20px !important;
  }
  th{
    font-size:12.5px !important;
  }
  td,
  select,
  input,
  textarea{
    font-size:14.5px !important;
  }
  button,
  .btn{
    font-size:12.5px !important;
  }
  .badge,
  .synkia-monitor-mini span{
    font-size:12.5px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-menu-buttons button,
  body.system-page .global-panel-header .dashboard-menu-buttons button,
  #sec-dashboard .dashboard-menu-buttons.compact-menu button{
    font-size:11.5px !important;
  }
  #sec-dashboard #dashboardCards .card{
    min-height:66px !important;
  }
  #sec-dashboard #dashboardCards .card .label{
    font-size:9.8px !important;
    line-height:1.12 !important;
  }
  #sec-dashboard #dashboardCards .card .value{
    font-size:19px !important;
  }
  #synkIaResumo.card-grid .card{
    min-height:70px !important;
  }
  #synkIaResumo.card-grid .card .label{
    font-size:9.8px !important;
  }
  #synkIaResumo.card-grid .card .value{
    font-size:20px !important;
  }
}

@media (min-width: 1600px){
  body:not(.login-page){
    font-size:16px !important;
  }
  .title h1,
  #sec-dashboard .dashboard-title-row h1{
    font-size:32px !important;
  }
  .title p,
  #sec-dashboard .dashboard-title-row p,
  .muted{
    font-size:16px !important;
  }
  .section-head h2,
  .section h2,
  #sec-dashboard .section h2{
    font-size:21px !important;
  }
  th{
    font-size:13px !important;
  }
  td,
  select,
  input,
  textarea{
    font-size:15px !important;
  }
  button,
  .btn{
    font-size:13px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap h1,
  body.system-page .global-panel-header .dashboard-logo-wrap h1{
    font-size:26px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-logo-wrap p,
  body.system-page .global-panel-header .dashboard-logo-wrap p{
    font-size:13.5px !important;
  }
  body:not(.login-page) .global-panel-header .dashboard-menu-buttons button,
  body.system-page .global-panel-header .dashboard-menu-buttons button,
  #sec-dashboard .dashboard-menu-buttons.compact-menu button{
    font-size:12px !important;
    min-height:31px !important;
  }
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(8, 146px) !important;
    max-width:1216px !important;
  }
  #sec-dashboard #dashboardCards .card{
    min-height:72px !important;
  }
  #sec-dashboard #dashboardCards .card .label{
    font-size:10.5px !important;
  }
  #sec-dashboard #dashboardCards .card .value{
    font-size:21px !important;
  }
  #synkIaResumo.card-grid{
    grid-template-columns:repeat(6, 158px) !important;
    max-width:996px !important;
  }
  #synkIaResumo.card-grid .card{
    width:158px !important;
    min-width:158px !important;
    max-width:158px !important;
    min-height:76px !important;
  }
  #synkIaResumo.card-grid .card .label{
    font-size:10.5px !important;
  }
  #synkIaResumo.card-grid .card .value{
    font-size:22px !important;
  }
}

@media (min-width: 1900px){
  body:not(.login-page){
    font-size:16.5px !important;
  }
  .main{
    padding-left:34px !important;
    padding-right:34px !important;
  }
  .section,
  .card{
    font-size:16px !important;
  }
  .title h1,
  #sec-dashboard .dashboard-title-row h1{
    font-size:34px !important;
  }
  td,
  select,
  input,
  textarea{
    font-size:15.5px !important;
  }
  #sec-dashboard .dashboard-title-row,
  #sec-dashboard .dashboard-top-row,
  #sec-dashboard > .section{
    max-width:1360px !important;
  }
  #sec-dashboard #dashboardCards{
    grid-template-columns:repeat(8, 156px) !important;
    max-width:1296px !important;
  }
  #sec-dashboard #dashboardCards .card .label{
    font-size:11px !important;
  }
  #sec-dashboard #dashboardCards .card .value{
    font-size:23px !important;
  }
  #synkIaResumo.card-grid{
    grid-template-columns:repeat(6, 170px) !important;
    max-width:1068px !important;
  }
  #synkIaResumo.card-grid .card{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
  }
  #synkIaResumo.card-grid .card .label{
    font-size:11px !important;
  }
  #synkIaResumo.card-grid .card .value{
    font-size:24px !important;
  }
}


/* v16.27.1 - Área de ajustes visuais: admin/desenvolvedor */
:root{ --ui-base-font: 14px; --ui-card-pad: 12px; --ui-btn-pad-y: 7px; --ui-btn-pad-x: 10px; --ui-field-pad-y: 7px; --ui-radius-live: 8px; }
body:not(.login-page){ font-size: var(--ui-base-font) !important; }
body:not(.login-page) .section,
body:not(.login-page) .card,
body:not(.login-page) .cliente-card,
body:not(.login-page) .modal-card{ border-radius: var(--ui-radius-live) !important; }
body[data-ui-radius="quadrado"]{ --ui-radius-live: 6px; }
body[data-ui-radius="leve"]{ --ui-radius-live: 10px; }
body[data-ui-radius="redondo"]{ --ui-radius-live: 16px; }
body[data-ui-density="normal"]{ --ui-card-pad: 16px; }
body[data-ui-density="compacto"]{ --ui-card-pad: 11px; }
body[data-ui-density="mini"]{ --ui-card-pad: 8px; }
body[data-ui-button="normal"]{ --ui-btn-pad-y: 10px; --ui-btn-pad-x: 14px; }
body[data-ui-button="compacto"]{ --ui-btn-pad-y: 7px; --ui-btn-pad-x: 10px; }
body[data-ui-button="mini"]{ --ui-btn-pad-y: 5px; --ui-btn-pad-x: 8px; }
body[data-ui-field="normal"]{ --ui-field-pad-y: 10px; }
body[data-ui-field="compacto"]{ --ui-field-pad-y: 7px; }
body[data-ui-field="mini"]{ --ui-field-pad-y: 5px; }
body:not(.login-page) .section,
body:not(.login-page) .card,
body:not(.login-page) .cliente-card{ padding: var(--ui-card-pad) !important; }
body:not(.login-page) button,
body:not(.login-page) .btn{ padding: var(--ui-btn-pad-y) var(--ui-btn-pad-x) !important; border-radius: var(--ui-radius-live) !important; }
body:not(.login-page) input,
body:not(.login-page) select,
body:not(.login-page) textarea{ padding-top: var(--ui-field-pad-y) !important; padding-bottom: var(--ui-field-pad-y) !important; border-radius: var(--ui-radius-live) !important; font-size: var(--ui-base-font) !important; }
body[data-ui-width="1280"] .main{ max-width:1280px !important; margin-left:auto !important; margin-right:auto !important; }
body[data-ui-width="1500"] .main{ max-width:1500px !important; margin-left:auto !important; margin-right:auto !important; }
body[data-ui-width="full"] .main{ max-width:none !important; }
.layout-config-grid{ align-items:flex-end; }
.config-field-label{ display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:800; color:var(--muted); min-width:130px; }
#layoutConfigBlock .filters{ gap:8px; }
#layoutConfigBlock input,#layoutConfigBlock select{ min-width:130px; }
#layoutConfigBlock h2{ margin:0; }
@media (max-width: 760px){
  .config-field-label{ min-width:100%; }
  #layoutConfigBlock input,#layoutConfigBlock select{ min-width:100% !important; }
}

/* v19.8.2 - Mantém as ações dos detalhes da OS visíveis durante a rolagem. */
#osDetailModal .modal-head{
  position:sticky;
  top:-18px;
  z-index:20;
  margin:-18px -18px 14px;
  padding:18px;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 16px rgba(15, 23, 42, .08);
}
#osDetailModal #btnFecharOsModal{
  position:relative;
  z-index:21;
}

/* v19.8.3 - Visualizador das fotos anexadas à OS finalizada. */
.os-anexo-card.os-anexo-imagem{
  width:100%;
  font:inherit;
  cursor:zoom-in;
}
.os-photo-modal{
  position:fixed;
  inset:0;
  z-index:1400;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.os-photo-modal.hidden{display:none !important;}
.os-photo-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2, 6, 23, .88);
  backdrop-filter:blur(3px);
}
.os-photo-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:min(1180px, calc(100vw - 36px));
  height:min(860px, calc(100vh - 36px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:#0b1220;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.os-photo-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex:0 0 auto;
  padding:12px 14px;
  color:#fff;
  background:#111827;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.os-photo-head h2{
  margin:0;
  overflow:hidden;
  font-size:15px;
  color:#fff;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.os-photo-actions{flex-wrap:nowrap;}
.os-photo-actions button{
  min-width:42px;
  border-color:rgba(255,255,255,.32) !important;
  color:#fff !important;
  background:rgba(255,255,255,.1) !important;
}
.os-photo-actions button:hover{background:rgba(255,255,255,.2) !important;}
.os-photo-actions .os-photo-zoom-value{min-width:64px;}
.os-photo-viewport{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:16px;
}
.os-photo-viewport img{
  display:block;
  flex:0 0 auto;
  margin:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
  cursor:zoom-in;
  user-select:none;
  box-shadow:0 8px 28px rgba(0,0,0,.42);
}
.os-photo-feedback{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  color:#e5e7eb;
  font-size:14px;
  pointer-events:none;
}
@media (max-width:700px){
  .os-photo-modal{padding:7px;}
  .os-photo-card{width:calc(100vw - 14px);height:calc(100vh - 14px);}
  .os-photo-head{align-items:flex-start;flex-direction:column;}
  .os-photo-head h2{width:100%;}
  .os-photo-actions{width:100%;}
  .os-photo-actions button{flex:1 1 auto;}
}

/* v19.10.0 - Fluxo Cliente -> Criar OS/Agendar. */
.nova-os-cliente-transferido{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(16,185,129,.38);
  border-left:5px solid #10b981;
  border-radius:10px;
  background:rgba(16,185,129,.09);
  color:var(--text);
}
.nova-os-cliente-transferido span{
  padding:3px 7px;
  border-radius:999px;
  background:rgba(16,185,129,.16);
  font-weight:800;
}
.nova-os-cliente-transferido small{
  flex-basis:100%;
  color:var(--muted);
  font-size:12px;
}
.nova-os-etapa-title{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin:14px 0 7px;
  color:var(--text);
}
.nova-os-etapa-title strong{font-size:14px;}
.nova-os-etapa-title span{font-size:12px;color:var(--muted);}
.nova-os-problema-fields{align-items:flex-end !important;}
#novaOsMensagem{
  min-width:min(520px, 100%);
  min-height:96px;
  resize:vertical;
  line-height:1.45;
}
#osCreateCard.nova-os-from-client .os-schedule-fields,
#osCreateCard.nova-os-from-client .nova-os-problema-fields{
  border-color:rgba(16,185,129,.32);
  box-shadow:0 0 0 2px rgba(16,185,129,.06);
}
@media (max-width:760px){
  .nova-os-etapa-title{align-items:flex-start;flex-direction:column;gap:3px;}
  #novaOsMensagem{min-width:100%;width:100%;}
}

/* v20.1.0 — overrides finais da Dashboard reorganizada */
#sec-dashboard{max-width:1380px!important;margin:0 auto!important}
#sec-dashboard .dashboard-title-row{max-width:none!important;margin:0 0 12px!important;padding:18px 22px!important;border-radius:16px!important;background:linear-gradient(135deg,#063f49,#0b7280)!important}
#sec-dashboard .dashboard-title-row .title h1{font-size:25px!important;color:#fff!important}#sec-dashboard .dashboard-title-row .title p{color:rgba(255,255,255,.82)!important;font-size:13px!important}
#sec-dashboard .dashboard-overview-block{padding:18px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--surface)!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important}
#sec-dashboard .dashboard-block-heading{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin-bottom:14px!important}#sec-dashboard .dashboard-block-heading h2{margin:3px 0 0!important;font-size:19px!important}#sec-dashboard .dashboard-block-heading p{margin:0!important;color:var(--muted)!important}
#sec-dashboard .dashboard-block-heading span,.dashboard-section-kicker{display:block!important;font-size:11px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#0f8a8f!important}
#sec-dashboard .dashboard-overview-block .dashboard-top-row{display:block!important;max-width:none!important;margin:0!important}
#sec-dashboard .dashboard-overview-block #dashboardCards{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;max-width:none!important;margin:0!important}
#sec-dashboard .dashboard-overview-block #dashboardExtra{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;max-width:none!important;margin:10px 0 0!important}
#sec-dashboard .dashboard-overview-block #dashboardCards .dashboard-kpi{width:auto!important;max-width:none!important;min-width:0!important;min-height:94px!important;padding:14px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;text-align:left!important;border-radius:13px!important;border-left:4px solid #0f8a8f!important;background:var(--surface-2)!important}
#sec-dashboard .dashboard-kpi .kpi-icon{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:12px!important;background:rgba(15,138,143,.12)!important;color:#08747a!important;font-weight:900!important}
#sec-dashboard .dashboard-kpi.pendentes{border-left-color:#ef4444!important}#sec-dashboard .dashboard-kpi.aprovacao{border-left-color:#f59e0b!important}#sec-dashboard .dashboard-kpi.andamento{border-left-color:#3b82f6!important}
#sec-dashboard .dashboard-kpi .label,#sec-dashboard .dashboard-kpi .value,#sec-dashboard .dashboard-kpi small{text-align:left!important;width:auto!important}#sec-dashboard .dashboard-kpi .value{font-size:27px!important;margin:4px 0!important}#sec-dashboard .dashboard-kpi small{display:block!important;color:var(--muted)!important;font-size:11px!important}
#sec-dashboard .dashboard-overview-block #dashboardExtra .dashboard-resource{width:auto!important;max-width:none!important;min-width:0!important;min-height:66px!important;padding:10px!important;border-radius:11px!important;background:var(--surface-2)!important}
#sec-dashboard>.section{max-width:none!important;margin:14px 0 0!important;padding:18px!important;border-radius:16px!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important}
#sec-dashboard>.section>.section-head,#sec-dashboard>.section>#synkIaResumo,#sec-dashboard>.section>.synkia-monitor-mini,#sec-dashboard>.section>.kit{grid-column:1/-1!important;margin:0!important}#sec-dashboard>.section>.dashboard-half{grid-column:span 6!important;margin:0!important;background:var(--surface-2)!important}#sec-dashboard>.section>.dashboard-wide{grid-column:1/-1!important;margin:0!important;background:var(--surface-2)!important}
#sec-dashboard #synkIaResumo.card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;max-width:none!important}#sec-dashboard #synkIaResumo.card-grid .card{width:auto!important;max-width:none!important;min-width:0!important;min-height:88px!important;padding:12px!important;border-radius:12px!important}#sec-dashboard #synkIaResumo .card .value{font-size:25px!important}#sec-dashboard #synkIaResumo .card small{display:block!important;color:var(--muted)!important;font-size:10px!important}#sec-dashboard #synkIaResumo .network-kpi.online{border-left:4px solid #10b981!important;background:linear-gradient(135deg,rgba(16,185,129,.10),var(--surface))!important}
#sec-dashboard .synkia-monitor-mini{display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:10px!important;background:var(--surface-2)!important}#sec-dashboard .synkia-monitor-mini span{padding:6px 9px!important;border-radius:8px!important;background:var(--surface)!important;border:1px solid var(--line)!important}
@media(max-width:1050px){#sec-dashboard .dashboard-overview-block #dashboardCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}#sec-dashboard .dashboard-overview-block #dashboardExtra,#sec-dashboard #synkIaResumo.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){#sec-dashboard .dashboard-block-heading{align-items:flex-start!important;flex-direction:column!important}#sec-dashboard .dashboard-overview-block #dashboardCards{grid-template-columns:1fr!important}#sec-dashboard .dashboard-overview-block #dashboardExtra,#sec-dashboard #synkIaResumo.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#sec-dashboard>.section{grid-template-columns:1fr!important;padding:12px!important}#sec-dashboard>.section>.dashboard-half,#sec-dashboard>.section>.dashboard-wide{grid-column:1!important}}
.os-close-date{display:inline-flex;flex-direction:column;gap:2px;white-space:nowrap}.os-close-date strong{font-size:13px;color:var(--text)}.os-close-date small{font-size:11px;color:var(--muted)}
.approval-history-section{margin-top:16px}.approval-history-section .section-head>div:first-child p{margin:4px 0 0}.approval-history-filters input{min-width:240px}.ixc-confirmation{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.ixc-confirmation.ok{background:#dcfce7;color:#166534}.ixc-confirmation.erro{background:#fee2e2;color:#991b1b}.approval-history-section td{vertical-align:middle}.approval-history-section td:nth-child(6){white-space:nowrap}
@media(max-width:760px){.approval-history-filters{width:100%}.approval-history-filters input,.approval-history-filters select{width:100%;min-width:0}}

/* v20.3.0 — grupos de permissão por usuário. */
.permission-group-card,.permission-editor-card{margin-top:13px!important;padding:15px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--surface-2)!important}.permission-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.permission-group-head strong,.permission-group-head span{display:block}.permission-group-head strong{font-size:14px;color:var(--text)}.permission-group-head span{margin-top:3px;color:var(--muted);font-size:11px}.permission-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch}.permission-check{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:10px;min-width:0;min-height:68px;padding:10px 12px!important;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer;overflow:hidden}.permission-check.selected{border-color:#0f8a8f;background:rgba(15,138,143,.09);box-shadow:inset 3px 0 #0f8a8f}.permission-check input[type="checkbox"]{grid-column:1;appearance:auto!important;display:block!important;flex:none!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;box-shadow:none!important}.permission-check>span{grid-column:2;display:block;min-width:0;max-width:100%;overflow:hidden}.permission-check strong,.permission-check small{display:block;min-width:0;max-width:100%;overflow-wrap:break-word}.permission-check strong{font-size:12px;line-height:1.25;color:var(--text)}.permission-check small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.permission-check:has(input:disabled){cursor:default;opacity:.86}.permission-editor-card .section-head p{margin:4px 0 0}.permission-summary{display:flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:300px}.permission-summary span,.permission-summary b{display:inline-flex;padding:4px 6px;border-radius:7px;background:rgba(15,138,143,.1);color:#08747a;font-size:9px;font-weight:900}.permission-summary b{background:var(--surface-2);color:var(--muted)}
@media(max-width:760px){.permission-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-group-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.permission-check-grid{grid-template-columns:1fr}}
