/* Extensões que usam o design system visual capturado do Sentinela. */
[data-st-original-hidden="1"]{display:none!important}
/* Esconde o conteúdo de /integrations no instante da navegação (antes do React pintar), evitando o "flash" dos
   blocos incompatíveis que aparecem antes do mountIntegrations() conseguir escondê-los via mutação observada.
   visibility (não display) preserva o layout, sem reflow quando revela de volta. Sempre removida em até 1.5s
   (ver revealRoute() em sentinela-custom.js) mesmo se o layout do React mudar e o seletor parar de bater. */
html.st-route-hiding main{visibility:hidden}
.st-native-dialog-layer{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}
.st-native-dialog-overlay{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(2px);animation:stNativeFade .16s ease-out both}
.st-native-dialog-content{position:relative;z-index:1;width:min(560px,calc(100vw - 2rem));max-height:90vh;overflow:auto;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.75rem;padding:1.5rem;box-shadow:0 24px 90px rgba(0,0,0,.55);animation:stNativeDialog .18s ease-out both}
/* Mesmo tratamento "liquid glass" do design system oficial (.dark .glass-card em index-*.css) — os cards nativos
   usam a classe glass-card direto; o diálogo replica os mesmos valores porque é markup próprio, fora do fluxo React. */
.dark .st-native-dialog-content{background:#ffffff0a;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-color:rgba(255,255,255,.08)}
.st-native-dialog-body{padding:1.25rem 0}
.st-native-dialog-x{position:absolute;right:1rem;top:1rem;display:flex;width:1.75rem;height:1.75rem;align-items:center;justify-content:center;border:0;border-radius:.375rem;background:transparent;color:hsl(var(--muted-foreground));font-size:1.25rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.st-native-dialog-x:hover{background:hsl(var(--foreground)/.06);color:hsl(var(--foreground))}
.st-native-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:250;max-width:360px;border:1px solid hsl(var(--foreground)/.1);background:hsl(var(--background));color:hsl(var(--foreground));border-radius:.625rem;padding:.75rem 1rem;font-size:.8125rem;box-shadow:0 18px 55px rgba(0,0,0,.45);animation:sentinelSlideIn .22s ease-out both}
.st-native-toast.is-error{border-color:hsl(var(--destructive)/.28);color:hsl(var(--destructive))}
@keyframes stNativeFade{from{opacity:0}to{opacity:1}}
@keyframes stNativeDialog{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Dashboard personalizável — proporções restauradas usando sentilenatracker abas(1).zip como referência.
   No dashboard capturado, os KPIs mediam ~87px, a grade tinha 3 colunas e 12px de gap; os painéis grandes
   ocupavam ~394px. A grade abaixo preserva essas proporções e usa row-span para misturar KPIs e painéis sem
   fazer um KPI "esticar" até a altura do gráfico/mapa. */
[data-st-dashboard-original-hidden="1"]{display:none!important}
.st-dashboard-unified-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row dense!important;
  gap:.75rem!important;
  align-items:stretch!important;
}
.st-dashboard-layout-left,
.st-dashboard-native-row,
.st-dashboard-layout-right,
.st-dashboard-grid{display:contents!important}
.st-dashboard-layout-left>*{margin-top:0!important}
.st-dashboard-editor-toolbar{grid-column:1/-1!important;order:-10000!important;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.02);border-radius:.75rem;padding:.75rem 1rem;animation:sentinelFadeIn .16s ease-out both}
.st-dashboard-editor-toolbar[hidden]{display:none!important}
.st-dashboard-card{min-width:0;min-height:87px;align-self:stretch;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;animation:sentinelFadeIn .18s ease-out both;overflow:hidden}
.st-dashboard-card[data-dash-rows="1"]{grid-row:span 1}
.st-dashboard-card[data-dash-rows="2"]{grid-row:span 2}
.st-dashboard-card.is-editing{cursor:default;border-color:hsl(var(--primary)/.24)}
.st-dashboard-card.is-dragging{opacity:.48;transform:scale(.985)}
.st-dashboard-metric-icon{display:flex;width:1rem;height:1rem;flex:0 0 1rem;align-items:center;justify-content:center}
.st-dashboard-metric-icon svg{display:block!important;width:1rem!important;height:1rem!important;max-width:1rem!important;max-height:1rem!important;flex:none!important}
.st-dashboard-list-card{min-height:186px}
.st-dashboard-card-edit{position:absolute;right:.35rem;bottom:.3rem;z-index:70;display:flex;align-items:center;justify-content:flex-end;gap:.15rem;border:1px solid hsl(var(--foreground)/.07);border-radius:.42rem;padding:.15rem;pointer-events:auto!important;background:hsl(var(--card)/.94);backdrop-filter:blur(8px);box-shadow:0 3px 12px hsl(var(--background)/.18)}
.st-dashboard-card-edit button,.st-dashboard-drag-handle{display:inline-flex;height:1.3rem;min-width:1.3rem;align-items:center;justify-content:center;border:0;border-radius:.3rem;background:hsl(var(--foreground)/.035);color:hsl(var(--muted-foreground));font-size:.68rem;line-height:1;cursor:pointer;transition:background .14s,color .14s;pointer-events:auto!important;user-select:none;-webkit-user-drag:none;touch-action:manipulation}
.st-dashboard-drag-handle{cursor:grab;font-size:.72rem;letter-spacing:-.16rem;padding-right:.15rem}
.st-dashboard-drag-handle:active{cursor:grabbing}
.st-dashboard-card-edit button:hover:not(:disabled),.st-dashboard-drag-handle:hover{background:hsl(var(--foreground)/.09);color:hsl(var(--foreground))}
.st-dashboard-card-edit button:disabled{opacity:.28;cursor:not-allowed}
.st-dashboard-card-edit button.is-remove:hover{background:hsl(var(--destructive)/.12);color:hsl(var(--destructive))}
.st-dashboard-card-edit .st-dashboard-size-label{min-width:2rem;text-align:center;font-size:.55rem;color:hsl(var(--muted-foreground)/.72);font-variant-numeric:tabular-nums;white-space:nowrap}
.st-dashboard-add-option{display:flex;width:100%;align-items:center;gap:.65rem;border:1px solid hsl(var(--foreground)/.07);border-radius:.65rem;background:hsl(var(--foreground)/.02);padding:.7rem .75rem;text-align:left;transition:background .14s,border-color .14s;cursor:pointer}
.st-dashboard-add-option:hover{background:hsl(var(--foreground)/.045);border-color:hsl(var(--primary)/.18)}
.st-dashboard-add-icon{display:flex;height:2rem;width:2rem;flex:0 0 auto;align-items:center;justify-content:center;border-radius:.5rem;background:hsl(var(--primary)/.08);color:hsl(var(--accent-readable))}
.st-dashboard-add-option.is-locked{cursor:not-allowed;opacity:.72;background:hsl(var(--foreground)/.012)}
.st-dashboard-add-option.is-locked:hover{background:hsl(var(--foreground)/.012);border-color:hsl(var(--foreground)/.07)}
.st-dashboard-lock-icon{display:inline-flex;width:.8rem;height:.8rem;opacity:.65}
.st-dashboard-lock-icon svg{width:.8rem;height:.8rem}
.st-dashboard-native-card{min-width:0;height:100%;min-height:0;align-self:stretch;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;overflow:hidden}
.st-dashboard-native-card[data-dash-rows="4"]{grid-row:span 4}
.st-dashboard-native-card[data-dash-rows="6"]{grid-row:span 6}
.st-dashboard-native-card.is-editing{cursor:default;border-color:hsl(var(--primary)/.24)!important}
.st-dashboard-native-card.is-dragging{opacity:.48;transform:scale(.992)}
.st-dashboard-native-card.is-editing canvas,.st-dashboard-native-card.is-editing [role="application"]{pointer-events:none!important}
.st-dashboard-native-card .st-dashboard-native-edit{z-index:80}
[data-st-dashboard-native-hidden="1"]{display:none!important}

@media (min-width:640px){
  .st-dashboard-unified-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:87px!important}
  .st-dashboard-unified-shell>[data-dash-span="2"],.st-dashboard-unified-shell>[data-dash-span="3"]{grid-column:span 2 / span 2!important}
}
@media (min-width:1024px){
  .st-dashboard-unified-shell{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.86fr)!important;grid-auto-rows:87px!important}
  .st-dashboard-unified-shell>[data-dash-span="1"]{grid-column:span 1 / span 1!important}
  .st-dashboard-unified-shell>[data-dash-span="2"]{grid-column:span 2 / span 2!important}
  .st-dashboard-unified-shell>[data-dash-span="3"]{grid-column:span 3 / span 3!important}
  /* Quatro trilhas recuperam a proporção do Sentinela antigo: 3 colunas de KPIs + 1 coluna estreita para tempo real. */
  .st-dashboard-native-card[data-dash-card="realTimeSales"][data-dash-span="1"]{min-height:582px}
}
@media(max-width:639px){
  .st-dashboard-editor-toolbar{align-items:flex-start;flex-direction:column}
  .st-dashboard-card-edit{justify-content:flex-start}
  .st-dashboard-unified-shell>*{grid-row:auto!important;grid-column:1/-1!important}
  .st-dashboard-card{min-height:87px;height:auto}
  .st-dashboard-native-card{min-height:320px;height:auto}
  .st-dashboard-native-card[data-dash-card="revenueSpendChart"]{min-height:390px}
  .st-dashboard-native-card[data-dash-card="realTimeSales"]{min-height:420px}
}
@media(max-width:640px){.st-native-dialog-layer{align-items:flex-end;padding:.75rem}.st-native-dialog-content{width:100%;max-height:92vh;border-radius:.875rem}.st-native-dialog-content .sm\:flex-row{flex-direction:row}}

/* Fase 2 — Financeiro nativo: sub-abas com o mesmo design system do Sentinela. */
.st-finance-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.025);border-radius:10px;width:max-content;max-width:100%;overflow-x:auto}
.st-finance-tab{height:34px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:.16s ease}
.st-finance-tab:hover{background:hsl(var(--foreground)/.045);color:hsl(var(--foreground))}
.st-finance-tab.is-active{background:hsl(var(--primary)/.13);color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary)/.18)}
[data-st-financial-general-hidden="1"]{display:none!important}
.st-finance-panel[hidden]{display:none!important}
.st-finance-panel{animation:sentinelFadeIn .18s ease-out both}
.st-finance-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem}
.st-finance-badge{display:inline-flex;align-items:center;border:1px solid hsl(var(--primary)/.16);background:hsl(var(--primary)/.07);color:hsl(var(--accent-readable));border-radius:.38rem;padding:.12rem .42rem;font-size:.625rem;line-height:1rem;white-space:nowrap}
.st-finance-badge.is-muted{border-color:hsl(var(--foreground)/.07);background:hsl(var(--foreground)/.035);color:hsl(var(--muted-foreground))}
.st-finance-badge.is-off{border-color:hsl(var(--destructive)/.16);background:hsl(var(--destructive)/.07);color:hsl(var(--destructive))}
@media(max-width:640px){.st-finance-tabs{width:100%}.st-finance-tab{flex:1}.st-finance-row{align-items:flex-start;flex-direction:column}.st-finance-row>div:last-child{width:100%;justify-content:space-between}}
/* Spans dos blocos React nativos: o DOM continua aninhado; display:contents apenas os promove visualmente à grade. */
@media (min-width:640px) and (max-width:1023px){
  .st-dashboard-native-card[data-dash-span="2"],
  .st-dashboard-native-card[data-dash-span="3"]{grid-column:span 2 / span 2!important}
}
@media (min-width:1024px){
  .st-dashboard-native-card[data-dash-span="1"]{grid-column:span 1 / span 1!important}
  .st-dashboard-native-card[data-dash-span="2"]{grid-column:span 2 / span 2!important}
  .st-dashboard-native-card[data-dash-span="3"]{grid-column:span 3 / span 3!important}
}
/* Fase 3 hotfix: os controles de edição ficam sempre acima do conteúdo React original e não iniciam drag. */
.st-dashboard-card-edit{z-index:40!important;pointer-events:auto!important}
.st-dashboard-card-edit button{pointer-events:auto!important;user-select:none;-webkit-user-drag:none;touch-action:manipulation}
.st-dashboard-native-card.is-editing>.st-dashboard-card-edit{position:absolute!important;left:auto!important;right:.55rem!important;bottom:.45rem!important}

/* Fase 4 — Campanhas: sub-aba Contas + colunas, sempre no design do Sentinela. */
[data-st-campaign-main-tabs="1"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}
[data-st-campaign-main-tabs="1"]>[data-st-campaign-accounts-tab="1"] .st-campaign-tab-icon{display:inline-flex;align-items:center;justify-content:center}
[data-st-campaign-main-tabs="1"]>[data-st-campaign-accounts-tab="1"] svg{width:1rem!important;height:1rem!important}
[data-st-campaign-main-tabs="1"][data-st-campaign-accounts-active] > [role="tab"][data-state="active"]:not([data-st-campaign-accounts-tab]){background:transparent!important;color:hsl(var(--muted-foreground))!important;box-shadow:none!important}
[data-st-campaign-main-tabs="1"]>[data-st-campaign-accounts-tab="1"][data-state="active"]{background:hsl(var(--background))!important;color:hsl(var(--foreground))!important;box-shadow:0 1px 2px hsl(var(--background)/.18)!important}
[data-st-campaign-panel-hidden="1"],[data-st-campaign-filter-hidden="1"],[data-st-campaign-column-hidden="1"]{display:none!important}
.st-campaign-accounts-panel[hidden]{display:none!important}
.st-campaign-accounts-panel{margin-top:1rem;animation:sentinelFadeIn .18s ease-out both}
.st-campaign-accounts-card{border-radius:.5rem!important}
.st-campaign-account-option{display:block;width:100%;border:1px solid hsl(var(--foreground)/.07);border-radius:.55rem;background:hsl(var(--foreground)/.018);padding:1rem;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;text-align:left}
.st-campaign-account-option:hover{background:hsl(var(--foreground)/.035);border-color:hsl(var(--foreground)/.12)}
.st-campaign-account-option.is-selected{border-color:hsl(var(--primary)/.32);background:hsl(var(--primary)/.055);box-shadow:inset 0 0 0 1px hsl(var(--primary)/.06)}
.st-campaign-account-icon{display:flex;height:2.25rem;width:2.25rem;flex:0 0 2.25rem;align-items:center;justify-content:center;border-radius:.5rem;background:hsl(var(--primary)/.09);color:hsl(var(--accent-readable))}
.st-campaign-account-icon svg{height:1.1rem!important;width:1.1rem!important}
.st-campaign-status{display:inline-flex;align-items:center;border-radius:.35rem;border:1px solid hsl(var(--foreground)/.08);padding:.12rem .42rem;font-size:.625rem;line-height:1rem;white-space:nowrap}
.st-campaign-status.is-ok{border-color:hsl(var(--primary)/.18);background:hsl(var(--primary)/.07);color:hsl(var(--accent-readable))}
.st-campaign-status.is-off{background:hsl(var(--foreground)/.035);color:hsl(var(--muted-foreground))}
.st-campaign-status.is-error{border-color:hsl(var(--destructive)/.18);background:hsl(var(--destructive)/.07);color:hsl(var(--destructive))}
.st-campaign-columns-host{flex:0 0 auto}
.st-campaign-columns-host button{height:2.25rem!important}
.st-campaign-column-option{display:flex;align-items:center;gap:.65rem;border:1px solid hsl(var(--foreground)/.065);border-radius:.5rem;background:hsl(var(--foreground)/.018);padding:.65rem .75rem;color:hsl(var(--foreground));font-size:.8rem;cursor:pointer;transition:background .14s,border-color .14s}
.st-campaign-column-option:hover{background:hsl(var(--foreground)/.035);border-color:hsl(var(--foreground)/.11)}
.st-campaign-column-option input{accent-color:hsl(var(--primary));height:.9rem;width:.9rem}
@media(max-width:639px){
  [data-st-campaign-main-tabs="1"]{grid-template-columns:repeat(4,minmax(max-content,1fr))!important;overflow-x:auto}
  [data-st-campaign-main-tabs="1"]>[role="tab"]{padding-left:.5rem!important;padding-right:.5rem!important}
  .st-campaign-columns-host{width:100%}.st-campaign-columns-host button{width:100%}
}

/* Fase 5 — drag por ponteiro: confiável no frontend React compilado e também no touch. */
html.st-dashboard-pointer-drag,html.st-dashboard-pointer-drag *{cursor:grabbing!important;user-select:none!important}
.st-dashboard-card.is-dragging,.st-dashboard-native-card.is-dragging{opacity:.72;transform:scale(.985);box-shadow:0 0 0 1px hsl(var(--primary)/.35),0 12px 30px hsl(var(--background)/.28)!important}
.st-dashboard-card.is-drop-target,.st-dashboard-native-card.is-drop-target{box-shadow:0 0 0 2px hsl(var(--primary)/.48),0 10px 28px hsl(var(--primary)/.08)!important}
.st-dashboard-drag-handle{touch-action:none!important}

/* Fase 5 — Criador Meta nativo do Sentinela. */
.st-campaign-create-host{flex:0 0 auto}
.st-campaign-create-host button{height:2.25rem!important}
.st-campaign-create-dialog{width:min(760px,calc(100vw - 2rem))!important;max-width:760px!important}
.st-campaign-create-dialog .st-native-dialog-body{max-height:min(68vh,720px);overflow:auto;padding-right:.2rem}
.st-campaign-create-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-bottom:1rem}
.st-campaign-create-step{display:flex;align-items:center;gap:.45rem;min-width:0;border:1px solid hsl(var(--foreground)/.065);border-radius:.5rem;background:hsl(var(--foreground)/.018);padding:.5rem .55rem;color:hsl(var(--muted-foreground))}
.st-campaign-create-step>span{display:inline-flex;height:1.25rem;width:1.25rem;flex:0 0 1.25rem;align-items:center;justify-content:center;border-radius:999px;background:hsl(var(--foreground)/.055);font-size:.62rem;font-weight:700}
.st-campaign-create-step small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.st-campaign-create-step.is-active{border-color:hsl(var(--primary)/.32);background:hsl(var(--primary)/.06);color:hsl(var(--foreground))}
.st-campaign-create-step.is-active>span,.st-campaign-create-step.is-done>span{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.st-campaign-create-step.is-done{color:hsl(var(--accent-readable))}
.st-campaign-create-account{display:flex;align-items:center;gap:.75rem;border:1px solid hsl(var(--foreground)/.07);border-radius:.55rem;background:hsl(var(--foreground)/.02);padding:.8rem}
.st-campaign-create-toggle{display:flex;align-items:flex-start;gap:.7rem;border:1px solid hsl(var(--foreground)/.07);border-radius:.55rem;background:hsl(var(--foreground)/.02);padding:.85rem;cursor:pointer}
.st-campaign-create-toggle input{margin-top:.16rem;accent-color:hsl(var(--primary))}
.st-campaign-create-toggle span{display:flex;flex-direction:column;gap:.15rem}.st-campaign-create-toggle strong{font-size:.82rem;font-weight:600;color:hsl(var(--foreground))}.st-campaign-create-toggle small{font-size:.72rem;color:hsl(var(--muted-foreground))}
.st-campaign-create-textarea{min-height:6.5rem!important;height:auto!important;resize:vertical;padding-top:.55rem!important;padding-bottom:.55rem!important}
.st-campaign-create-result{border-radius:.55rem;padding:.85rem;font-size:.78rem}.st-campaign-create-result.is-success{border:1px solid hsl(var(--primary)/.2);background:hsl(var(--primary)/.06);color:hsl(var(--foreground))}.st-campaign-create-result.is-error{border:1px solid hsl(var(--destructive)/.2);background:hsl(var(--destructive)/.06);color:hsl(var(--destructive))}
@media(max-width:639px){.st-campaign-create-host{width:100%}.st-campaign-create-host button{width:100%}.st-campaign-create-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Fase 6 — Regras / Atividade / Histórico ===== */
.st-rules-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.025);border-radius:10px;width:max-content;max-width:100%;overflow-x:auto}
.st-rules-tabs button{height:34px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:.16s ease}
.st-rules-tabs button:hover{background:hsl(var(--foreground)/.045);color:hsl(var(--foreground))}
.st-rules-tabs button.is-active{background:hsl(var(--primary)/.13);color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary)/.18)}
.st-rules-panel{display:flex;flex-direction:column;gap:16px;min-width:0}
.st-rule-filter-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.st-rule-pills{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.st-rule-pills button{height:31px;padding:0 11px;border-radius:999px;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.025);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;cursor:pointer;transition:.15s ease}
.st-rule-pills button:hover{border-color:hsl(var(--foreground)/.14);color:hsl(var(--foreground))}
.st-rule-pills button.is-active{border-color:hsl(var(--primary)/.25);background:hsl(var(--primary)/.12);color:hsl(var(--primary))}
.st-rule-activity-list{display:flex;flex-direction:column;gap:10px;max-width:920px}
.st-rule-activity-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px 16px 15px 19px;overflow:hidden}
.st-rule-activity-item.is-recent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:hsl(var(--primary))}
.st-rule-activity-dot{width:8px;height:8px;margin-top:7px;border-radius:999px;background:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary)/.35);flex:none}
.st-rule-chip,.st-rule-status{display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:999px;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.035);font-size:10.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.st-rule-chip{color:hsl(var(--muted-foreground))}
.st-rule-status.is-success{border-color:rgba(74,222,128,.18);background:rgba(74,222,128,.10);color:#4ade80}
.st-rule-status.is-error{border-color:hsl(var(--destructive)/.20);background:hsl(var(--destructive)/.10);color:hsl(var(--destructive))}
.st-rule-history-filters{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(4,minmax(130px,.72fr));gap:10px;align-items:end}
.st-rule-search{min-width:0}
.st-rule-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.st-rule-stats>div{display:flex;flex-direction:column;gap:3px}
.st-rule-stats strong{font-size:21px;line-height:1.15;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}
.st-rule-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground)/.75)}
.st-rule-history-table{overflow:hidden;padding:0}
.st-rule-history-head,.st-rule-history-row{display:grid;grid-template-columns:155px minmax(160px,1fr) minmax(220px,1.4fr) 100px 24px;gap:12px;align-items:center;padding:12px 15px}
.st-rule-history-head{border-bottom:1px solid hsl(var(--foreground)/.07);background:hsl(var(--foreground)/.018);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground)/.65)}
.st-rule-history-row{width:100%;border:0;border-bottom:1px solid hsl(var(--foreground)/.055);background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer;transition:.14s ease}
.st-rule-history-row:last-child{border-bottom:0}
.st-rule-history-row:hover{background:hsl(var(--foreground)/.025)}
.st-rule-history-row>span{min-width:0;font-size:12px;color:hsl(var(--muted-foreground))}
.st-rule-history-row strong,.st-rule-history-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-rule-history-row strong{font-size:12.5px;color:hsl(var(--foreground));font-weight:600}
.st-rule-history-row small{margin-top:2px;font-size:10.5px;color:hsl(var(--muted-foreground)/.68)}
.st-rule-pagination{display:flex;justify-content:center;align-items:center;gap:12px}
.st-rule-pagination>span{font-size:12px;color:hsl(var(--muted-foreground))}
.st-rule-detail-box{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid hsl(var(--foreground)/.07);border-radius:9px;background:hsl(var(--foreground)/.02)}
.st-rule-detail-box span,.st-rule-metric span{font-size:10.5px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}
.st-rule-detail-box strong,.st-rule-metric strong{font-size:13px;color:hsl(var(--foreground));font-weight:600}
.st-rule-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.st-rule-metric{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border-radius:8px;background:hsl(var(--foreground)/.025);border:1px solid hsl(var(--foreground)/.055)}
@media(max-width:1050px){.st-rule-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.st-rule-search{grid-column:1/-1}.st-rule-history-head,.st-rule-history-row{grid-template-columns:135px minmax(140px,1fr) minmax(180px,1.3fr) 90px 20px}}
@media(max-width:720px){.st-rules-tabs{width:100%}.st-rules-tabs button{flex:1}.st-rule-filter-row{align-items:flex-start}.st-rule-pills.is-period{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.st-rule-activity-item{display:grid;grid-template-columns:10px 1fr}.st-rule-activity-item time{grid-column:2;margin-top:-4px}.st-rule-history-filters{grid-template-columns:1fr}.st-rule-search{grid-column:auto}.st-rule-stats{grid-template-columns:1fr}.st-rule-history-head{display:none}.st-rule-history-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px}.st-rule-history-row>span:nth-child(1){grid-column:1}.st-rule-history-row>span:nth-child(2){grid-column:1}.st-rule-history-row>span:nth-child(3){grid-column:1}.st-rule-history-row>span:nth-child(4){grid-column:2;grid-row:1}.st-rule-history-row>span:nth-child(5){grid-column:2;grid-row:2/4;font-size:20px;align-self:center}.st-rule-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Fase 8/9 — Integrações em sub-abas, preservando o design system do Sentinela */
.st-integrations-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.025);border-radius:10px;width:max-content;max-width:100%;overflow:auto;scrollbar-width:none}
.st-integrations-tabs::-webkit-scrollbar{display:none}
.st-integrations-tab{appearance:none;height:34px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:.16s ease}
.st-integrations-tab:hover{background:hsl(var(--foreground)/.045);color:hsl(var(--foreground))}
.st-integrations-tab.is-active{background:hsl(var(--primary)/.13);color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary)/.18)}
.st-integrations-panels>section[hidden]{display:none!important}
.st-domain-status{display:inline-flex;align-items:center;border:1px solid hsl(var(--foreground)/.08);background:hsl(var(--foreground)/.04);color:hsl(var(--muted-foreground));border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:600;white-space:nowrap}
.st-domain-status.is-active{border-color:hsl(var(--primary)/.22);background:hsl(var(--primary)/.12);color:hsl(var(--primary))}
.st-domain-status.is-error{border-color:hsl(var(--destructive)/.24);background:hsl(var(--destructive)/.08);color:hsl(var(--destructive))}
.st-domain-dns-box{border:1px solid hsl(var(--foreground)/.07);background:hsl(var(--foreground)/.025);border-radius:.55rem;padding:.75rem;font-size:.72rem;color:hsl(var(--muted-foreground))}
.st-domain-dns-box>p{margin:0 0 .5rem;font-weight:600;color:hsl(var(--foreground)/.8)}
.st-domain-dns-row{display:grid;grid-template-columns:52px minmax(100px,.65fr) minmax(140px,1.35fr);gap:.45rem;align-items:center;padding:.35rem 0;border-top:1px solid hsl(var(--foreground)/.05)}
.st-domain-dns-row:first-of-type{border-top:0}
.st-domain-dns-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
@media(max-width:640px){.st-integrations-tabs{width:100%}.st-domain-dns-row{grid-template-columns:46px 1fr}.st-domain-dns-row code:last-child{grid-column:1/-1;white-space:normal;word-break:break-all}}
