/* Smart Monitor — visual alinhado ao tema do Smart (platform.css).
   1.4.253: o CSS antigo usava variáveis que NÃO existem no tema (--cp-accent, --cp-border, --cp-surface, --cp-surface-2, --cp-text) e por isso caía nos
   valores de reserva (azul e cinza frio proprios, fontes em rem). Agora usa as variáveis reais (--cp-line, --cp-ink, --cp-muted, --cp-soft, --cp-bg,
   --cp-purple) e os mesmos valores dos componentes oficiais: .cp-section-heading, .cp-report-tabs + .cp-button, .cp-card, .cp-stat-row, .cp-table,
   .cp-empty, .cp-badge. Nenhuma função mudou. */
.sm-wrap{--sm-primary:#794adb;--sm-primary-dark:#6c3cc8;--sm-line:var(--cp-line,#ece9f2);--sm-ink:#594175;--sm-text:#6b5479;--sm-soft:#f6f1fc;--sm-danger:#bf4b65;--sm-danger-bg:#fcecef;--sm-ok:#53a881;--sm-ok-bg:#eaf8f1;--sm-warn:#b89856;--sm-warn-bg:#fcf4e4;
  display:flex;flex-direction:column;gap:0;font-size:12px;color:var(--sm-text)}
.sm-head{margin-bottom:18px}
.sm-head p{max-width:640px}
.sm-tabs{margin-bottom:22px}
.sm-body{min-height:200px}
.sm-muted,.sm-sub{color:var(--cp-muted,#81788f)}
.sm-sub{margin:0;font-size:11px}
.sm-h3{margin:22px 0 10px;font-size:14px;font-weight:600;color:var(--sm-ink)}

/* campos de formulário (mesmo desenho de .cp-form) */
.sm-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}
/* 1.4.258: formulários num grid alinhado (campos lado a lado, checkboxes e botão em linha própria) — some o "corrido" da Administração */
.sm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px 18px;align-items:end}
.sm-filter label,.sm-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#9b8da8}
.sm-filter select,.sm-filter input,.sm-form input:not([type=checkbox]),.sm-form select{min-height:38px;padding:9px 12px;border:1px solid #e9e0f0;border-radius:8px;background:#fff;color:var(--sm-text);font:inherit;font-size:12px;line-height:1.5;outline-offset:2px}
.sm-filter input,.sm-filter select{box-sizing:border-box;height:38px;width:auto}
/* 1.4.271: filtro "Só online" (checkbox na linha, não em coluna como os demais) */
.sm-filter-check{flex-direction:row!important;align-items:center;gap:6px;min-height:38px;color:var(--sm-text);cursor:pointer}
.sm-filter-check input[type=checkbox]{height:auto;min-height:0;width:auto;margin:0;accent-color:#794adb;cursor:pointer}
.sm-form input:not([type=checkbox]),.sm-form select{box-sizing:border-box;height:38px;width:100%}
.sm-filter select:focus,.sm-filter input:focus,.sm-form input:focus,.sm-form select:focus{border-color:#cdb9ee;outline:2px solid #794adb26}
.sm-form .sm-check{grid-column:1/-1;flex-direction:row;align-items:center;gap:9px;font-weight:500;color:var(--sm-text)}
.sm-form>button[type=submit]{grid-column:1/-1;justify-self:start;margin-top:2px}

/* indicadores (mural) — como .cp-stat-row */
.sm-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:15px;margin-bottom:22px}

/* cartões (dispositivos, TI, administração) — como .cp-card */
.sm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}
.sm-card,.sm-admin,.cp-dl-card{background:#fff;border:1px solid var(--sm-line);border-radius:14px;box-shadow:0 2px 4px #26164502}
.sm-card{padding:18px 20px;display:flex;flex-direction:column;gap:9px}
.sm-admin{padding:20px 22px;margin-bottom:18px}
.sm-card-top{display:flex;align-items:center;gap:8px}
.sm-card-top strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--sm-ink)}
.sm-card footer{margin-top:auto;padding-top:4px}
.sm-kv{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.sm-kv li{display:flex;justify-content:space-between;gap:10px;font-size:11px}
.sm-kv span{color:#9b8da8}
.sm-kv b{text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--sm-text)}
.sm-consent{margin-top:14px;max-width:80ch;padding:14px 16px;border-radius:10px;background:var(--cp-soft,#f4f0fc);font-size:11px;line-height:1.7;color:#7a6a8c}
.sm-code{margin-top:12px;font-size:12px}
.sm-code b{font-size:16px;letter-spacing:.6px;color:var(--sm-ink)}

/* estado do dispositivo e selos */
.sm-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#b5b3c4}
.sm-dot.on{background:#19a974;box-shadow:0 0 0 3px rgba(25,169,116,.14)}
.sm-dot.off{background:#b5b3c4}
.sm-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:9px;font-weight:700;line-height:1.4;letter-spacing:.2px;background:var(--sm-danger-bg);color:var(--sm-danger)}
.sm-badge.live{background:var(--sm-danger-bg);color:var(--sm-danger)}
.sm-badge.risk{background:var(--sm-warn-bg);color:var(--sm-warn)}

/* vazio — como .cp-empty (o componente já traz o desenho; aqui só o espaço) */
.sm-empty{padding:48px 25px}

/* mural por miniaturas */
.sm-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}
.sm-tile{background:#fff;border:1px solid var(--sm-line);border-radius:14px;overflow:hidden;box-shadow:0 2px 4px #26164502}
.sm-tile-screen{display:block;position:relative;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:0;overflow:hidden;background:#1d1530;cursor:pointer;align-items:center;justify-content:center}
.sm-tile-screen[disabled]{cursor:default}
.sm-tile-screen video{width:100%;height:100%;object-fit:contain;background:#000}
.sm-tile-img{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.sm-tile-state{position:absolute;inset:0;display:grid;place-items:center;color:#b9aecb;font-size:11px}
.sm-tile-full{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:8px;background:rgba(41,33,63,.62);color:#fff;font-size:14px;cursor:pointer}
.sm-tile-play{position:absolute;right:8px;bottom:8px;padding:4px 10px;border-radius:999px;background:var(--sm-primary);color:#fff;font-size:10px;font-weight:700;opacity:0;transition:opacity .15s}
.sm-tile-screen:hover .sm-tile-play,.sm-tile-screen:focus-visible .sm-tile-play{opacity:1}
.sm-tile-foot{display:flex;align-items:center;gap:8px;padding:11px 14px}
.sm-tile-foot b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;color:var(--sm-ink)}

/* ao vivo / vídeo */
.sm-live{position:relative;margin-top:16px;padding:14px;border:1px solid var(--sm-line);border-radius:14px;background:#1d1530}
.sm-live-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#fff;font-size:12px}
.sm-video{display:block;width:100%;max-height:60vh;border-radius:10px;background:#000}
.sm-live .sm-muted{color:#b9aecb}
/* 1.4.268: tela cheia do Ao Vivo. O max-height:60vh do vídeo valia também em tela cheia → a imagem ficava só no topo (~60% da tela) e o resto preto. Em fullscreen o vídeo preenche a tela inteira (object-fit:contain mantém a proporção, sem distorcer). */
.sm-live:fullscreen{margin:0;padding:0;border:0;border-radius:0;background:#000;display:flex;align-items:center;justify-content:center}
.sm-live:fullscreen .sm-screens,.sm-screens:fullscreen{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px}
.sm-live:fullscreen .sm-screen,.sm-screens:fullscreen .sm-screen{margin:0;flex:1 1 0;min-width:0;height:100%;display:flex;align-items:center;justify-content:center}
.sm-live:fullscreen .sm-video,.sm-screens:fullscreen .sm-video,.sm-video:fullscreen{width:100%;height:100%;max-height:none;border-radius:0;object-fit:contain}
.sm-live:fullscreen .sm-screen-label{position:absolute;top:8px;left:8px}
.sm-error{padding:12px 14px;border:1px solid #f2dbe4;border-radius:10px;background:#fff7f8;color:var(--sm-danger);font-size:12px}

/* linha do tempo */
.sm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.sm-tl-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:12px}
.sm-tl-row:nth-child(odd){background:#fcfbfe}
.sm-tl-row.idle{opacity:.6}
.sm-timeline .sm-tl-row{border-left:3px solid var(--sm-primary)}
.sm-timeline .sm-tl-row.idle{border-left-color:#d4cfdc}
.sm-tl-time{flex:none;min-width:92px;font-size:11px;font-variant-numeric:tabular-nums;color:#9b8da8}
.sm-tl-app{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-risk{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#fffaf0}
.sm-rec-link{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid #e9e3ef;border-radius:8px;background:#fff;color:var(--sm-primary);font:inherit;font-size:11px;font-weight:600;cursor:pointer}
.sm-rec-link:hover{background:#faf8ff;border-color:#d6c6ee}
.sm-rec-link.danger{color:var(--sm-danger)}
.sm-rec-link svg{width:14px;height:14px}
.sm-tl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sm-tl-switch{display:inline-flex;gap:6px}
.sm-tl-switch .cp-button.active{color:#fff;background:#794adb;border-color:#794adb;box-shadow:0 3px 8px #7540ca15}
.sm-tl-sub{padding-left:14px}
.sm-tl-win{border-bottom:0;padding:5px 0}
.sm-tl-win .sm-app-name{font-weight:500}
.sm-tl-idle .sm-app-name{color:var(--cp-muted,#81788f)}

/* relatório — tabela oficial (.cp-table dentro de .cp-card); o desenho vem de platform.css */
.sm-report{margin-top:0}
.sm-report .sm-risk-n{color:var(--sm-danger)}
.sm-report th:last-child,.sm-report td:last-child{text-align:left}

/* Suporte → Download (Configurações) */
.cp-dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;margin:10px 0 16px}
.cp-dl-card{padding:18px 20px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.cp-dl-os{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--sm-ink,#594175)}
.cp-dl-os svg{width:20px;height:20px}
.cp-dl-card small{font-size:11px;color:var(--cp-muted,#81788f)}

/* detalhe do operador */
.sm-detail{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;margin-top:14px}
.sm-detail-side{display:flex;flex-direction:column;gap:14px}
.sm-detail-live{padding:10px}
.sm-detail-live .sm-video{max-height:200px}
.sm-detail-live .sm-tile-full{top:16px;right:16px}
.sm-detail-info h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--sm-ink)}
.sm-detail-apps{margin-top:12px}
.sm-app-item{padding:8px 0;border-bottom:1px solid #f3eff7}
.sm-app-head{display:flex;align-items:center;gap:10px}
.sm-app-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;appearance:none;border:0;background:none;color:var(--sm-primary);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.sm-app-name:hover{color:var(--sm-primary-dark);text-decoration:underline}
.sm-app-bar{flex:0 0 120px;height:8px;border-radius:999px;background:#f1ecf8;overflow:hidden}
.sm-app-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8f25e9,#6f28e7)}
.sm-app-time{flex:0 0 auto;min-width:120px;text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:#9b8da8}
.sm-occ{list-style:none;margin:6px 0 8px;padding:6px 0 0 8px}
.sm-occ-row{display:flex;align-items:center;gap:12px;padding:5px 0;font-size:11px}
.sm-occ-row .sm-tl-time{min-width:110px}

/* player de quadros */
.sm-player-screen{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;border-radius:10px;background:#1d1530}
.sm-player-screen img{display:block;max-width:100%;max-height:60vh}
.sm-player-ctrl{display:flex;align-items:center;gap:10px;margin-top:12px}
.sm-player-ctrl input[type=range]{flex:1;accent-color:#794adb}

@media (max-width:720px){.sm-detail{grid-template-columns:1fr}.sm-tl-row{flex-wrap:wrap}.sm-tl-time{min-width:auto}.sm-app-bar{flex-basis:70px}.sm-app-time{min-width:0}}

/* 1.4.255: Ações (busca por palavra -> vídeo no instante) */
.sm-actions-form{align-items:flex-end}
.sm-actions-help{margin:0 0 14px;max-width:80ch}
.sm-actions-list{gap:6px}
.sm-action{padding:0}
.sm-action-btn{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:11px 14px;border:1px solid var(--sm-line);border-radius:10px;background:#fff;color:inherit;font:inherit;cursor:pointer}
.sm-action-btn:hover{border-color:#d6c6ee;background:#faf8ff}
.sm-action-btn .cp-badge{flex:none;margin-top:1px}
.sm-action-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sm-action-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sm-action-head b{font-size:12px;color:var(--sm-ink)}
.sm-action-text{font-size:12px;color:var(--sm-text);overflow-wrap:anywhere}
.sm-action-play{flex:none;display:inline-flex;align-items:center;gap:5px;align-self:center;color:var(--sm-primary);font-size:11px;font-weight:600;white-space:nowrap}
.sm-action-play svg{width:14px;height:14px}
@media (max-width:620px){.sm-action-btn{flex-wrap:wrap}.sm-action-play{width:100%;justify-content:flex-end}}

/* 1.4.257: Painel TV (mural em tela cheia para a sala de operação) */
.sm-wall-tools{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;justify-content:space-between}
.sm-wall-tools .sm-filter{margin-bottom:0}
.sm-tv-open{display:inline-flex;align-items:center;gap:6px}
.sm-tv-open svg{width:15px;height:15px}
.sm-tv{position:fixed;inset:0;z-index:9999;background:#15101f;color:#f2eefb;display:flex;flex-direction:column;font-family:inherit}
.sm-tv:fullscreen{background:#15101f}
.sm-tv-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#1d1530;border-bottom:1px solid rgba(255,255,255,.08)}
.sm-tv-title{font-size:16px}.sm-tv-title b{font-weight:700}.sm-tv-title span{color:#b9aecb;font-weight:400}
.sm-tv-stats{display:flex;gap:18px;font-size:14px;color:#cfc6e4}
.sm-tv-stats .sm-tv-crit{color:#ff8097;font-weight:700}
.sm-tv-right{display:flex;align-items:center;gap:16px}
.sm-tv-clock{font-size:18px;font-variant-numeric:tabular-nums;font-weight:600}
.sm-tv-pager{font-size:13px;color:#b9aecb}
.sm-tv-exit{width:34px;height:34px;border:0;border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-size:16px;cursor:pointer}
.sm-tv-exit:hover{background:rgba(255,255,255,.2)}
/* 1.4.312: ajustes do painel (telas por página e tempo de troca) */
.sm-tv-bar{position:relative}
.sm-tv-gear{font-size:18px;line-height:1}
.sm-tv-cfg{position:absolute;right:22px;top:100%;z-index:3;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px;padding:12px 14px;border-radius:12px;background:#241a3b;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.45);font-size:13px;color:#e6dff5}
.sm-tv-cfg[hidden]{display:none}
.sm-tv-cfg label{display:flex;align-items:center;gap:8px}
.sm-tv-cfg input{width:72px;padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#15101f;color:#fff;font:inherit}
.sm-tv-cfg-ok{padding:6px 14px;border:0;border-radius:8px;background:#7044d8;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.sm-tv-grid{flex:1;display:grid;grid-template-columns:repeat(var(--tv-cols,4),minmax(0,1fr));grid-template-rows:repeat(var(--tv-rows,1),minmax(0,1fr));gap:12px;padding:16px;overflow:hidden;align-content:stretch}
.sm-tv-tile{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:2px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:#000;cursor:pointer;min-height:0}
.sm-tv-tile:not(:disabled):hover{border-color:#7044d8}
.sm-tv-tile.has-crit{border-color:#e0556f;box-shadow:0 0 0 2px rgba(224,85,111,.5)}
.sm-tv-tile.has-warn{border-color:#c79a4e}
.sm-tv-tile.is-off{opacity:.5}
.sm-tv-tile img{width:100%;height:100%;object-fit:contain;background:#000}
.sm-tv-state{color:#8d82a6;font-size:13px}
.sm-tv-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:7px;padding:7px 10px;background:linear-gradient(to top,rgba(12,8,20,.92),rgba(12,8,20,0));font-size:13px}
.sm-tv-foot b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.sm-tv-foot .sm-dot{width:9px;height:9px}
.sm-tv-rec{padding:1px 6px;border-radius:5px;background:#bf4b65;color:#fff;font-size:10px;font-weight:700}
.sm-tv-al{padding:1px 7px;border-radius:999px;background:#e0556f;color:#fff;font-size:11px;font-weight:700}
.sm-tv-empty{margin:auto;color:#8d82a6}

/* 1.4.258: Linha do tempo repaginada (resumo ativo/ocioso + grade alinhada de aplicativos) */
.sm-tl2{margin-top:4px}
.sm-tl2-sum{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:6px}
.sm-tl2-split{flex:1;min-width:220px;height:16px;border-radius:999px;overflow:hidden;display:flex;background:#f2edfa;box-shadow:inset 0 0 0 1px #ece3fa}
.sm-tl2-split i{display:block;height:100%}
.sm-tl2-split i.act{background:linear-gradient(90deg,#8f25e9,#6f28e7)}
.sm-tl2-split i.idle{background:#e4dcef}
.sm-tl2-legend{display:flex;gap:16px;font-size:12px;color:var(--sm-text)}
.sm-tl2-legend .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sm-tl2-legend .dot.act{background:#7f28e7}.sm-tl2-legend .dot.idle{background:#d9cfe8}
.sm-tl2-legend b{color:var(--sm-ink)}
.sm-tl2-hint{margin:2px 0 12px;font-size:11px;color:var(--cp-muted,#81788f)}
.sm-tl2-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.sm-tl2-app{list-style:none;border-bottom:1px solid #f3eff7}
.sm-tl2-row{display:grid;grid-template-columns:minmax(188px,248px) minmax(130px,1fr) 64px 92px 54px 16px;align-items:center;gap:14px;width:100%;text-align:left;border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:9px 12px;border-radius:11px;transition:background .12s}
.sm-tl2-row:hover{background:#f7f3ff}
.sm-tl2-name{min-width:0;display:flex;align-items:center;gap:10px;color:var(--sm-ink);font-size:12.5px}
.sm-tl2-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-tl2-name b{font-weight:600}
.sm-tl2-ico{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;font-style:normal;background:hsl(var(--h,265) 68% 95%);color:hsl(var(--h,265) 52% 44%)}
.sm-tl2-ico.idle{background:#f0ecf6;color:#9b8da8;font-size:11px}
.sm-tl2-bar{height:12px;border-radius:999px;background:#f2edfa;overflow:hidden;box-shadow:inset 0 0 0 1px #efe7fb}
.sm-tl2-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#9b2ff0,#6f28e7)}
.sm-tl2-bar.idle i{background:linear-gradient(90deg,#e2d7f2,#d1c3e6)}
.sm-tl2-t{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--sm-ink);font-weight:700;text-align:right}
.sm-tl2-n{font-size:11px;color:#9b8da8;text-align:right}
.sm-tl2-pct{justify-self:end;font-size:11px;font-variant-numeric:tabular-nums;color:var(--sm-primary);font-weight:700;background:hsl(265 70% 96%);padding:2px 8px;border-radius:999px}
.sm-tl2-pct:empty{background:none;padding:0}
.sm-tl2-caret{font-size:10px;color:#b3a9bf;transition:transform .15s;text-align:center}
.sm-tl2-row[aria-expanded=true] .sm-tl2-caret{transform:rotate(180deg)}
.sm-tl2-wins{list-style:none;margin:0;padding:0 0 6px}
.sm-tl2-win{list-style:none}
.sm-tl2-winrow{grid-template-columns:minmax(188px,248px) minmax(130px,1fr) 64px 92px 16px;padding-left:34px;background:#fcfbfe}
.sm-tl2-winrow .sm-tl2-name{color:var(--sm-text);font-weight:500}
.sm-tl2-times{list-style:none;margin:0;padding:4px 0 10px 30px;display:flex;flex-direction:column;gap:2px}
.sm-tl2-dur{font-variant-numeric:tabular-nums;color:#9b8da8}
.sm-tl2-idle{margin-top:6px;border-top:1px solid #efeaf6}
.sm-tl2-idle .sm-tl2-name{color:var(--cp-muted,#81788f)}
@media(max-width:720px){.sm-tl2-row,.sm-tl2-winrow,.sm-has-io .sm-tl2-row,.sm-has-io .sm-tl2-winrow{grid-template-columns:1fr auto auto;gap:8px}.sm-tl2-bar{display:none}.sm-tl2-io-cell{display:none}}

/* 1.4.258: Detalhe do operador repaginado (cabeçalho + diagnóstico da máquina + atividade) */
.sm-back{margin-bottom:16px}
.sm-detail2{display:flex;flex-direction:column;gap:16px}
.sm-detail2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sm-detail2-head h3{margin:0 0 3px;font-size:17px;font-weight:600;color:var(--sm-ink)}
.sm-detail2-badges{display:flex;gap:6px;flex-wrap:wrap}
.sm-detail2-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.cp-card.sm-detail2-live,.cp-card.sm-detail2-diag,.cp-card.sm-detail2-activity{background:#fff;border:1px solid var(--sm-line);border-radius:14px;padding:16px 18px;box-shadow:0 2px 4px #26164502}
.sm-detail2-live{padding:12px}
.sm-detail2-live .sm-detail-live{margin-top:0}
.sm-h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--sm-ink)}
.sm-diag-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:14px}
.sm-diag-metric{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--sm-line);border-radius:10px;background:#fcfbfe}
.sm-diag-k{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:#9b8da8;font-weight:600}
.sm-diag-val{font-size:16px;font-weight:600;color:var(--sm-ink)}
.sm-diag-bar{height:6px;border-radius:999px;background:#f1ecf8;overflow:hidden}
.sm-diag-bar i{display:block;height:100%;border-radius:999px;background:var(--sm-ok)}
.sm-diag-bar.warn i{background:var(--sm-warn)}.sm-diag-bar.crit i{background:var(--sm-danger)}
.sm-diag-na{color:#b3a9bf}
.sm-diag-kv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 28px}
.sm-diag-kv li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f3eff7;font-size:12px}
.sm-diag-kv span{color:#9b8da8;flex:none}
.sm-diag-kv b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-weight:600;color:var(--sm-text)}
.sm-detail2-actbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.sm-detail2-actbar .sm-filter{margin-bottom:0}
@media(max-width:860px){.sm-detail2-top{grid-template-columns:1fr}}

/* 1.4.258: Dashboard (visão geral) */
.sm-dash-top{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.sm-dash-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin:0 0 22px}
.sm-dash-avglist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.sm-dash-avglist li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f3eff7;font-size:13px}
.sm-dash-avglist span{color:#9b8da8}.sm-dash-avglist b{font-weight:600;color:var(--sm-ink)}
.sm-dash-th{margin:4px 0 10px}
.sm-dash-table{min-width:1000px}
.sm-dash-table td.num{font-variant-numeric:tabular-nums}
.sm-dash-empty{padding:28px;text-align:center;color:var(--cp-muted,#81788f)}

/* 1.4.258: mapa de localização no Dashboard */
.sm-geo{margin-top:4px;padding:18px 20px}
.sm-geo .sm-h4{margin:0 0 12px}
.sm-geo-map{height:380px;border-radius:12px;overflow:hidden;background:#eef0f4;z-index:0}
.sm-geo-note{margin:10px 0 0}
.sm-geo-map .leaflet-container{font:inherit}

/* 1.0.8: aba de atualização do agente (só developer) */
.sm-upd-state{padding:16px 18px;margin-bottom:18px}
.sm-upd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;margin-bottom:14px}
.sm-upd-grid>div{display:flex;flex-direction:column;gap:3px}
.sm-upd-k{font-size:11px;color:var(--cp-muted,#81788f);text-transform:uppercase;letter-spacing:.04em}
.sm-upd-val{font-size:15px;font-weight:600;color:var(--sm-ink)}
.sm-upd-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.sm-upd-actions .cp-button.primary{background:var(--sm-primary);color:#fff;border-color:var(--sm-primary)}
.sm-upd-list{display:flex;flex-direction:column;gap:6px}
.sm-upd-rel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--cp-line,#ece9f2);border-radius:10px;background:#fff}
.sm-upd-rel.is-target{border-color:var(--sm-primary);box-shadow:inset 3px 0 0 var(--sm-primary)}
.sm-upd-rel-v{min-width:120px;font-size:14px}
.sm-upd-rel-meta{flex:1;min-width:160px;font-size:12px;color:var(--cp-muted,#81788f);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sm-upd-cur{background:var(--sm-primary);color:#fff}
.sm-upd code{font-size:11px}

/* 1.0.10: contagem de teclas/cliques/rolagens por acesso (so numeros) */
.sm-io3{display:inline-flex;align-items:center;gap:9px}
.sm-io3 i{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:11px;color:#9a8fab;white-space:nowrap}
.sm-io3 i svg{color:#c3b7d4;flex:none}
.sm-io3 b{color:var(--sm-ink);font-weight:700;font-variant-numeric:tabular-nums}
.sm-tl2-io-cell{min-width:0}
.sm-tl2-io-cell .sm-io3{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:6px;background:#f7f3fd;border-radius:9px;padding:4px 10px}
.sm-tl2-io-cell .sm-io3 i{display:flex;align-items:center;gap:5px;min-width:0}
.sm-tl2-io-cell .sm-io3 b{min-width:34px;text-align:right}
.sm-occ-row .sm-io3,.sm-tl-app .sm-io3{margin-left:8px;vertical-align:middle}
.sm-has-io .sm-tl2-row{grid-template-columns:minmax(168px,210px) minmax(64px,1fr) 56px 76px 224px 46px 16px}
.sm-has-io .sm-tl2-winrow{grid-template-columns:minmax(168px,210px) minmax(64px,1fr) 56px 76px 224px 16px}
/* 1.4.266: Visão global — etiqueta da empresa no mural de telas */
.sm-tile-company{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);padding:2px 8px;border-radius:999px;background:rgba(32,24,52,.72);color:#fff;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(2px)}
.sm-tile-screen{position:relative}

/* 1.4.277: selo da qualidade da internet (ótima/boa/ruim/péssima) no Overview e no Dashboard */
.sm-q{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}
.sm-q-otima{background:#e5f4ea;color:#1e7a4d}
.sm-q-boa{background:#e7f0fb;color:#215d9e}
.sm-q-ruim{background:#fbeede;color:#9a5a12}
.sm-q-pessima{background:#fbe5e5;color:#a62f2f}
.sm-dash-na{color:#a79fb6}

/* 1.4.278: aba Produtividade (classificação de apps) */
.sm-prod-head{display:flex;gap:12px;align-items:center;margin:4px 0 12px}
.sm-prod-day input{margin-left:6px;padding:4px 8px;border:1px solid #d8d2e4;border-radius:8px}
.sm-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 16px}
@media (max-width:760px){.sm-prod-grid{grid-template-columns:1fr}}
.sm-low-list{margin:0;padding-left:18px}
.sm-low-list li{display:flex;justify-content:space-between;gap:8px;padding:3px 0}
.sm-pa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sm-pa-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-pa-k{color:#6b6480;white-space:nowrap;font-size:12px}
.sm-pbar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#f0edf6;min-width:120px}
.sm-pbar i{display:block;height:100%}
.sm-pbar-prod{background:#2e9f6b}
.sm-pbar-idle{background:#9cd3b7}
.sm-pbar-neutro{background:#b9b0cf}
.sm-pbar-restr{background:#d14343}
.sm-pbar-sys{background:#7f8aa3}
.sm-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 0;font-size:12px;color:#6b6480}
.sm-legend em{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}
/* 1.4.278: classificação de apps na Administração */
.sm-apps-cfg{margin-top:10px}
.sm-apps-cfg table{width:100%}
.sm-apps-cfg select{padding:3px 6px;border:1px solid #d8d2e4;border-radius:6px}
.sm-apps-seen-note{color:#6b6480;font-size:12px;margin:6px 0}

/* 1.4.279: lista de softwares instalados no card de inventário (TI) */
.sm-sw{margin:6px 0 2px}
.sm-sw summary{cursor:pointer;color:#5a4bc4;font-size:13px}
.sm-sw-list{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow:auto;border:1px solid #efeaf6;border-radius:8px}
.sm-sw-list li{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;border-bottom:1px solid #f4f1fa;font-size:13px}
.sm-sw-list li:last-child{border-bottom:0}

.sm-hw-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

/* 1.4.279: gráfico de pico de usuários por hora */

/* 1.4.281: etiqueta de produtividade do app na Linha do tempo */
.sm-kind{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}
.sm-kind-produtivo{background:#e5f4ea;color:#1e7a4d}
.sm-kind-neutro{background:#efecf6;color:#6b6480}
.sm-kind-restritivo{background:#fbe5e5;color:#a62f2f}
.sm-kind-sistema{background:#eef1f6;color:#52607a}

/* 1.4.281: produtividade repaginada (herói + ranking + rosca por classe) */
.sm-prod-pct.hi{color:#1e7a4d}.sm-prod-pct.mid{color:#9a5a12}.sm-prod-pct.lo{color:#a62f2f}
.sm-pbar{gap:2px}

/* 1.4.289 — Linha do tempo em faixas por aplicativo */
.sm-tlv{--lab:214px;margin-top:10px}
.sm-tlv-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:var(--sm-text)}
.sm-tlv-sum{display:inline-flex;gap:14px;flex-wrap:wrap;align-items:center}
.sm-tlv-sum .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#794adb}
.sm-tlv-sum .dot.idle{background:#c9c0d6}
.sm-tlv-clock{font-variant-numeric:tabular-nums;color:#9b8da8;min-width:160px}
.sm-tlv-zoom{display:inline-flex;align-items:center;gap:6px}
.sm-tlv-zoom .cp-button{min-width:30px;padding:3px 9px}
.sm-tlv-scroll{overflow-x:auto;border:1px solid var(--sm-line);border-radius:12px;background:#fff}
.sm-tlv-plot{position:relative;width:calc(var(--lab) + (100% - var(--lab)) * var(--z,1));min-width:100%}
.sm-tlv-lane{display:grid;grid-template-columns:var(--lab) minmax(0,1fr);align-items:stretch;border-bottom:1px solid #f3eff8}
.sm-tlv-lane:last-of-type{border-bottom:0}
.sm-tlv-lab{position:sticky;left:0;z-index:3;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;background:#fff;border-right:1px solid var(--sm-line);min-width:0}
.sm-tlv-lab .sm-tl2-ico{width:24px;height:24px;font-size:11px;border-radius:7px}
.sm-tlv-nm{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.sm-tlv-nm b{font-size:12px;color:var(--sm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-tlv-nm small{font-size:10.5px;color:#9b8da8}
.sm-tlv-track{position:relative;height:34px}
.sm-tlv-lane.sm-tlv-ruler .sm-tlv-track{height:24px}
.sm-tlv-lane.sm-tlv-ruler{background:#faf8fd}
.sm-tlv-tick{position:absolute;top:5px;transform:translateX(-50%);font-size:10.5px;color:#9b8da8;font-variant-numeric:tabular-nums;white-space:nowrap}
.sm-tlv-tick.major{color:var(--sm-ink);font-weight:600}
.sm-tlv-blk{position:absolute;top:6px;bottom:6px;min-width:3px;padding:0;border:0;border-radius:4px;cursor:pointer;background:hsl(var(--h,265) 62% 54%);box-shadow:inset -1px 0 0 #ffffff80}
.sm-tlv-blk:hover,.sm-tlv-blk:focus-visible{filter:brightness(1.12);outline:2px solid hsl(var(--h,265) 62% 38%);outline-offset:1px;z-index:2}
.sm-tlv-blk.sm-tlv-b-idle{background:repeating-linear-gradient(135deg,#e4deee 0 4px,#efeaf6 4px 8px)}
.sm-tlv-blk.sm-tlv-b-rec{background:#794adb;opacity:.85}
.sm-tlv-risk{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;border:0;background:var(--sm-danger);transform:rotate(45deg);border-radius:2px;cursor:pointer;z-index:2}
.sm-tlv-risk:hover,.sm-tlv-risk:focus-visible{outline:2px solid #7a2a3d;outline-offset:2px}
.sm-tlv-iochart svg{display:block;width:100%;height:100%}
.sm-tlv-iochart path{fill:#9b7ee0}
.sm-tlv-over{position:absolute;top:0;bottom:0;left:var(--lab);right:0;pointer-events:none;z-index:1}
.sm-tlv-gl{position:absolute;top:24px;bottom:0;width:1px;background:#f0ebf7}
.sm-tlv-gl.major{background:#e6dff2}
.sm-tlv-cursor{position:absolute;top:0;bottom:0;width:1px;background:#794adb;opacity:.7}
.sm-tlv-cursor[hidden]{display:none}
.sm-tlv-more{padding:6px 10px;border-bottom:1px solid #f3eff8}
.sm-tlv-info{margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--sm-soft);font-size:12px;color:var(--sm-text);line-height:1.5}
.sm-tlv-info .ok{color:#1e7a4d}.sm-tlv-info .bad{color:#a62f2f}
.sm-tlv-url{word-break:break-all;color:#9b8da8}
.sm-tlv-norec{color:#a62f2f}
.sm-tlv-kbs{flex:none;display:inline-flex;gap:4px}
.sm-tlv-kb{width:24px;height:24px;display:grid;place-items:center;padding:0;border-radius:7px;border:1.5px solid;background:#fff;cursor:pointer}
.sm-tlv-kb.prod{color:#1e7a4d;border-color:#b9dfc9}
.sm-tlv-kb.restr{color:#a62f2f;border-color:#efc3c3}
.sm-tlv-kb.prod:hover,.sm-tlv-kb.prod.on{background:#1e9a5c;border-color:#1e9a5c;color:#fff}
.sm-tlv-kb.restr:hover,.sm-tlv-kb.restr.on{background:#d23b3b;border-color:#d23b3b;color:#fff}
.sm-tlv-kb:disabled{opacity:.55;cursor:progress}
.sm-tlv-kb:focus-visible{outline:2px solid #794adb;outline-offset:2px}
.sm-tlv-kdot{flex:none;width:10px;height:10px;border-radius:50%;background:#c9c0d6}
.sm-tlv-kdot.produtivo{background:#1e9a5c}.sm-tlv-kdot.restritivo{background:#d23b3b}.sm-tlv-kdot.sistema{background:#7d8aa3}
.sm-tlv-riskbox{margin-top:12px}
.sm-tlv-riskbox summary{cursor:pointer;font-weight:600;color:var(--sm-ink);margin-bottom:6px}
@media (max-width:640px){.sm-tlv{--lab:150px}.sm-tlv-clock{display:none}}
.sm-tlv-tick.first{transform:none;padding-left:4px}
.sm-tlv-tick.last{transform:translateX(-100%);padding-right:4px}
.sm-tlv-caret{flex:none;display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 5px;border:1px solid var(--sm-line);border-radius:6px;background:#fff;color:var(--sm-primary);font:inherit;font-size:11px;cursor:pointer}
.sm-tlv-caret small{font-size:10px;color:#9b8da8}
.sm-tlv-caret:hover{background:var(--sm-soft)}
.sm-tlv-sub .sm-tlv-lab{padding-left:34px;background:#fcfbfe}
.sm-tlv-sub .sm-tlv-track{height:28px;background:#fcfbfe}
.sm-tlv-sub .sm-tlv-blk{top:5px;bottom:5px;opacity:.78}
.sm-tlv-sub .sm-tlv-nm b{font-weight:600;font-size:11.5px}
/* gráfico de teclas+cliques: faixa própria, sem herdar o ".chart" genérico do Smart */
.sm-tlv-io .sm-tlv-track{height:44px;background:linear-gradient(#fff,#fbf9fe)}
.sm-tlv-nm small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 1.4.289 — mapa: pino de localização. 1.4.295: o filtro cinza dos tiles saiu (o mapa volta com as cores e o relevo do OpenStreetMap) */
.sm-pin{background:none;border:0}
.sm-pin svg{display:block;filter:drop-shadow(0 2px 3px #2a145a59);transition:transform .12s}
.sm-pin:hover svg{transform:translateY(-2px) scale(1.08)}

/* 1.4.295 — mapa em tela cheia (API nativa; no celular/Safari sem a API, a mesma coisa por CSS) */
.sm-full-btn{display:flex !important;align-items:center;justify-content:center;width:34px;height:34px;color:#3a2a63;background:#fff;cursor:pointer}
.sm-full-btn:hover{background:#f4f0fc;color:#794adb}
.sm-full-btn svg{width:18px;height:18px}
.sm-geo-map:fullscreen{height:100vh;width:100vw;border-radius:0}
.sm-geo-map.sm-geo-full{position:fixed;inset:0;z-index:3000;height:100vh;border-radius:0}

/* ======================================================================================================================
   1.4.296 — Smart Monitor no padrão da Visão geral: cabeçalho em faixa escura com aurora, menu com ícones coloridos, cartões de raio 20,
   indicadores com ícone, gráficos animados (rosca que se desenha, anel de produtividade, barras que crescem, curva com tooltip) e números que sobem.
   Tudo é SVG/CSS; as animações só tocam na 1ª pintura (classe sm-anim) e somem com "reduzir movimento" do sistema. Nenhuma função mudou.
   ====================================================================================================================== */
.sm-wrap{--sm-primary:#6a3df0;--sm-primary-dark:#5530d0;--sm-ink:#1d1238;--sm-text:#4a3f66;--sm-muted:#8a80a3;--sm-line:#ece7f4;--sm-soft:#f8f6fc;
  --sm-ok:#12a572;--sm-ok-bg:#e6f8f0;--sm-warn:#d9780f;--sm-warn-bg:#fff3e2;--sm-danger:#d92d4b;--sm-danger-bg:#fdecef;position:relative;font-size:13px;gap:0}
.sm-muted,.sm-sub{color:var(--sm-muted)}
.sm-sub{font-size:12.5px}
.sm-wrap .sm-h4{margin:0 0 14px;font-size:16px;font-weight:800;letter-spacing:-.2px;color:var(--sm-ink)}
.sm-wrap .sm-h3{font-size:16px;font-weight:800;color:var(--sm-ink)}

/* ---------- cabeçalho: faixa escura com aurora ---------- */
.sm-head{position:relative;isolation:isolate;overflow:hidden;align-items:center;margin-bottom:18px;padding:26px 30px;border-radius:26px;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,#2a1460 0%,#170c38 50%,#0e0826 100%);box-shadow:0 24px 60px rgba(23,12,56,.22)}
.sm-head h2{margin:6px 0 6px;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.8px;color:#fff}
.sm-head p{max-width:640px;font-size:13.5px;line-height:1.55;color:rgba(239,233,255,.78)}
.sm-head .cp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.3px;color:rgba(239,233,255,.75)}
.sm-aurora{position:absolute;inset:-40% -10%;z-index:-1;filter:blur(70px);pointer-events:none}
.sm-aurora i{position:absolute;border-radius:50%;opacity:.5;mix-blend-mode:screen;animation:sm-drift 22s ease-in-out infinite alternate}
.sm-aurora i:nth-child(1){width:420px;height:420px;left:-60px;top:-40px;background:#e5179b}
.sm-aurora i:nth-child(2){width:460px;height:460px;left:38%;top:20%;background:#2f8cff;animation-delay:-7s}
.sm-aurora i:nth-child(3){width:300px;height:300px;right:-40px;top:-80px;background:#ff7a1a;opacity:.35;animation-delay:-12s}
@keyframes sm-drift{to{transform:translate3d(60px,30px,0) scale(1.12)}}
.sm-head-live{flex:none;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);
  font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#bff7de}
.sm-head-live i{width:8px;height:8px;border-radius:50%;background:#34e3a0;animation:sm-pulse 2.4s ease-out infinite}
@keyframes sm-pulse{0%{box-shadow:0 0 0 0 rgba(52,227,160,.55)}80%,100%{box-shadow:0 0 0 9px rgba(52,227,160,0)}}
@media(max-width:720px){.sm-head{padding:20px;border-radius:20px;flex-wrap:wrap}.sm-head h2{font-size:24px}}

/* ---------- menu das abas: ícone colorido em cada uma, ativa = pílula em degradê ---------- */
.sm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.sm-tabs .cp-button{display:inline-flex;align-items:center;gap:9px;height:auto;min-height:0;padding:7px 15px 7px 8px;border-radius:15px;border:1px solid var(--sm-line);background:#fff;
  color:var(--sm-ink);font-size:13px;font-weight:700;box-shadow:0 2px 8px rgba(29,18,56,.05);transition:transform .15s,box-shadow .15s,border-color .15s}
.sm-tabs .cp-button:hover{transform:translateY(-1px);border-color:var(--tc);box-shadow:0 8px 18px -8px var(--tc)}
.sm-tab-ic{flex:none;box-sizing:content-box;width:17px;height:17px;padding:6px;border-radius:10px;color:var(--tc);background:#f3effd;background:color-mix(in srgb,var(--tc) 13%,#fff);transition:background .15s,color .15s}
.sm-tabs .cp-button.active,.sm-tabs .cp-button.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--tc),#6a3df0 135%);box-shadow:0 10px 22px -8px var(--tc)}
.sm-tabs .cp-button.active .sm-tab-ic,.sm-tabs .cp-button.primary .sm-tab-ic{color:#fff;background:rgba(255,255,255,.22)}
.sm-tabs .cp-button:focus-visible{outline:3px solid #6a3df055;outline-offset:2px}

/* ---------- indicadores (KPI) ---------- */
.sm-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px;margin-bottom:22px}
.sm-stat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;min-width:0;padding:19px 20px 17px;border-radius:20px;background:#fff;border:1px solid var(--sm-line);box-shadow:0 6px 20px rgba(29,18,56,.05);
  transition:transform .18s,box-shadow .18s}
.sm-stat:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(29,18,56,.09)}
.sm-stat::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--k,#6a3df0),#e5179b)}
.sm-stat-ic{position:absolute;right:16px;top:17px;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:var(--k,#6a3df0);background:#f3effd;background:color-mix(in srgb,var(--k,#6a3df0) 13%,#fff)}
.sm-stat-ic svg{width:20px;height:20px}
.sm-stat-l,.sm-stat>span:first-of-type{display:block;padding-right:48px;font-size:13px;font-weight:700;color:var(--sm-muted)}
.sm-stat strong{display:block;margin:6px 0 4px;font-size:clamp(26px,2.4vw,34px);white-space:nowrap;line-height:1.05;font-weight:800;letter-spacing:-1px;color:var(--sm-ink);font-variant-numeric:tabular-nums}
.sm-stat strong span{display:inline;padding:0;font-size:inherit;font-weight:inherit;color:inherit}
.sm-stat.ok strong{color:var(--sm-ok)}
.sm-stat.off strong{color:#6b6385}
.sm-stat.live strong{color:#e5179b}
.sm-stat-foot{display:flex;font-size:12px;color:var(--sm-muted)}
.sm-pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#f3f1f8;color:#6b6385}
.sm-pill.ok{background:#ecfdf3;color:#15803d}

/* ---------- cartões, tabelas, vazios ---------- */
.sm-card,.sm-admin,.sm-tile,.cp-dl-card,.cp-card.sm-detail2-live,.cp-card.sm-detail2-diag,.cp-card.sm-detail2-activity{border-radius:20px;border-color:var(--sm-line);box-shadow:0 6px 20px rgba(29,18,56,.04)}
.sm-wrap .cp-card{border-radius:20px;border-color:var(--sm-line);box-shadow:0 6px 20px rgba(29,18,56,.04)}
.sm-wrap .cp-table th{padding-top:13px;padding-bottom:13px;font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--sm-muted);background:var(--sm-soft)}
.sm-wrap .cp-table td{font-size:13px;color:var(--sm-text)}
.sm-wrap .cp-table tbody tr{transition:background .12s}
.sm-wrap .cp-table tbody tr:hover{background:#faf7ff}
.sm-dash-th{margin:6px 0 12px}
.sm-dash-empty{padding:34px;text-align:center;color:var(--sm-muted)}
.sm-who{display:inline-flex;align-items:center;gap:10px;min-width:0}
.sm-who b{font-weight:700;color:var(--sm-ink);white-space:nowrap}
.sm-av{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-style:normal;font-size:12px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,hsl(var(--h,265) 75% 58%),hsl(calc(var(--h,265) + 40) 75% 50%))}
.sm-hb-row .sm-av{width:24px;height:24px;font-size:11px;background:var(--av)}
.sm-gauge{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:54px}
.sm-gauge b{font-size:12.5px;font-weight:800;color:var(--sm-ink)}
.sm-gauge i{display:block;width:54px;height:5px;border-radius:99px;background:#efeaf8;overflow:hidden}
.sm-gauge u{display:block;height:100%;border-radius:99px;text-decoration:none;background:linear-gradient(90deg,#34e3a0,#12a572)}
.sm-gauge.warn u{background:linear-gradient(90deg,#ffc15a,#f08a1c)}
.sm-gauge.crit u{background:linear-gradient(90deg,#ff8da0,#e5484d)}
.sm-q{padding:3px 11px;font-weight:800;font-size:12px}
.sm-q-otima{background:#e3f8ee;color:#0f8a5f}.sm-q-boa{background:#e4f0ff;color:#1c6fd1}.sm-q-ruim{background:#fff0dc;color:#b9610a}.sm-q-pessima{background:#ffe6ea;color:#c4243f}

/* ---------- gráficos ---------- */
.sm-dash-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:16px;margin:0 0 24px}
.sm-dash-chart,.sm-chart-card{min-width:0;padding:20px 22px;border-radius:20px;background:#fff;border:1px solid var(--sm-line);box-shadow:0 6px 20px rgba(29,18,56,.05)}
.sm-donut-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.sm-donut{flex:none;overflow:visible}
.sm-seg{transition:opacity .18s,stroke-width .18s}
.sm-donut-row.is-hl .sm-seg{opacity:.28}
.sm-donut-row.is-hl .sm-seg.hl{opacity:1;stroke-width:17}
.sm-seg:hover{stroke-width:17;cursor:default}
.sm-donut-v{font-size:22px;font-weight:800;fill:var(--sm-ink);letter-spacing:-.5px}
.sm-donut-l{font-size:8.5px;font-weight:700;fill:var(--sm-muted);text-transform:uppercase;letter-spacing:.6px}
.sm-donut-legend{list-style:none;margin:0;padding:0;flex:1;min-width:150px;display:flex;flex-direction:column;gap:3px}
.sm-donut-legend li{display:flex;align-items:center;gap:9px;padding:5px 8px;margin:0 -8px;border-radius:9px;font-size:13px;color:var(--sm-text);transition:background .12s}
.sm-donut-legend li:hover{background:#f6f2ff}
.sm-donut-legend i{flex:none;width:11px;height:11px;border-radius:4px}
.sm-donut-legend span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-donut-legend b{font-weight:800;color:var(--sm-ink)}
.sm-donut-legend small{min-width:34px;text-align:right;font-size:11.5px;font-weight:700;color:var(--sm-muted)}
.sm-dash-avglist{list-style:none;margin:0;padding:0}
.sm-dash-avglist li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f3eff9;font-size:14px}
.sm-dash-avglist li:last-child{border-bottom:0}
.sm-dash-avglist span{color:var(--sm-muted);font-weight:600}.sm-dash-avglist b{font-weight:800;color:var(--sm-ink)}

/* anel de produtividade */
.sm-ring{flex:none;overflow:visible}
.sm-ring-bg{stroke:#efeaf8}.sm-ring.dark .sm-ring-bg{stroke:rgba(255,255,255,.14)}
.sm-ring-v{font-size:27px;font-weight:800;fill:var(--sm-ink);letter-spacing:-.6px}.sm-ring.dark .sm-ring-v{fill:#fff}
.sm-ring-l{font-size:9px;font-weight:700;fill:var(--sm-muted);text-transform:uppercase;letter-spacing:.7px}.sm-ring.dark .sm-ring-l{fill:rgba(239,233,255,.7)}

/* barras horizontais (ranking de operadores) */
.sm-hb{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.sm-hb-row{display:grid;grid-template-columns:minmax(110px,170px) 1fr auto;gap:12px;align-items:center;font-size:13px;color:var(--sm-text)}
.sm-hb-n{display:flex;align-items:center;gap:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--sm-ink)}
.sm-hb-track{height:14px;border-radius:99px;background:#f1edf9;overflow:hidden}
.sm-hb-fill,.sm-rank-bar{display:block;height:100%;width:var(--w,100%);border-radius:99px;background:linear-gradient(90deg,var(--bar,#6a3df0),#e5179b)}
.sm-rank-hi{background:linear-gradient(90deg,#34e3a0,#12a572)}
.sm-rank-mid{background:linear-gradient(90deg,#ffc15a,#f08a1c)}
.sm-rank-lo{background:linear-gradient(90deg,#ff8da0,#e5484d)}
.sm-hb-v{min-width:52px;text-align:right;font-weight:800;color:var(--sm-ink);font-variant-numeric:tabular-nums}
.sm-hb-row:hover .sm-hb-track{box-shadow:0 0 0 3px #6a3df01f}

/* apps mais usados */
.sm-pa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.sm-pa-list li{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:12px;align-items:center;font-size:13px}
.sm-pa-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--sm-ink)}
.sm-pa-bar{height:12px;border-radius:99px;background:#f1edf9;overflow:hidden}
.sm-pa-bar i{display:block;height:100%;width:var(--w,100%);border-radius:99px}
.sm-pa-k{white-space:nowrap;font-size:12px;font-weight:600;color:var(--sm-muted)}
.sm-pbar{height:12px;border-radius:99px;background:#f1edf9}
.sm-pbar-prod{background:linear-gradient(90deg,#34e3a0,#12a572)}
.sm-pbar-idle{background:#7fdcb6}
.sm-pbar-neutro{background:linear-gradient(90deg,#b49cff,#9b7bf5)}
.sm-pbar-restr{background:linear-gradient(90deg,#ff8da0,#e5484d)}
.sm-pbar-sys{background:linear-gradient(90deg,#6db8ff,#2f8cff)}
.sm-legend{margin-top:16px;font-size:12.5px;font-weight:600;color:var(--sm-muted)}
.sm-legend em{border-radius:4px}

/* curva de pico por hora */
.sm-peak-wrap{grid-column:1 / -1}
.sm-peak-chart{margin-top:10px}
.sm-area{display:block;width:100%;height:auto;max-height:260px;overflow:visible}
.sm-gridline{stroke:#efeaf8;stroke-width:1;stroke-dasharray:3 4}
.sm-axis{font-size:11px;font-weight:600;fill:var(--sm-muted)}
.sm-area-line{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sm-hit{fill:transparent;cursor:crosshair}
.sm-cross{stroke:#6a3df0;stroke-width:1.2;stroke-dasharray:3 3;opacity:0;pointer-events:none;transition:opacity .12s}
.sm-pdot{fill:#fff;stroke:#6a3df0;stroke-width:3;opacity:0;pointer-events:none;transition:opacity .12s}
.sm-pt.is-peak .sm-pdot{opacity:1;stroke:#e5179b}
.sm-pt:hover .sm-cross,.sm-pt:hover .sm-pdot{opacity:1}
.sm-tip{position:absolute;z-index:50;transform:translate(-50%,-100%);max-width:260px;padding:8px 12px;border-radius:11px;background:#1d1238;color:#fff;font-size:12.5px;font-weight:700;line-height:1.35;box-shadow:0 12px 28px rgba(29,18,56,.35);pointer-events:none;white-space:nowrap}
.sm-tip[hidden]{display:none}

/* ---------- Produtividade: faixa de destaque ---------- */
.sm-prod-head{display:flex;gap:12px;align-items:center;margin:0 0 14px}
.sm-prod-day{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--sm-ink)}
.sm-prod-day input{margin:0;padding:8px 12px;border:1px solid var(--sm-line);border-radius:12px;background:#fff;font:inherit;color:var(--sm-text)}
.sm-prod-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 18px;padding:26px 30px;border-radius:26px;color:#fff;
  background:radial-gradient(120% 140% at 0% 0%,#2a1460 0%,#170c38 50%,#0e0826 100%);box-shadow:0 24px 60px rgba(23,12,56,.22)}
.sm-prod-hero-main{display:flex;flex-direction:column;gap:4px;min-width:260px;flex:1}
.sm-prod-hero-lbl{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#bff7de}
.sm-prod-hero-v{display:block;font-size:0;line-height:0}
.sm-prod-hero-v span{font-size:56px;line-height:1.05;font-weight:800;letter-spacing:-2px;color:#fff}
.sm-prod-hero-sub{font-size:13px;color:rgba(239,233,255,.75)}
.sm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sm-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);font-size:12.5px;font-weight:600;color:rgba(239,233,255,.85)}
.sm-chip i{width:9px;height:9px;border-radius:50%}
.sm-chip b{color:#fff;font-weight:800}
.sm-prod-hero-ring{flex:none}
.sm-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}
.sm-prod-pct{display:inline-block;min-width:56px;padding:3px 10px;border-radius:99px;text-align:center;font-weight:800;background:#f3f1f8;color:#6b6385}
.sm-prod-pct.hi{background:#e3f8ee;color:#0f8a5f}.sm-prod-pct.mid{background:#fff0dc;color:#b9610a}.sm-prod-pct.lo{background:#ffe6ea;color:#c4243f}
@media(max-width:860px){.sm-prod-grid{grid-template-columns:1fr}.sm-prod-hero{padding:22px}.sm-prod-hero-v span{font-size:44px}}

/* ---------- mapa, filtros e demais telas: mesmo tom ---------- */
.sm-geo{padding:20px 22px}
.sm-geo-map{border-radius:16px}
.sm-filter label,.sm-form label{font-size:12px;font-weight:700;color:var(--sm-muted)}
.sm-filter select,.sm-filter input,.sm-form input:not([type=checkbox]),.sm-form select{border-color:var(--sm-line);border-radius:12px;color:var(--sm-text);font-size:13px}
.sm-filter select:focus,.sm-filter input:focus,.sm-form input:focus,.sm-form select:focus{border-color:#6a3df0;outline:3px solid #6a3df026}
.sm-kv span,.sm-diag-k,.sm-diag-kv span,.sm-upd-k{color:var(--sm-muted)}
.sm-card-top strong,.sm-detail2-head h3,.sm-upd-val{color:var(--sm-ink);font-weight:800}
.sm-diag-metric{border-radius:14px;background:var(--sm-soft)}
.sm-diag-val{font-size:18px;font-weight:800}
.sm-tl2-split i.act{background:linear-gradient(90deg,#6a3df0,#e5179b)}
.sm-tl2-bar i{background:linear-gradient(90deg,#6a3df0,#e5179b)}
.sm-tl2-ico{border-radius:11px}
.sm-tl2-row:hover{background:#f6f2ff}
.sm-app-bar i{background:linear-gradient(90deg,#6a3df0,#e5179b)}
.sm-upd-rel{border-radius:14px}

/* ---------- animações de entrada (só com a classe sm-anim = 1ª pintura) ---------- */
.sm-anim .sm-seg,.sm-donut.sm-anim .sm-seg{animation:sm-seg-in .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 110ms)}
@keyframes sm-seg-in{from{stroke-dasharray:0 var(--c,276)}}
.sm-ring.sm-anim .sm-ring-arc{animation:sm-ring-in 1.3s cubic-bezier(.2,.8,.2,1) both}
@keyframes sm-ring-in{from{stroke-dasharray:0 var(--c,327)}}
.sm-hb.sm-anim .sm-hb-fill,.sm-hb.sm-anim .sm-rank-bar,.sm-pa-list.sm-anim .sm-pa-bar i{animation:sm-grow .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
.sm-pa-list.sm-anim li:nth-child(2) i{animation-delay:70ms}.sm-pa-list.sm-anim li:nth-child(3) i{animation-delay:140ms}.sm-pa-list.sm-anim li:nth-child(4) i{animation-delay:210ms}.sm-pa-list.sm-anim li:nth-child(5) i{animation-delay:280ms}
@keyframes sm-grow{from{width:0}}
.sm-area.sm-anim .sm-area-line{stroke-dasharray:1;animation:sm-draw 1.4s cubic-bezier(.3,.7,.2,1) both}
@keyframes sm-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.sm-area.sm-anim .sm-area-fill{animation:sm-fade 1.2s .5s ease both}
@keyframes sm-fade{from{opacity:0}}
.sm-dash-top.sm-anim .sm-stat{animation:sm-rise .5s cubic-bezier(.2,.8,.2,1) both}
.sm-dash-top.sm-anim .sm-stat:nth-child(2){animation-delay:60ms}.sm-dash-top.sm-anim .sm-stat:nth-child(3){animation-delay:120ms}.sm-dash-top.sm-anim .sm-stat:nth-child(4){animation-delay:180ms}.sm-dash-top.sm-anim .sm-stat:nth-child(5){animation-delay:240ms}
@keyframes sm-rise{from{opacity:0;transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){
  .sm-wrap *,.sm-wrap *::before,.sm-wrap *::after{animation:none!important;transition:none!important}
}

.sm-head{margin-bottom:30px}
.sm-geo{margin-top:22px}
.sm-filter,.sm-wall-tools{margin-bottom:20px}
.sm-wall-tools .sm-filter{margin-bottom:0}
.sm-dash-table.sm-tbl-flex{min-width:0}
.sm-stat.warn strong{color:#d9780f}

/* ---------- 1.4.298: Administração repaginada + botão/janela "Classificar apps" ---------- */
.sm-detail2-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sm-cls-open{display:inline-flex;align-items:center;gap:8px}
.sm-cls-open svg{width:17px;height:17px}

.sm-adm-kpis{margin-bottom:18px}
.sm-adm-note{display:flex;align-items:center;gap:13px;margin:0 0 18px;padding:13px 16px;border-radius:16px;border:1px solid #e6dcfb;background:linear-gradient(135deg,#f7f2ff,#fff4fb);font-size:13px;color:var(--sm-text)}
.sm-adm-note svg{flex:none;box-sizing:border-box;width:36px;height:36px;padding:9px;border-radius:12px;color:#a855f7;background:#fff;box-shadow:0 4px 12px rgba(168,85,247,.18)}
.sm-adm-note p{margin:0;line-height:1.55}
.sm-adm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sm-adm-full{grid-column:1/-1}
.sm-wrap .sm-adm{position:relative;overflow:hidden;margin:0;padding:24px 26px 24px}
.sm-adm::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--k,#6a3df0),#e5179b)}
.sm-adm-hd{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.sm-adm-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--k,#6a3df0);background:#f3effd;background:color-mix(in srgb,var(--k,#6a3df0) 13%,#fff)}
.sm-adm-ic svg{width:22px;height:22px}
.sm-adm-t{margin:0;font-size:16px;font-weight:800;letter-spacing:-.2px;color:var(--sm-ink)}
.sm-adm-s{margin:3px 0 0;font-size:12.5px;line-height:1.5;color:var(--sm-muted)}
.sm-adm-form .sm-adm-wide,.sm-adm-form .sm-count-note{grid-column:1/-1;max-width:none}
.sm-adm-form .sm-adm-w2{grid-column:span 2}
@media(max-width:640px){.sm-adm-form .sm-adm-w2{grid-column:1/-1}}
.sm-adm-form textarea{box-sizing:border-box;width:100%;min-height:84px;padding:10px 12px;border:1px solid var(--sm-line);border-radius:12px;font:inherit;font-size:13px;color:var(--sm-text);resize:vertical}
.sm-adm-form textarea:focus{border-color:#6a3df0;outline:3px solid #6a3df026}
.sm-adm-sws{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.sm-form .sm-adm-sw{flex-direction:row;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--sm-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.sm-adm-sw input{flex:none;width:18px;height:18px;margin:0;accent-color:#6a3df0}
.sm-adm-sw span{display:flex;flex-direction:column;gap:2px}
.sm-adm-sw b{font-size:13px;font-weight:800;color:var(--sm-ink)}
.sm-adm-sw small{font-size:12px;font-weight:500;color:var(--sm-muted)}
.sm-form .sm-adm-sw:hover{border-color:#cdb9ee}
.sm-form .sm-adm-sw:has(input:checked){border-color:#cdb9ee;background:#faf7ff;box-shadow:0 8px 18px -12px #6a3df0}
.sm-adm-tbl .sm-adm-act{text-align:right;white-space:nowrap}
@media(max-width:900px){.sm-adm-grid{grid-template-columns:1fr}.sm-wrap .sm-adm{padding:20px}}

.sm-cls{display:flex;flex-direction:column;gap:14px;min-width:min(780px,100%)}
.sm-cls-note{margin:0;font-size:13px;line-height:1.6;color:var(--sm-muted)}
.sm-cls-note b{color:var(--sm-ink)}
.sm-cls-warn{margin:0;padding:11px 14px;border-radius:12px;background:#fff6e8;border:1px solid #f6dcae;font-size:12.5px;line-height:1.55;color:#8a5a12}
.sm-cls-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sm-cls-q{flex:1 1 230px;box-sizing:border-box;min-height:40px;padding:9px 14px;border:1px solid var(--sm-line);border-radius:12px;background:#fff;font:inherit;font-size:13px;color:var(--sm-text)}
.sm-cls-q:focus{border-color:#6a3df0;outline:3px solid #6a3df026}
.sm-cls-sum{display:flex;gap:8px;flex-wrap:wrap}
.sm-cls-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--sm-soft);font-size:12px;font-weight:700;color:var(--sm-muted)}
.sm-cls-chip i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.sm-cls-chip b{color:var(--sm-ink)}
.sm-cls-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:56vh;overflow:auto}
.sm-cls-empty{padding:30px;text-align:center;color:var(--sm-muted)}
.sm-cls-app{border:1px solid var(--sm-line);border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(29,18,56,.04)}
.sm-cls-row,.sm-cls-host{display:grid;gap:12px;align-items:center;padding:11px 14px}
.sm-cls-row{grid-template-columns:auto minmax(0,1fr) auto}
.sm-cls-hosts{list-style:none;margin:0;padding:2px 0 6px;border-top:1px solid #f1edf9}
.sm-cls-host{grid-template-columns:minmax(0,1fr);row-gap:8px;padding:10px 14px 12px 54px}
.sm-cls-host .sm-cls-seg{display:flex;width:100%;box-sizing:border-box}
.sm-cls-host .sm-cls-b{flex:1 1 auto;text-align:center}
.sm-cls-host+.sm-cls-host{border-top:1px dashed #f1edf9}
.sm-cls-tg{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:9px;background:var(--sm-soft);color:var(--sm-muted);cursor:pointer;transition:background .12s,transform .15s}
.sm-cls-tg svg{width:16px;height:16px}
.sm-cls-tg[aria-expanded=true]{transform:rotate(90deg);background:#efe7ff;color:#6a3df0}
.sm-cls-tg:disabled{opacity:.35;cursor:default}
.sm-cls-nm{display:flex;flex-direction:column;gap:2px;min-width:0}
.sm-cls-nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:800;color:var(--sm-ink)}
.sm-cls-nm small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--sm-muted)}
.sm-cls-host .sm-cls-nm b{font-weight:700;font-size:13px}
.sm-cls-t{font-weight:800;color:var(--sm-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sm-cls-seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:#f3f0fa}
.sm-cls-b{padding:6px 11px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:12px;font-weight:700;color:var(--sm-muted);white-space:nowrap;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}
.sm-cls-b:hover{background:#fff;color:var(--sm-ink)}
.sm-cls-b.on{color:#fff;background:var(--c);box-shadow:0 6px 14px -6px var(--c)}
.sm-cls-b:disabled{opacity:.55;cursor:wait}
.sm-cls-b:focus-visible,.sm-cls-tg:focus-visible{outline:3px solid #6a3df055;outline-offset:2px}
.sm-cls-b.k-produtivo{--c:#12a572}.sm-cls-b.k-neutro{--c:#8b6cf0}.sm-cls-b.k-restritivo{--c:#e5484d}.sm-cls-b.k-sistema{--c:#2f8cff}.sm-cls-b.k-herdar{--c:#6b6385}
@media(max-width:760px){.sm-cls-row{grid-template-columns:auto minmax(0,1fr)}.sm-cls-row .sm-cls-seg{grid-column:1/-1;display:flex}.sm-cls-row .sm-cls-b{flex:1 1 auto;text-align:center}
  .sm-cls-host{padding-left:14px}.sm-cls-seg{flex-wrap:wrap}}

/* 1.4.307: Conformidade RH na aba Relatório do Monitor */
.sm-dash-top+.cp-card,.sm-dash-top+.cp-empty{margin-top:16px}
.sm-hr-st{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#f1edf7;color:#6b5c7a;white-space:nowrap}
.sm-hr-ok{background:#e3f6ec;color:#0c7a4b}.sm-hr-bad{background:#fde8e7;color:#b42318}.sm-hr-unsure{background:#fff3df;color:#9a5b00}
.sm-hr-title{margin:22px 0 8px;font-size:15px;font-weight:700}
.sm-hr-notes{margin:14px 0 0;padding-left:18px;font-size:12px;line-height:1.6}
.sm-report td{vertical-align:top}
/* 1.4.318: Instalação do Smart Monitor (equipe de TI) */
.mi-wrap{padding:8px 4px}.mi-wrap h2{margin:0 0 6px}
.mi-cards{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.mi-card{display:flex;flex-direction:column;gap:6px;border:1px solid #e6e0ee;border-radius:12px;padding:12px 14px;min-width:190px}
.mi-bar{margin:10px 0}.mi-bar input{width:100%;max-width:380px}
.mi-table{width:100%;border-collapse:collapse;font-size:13px}.mi-table th,.mi-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #eee8f3;vertical-align:top}
.mi-st{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#f1edf7;color:#6b5c7a;white-space:nowrap}
.mi-st-on{background:#e3f6ec;color:#0c7a4b}.mi-st-off{background:#fde8e7;color:#b42318}.mi-st-pending{background:#fff3df;color:#9a5b00}
.mi-machine{margin-bottom:4px}.mi-code-box{margin:8px 0 0;font-size:12px}.mi-code-box code{font-size:15px;font-weight:700;user-select:all}

/* 1.4.327: andamento da cópia (servidor de imagens) */
.sm-off-bar{height:14px;border-radius:999px;background:#ece8f4;overflow:hidden;margin:4px 0 6px}
.sm-off-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5b4bd6,#7b6cf0);transition:width .6s ease}
.sm-off-bar-txt,.sm-off-batch{margin:2px 0 10px;font-size:13px;color:#3b3550}
.sm-off-batch code{font-size:12px}
.sm-off-chart{display:flex;align-items:flex-end;gap:3px;height:96px;margin:10px 0 4px;padding-bottom:16px}
.sm-off-col{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;min-width:6px}
.sm-off-col>i{display:block;width:100%;background:#7b6cf0;border-radius:3px 3px 0 0;min-height:0}
.sm-off-col>b{position:absolute;left:0;right:0;bottom:-16px;text-align:center;font-size:10px;font-weight:600;color:#7a6f90}
