
:root{
  --sidebar:#2d86b8;
  --sidebar2:#257cad;
  --ink:#112a59;
  --muted:#5f7699;
  --bg:#f5f8fc;
  --surface:#ffffff;
  --line:#dce7f1;
  --blue:#2f83d6;
  --green:#22b768;
  --red:#e84b53;
  --orange:#ff922b;
  --purple:#7d53e7;
  --shadow:0 6px 18px rgba(28,78,120,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:14px;
  line-height:1.42;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh}

/* SIDEBAR */
.sidebar{
  position:fixed;inset:0 auto 0 0;
  width:212px;
  background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar2) 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  overflow-x:hidden;
  z-index:25;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
.sidebar-brand{padding:18px 12px 14px;text-align:center}
.sidebar-logo{
  width:145px;height:170px;object-fit:contain;display:block;margin:0 auto 5px;
  filter:drop-shadow(0 4px 7px rgba(0,43,72,.16));
}
.sidebar-product{font-size:18px;font-weight:800;line-height:1.1}
.sidebar-subtitle{font-size:11px;color:#edf8ff;margin-top:5px}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:4px 11px 18px}
.sidebar-nav a{
  min-height:43px;padding:9px 11px;border-radius:10px;
  display:flex;align-items:center;gap:10px;
  font-size:13px;font-weight:700;color:#f8fcff
}
.sidebar-nav a:hover{background:rgba(255,255,255,.1)}
.sidebar-nav a.active{
  background:#edf7ff;color:#12629c;
  box-shadow:0 5px 13px rgba(16,74,111,.14)
}
.nav-icon{width:20px;text-align:center;font-size:15px}
.nav-label{flex:1}
.nav-count{
  width:24px;height:24px;border-radius:50%;
  background:#f25454;color:#fff;
  display:grid;place-items:center;font-size:11px
}
.sidebar-bottom{margin-top:auto;padding:14px 13px 18px}
.sidebar-status{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 11px;border-radius:10px;background:rgba(18,91,136,.42);
  font-size:11px;font-weight:800
}
.sidebar-status span{width:11px;height:11px;border-radius:50%;background:#3fe17c;box-shadow:0 0 0 4px rgba(63,225,124,.18)}
.sidebar-version{font-size:10.5px;line-height:1.55;color:#edf7fd;margin-top:13px}

/* MAIN */
.main-shell{margin-left:212px;min-height:100vh}
.app-topbar{
  height:58px;background:#fff;border-bottom:1px solid #dfe8f2;
  display:flex;align-items:center;gap:18px;padding:0 28px;
  position:sticky;top:0;z-index:18
}
.welcome{display:flex;align-items:center;gap:9px;min-width:270px}
.welcome-avatar{font-size:22px}
.welcome-copy strong,.welcome-copy span{display:block}
.welcome-copy strong{font-size:14px}
.welcome-copy span{font-size:10.5px;color:#62799b}
.global-search{
  margin-left:auto;width:min(380px,35vw);height:38px;
  border:1px solid #d4e0ec;border-radius:9px;background:#fff;
  display:flex;align-items:center;gap:8px;padding:0 11px
}
.global-search input{border:0!important;outline:0!important;box-shadow:none!important;height:auto!important;min-height:0!important;padding:0!important;font-size:12px}
.search-icon{font-size:18px;color:#496f9f}
.top-actions{display:flex;align-items:center;gap:12px}
.notification{position:relative;font-size:16px;color:#315e91}
.notification b{position:absolute;right:-8px;top:-8px;width:18px;height:18px;border-radius:50%;background:#ef5757;color:#fff;display:grid;place-items:center;font-size:9px}
.user-chip{width:36px;height:36px;border-radius:50%;background:#1671aa;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.user-chevron{font-size:18px;color:#335f91}

.content{padding:20px 22px 16px;max-width:1600px}
.page-heading{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-bottom:15px
}
.page-heading-copy h1{font-size:29px;line-height:1.05;margin:0;letter-spacing:-.4px}
.page-heading-copy p{font-size:13px;color:#536e92;margin:4px 0 0}
.heading-widgets{display:flex;gap:10px;align-items:stretch}
.quick-status,.clock-card{
  min-width:214px;background:#fff;border:1px solid #dbe7f0;border-radius:13px;
  padding:10px 13px;display:flex;align-items:center;gap:10px
}
.quick-status.success{background:#ebfbf2;border-color:#ccefd9}
.quick-status.sync{background:#eef7ff;border-color:#d3e6f8}
.quick-icon{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.8);display:grid;place-items:center;font-size:18px;color:#146aa9}
.quick-status strong,.quick-status span{display:block}
.quick-status strong{font-size:12px}
.quick-status span{font-size:9.5px;color:#5d7798;margin-top:2px}
.clock-card{min-width:190px;display:block;text-align:right}
.clock-card span{display:block;font-size:9px;color:#60789a;text-transform:capitalize}
.clock-card strong{display:block;font-size:24px;line-height:1.05;margin-top:3px}

/* DASH METRICS */
.metric-strip{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:9px;margin-bottom:13px;box-shadow:var(--shadow)
}
.metric{
  min-height:116px;border-radius:13px;padding:14px 13px;display:flex;gap:11px;align-items:flex-start
}
.metric-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:rgba(255,255,255,.68);display:grid;place-items:center;font-size:18px;font-weight:900}
.metric small,.metric strong,.metric em{display:block}
.metric small{font-size:10.5px;font-weight:800;line-height:1.25}
.metric strong{font-size:27px;line-height:1;margin:6px 0}
.metric em{font-size:10px;font-style:normal;color:#5a7393;line-height:1.3}
.pastel-blue{background:#edf6ff}.pastel-green{background:#ebfaf1}.pastel-purple{background:#f1edff}.pastel-orange{background:#fff4e8}.pastel-red{background:#fff0f2}.pastel-cyan{background:#eef8ff}
.pastel-blue .metric-icon{color:#176ed0}.pastel-green .metric-icon{color:#139b55}.pastel-purple .metric-icon{color:#6639d8}.pastel-orange .metric-icon{color:#ef7a10}.pastel-red .metric-icon{color:#d92330}.pastel-cyan .metric-icon{color:#2676cc}

/* PANELS */
.panel,.card{
  background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:14px
}
.dash-grid{display:grid;gap:12px;margin-bottom:12px}
.dash-top{grid-template-columns:1.45fr .95fr}
.dash-middle{grid-template-columns:1.15fr 1fr}
.dash-bottom{grid-template-columns:1fr 1fr}
.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.panel-icon{width:38px;height:38px;border-radius:10px;background:#edf6ff;color:#176ec5;display:grid;place-items:center;font-size:18px;flex:0 0 38px}
.panel-title>div:nth-child(2){flex:1}
.panel-title h2{font-size:16px;margin:0}
.panel-title p{font-size:11px;color:#657b98;margin:2px 0 0}
.panel-action{background:#edf6ff;color:#1469aa;padding:8px 12px;border-radius:8px;font-size:10.5px;font-weight:800}

/* TABLES */
.table-wrap{overflow:auto}
.clean-table,table{width:100%;border-collapse:collapse}
.clean-table thead th,th{
  background:#f0f5fa;color:#385b86;text-align:left;
  font-size:10px;text-transform:uppercase;letter-spacing:.22px;
  padding:8px 10px
}
.clean-table thead th:first-child,th:first-child{border-radius:8px 0 0 8px}
.clean-table thead th:last-child,th:last-child{border-radius:0 8px 8px 0}
.clean-table td,td{
  font-size:12px;padding:9px 10px;border-bottom:1px solid #e5edf4;vertical-align:middle
}
.clean-table tr:last-child td,tbody tr:last-child td{border-bottom:0}
td small{font-size:10.5px}
.empty{text-align:center;color:#7287a2;padding:22px!important}
.mono{font-family:Consolas,monospace;font-size:11px}
.badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:9.5px;font-weight:850;text-transform:uppercase}
.badge.active,.badge.accept,.badge.authorized,.badge.synced,.badge.approved{background:#dff8e8;color:#167a43}
.badge.reject,.badge.rejected,.badge.blocked,.badge.error{background:#fde6e7;color:#b43c44}
.badge.pending{background:#fff0cc;color:#986900}
.badge.neutral,.badge.recognized{background:#edf2f6;color:#596d82}

/* HEALTH */
.health-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding:9px 6px;border-bottom:1px solid #e8eef5;font-size:12px}
.health-row:last-child{border-bottom:0}
.health-dot{width:9px;height:9px;border-radius:50%}
.health-dot.ok{background:#1fbd66}.health-dot.bad{background:#e55353}
.health-row b{font-size:10px;padding:5px 10px;border-radius:999px}
.health-row b.ok-text{background:#ddf8e8;color:#147b44}
.health-row b.bad-text{background:#fde8e8;color:#b13c3c}

/* GROUP BARS */
.group-bars{height:165px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:end;padding:4px 14px 0}
.group-bar{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.group-bar strong{font-size:24px}
.bar-track{height:76px;width:82px;display:flex;align-items:flex-end;border-bottom:1px solid #dbe5ef;margin:6px 0 7px}
.bar-track div{width:100%;border-radius:6px 6px 0 0}
.group-bar b{font-size:11px}
.group-bar span{font-size:9.5px;color:#60789a;margin-top:2px}

/* INTERNAL PAGES */
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e5edf4}
.section-title h2{margin:0;font-size:16px}.section-title p{margin:2px 0 0;font-size:11px;color:#657b98}
.page-card{border-radius:15px;border:1px solid #dbe7f1;box-shadow:var(--shadow)}
.page-card + .page-card, .page-card + details.page-card, details.page-card + .page-card{margin-top:12px!important}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;background:#f8fbfd;border:1px solid #e4edf4;border-radius:10px;padding:9px}
.toolbar form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.search{min-width:290px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}
.field label{font-size:11.5px;font-weight:800;color:#304f76}
.field small,.field .muted{font-size:10.5px}
input,select,textarea{width:100%;min-height:40px;border:1px solid #d5e1ec;border-radius:9px;background:#fff;padding:8px 10px;font-size:12.5px;outline:0}
input:focus,select:focus,textarea:focus{border-color:#68a6cf;box-shadow:0 0 0 3px rgba(64,143,194,.1)}
textarea{min-height:82px;resize:vertical}
.btn{border:0;border-radius:9px;background:#2178ad;color:#fff;min-height:36px;padding:8px 12px;font-size:11.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.btn.secondary{background:#edf4f8;color:#315c7c}.btn.danger{background:#d95252}.compact{min-height:31px;padding:6px 9px;font-size:10.5px}
.actions{display:flex;gap:5px;flex-wrap:wrap}.inline{display:inline}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs a{background:#eff5f9;color:#526e8b;border-radius:8px;padding:7px 10px;font-size:10.5px;font-weight:800}.tabs a.active{background:#2478ad;color:#fff}
.security-note{background:#f5f9fc;border:1px solid #dce6ef;border-radius:9px;padding:11px 12px;color:#5f7289;font-size:11.5px}
.check-row{display:flex;gap:10px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:4px;font-size:11px}.check-row input{width:auto;min-height:auto}
.policy-grid{display:grid;grid-template-columns:1.55fr .9fr;gap:12px}.sticky-form{position:sticky;top:70px;align-self:start}
.button-row{display:flex;gap:7px;flex-wrap:wrap}
.alert{padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:11.5px}.alert.success{background:#e8f8ee;color:#257847;border:1px solid #ccebd7}.alert.error{background:#fdecec;color:#a43d3d;border:1px solid #f2caca}

/* REPORT METRICS */
.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.report-metric{min-height:94px;border:1px solid #e0eaf2;border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 13px rgba(36,92,132,.055)}
.report-metric small,.report-metric strong,.report-metric em{display:block}
.report-metric small{font-size:9.5px;font-weight:800}.report-metric strong{font-size:22px;line-height:1;margin:4px 0}.report-metric em{font-size:9.5px;font-style:normal;color:#617b98}

/* FOOTER */
.app-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:center;color:#6f85a0;font-size:9.5px;padding:12px 3px 2px}
.app-footer span:nth-child(2){text-align:center}
.footer-slogan{text-align:right!important;color:#dc3131;font-style:italic;font-weight:700;font-family:"Segoe Script","Brush Script MT",cursive;font-size:13px}

/* LOGIN */
.auth-content{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#2479aa,#318abd);padding:24px}
.login-shell{width:min(900px,100%);background:#fff;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 28px 70px rgba(12,52,80,.28)}
.login-brand-panel{background:#f2f8fb;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.login-logo{width:255px;height:285px;object-fit:contain}
.login-brand-copy h1{font-size:29px;margin:4px 0;text-align:center}
.login-brand-copy p{font-size:12.5px;color:#667c96;text-align:center}
.login-box{padding:44px}
.login-box-head h2{font-size:25px;margin:4px 0}.login-box-head p{font-size:12.5px;color:#70819a;margin:0 0 20px}
.login-security{text-align:center;font-size:10px;color:#93a1b0;margin-top:14px}

@media(max-width:1350px){
  .metric-strip{grid-template-columns:repeat(3,1fr)}
  .heading-widgets{flex-wrap:wrap;justify-content:flex-end}
  .dash-top,.dash-middle,.dash-bottom{grid-template-columns:1fr}
  .group-bars{max-width:760px}
}
@media(max-width:1050px){
  .sidebar{width:190px}.main-shell{margin-left:190px}
  .sidebar-logo{width:128px;height:150px}
  .content{padding-left:16px;padding-right:16px}
  .app-topbar{padding-left:16px;padding-right:16px}
  .welcome{min-width:220px}.global-search{display:none}
  .page-heading{display:block}.heading-widgets{margin-top:12px;justify-content:flex-start}
}
@media(max-width:760px){
  .sidebar{position:static;width:100%;max-height:none}
  .main-shell{margin-left:0}
  .sidebar-logo{width:100px;height:110px}
  .sidebar-nav{display:grid;grid-template-columns:1fr 1fr}
  .sidebar-bottom{display:none}
  .app-topbar{position:static;height:auto;padding:10px 12px}
  .welcome{min-width:0;flex:1}.top-actions{margin-left:auto}
  .content{padding:14px 10px}.page-heading h1{font-size:24px}
  .heading-widgets{display:grid;grid-template-columns:1fr}.quick-status,.clock-card{min-width:0}
  .metric-strip{grid-template-columns:1fr}
  .form-grid,.policy-grid{grid-template-columns:1fr}.field.full{grid-column:1}
  .sticky-form{position:static}
  .toolbar,.toolbar form{align-items:stretch;flex-direction:column}
  .search{min-width:0}
  .report-metrics{grid-template-columns:1fr}
  .group-bars{grid-template-columns:repeat(5,minmax(78px,1fr));overflow:auto}
  .app-footer{grid-template-columns:1fr}.app-footer span,.app-footer span:nth-child(2),.footer-slogan{text-align:left!important}
  .login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-box{padding:28px 22px}
}


/* ============================================================
   v2.7 — IMPORTAÇÃO DIÁRIO ESCOLA
   ============================================================ */
.import-hero{margin-bottom:12px}
.import-rules{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:4px 0 14px;
}
.import-rules>div{
  background:#f6faff;
  border:1px solid #dfeaf4;
  border-radius:11px;
  padding:12px;
  min-height:84px;
}
.import-rules strong{
  display:block;
  color:#1b5f94;
  font-size:11.5px;
  margin-bottom:5px;
}
.import-rules span{
  display:block;
  color:#647b98;
  font-size:10.5px;
  line-height:1.4;
}
.import-upload{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:end;
  background:#fbfdff;
  border:1px dashed #bfd4e5;
  border-radius:12px;
  padding:14px;
}
.import-upload .btn{min-width:150px}
.import-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.classification-line{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 11px;
}
.classification-line span{
  background:#f0f6fb;
  border:1px solid #e0e9f2;
  border-radius:999px;
  padding:6px 10px;
  color:#526d8c;
  font-size:10.5px;
}
.import-table .row-ignored td{
  background:#fafbfc;
  color:#8996a5;
}
.import-table td:last-child{min-width:240px}
@media(max-width:1200px){
  .import-rules{grid-template-columns:repeat(2,1fr)}
  .import-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .import-rules,.import-summary{grid-template-columns:1fr}
  .import-upload{grid-template-columns:1fr}
  .import-upload .btn{width:100%}
}


/* ============================================================
   v2.8 — CREDENCIAIS EM LOTE
   ============================================================ */
.delivery-result{
  border-color:#bfe7cf;
  background:linear-gradient(180deg,#ffffff,#fbfffc);
  margin-bottom:12px;
}
.delivery-password{
  font-weight:850;
  letter-spacing:.35px;
  color:#173c66;
  white-space:nowrap;
}
.bulk-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:#f5f9fc;
  border:1px solid #e0eaf2;
  border-radius:10px;
  padding:9px 11px;
  margin-bottom:10px;
  font-size:11px;
  color:#5d7390;
}
.bulk-toolbar label{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:800;
  color:#244e77;
  white-space:nowrap;
}
.bulk-toolbar input,.bulk-person{
  width:auto;
  min-height:auto;
}
.bulk-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  margin-top:12px;
}
.bulk-actions .security-note{margin:0}
@media(max-width:760px){
  .bulk-toolbar{align-items:flex-start;flex-direction:column}
  .bulk-actions{grid-template-columns:1fr}
  .bulk-actions .btn{width:100%}
}


/* ============================================================
   v2.9 — MINHA CONTA / TROCA DE SENHA
   ============================================================ */
.login-self-service{
  margin-top:12px;
  text-align:center;
  font-size:11.5px;
}
.login-self-service a{
  color:#1c6fa8;
  font-weight:800;
}
.login-self-service a:hover{text-decoration:underline}

.self-service-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(135deg,#1f719f,#328cbd);
  display:grid;
  place-items:center;
  padding:28px;
}
.self-service-shell{
  width:min(920px,100%);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(11,51,77,.30);
}
.self-service-brand{
  background:#edf7fc;
  padding:38px 32px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.self-service-brand img{
  width:245px;
  max-width:100%;
  height:285px;
  object-fit:contain;
}
.self-service-brand h1{
  margin:8px 0 5px;
  font-size:29px;
  color:#14375f;
}
.self-service-brand p{
  margin:0;
  max-width:310px;
  color:#667f99;
  font-size:13px;
  line-height:1.55;
}
.self-service-card{padding:42px 44px}
.self-service-kicker{
  display:block;
  color:#2b79ad;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:900;
}
.self-service-card-head h2{
  margin:5px 0;
  font-size:26px;
}
.self-service-card-head p{
  margin:0 0 21px;
  color:#6b7f97;
  font-size:12.5px;
}
.self-service-card form{
  display:flex;
  flex-direction:column;
  gap:13px;
}
.self-service-card .field small{
  color:#71859b;
  font-size:10.5px;
}
.self-service-submit{
  width:100%;
  margin-top:3px;
}
.self-service-info{
  margin-top:18px;
  padding:12px 13px;
  background:#f6f9fc;
  border:1px solid #e0e9f1;
  border-radius:10px;
}
.self-service-info strong,
.self-service-info span{display:block}
.self-service-info strong{font-size:11.5px;color:#355775}
.self-service-info span{font-size:10.5px;color:#71849a;margin-top:3px}
.self-service-admin-link{
  display:block;
  text-align:center;
  margin-top:15px;
  color:#2676a9;
  font-size:11px;
  font-weight:800;
}
@media(max-width:760px){
  .self-service-shell{grid-template-columns:1fr}
  .self-service-brand{padding:22px}
  .self-service-brand img{width:150px;height:170px}
  .self-service-brand h1{font-size:23px}
  .self-service-card{padding:27px 22px}
}


/* ============================================================
   v2.9.1 — ACESSO RÁPIDO AO PORTAL DO USUÁRIO
   ============================================================ */
.portal-user-card{overflow:hidden}
.portal-link-box{
  display:grid;
  grid-template-columns:minmax(230px,.85fr) minmax(360px,1.15fr);
  gap:16px;
  align-items:center;
  background:linear-gradient(135deg,#f2f9fd,#f8fcff);
  border:1px solid #d9e8f2;
  border-radius:13px;
  padding:14px;
  margin-bottom:12px;
}
.portal-link-info{
  display:flex;
  align-items:center;
  gap:11px;
}
.portal-link-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#e3f2fb;
  color:#176fa7;
  font-size:19px;
  font-weight:900;
}
.portal-link-info strong,
.portal-link-info span{display:block}
.portal-link-info strong{
  font-size:13px;
  color:#183d63;
}
.portal-link-info span{
  font-size:10.5px;
  color:#687f99;
  margin-top:3px;
}
.portal-link-actions{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.portal-link-actions input{
  background:#fff;
  color:#315875;
  font-family:Consolas,monospace;
  font-size:11.5px;
}
.copy-success{
  background:#dff7e8!important;
  color:#157647!important;
}
@media(max-width:1000px){
  .portal-link-box{grid-template-columns:1fr}
}
@media(max-width:760px){
  .portal-link-actions{grid-template-columns:1fr}
  .portal-link-actions .btn{width:100%}
}

/* =========================================================
   GESTÃO WI-FI CCP v3.0 — DESIGN SYSTEM / UX PROFISSIONAL
   ========================================================= */
:root{--sidebar:#123f6d;--sidebar2:#0b2f55;--ink:#102a43;--muted:#64748b;--bg:#f3f7fb;--surface:#fff;--line:#e1eaf2;--blue:#2677d9;--green:#17a864;--red:#dc4c55;--orange:#f59e42;--purple:#7758d9;--shadow:0 8px 28px rgba(31,67,105,.075);--shadow-hover:0 16px 38px rgba(31,67,105,.13)}
body{background:linear-gradient(180deg,#f7faff 0,#f2f6fa 420px);font-size:14px}.sidebar{width:238px;background:linear-gradient(180deg,#174f7e 0%,#0d385f 52%,#092b4c 100%);box-shadow:10px 0 35px rgba(14,48,79,.08)}.main-shell{margin-left:238px}.sidebar-brand{padding:20px 16px 15px}.sidebar-logo{width:148px;height:156px}.sidebar-product{font-size:20px}.version-pill{display:inline-flex;margin-top:8px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;font-weight:900;letter-spacing:.6px}.sidebar-nav{padding:7px 13px 20px;gap:5px}.sidebar-nav a{min-height:45px;border-radius:11px;padding:10px 12px;color:#eaf5ff;font-size:12.5px}.sidebar-nav a.active{background:#fff;color:#175d92;box-shadow:0 10px 24px rgba(4,32,56,.22)}.nav-icon{font-size:16px}.app-topbar{height:66px;padding:0 30px;border-bottom:1px solid #e7edf4;box-shadow:0 2px 14px rgba(22,56,87,.035)}.content{padding:25px 28px 20px;max-width:1720px}.page-heading{margin-bottom:20px}.page-heading-copy h1{font-size:30px;font-weight:800;letter-spacing:-.65px}.page-heading-copy p{font-size:12.5px;color:#718198}.global-search{width:min(450px,38vw);height:41px;background:#f8fafc;border-color:#dce5ee;border-radius:11px}.user-chip{box-shadow:0 5px 14px rgba(22,113,170,.2)}
.panel,.card{border:1px solid #e2eaf2;border-radius:17px;box-shadow:var(--shadow);padding:18px}.panel:hover{box-shadow:var(--shadow-hover);transition:.2s}.page-card{border-radius:17px}.section-title{padding-bottom:13px;margin-bottom:15px}.section-title h2,.panel-title h2{font-size:16px;font-weight:800}.section-title p,.panel-title p{font-size:11.5px}.toolbar{padding:11px;border-radius:12px;background:#f8fafc}.btn{border-radius:10px;min-height:38px;padding:8px 14px}.btn:not(.secondary):not(.danger){background:linear-gradient(135deg,#2679b7,#17649c);box-shadow:0 5px 12px rgba(31,112,166,.16)}input,select,textarea{min-height:42px;border-radius:10px}.clean-table thead th,th{background:#f4f7fa;color:#526b85;padding:10px 11px}.clean-table td,td{padding:11px;font-size:12px}.badge{padding:5px 9px}.panel-action{border:1px solid #d9e9f7;background:#f2f8fd;border-radius:9px}.metric-strip{background:transparent;border:0;box-shadow:none;padding:0;gap:12px}.metric{background:#fff!important;border:1px solid #e3ebf3;box-shadow:var(--shadow);min-height:112px;padding:16px;border-radius:16px;align-items:center}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);transition:.2s}.metric-icon{width:46px;height:46px;flex-basis:46px}.metric small{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#718096}.metric strong{font-size:29px;color:#163b63}.metric em{font-size:10.5px}.pastel-blue .metric-icon{background:#eaf4ff}.pastel-green .metric-icon{background:#e9f9f0}.pastel-purple .metric-icon{background:#f0edff}.pastel-orange .metric-icon{background:#fff3e5}.pastel-red .metric-icon{background:#fff0f1}.pastel-cyan .metric-icon{background:#eaf8fb}
.executive-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:21px 24px;margin-bottom:15px;border-radius:19px;color:#fff;background:linear-gradient(118deg,#123f6d 0%,#176b9f 58%,#2a8db8 100%);box-shadow:0 14px 34px rgba(18,63,109,.18);position:relative;overflow:hidden}.executive-hero:after{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(255,255,255,.055);border-radius:50%;right:-80px;top:-105px}.executive-hero h2{font-size:22px;margin:3px 0}.executive-hero p{margin:0;color:#d9effc;font-size:12px}.eyebrow{font-size:9.5px;font-weight:900;letter-spacing:1.15px;text-transform:uppercase}.hero-health{position:relative;z-index:1;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:11px 14px;min-width:255px}.hero-health strong,.hero-health small{display:block}.hero-health small{color:#d9effc;font-size:9.5px;margin-top:2px}.pulse-dot{width:12px;height:12px;border-radius:50%;background:#4ce18a;box-shadow:0 0 0 6px rgba(76,225,138,.15)}
.v3-primary{grid-template-columns:1.65fr .75fr;margin-top:14px}.v3-secondary{grid-template-columns:1.15fr 1fr}.analytics-panel{min-height:315px}.chart-legend{display:flex;gap:16px;justify-content:flex-end;font-size:10px;color:#6d7f92;margin:-3px 5px 8px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:50%}.legend-ok{background:#2f7df4}.legend-bad{background:#e65c65}.trend-chart{height:205px;display:grid;grid-template-columns:repeat(7,1fr);gap:13px;align-items:end;border-bottom:1px solid #dfe7ef;padding:10px 12px 0;background:repeating-linear-gradient(to bottom,#fff 0,#fff 50px,#edf2f6 51px)}.trend-day{height:100%;display:grid;grid-template-rows:20px 1fr 25px;align-items:end;text-align:center}.trend-value{font-size:10px;font-weight:800;color:#5f7287}.trend-bars{height:145px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.trend-bars i{display:block;width:16px;min-height:2px;border-radius:5px 5px 1px 1px}.trend-bars .accept{background:linear-gradient(180deg,#5fa0f8,#2878df)}.trend-bars .reject{background:#e96770}.trend-day span{font-size:10px;color:#708196;padding-top:6px}.infrastructure-panel .health-row{padding:11px 7px}.v3-bars{height:205px}.v3-bars .bar-track{height:105px;width:64px;background:#f4f7fa;border-radius:7px 7px 0 0}.device-composition{display:grid;gap:18px;padding:10px 5px}.composition-row{display:grid;grid-template-columns:120px 1fr 40px;gap:12px;align-items:center}.composition-row strong,.composition-row span{display:block}.composition-row strong{font-size:11.5px}.composition-row span{font-size:9.5px;color:#8190a1}.composition-track{height:9px;background:#edf2f6;border-radius:999px;overflow:hidden}.composition-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fe0,#36a4c9)}.composition-row b{font-size:11px;text-align:right;color:#4f6680}.activity-panel{margin-top:12px}.activity-feed{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.activity-item{display:flex;gap:9px;padding:11px;background:#f8fafc;border:1px solid #edf1f5;border-radius:11px}.activity-dot{width:8px;height:8px;border-radius:50%;background:#2e82d5;margin-top:5px;flex:none}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:10.5px}.activity-item small{font-size:9px;color:#77889a;margin-top:3px}.mobile-menu{display:none}
/* páginas internas v3 */
.page-card>.section-title:first-child{background:linear-gradient(90deg,#fbfdff,#f7fbfe);margin:-18px -18px 16px;padding:16px 18px 14px;border-radius:17px 17px 0 0}.tabs a{padding:8px 12px;border-radius:9px}.tabs a.active{background:#176ba3}.report-metric,.analytics-card{border-radius:15px!important;box-shadow:var(--shadow)!important}.security-note{border-radius:11px}.alert{border-radius:12px}.login-shell{border-radius:24px;box-shadow:0 32px 80px rgba(7,39,66,.3)}.login-brand-panel{background:linear-gradient(145deg,#eef7fc,#f8fbfd)}.login-submit{min-height:45px}.app-footer{margin-top:12px;border-top:1px solid #e4ebf2;padding-top:16px}
@media(max-width:1350px){.sidebar{width:220px}.main-shell{margin-left:220px}.v3-metrics{grid-template-columns:repeat(3,1fr)}.v3-primary,.v3-secondary{grid-template-columns:1fr}.activity-feed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.mobile-menu{display:grid;position:fixed;z-index:30;left:12px;top:13px;width:40px;height:40px;place-items:center;border:0;border-radius:10px;background:#174f7e;color:#fff}.welcome{margin-left:38px;min-width:auto}.global-search{display:none}.content{padding:18px 14px}.page-heading{align-items:flex-start;flex-direction:column}.heading-widgets{width:100%}.executive-hero{align-items:flex-start;flex-direction:column}.hero-health{width:100%}.v3-metrics{grid-template-columns:repeat(2,1fr)}.dash-grid,.dash-top,.dash-middle,.dash-bottom{grid-template-columns:1fr}.activity-feed{grid-template-columns:1fr}.form-grid,.policy-grid{grid-template-columns:1fr}.search{min-width:0}.app-footer{grid-template-columns:1fr;text-align:center}.footer-slogan,.app-footer span:nth-child(2){text-align:center!important}}
@media(max-width:560px){.v3-metrics{grid-template-columns:1fr}.metric{min-height:92px}.heading-widgets{display:none}.trend-chart{gap:5px;padding-left:2px;padding-right:2px}.trend-bars i{width:10px}.composition-row{grid-template-columns:90px 1fr 34px}.app-topbar{padding:0 12px}.top-actions{margin-left:auto}}

/* =========================================================
   v3.0.1 — FIDELIDADE AO MOCKUP / REFINAMENTO EXECUTIVO
   ========================================================= */
@media(min-width:1351px){
  .content{padding:26px 30px 22px;max-width:none}
  .page-heading{min-height:68px;margin-bottom:20px}
  .page-heading-copy{min-width:350px}
  .heading-widgets{margin-left:auto}
  .quick-status{min-width:225px;padding:11px 14px}
  .clock-card{min-width:190px}
}
.executive-hero{min-height:122px;padding:24px 28px;margin-bottom:17px}
.executive-hero h2{font-size:25px;letter-spacing:-.35px}.executive-hero p{font-size:12.5px}
.v3-metrics{gap:14px;margin-bottom:16px}.v3-metrics .metric{min-height:126px;padding:18px 16px}.v3-metrics .metric strong{font-size:31px}
.v3-primary,.v3-secondary,.dash-bottom{gap:16px;margin-bottom:16px}.panel{padding:18px}.analytics-panel{min-height:345px}.trend-chart{height:230px}.trend-bars{height:165px}
.infrastructure-panel{min-height:345px}.health-row{font-size:12px}.activity-panel{margin-top:16px}.app-footer{padding:18px 4px 2px}

/* empty state mais útil */
.empty-state-v3{min-height:185px;display:grid;place-items:center;text-align:center;padding:24px;color:#70839a}.empty-state-v3 .empty-icon{width:52px;height:52px;border-radius:15px;background:#edf7ff;color:#2476b5;display:grid;place-items:center;font-size:22px;margin:0 auto 10px}.empty-state-v3 strong{display:block;color:#244968;font-size:13px}.empty-state-v3 span{display:block;font-size:11px;margin-top:4px}

/* coerência visual em todas as páginas internas */
.content>.page-card,.content>.panel,.content>form.page-card{animation:v3fade .18s ease-out}@keyframes v3fade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.page-card{background:#fff;border:1px solid #e1eaf2;box-shadow:var(--shadow);padding:20px}.page-card>.section-title:first-child{padding:18px 20px 16px;margin:-20px -20px 18px}.page-card>.section-title:first-child h2{font-size:17px}.toolbar{margin-bottom:15px;border:1px solid #e5edf4}.tabs{gap:7px}.tabs a{border:1px solid #e0e9f1;background:#f7fafc}.tabs a.active{border-color:#176ba3;color:#fff}.clean-table tbody tr:hover,table tbody tr:hover{background:#f8fbfe}.clean-table td strong{color:#123e67}.btn.secondary{background:#edf5fb;color:#245a80;border:1px solid #dceaf4}.btn.danger{box-shadow:none}.badge{letter-spacing:.1px}

/* sidebar: melhor leitura quando há muitos módulos */
.sidebar-nav{padding-bottom:8px}.sidebar-bottom{padding-top:10px}.sidebar-version{opacity:.78}

/* =========================================================
   v3.1 — EXPERIÊNCIA UNIFICADA / PÁGINAS INTERNAS
   ========================================================= */
body.v31-ready .page-card,body.v31-ready .panel{overflow:hidden}
body.v31-ready .page-card{margin-bottom:18px}
body.v31-ready .section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}
body.v31-ready .section-title h2{color:#102f50;letter-spacing:-.18px}
body.v31-ready .section-title p{color:#71869a;margin-top:4px}
body.v31-ready .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#f9fbfd,#f5f9fc);padding:13px 14px}
body.v31-ready .toolbar form{display:flex;gap:9px;align-items:center;flex-wrap:wrap;flex:1}
body.v31-ready .toolbar .search{min-width:280px;flex:1}
body.v31-ready table{border-collapse:separate;border-spacing:0;width:100%}
body.v31-ready table thead th{height:42px;background:#f2f6fa;border-bottom:1px solid #e1e9f0;text-transform:uppercase;font-size:9.5px;letter-spacing:.35px}
body.v31-ready table tbody td{border-bottom:1px solid #e8eef4;vertical-align:middle}
body.v31-ready table tbody tr:last-child td{border-bottom:0}
body.v31-ready .field label{font-size:10.5px;font-weight:800;color:#4d6680;margin-bottom:6px;text-transform:none}
body.v31-ready input:focus,body.v31-ready select:focus,body.v31-ready textarea:focus{border-color:#5da4d2;box-shadow:0 0 0 3px rgba(48,137,195,.10);outline:none}
body.v31-ready details.page-card>summary{font-weight:800;color:#153e64;padding:3px 0;cursor:pointer}
body.v31-ready .tabs{display:flex;flex-wrap:wrap}
body.v31-ready .alert{box-shadow:0 4px 14px rgba(30,70,105,.05)}
body.v31-ready .analytics-card,body.v31-ready .report-metric{border:1px solid #e1eaf2!important;background:#fff!important}
body.v31-ready .simple-bar{background:#edf2f6!important;border-radius:999px;overflow:hidden}
body.v31-ready .simple-bar i{border-radius:999px;background:linear-gradient(90deg,#347fe0,#36a4c9)!important}
body.v31-ready .sticky-form{border-top:4px solid #2b7db4}
body.v31-ready .delivery-result{border-top:4px solid #18a665}
body.v31-ready .security-note{background:#f0f8fd;border:1px solid #d8eaf5;padding:12px 14px;color:#345a73}
body.v31-ready .empty{padding:35px!important;text-align:center;color:#8292a4}
@media(max-width:760px){body.v31-ready .toolbar form{width:100%}body.v31-ready .toolbar .search{min-width:100%;width:100%}body.v31-ready .section-title{align-items:flex-start;flex-direction:column}}


/* =========================================================
   v3.2.0 — CENTRAL DE DISPOSITIVOS / UX OPERACIONAL
   ========================================================= */
.device-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.device-kpi{min-height:104px;background:#fff;border:1px solid #e0e9f1;border-radius:16px;padding:15px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);transition:.18s ease;color:#173c60}
a.device-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#cbddea}
.device-kpi-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:18px;background:#edf6ff;color:#287cc0}
.device-kpi small,.device-kpi strong,.device-kpi em{display:block}.device-kpi small{font-size:9.5px;text-transform:uppercase;letter-spacing:.45px;font-weight:850;color:#687f96}.device-kpi strong{font-size:26px;line-height:1.05;margin:3px 0;color:#12395f}.device-kpi em{font-style:normal;font-size:9.5px;color:#8191a1;line-height:1.2}
.kpi-ok .device-kpi-icon{background:#e9f9ef;color:#16a55b}.kpi-warn .device-kpi-icon{background:#fff5df;color:#e18b11}.kpi-block .device-kpi-icon{background:#fff0f1;color:#db4650}.kpi-private .device-kpi-icon{background:#f1edff;color:#7454d8}
.device-center .section-title strong{color:#176ba3}.device-center .toolbar{position:relative}.device-center .tabs a{font-weight:800;font-size:11px}
.device-table-wrap{border:1px solid #e5edf4;border-radius:13px;overflow:auto;background:#fff}.device-table{min-width:1050px}.device-table thead th{position:sticky;top:0;z-index:2;background:#f1f6fa!important}.device-table tbody td{padding-top:14px!important;padding-bottom:14px!important}.device-table tbody tr:nth-child(even){background:#fbfdff}.device-table tbody tr:hover{background:#f4f9fd!important}.device-table td:nth-child(1){min-width:135px}.device-table td:nth-child(2){min-width:155px}.device-table td:nth-child(4){min-width:125px}.device-table td:nth-child(6){min-width:125px}.device-table td:nth-child(7){min-width:105px}.device-table td:nth-child(9){min-width:108px}
.device-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-content:center}.device-actions .btn,.device-actions form,.device-actions form .btn{width:100%;margin:0}.device-actions .btn{min-height:34px;padding:6px 10px;font-size:10.5px}.device-actions .replace-form select{width:100%;min-width:105px;margin-bottom:5px;min-height:34px;font-size:10px}
#identificarDispositivo{border-top:4px solid #2679b7!important}#identificarDispositivo summary{padding:5px 2px!important;font-size:13px}#identificarDispositivo[open] summary{margin-bottom:16px;padding-bottom:14px!important;border-bottom:1px solid #e5edf4}
@media(max-width:1250px){.device-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.device-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.device-overview{grid-template-columns:1fr}.device-kpi{min-height:88px}}

/* Gestão Wi-Fi CCP v3.2.1 — Pessoas + Credenciais */
.people-metrics,.credential-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}
.metric-link{text-decoration:none;color:inherit;cursor:pointer}.metric-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.credential-filterbar{display:grid;grid-template-columns:minmax(280px,1fr) 180px 180px auto auto;gap:9px;align-items:center;padding:12px;margin-bottom:14px;background:#f7fafc;border:1px solid #e2eaf2;border-radius:13px}
.credential-filterbar .search{min-width:0;width:100%}.credential-filterbar select{width:100%}
.credentials-table thead th{position:sticky;top:0;z-index:2}.credentials-table tbody tr:hover,.page-card tbody tr:hover{background:#f8fbfe}
.credentials-central .actions{min-width:185px}.credentials-central .actions .btn{margin:2px 0}
@media(max-width:1200px){.people-metrics,.credential-metrics{grid-template-columns:repeat(3,1fr)}.credential-filterbar{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.people-metrics,.credential-metrics{grid-template-columns:1fr 1fr}.credential-filterbar{grid-template-columns:1fr}.credentials-central .actions{min-width:150px}}
@media(max-width:520px){.people-metrics,.credential-metrics{grid-template-columns:1fr}}

/* ===== Gestão Wi-Fi CCP v3.2.2 | Centrais de Sessões e Autenticações ===== */
.ops-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 18px;padding:4px 2px}.ops-hero h1{margin:3px 0 5px;font-size:28px;line-height:1.15;letter-spacing:-.5px}.ops-hero p{margin:0;color:var(--muted,#64748b);max-width:780px}.ops-kicker{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#64748b}.ops-live{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border:1px solid #dbe4ee;border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:#334155;box-shadow:0 4px 14px rgba(15,23,42,.04)}.ops-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.ops-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.ops-metric{min-height:88px;display:flex;align-items:center;gap:12px;padding:15px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none!important;color:inherit!important;box-shadow:0 5px 18px rgba(15,23,42,.04);transition:.18s ease}.ops-metric:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 8px 22px rgba(15,23,42,.07)}.ops-metric-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:#eef2ff;color:#4f46e5;font-size:13px;font-weight:900}.ops-metric strong{display:block;font-size:23px;line-height:1.05;letter-spacing:-.5px}.ops-metric span:last-child{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:700}.ops-metric.is-success .ops-metric-icon{background:#ecfdf5;color:#059669}.ops-metric.is-danger .ops-metric-icon{background:#fff1f2;color:#e11d48}.ops-card .section-title{margin-bottom:14px}.ops-card .toolbar{background:#f8fafc;border:1px solid #e7edf4;border-radius:12px;padding:10px;margin-bottom:12px}.ops-card .table-wrap{border:1px solid #e7edf4;border-radius:12px;overflow:auto}.ops-card table{margin:0}.ops-card thead th{position:sticky;top:0;z-index:2;background:#f8fafc}.ops-card tbody tr:hover{background:#f8fbff}@media(max-width:1180px){.ops-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.ops-hero{align-items:flex-start;flex-direction:column}.ops-metrics{grid-template-columns:repeat(2,1fr)}.ops-metric{min-height:80px}.ops-live{align-self:flex-start}}@media(max-width:480px){.ops-metrics{grid-template-columns:1fr}.ops-hero h1{font-size:24px}}

/* v3.2.3 — Solicitações TI */
.ops-eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#66819a;margin:2px 0 5px}.ops-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.ops-title{font-size:29px;line-height:1.1;margin:0;color:#092f50}.ops-subtitle{margin:5px 0 0;color:#6d8398;font-size:12px}.ops-live{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #d8e5ef;background:#fff;border-radius:999px;font-size:10px;font-weight:800;color:#36566f}.ops-live i{width:8px;height:8px;border-radius:50%;background:#25c66b;box-shadow:0 0 0 5px #e2f8eb}.ops-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.ops-kpi{background:#fff;border:1px solid #dce7f0;border-radius:15px;min-height:82px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 7px 22px rgba(21,66,101,.035)}.ops-kpi-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-weight:900}.ops-kpi-icon.blue{background:#eaf4ff;color:#1479bf}.ops-kpi-icon.amber{background:#fff3df;color:#e68a00}.ops-kpi-icon.green{background:#e7f9ef;color:#16a45b}.ops-kpi-icon.red{background:#ffeded;color:#db4d55}.ops-kpi strong{display:block;font-size:23px;color:#092f50;line-height:1}.ops-kpi small{display:block;color:#71879b;font-size:10px;margin-top:6px}.ti-central{overflow:hidden}.ti-head{padding-bottom:13px}.ti-toolbar{padding:12px 16px;background:#f7fafc;border-top:1px solid #e4edf4;border-bottom:1px solid #e4edf4;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ti-search{display:flex;gap:8px;flex:1;min-width:300px}.ti-search input{width:100%;min-height:39px;border:1px solid #d4e1eb;border-radius:10px;background:#fff;padding:0 12px;color:#163c5c}.ti-tabs{margin:0}.ti-tabs a{display:inline-flex!important;gap:6px;align-items:center}.ti-tabs b{background:rgba(17,100,154,.09);border-radius:99px;padding:2px 6px;font-size:9px}.ti-tabs a.active b{background:rgba(255,255,255,.22)}.ti-table td small{display:block;color:#7a8ea0;font-size:10px;margin-top:3px}.ti-status{display:inline-flex;padding:5px 9px;border-radius:99px;font-size:9px;font-weight:900}.ti-status.pending{background:#fff2d8;color:#b46c00}.ti-status.approved{background:#dff7e9;color:#078847}.ti-status.rejected{background:#ffe4e6;color:#c83e48}.ti-decided{font-size:10px;color:#7c8fa0}.ti-empty{text-align:center;padding:36px 12px}.ti-empty span{display:grid;place-items:center;margin:0 auto 9px;width:48px;height:48px;border-radius:14px;background:#eaf6ff;color:#1682c7;font-size:23px}.ti-empty strong{display:block;color:#173f60;font-size:14px}.ti-empty p{margin:5px 0 0;color:#8091a1;font-size:11px}@media(max-width:1100px){.ops-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.ops-title-row{align-items:flex-start;flex-direction:column}.ops-kpis{grid-template-columns:1fr}.ti-search{min-width:100%}}


/* ===== Gestão Wi-Fi CCP v3.2.4 | Auditoria + Configurações ===== */
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:2px 0 18px}
.admin-hero h1{margin:2px 0 4px;font-size:28px;line-height:1.1;color:#0b3153;letter-spacing:-.45px}
.admin-hero p{margin:0;color:#6d8398;font-size:12px}.admin-eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:#6c8499}
.admin-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d9e6ef;background:#fff;border-radius:999px;font-size:10px;font-weight:850;color:#36566f}
.admin-status i{width:8px;height:8px;border-radius:50%;background:#25c66b;box-shadow:0 0 0 5px #e2f8eb}
.admin-status.off i{background:#e14b55;box-shadow:0 0 0 5px #ffe8ea}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.admin-kpi{min-height:86px;background:#fff;border:1px solid #dfe8f0;border-radius:15px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 7px 22px rgba(21,66,101,.035)}
.admin-kpi .ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#eaf4ff;color:#1878b7;font-weight:900}
.admin-kpi.green .ico{background:#e8f9ef;color:#149e57}.admin-kpi.amber .ico{background:#fff3df;color:#d98508}.admin-kpi.purple .ico{background:#f1edff;color:#7151d3}
.admin-kpi strong{display:block;font-size:23px;color:#0b3153;line-height:1}.admin-kpi small{display:block;margin-top:6px;color:#71879b;font-size:10px}
.audit-center .toolbar{padding:12px 14px}.audit-search{display:flex;gap:8px;flex:1}.audit-search input{width:100%}
.audit-table td small{display:block;color:#7c8fa0}.audit-action{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eaf4ff;color:#176da7;font-size:9px;font-weight:900;text-transform:uppercase}
.audit-detail{max-width:360px;white-space:normal;word-break:break-word}
.config-grid-v324{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:start}
.config-card{background:#fff;border:1px solid #dfe8f0;border-radius:15px;box-shadow:0 7px 22px rgba(21,66,101,.035);overflow:hidden}
.config-card-head{padding:17px 18px;border-bottom:1px solid #e6edf3;display:flex;align-items:center;justify-content:space-between;gap:12px}
.config-card-head h2{margin:0;font-size:16px;color:#123b5e}.config-card-head p{margin:4px 0 0;font-size:10.5px;color:#71879b}
.config-card-body{padding:18px}.config-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.config-form-grid .full{grid-column:1/-1}
.config-form-grid label{display:block;font-size:10.5px;font-weight:850;color:#506a82;margin-bottom:6px}.config-form-grid input{width:100%}
.config-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.integration-list{display:grid;gap:10px}
.integration-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e3ebf2;border-radius:12px;background:#f9fbfd}
.integration-row strong{font-size:11px;color:#244968}.integration-row small{display:block;margin-top:3px;color:#7b8fa1;font-size:9.5px}
.integration-badge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:900;background:#e2f7ea;color:#0a8a47}.integration-badge.off{background:#ffe9eb;color:#c7434c}
.portal-v324{margin-top:16px}.portal-v324 .portal-link-actions{flex-wrap:wrap}.portal-v324 input{min-width:250px}
@media(max-width:1050px){.admin-kpis{grid-template-columns:repeat(2,1fr)}.config-grid-v324{grid-template-columns:1fr}}
@media(max-width:620px){.admin-hero{align-items:flex-start;flex-direction:column}.admin-kpis{grid-template-columns:1fr}.config-form-grid{grid-template-columns:1fr}.config-form-grid .full{grid-column:auto}.audit-search{width:100%}}

/* v3.3.3 políticas inteligentes */
.policy-grid table .badge{white-space:nowrap}.check-inline{display:flex;gap:8px;align-items:flex-start;line-height:1.35}.check-inline input{margin-top:2px}


/* ============================================================
   v3.4.1 — COMPATIBILIDADE MAC / WINDOWS + CACHE SEGURO
   Correção transversal, sem alteração funcional.
   ============================================================ */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.main-shell,.content,.page-heading,.heading-widgets,.executive-hero,
.metric-strip,.dash-grid,.panel,.card,.analytics-panel,.infrastructure-panel{
  min-width:0;
}
.content{
  width:100%;
  max-width:none;
}
.page-heading-copy,.quick-status>div,.hero-health>div,.metric>div,.panel-title>div{
  min-width:0;
}
.page-heading-copy p,.quick-status strong,.quick-status span,
.executive-hero h2,.executive-hero p,.hero-health strong,.hero-health small,
.metric small,.metric em,.panel-title h2,.panel-title p{
  overflow-wrap:anywhere;
}
.executive-hero>div:first-child{min-width:0;flex:1 1 auto}
.hero-health{flex:0 1 300px;max-width:100%}
.v3-metrics .metric{min-width:0}
.trend-chart,.trend-day,.trend-bars{min-width:0}
.trend-chart{overflow:hidden}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}

/* Desktop amplo / Retina: preserva a composição aprovada. */
@media (min-width:1351px){
  .content{padding-left:24px;padding-right:24px}
  .v3-primary{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}
  .v3-secondary{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .dash-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

/* Faixa intermediária: evita quebra precoce em notebooks e zoom do SO. */
@media (min-width:1051px) and (max-width:1350px){
  .page-heading{align-items:flex-start}
  .heading-widgets{max-width:68%;}
  .quick-status,.clock-card{min-width:170px;flex:1 1 170px}
  .executive-hero{min-width:0}
}

/* Segurança para renderização em Chrome/macOS com escala Retina. */
@supports (-webkit-font-smoothing: antialiased){
  .executive-hero,.metric-strip,.panel,.card{transform:translateZ(0)}
}


/* v3.5.2 — Pontos de Acesso: UniFi moderno + legado */
.ap-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.ap-controller-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.ap-controller-card{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ap-controller-card>div{min-width:0}.ap-controller-card strong{display:inline-block;color:#123b5e;font-size:13px;margin-left:7px}.ap-controller-card small{display:block;color:#71879b;font-size:10px;margin:6px 0 0 19px}
.controller-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.controller-dot.modern{background:#2787c8}.controller-dot.legacy{background:#7758c7}
.controller-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.controller-badge.modern{background:#e8f4fc;color:#176fa8}.controller-badge.legacy{background:#f0ebff;color:#6745bd}
.ap-table td{vertical-align:middle}.ap-table .mono{white-space:nowrap}
@media(max-width:900px){.ap-metrics{grid-template-columns:repeat(2,1fr)}.ap-controller-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ap-metrics{grid-template-columns:1fr}.ap-controller-card{align-items:flex-start;flex-direction:column}}


/* v3.6.0 — Aprovação Wi-Fi */
.approval-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.approval-notice{display:flex;gap:8px;flex-direction:column;margin:0 0 16px;padding:13px 16px;border:1px solid #f0d99a;border-radius:13px;background:#fffaf0;color:#795b14}.approval-notice strong{font-size:12px}.approval-notice span{font-size:10.5px}.approval-notice.active{border-color:#bde5ca;background:#f0fbf4;color:#167144}
.ops-live.approval-preview{background:#fff3d8;color:#9b6a00}
.approval-table td{vertical-align:middle}.approval-table td small{display:block;margin-top:4px;color:#7890a3;font-size:9.5px}.ssid-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef6fc;color:#176fa8;font-size:9px;font-weight:900}.approval-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:900;white-space:nowrap}.approval-status.pending{background:#fff1d4;color:#9a6500}.approval-status.authorized{background:#e3f7e9;color:#087a3d}.approval-status.blocked{background:#ffe7e9;color:#b52f3b}.approval-actions{min-width:185px}.approval-decision{display:inline-block;position:relative}.approval-decision summary{list-style:none;cursor:pointer}.approval-decision summary::-webkit-details-marker{display:none}.approval-form{position:absolute;right:0;z-index:20;width:290px;margin-top:7px;padding:12px;background:#fff;border:1px solid #dfe8f0;border-radius:12px;box-shadow:0 14px 35px rgba(20,55,80,.16);display:grid;gap:8px}.approval-form input,.approval-form select{width:100%;font-size:10px;padding:8px 9px}.approval-head{margin-bottom:4px}
@media(max-width:900px){.approval-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.approval-kpis{grid-template-columns:1fr}.approval-notice{padding:12px}.approval-form{position:fixed;left:12px;right:12px;bottom:12px;width:auto}}

/* ============================================================
   v3.6.5 — Dashboard | legibilidade dos indicadores
   Mantém seis KPIs na linha em desktops e evita quebra de palavras.
   ============================================================ */
.v3-metrics .metric{
  overflow:hidden;
}
.v3-metrics .metric>div{
  min-width:0;
  flex:1 1 auto;
}
.v3-metrics .metric small{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.v3-metrics .metric em{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Notebook/desktop de 1366px: preserva os 6 cartões sem esmagar o texto. */
@media (min-width:1351px) and (max-width:1500px){
  .v3-metrics{gap:10px}
  .v3-metrics .metric{
    min-height:126px;
    padding:15px 11px;
    gap:8px;
  }
  .v3-metrics .metric-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    font-size:16px;
    border-radius:11px;
  }
  .v3-metrics .metric small{
    font-size:9px;
    line-height:1.22;
    letter-spacing:.25px;
  }
  .v3-metrics .metric strong{
    font-size:30px;
    margin:7px 0 6px;
  }
  .v3-metrics .metric em{
    font-size:9.5px;
    line-height:1.28;
  }
}

/* Abaixo de 1350px usamos 3 colunas, com leitura confortável. */
@media (min-width:901px) and (max-width:1350px){
  .v3-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v3-metrics .metric{min-height:104px}
}

/* ============================================================
   v3.6.6 — Dashboard | KPIs sem quebra no meio das palavras
   Em desktops/notebooks, o título usa toda a largura do cartão.
   O ícone desce para a faixa do número, liberando espaço horizontal.
   ============================================================ */
@media (min-width:1351px){
  .v3-metrics .metric{
    position:relative;
    display:block;
    min-width:0;
    padding:14px 12px 13px;
  }
  .v3-metrics .metric>div{
    width:100%;
    min-width:0;
  }
  .v3-metrics .metric small{
    display:block;
    width:100%;
    min-height:24px;
    margin:0 0 5px;
    white-space:normal;
    overflow-wrap:normal!important;
    word-wrap:normal!important;
    word-break:keep-all!important;
    hyphens:none!important;
    line-height:1.2;
  }
  .v3-metrics .metric-icon{
    position:absolute;
    left:12px;
    top:48px;
    width:36px;
    height:36px;
    min-width:36px;
    font-size:15px;
    border-radius:10px;
  }
  .v3-metrics .metric strong,
  .v3-metrics .metric em{
    margin-left:46px;
  }
  .v3-metrics .metric strong{
    margin-top:4px;
    margin-bottom:5px;
  }
  .v3-metrics .metric em{
    display:block;
    max-width:calc(100% - 46px);
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* ============================================================
   v3.6.7 — Dashboard | layout aprovado dos 6 indicadores
   Títulos controlados em linhas inteiras, sem quebrar palavras.
   ============================================================ */
@media (min-width:1351px){
  .v3-metrics{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
  }
  .v3-metrics .metric{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    column-gap:10px;
    align-items:start;
    min-height:158px;
    padding:16px 12px 14px;
    overflow:hidden;
  }
  .v3-metrics .metric-icon{
    position:static;
    grid-column:1;
    grid-row:1 / span 2;
    width:38px;
    height:38px;
    min-width:38px;
    margin-top:1px;
    border-radius:11px;
    font-size:16px;
  }
  .v3-metrics .metric>div{
    grid-column:2;
    width:auto;
    min-width:0;
  }
  .v3-metrics .metric small{
    display:block;
    width:100%;
    min-height:30px;
    margin:0 0 6px;
    font-size:8.8px;
    line-height:1.15;
    letter-spacing:.22px;
    white-space:normal;
    overflow:visible;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .v3-metrics .metric small>span{
    display:block;
    white-space:nowrap;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .v3-metrics .metric strong,
  .v3-metrics .metric em{
    margin-left:0;
  }
  .v3-metrics .metric strong{
    display:block;
    margin:0 0 6px;
    font-size:30px;
    line-height:1;
  }
  .v3-metrics .metric em{
    display:block;
    max-width:none;
    font-size:9.5px;
    line-height:1.28;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
}

/* ============================================================
   Controle de Navegação — modo simulação
   ============================================================ */
.ops-live.nav-sim{border-color:#f0d99a;background:#fffaf0;color:#8a6715}.ops-live.nav-sim i{background:#e8a11b;box-shadow:0 0 0 5px #fff0c9}
.nav-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;margin-bottom:16px}.nav-panel-head{padding-bottom:13px}.nav-now,.nav-inventory,.nav-engine{overflow:hidden}.nav-now-table td small,.nav-device-table td small{display:block;color:#7a8ea0;font-size:10px;margin-top:3px}.nav-period{display:inline-flex;padding:5px 9px;border-radius:99px;background:#edf5fb;color:#245a80;font-size:9px;font-weight:900}.nav-decision{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:900;white-space:nowrap}.nav-decision.restrict{background:#ffe4e6;color:#c83e48}.nav-decision.unknown{background:#fff2d8;color:#a86500}.nav-decision.free{background:#dff7e9;color:#078847}.nav-decision.neutral{background:#eef3f7;color:#647b8f}.nav-engine-list{display:grid;gap:0;margin-top:4px}.nav-engine-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e8eef4}.nav-engine-list span{font-size:10.5px;color:#73889b}.nav-engine-list strong{font-size:10.5px;color:#173f60;text-align:right}.nav-state.simulation{color:#b87300}.nav-state.pending{color:#b87300}.nav-rule-note{margin-top:14px;padding:11px;border-radius:11px;background:#f7fafc;color:#6d8398;font-size:10px;line-height:1.45}.nav-filter select{min-width:180px;min-height:39px}.nav-type{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:900;background:#eef3f7;color:#60798f}.nav-type.celular{background:#ffe4e6;color:#c83e48}.nav-type.notebook,.nav-type.desktop,.nav-type.tablet{background:#e8f4ff;color:#1972ad}.nav-type.nao_definido{background:#fff2d8;color:#a86500}.nav-classify-form{display:flex;align-items:center;gap:7px;min-width:250px}.nav-classify-form select{min-height:35px;height:35px;min-width:125px;padding:4px 8px}.nav-classify-form .btn{min-height:35px}.nav-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.nav-coming{padding:12px;border:1px dashed #d8e4ed;border-radius:11px;background:#f9fbfd;color:#71879b;font-size:10.5px}.nav-inventory{margin-top:0}
@media(max-width:1150px){.nav-grid{grid-template-columns:1fr}.nav-engine{order:-1}.nav-future-grid{grid-template-columns:1fr}}
@media(max-width:800px){.nav-kpis{grid-template-columns:repeat(2,1fr)}.nav-classify-form{min-width:220px}.nav-filter{width:100%}.nav-filter select{width:100%}}
@media(max-width:620px){.nav-kpis{grid-template-columns:1fr}}

/* ============================================================
   Controle de Navegação — refinamento visual v2
   ============================================================ */
.nav-primary{display:block;font-size:11px;font-weight:800;line-height:1.32;color:#173f60;overflow-wrap:anywhere}
.nav-secondary{display:block!important;margin-top:4px;font-size:9.5px!important;line-height:1.25;color:#7890a3!important;font-weight:500;overflow-wrap:anywhere}
.nav-now-table td,.nav-device-table td{vertical-align:middle;line-height:1.3}
.nav-now-table th,.nav-device-table th{white-space:nowrap}
.nav-now-table td:nth-child(1){min-width:220px}.nav-now-table td:nth-child(2){min-width:300px}
.nav-device-table td:nth-child(1){min-width:230px}.nav-device-table td:nth-child(2){min-width:220px}
.nav-engine-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:7px}
.nav-engine-card{display:flex;min-height:70px;padding:11px;border:1px solid #e3ebf2;border-radius:12px;background:#f8fbfd;flex-direction:column;justify-content:center;gap:5px}
.nav-engine-card.wide{grid-column:1/-1;min-height:62px}
.nav-engine-card span{display:block;font-size:9px;line-height:1.2;color:#73889b;text-transform:uppercase;letter-spacing:.35px;font-weight:800}
.nav-engine-card strong{display:block;font-size:11px;line-height:1.25;color:#173f60;overflow-wrap:anywhere}
.nav-rule-note{margin-top:10px}
.nav-inventory .ti-toolbar{gap:10px}
.nav-device-table .mono{font-size:9.5px;white-space:nowrap}
.nav-classify-form{flex-wrap:wrap;min-width:150px}.nav-classify-form select{min-width:145px}.nav-classify-form .btn{min-width:64px}
.nav-type,.nav-decision{line-height:1.2}
@media(max-width:1250px){.nav-now-table td:nth-child(1),.nav-now-table td:nth-child(2),.nav-device-table td:nth-child(1),.nav-device-table td:nth-child(2){min-width:180px}}

/* Controle de Navegação v3 */
.nav-engine{align-self:start}.nav-engine-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.nav-engine-card{display:flex!important;min-height:72px!important;padding:12px!important;border:1px solid #dfe9f1!important;border-radius:13px!important;background:#f8fbfd!important;flex-direction:column!important;justify-content:center!important;gap:5px!important}.nav-engine-card.wide{grid-column:1/-1!important}.nav-engine-card span{font-size:9px!important;text-transform:uppercase!important;color:#71879b!important;font-weight:800!important;letter-spacing:.35px!important}.nav-engine-card strong{font-size:12px!important;color:#173f60!important}.nav-quick-filters{display:flex;gap:9px;flex-wrap:wrap;padding:0 16px 12px}.nav-quick{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dce7ef;border-radius:999px;background:#fff;color:#526d82;font-size:10px;font-weight:800;text-decoration:none}.nav-quick strong{display:inline-flex;min-width:21px;height:21px;align-items:center;justify-content:center;border-radius:999px;background:#edf4f9;color:#285b7f;font-size:9px}.nav-quick.active{background:#eaf5ff;border-color:#9dcbed;color:#176da5}.nav-quick.active strong{background:#1f7db7;color:#fff}.nav-searchbar{border-top:1px solid #edf2f6}.nav-exception-tags{display:flex;gap:7px;flex-wrap:wrap;padding:0 16px 13px}.nav-exception-tags span{padding:7px 10px;border-radius:999px;background:#e7f6ee;color:#167b4a;font-size:9px;font-weight:900}.nav-release-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px 13px}.nav-release-options button{min-height:38px;border:1px solid #dbe6ee;border-radius:10px;background:#f5f8fa;color:#8a9bab;font-size:9.5px;font-weight:800;cursor:not-allowed}.nav-coming{margin:0 16px 16px}.nav-coming strong{color:#4f687c}.nav-device-table tbody tr:hover{background:#f8fbfd}.nav-device-table .nav-primary,.nav-now-table .nav-primary{font-weight:800}.nav-device-table .nav-secondary,.nav-now-table .nav-secondary{margin-top:4px}.nav-inventory .table-wrap{max-height:720px;overflow:auto}.nav-inventory .clean-table thead th{position:sticky;top:0;z-index:2;background:#edf3f8}
@media(max-width:800px){.nav-release-options{grid-template-columns:repeat(2,1fr)}.nav-quick-filters{padding-left:12px;padding-right:12px}}

/* v3.6.13 — Saúde da Rede */
.network-health-panel{min-height:315px}
.network-health-panel .health-row{padding:9px 7px}
.network-health-panel .health-row b{white-space:nowrap}
.network-health-panel .health-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:none;letter-spacing:0}
.ip-history-box{margin-top:12px;padding:11px 12px;border:1px solid #e3ebf3;border-radius:12px;background:#f8fbfe}
.ip-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.ip-history-head strong,.ip-history-head small{display:block}.ip-history-head strong{font-size:10.5px;color:#244866}.ip-history-head small{font-size:8.5px;color:#7d8fa2;margin-top:2px}
.ip-history-toggle{border:1px solid #d8e8f4;background:#fff;color:#27658f;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:800;cursor:pointer}
.ip-history-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid #e7eef5}
.ip-history-item>div{display:flex;align-items:center;gap:5px;min-width:0}.ip-history-item b{font-size:9.5px;color:#234b6c}.ip-history-item span{font-size:10px;color:#7c91a5}.ip-history-item small{font-size:8.5px;color:#71869a;white-space:nowrap}
.ip-history-extra{display:none}.ip-history-box.expanded .ip-history-extra{display:flex}
@media(max-width:720px){.ip-history-item{align-items:flex-start;flex-direction:column}.network-health-panel .health-row b{white-space:normal;text-align:right}}
