:root{--blue:#075a94;--navy:#082a46;--ink:#142333;--muted:#617181;--bg:#f4f7fa;--line:#dfe7ed;--danger:#b42318;--success:#18794e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}a{text-decoration:none;color:inherit}.app-shell{width:min(1180px,94%);margin:auto}.app-topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-mini img{height:50px}.top-nav{display:flex;gap:20px;font-weight:700;flex-wrap:wrap}.top-nav a:hover{color:var(--blue)}.app-main{padding:36px 0 60px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title h1{margin:0;font-size:34px}.muted{color:var(--muted)}.grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 20px rgba(25,62,88,.05)}.stat strong{display:block;font-size:34px;color:var(--blue);margin-top:8px}.panel{margin-top:20px}.btn{display:inline-flex;padding:12px 16px;border-radius:10px;font-weight:750;border:none;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-light{background:#eef4f8;color:var(--navy)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:13px;text-transform:uppercase;color:#607383}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eef4f8;font-size:12px;font-weight:800}.badge.aberta{background:#eaf4ff;color:#075a94}.badge.em_atendimento{background:#fff3cd;color:#7a5500}.badge.resolvida,.badge.encerrada{background:#e7f6ee;color:#18794e}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:750}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #ccd9e2;border-radius:10px;background:#fff;font:inherit}textarea{min-height:145px;resize:vertical}.alert{padding:13px 15px;border-radius:10px;margin-bottom:18px}.alert-error{background:#fee4e2;color:#8a1c15}.alert-success{background:#e8f7ef;color:#16653f}.app-footer{padding:26px 0 40px;color:#718291;text-align:center}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{background:linear-gradient(145deg,#072c4b,#0877b7);padding:60px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-brand img{width:min(420px,80%);filter:brightness(0) invert(1)}.login-brand h1{font-size:52px;line-height:1.05;margin:30px 0 15px}.login-brand p{font-size:18px;color:#d7edf7;line-height:1.7}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#f7f9fb}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 18px 50px rgba(13,52,79,.1)}.login-card h2{margin:0 0 8px;font-size:30px}.login-card .field{margin:15px 0}@media(max-width:900px){.grid-cards{grid-template-columns:repeat(2,1fr)}.login-wrap{grid-template-columns:1fr}.login-brand{display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.top-nav{gap:12px;font-size:14px}}@media(max-width:560px){.grid-cards{grid-template-columns:1fr}.topbar-inner{align-items:flex-start;flex-direction:column;padding:12px 0}.page-title{align-items:flex-start;flex-direction:column}}
.admin-summary-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.client-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.client-metric{display:block;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);transition:.2s ease}
.client-metric:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(25,62,88,.08)}
.client-metric span{display:block;font-weight:800;margin-bottom:8px}
.client-metric strong{display:block;font-size:34px;color:var(--blue);margin-bottom:4px}
.client-metric small{color:var(--muted)}
@media(max-width:800px){.client-metrics{grid-template-columns:1fr}.admin-summary-head{align-items:flex-start;flex-direction:column}}

/* ===== FLGNet V2.3 ===== */
body.app-layout{padding-left:250px}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#082a46;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:50;box-shadow:8px 0 28px rgba(7,42,70,.08)}
.sidebar-brand{display:block;background:#fff;border-radius:14px;padding:10px;margin:0 4px 26px}
.sidebar-brand img{width:100%;height:66px;object-fit:contain;display:block}
.sidebar-nav{display:flex;flex-direction:column;gap:5px}
.sidebar-nav a{padding:12px 14px;border-radius:10px;color:#e8f3fa;font-weight:700;display:flex;gap:10px;align-items:center}
.sidebar-nav a:hover{background:rgba(255,255,255,.10);color:#fff}
.sidebar-nav .new-ticket-link{background:#0b70ae;color:#fff;margin-bottom:10px}
.nav-label{font-size:10px;letter-spacing:.14em;color:#82a7bd;margin:18px 14px 5px;font-weight:800}
.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:18px 12px 4px}
.sidebar-user-name{font-weight:800}.sidebar-user-role{font-size:12px;color:#9fc0d2;margin:4px 0 12px}.sidebar-user a{font-size:13px;color:#d7e9f3}
.app-content{min-height:100vh}.mobile-menu-btn{display:none}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-heading h2{margin:0 0 5px}.panel-heading p{margin:0;color:var(--muted)}
.stat{display:block}.stat small{display:block;color:var(--muted);margin-top:7px}
.attention-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.attention-item{border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;border:1px solid var(--line)}
.attention-item strong{font-size:30px}.attention-item.urgent{background:#fff4f2;color:#a12b22}.attention-item.warning{background:#fff9e8;color:#795b00}
.table-wrap{overflow:auto}.ticket-id{font-weight:800;color:var(--blue);white-space:nowrap}
.priority{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.priority.urgente{background:#fee4e2;color:#a12b22}.priority.alta{background:#fff0d5;color:#8a5700}.priority.normal{background:#eaf4ff;color:#075a94}.priority.baixa{background:#edf2f5;color:#586a76}
.filters{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr)) auto auto;gap:10px;align-items:center;margin:0 0 20px}.filters input,.filters select{min-width:0}
@media(max-width:1100px){.filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){
 body.app-layout{padding-left:0}.sidebar{transform:translateX(-105%);transition:.2s ease}.menu-open .sidebar{transform:translateX(0)}
 .mobile-menu-btn{display:block;position:fixed;right:16px;bottom:16px;z-index:60;border:0;border-radius:50%;width:52px;height:52px;background:#075a94;color:#fff;font-size:22px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
 .attention-grid,.filters{grid-template-columns:1fr}.panel-heading{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   FLGNet V2.3.2 - Login Premium
   ========================================================= */

.login-page{
  min-height:100vh;
  background:#eef4f8;
}

.login-v232{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(520px,1.08fr) minmax(500px,.92fr);
}

.login-v232 .login-brand{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:48px 58px 34px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 22%,rgba(32,151,222,.20),transparent 28%),
    radial-gradient(circle at 18% 88%,rgba(15,129,194,.18),transparent 32%),
    linear-gradient(145deg,#07365d 0%,#07538a 48%,#0b6fa9 100%);
}

.login-v232 .login-brand::before{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:38%;
  opacity:.12;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.3) 0,
      rgba(255,255,255,.3) 2px,
      transparent 2px,
      transparent 34px
    );
  transform:skewX(-9deg) translateX(40px);
}

.login-v232 .login-brand > *{
  position:relative;
  z-index:2;
}

.login-brand-top{
  display:flex;
  align-items:flex-start;
}

.login-v232 .login-brand-logo{
  width:min(470px,78%);
  height:auto;
  max-height:180px;
  object-fit:contain;
  object-position:left center;
  display:block;
  filter:brightness(0) invert(1);
  background:transparent;
  padding:0;
  border-radius:0;
  box-shadow:none;
}

.login-brand-content{
  max-width:680px;
}

.login-brand-line{
  width:80px;
  height:4px;
  border-radius:999px;
  background:#24b5f1;
  margin-bottom:24px;
}

.login-v232 .login-brand h1{
  margin:0 0 22px;
  font-size:clamp(46px,5.3vw,76px);
  line-height:1.02;
  letter-spacing:-.035em;
}

.login-v232 .login-brand p{
  max-width:680px;
  margin:0;
  color:#e7f5fc;
  font-size:20px;
  line-height:1.65;
}

.login-services{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:48px;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}

.login-service{
  min-width:0;
  padding:24px 20px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.14);
}

.login-service:last-child{
  border-right:none;
}

.service-icon{
  font-size:29px;
  line-height:1;
  margin-bottom:12px;
  color:#fff;
}

.login-service strong{
  display:block;
  font-size:15px;
  margin-bottom:6px;
}

.login-service small{
  display:block;
  color:#cfe7f5;
  font-size:12px;
  line-height:1.45;
}

.login-brand-footer{
  display:flex;
  align-items:center;
  gap:18px;
  color:#bcdbea;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:700;
}

.login-brand-footer i{
  width:1px;
  height:14px;
  background:rgba(255,255,255,.34);
}

.login-v232 .login-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:46px 52px;
  background:
    radial-gradient(circle at 15% 8%,rgba(255,255,255,.96),transparent 34%),
    linear-gradient(145deg,#f9fbfd 0%,#edf4f8 100%);
}

.login-card-v232{
  width:min(500px,100%);
  padding:38px 40px 30px;
  border:1px solid #d8e3ea;
  border-radius:24px;
  background:rgba(255,255,255,.97);
  box-shadow:
    0 24px 70px rgba(19,64,94,.10),
    0 3px 10px rgba(19,64,94,.04);
}

.login-card-heading{
  margin-bottom:22px;
}

.login-card-v232 h2{
  margin:0 0 8px;
  color:#082a46;
  font-size:38px;
  letter-spacing:-.025em;
}

.login-card-heading p{
  margin:0;
  color:#617181;
  font-size:16px;
}

.login-alert{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  padding:13px 14px;
  border:1px solid #ffd3ce;
}

.alert-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d92d20;
  color:#fff;
  font-weight:900;
  font-size:13px;
}

.login-field{
  margin:0 0 17px;
}

.login-field label{
  margin-bottom:1px;
  font-size:14px;
  color:#112b40;
}

.input-with-icon{
  position:relative;
}

.input-with-icon .field-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  text-align:center;
  color:#365f7c;
  font-size:17px;
  pointer-events:none;
}

.input-with-icon input{
  height:56px;
  padding:12px 48px 12px 48px;
  border:1px solid #cbd9e3;
  border-radius:11px;
  background:#fbfdff;
  color:#112b40;
  font-size:15px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.input-with-icon input:focus{
  outline:none;
  border-color:#1684c3;
  background:#fff;
  box-shadow:0 0 0 4px rgba(22,132,195,.10);
}

.password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#315f7d;
  cursor:pointer;
  padding:9px;
  font-size:17px;
}

.login-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:3px 0 19px;
  font-size:13px;
}

.remember-option{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
  color:#455f73;
  cursor:pointer;
}

.remember-option input{
  width:16px;
  height:16px;
  margin:0;
}

.forgot-password{
  color:#0c68a3;
  font-weight:700;
}

.disabled-link{
  opacity:.62;
  cursor:help;
}

.login-submit,
.login-back{
  width:100%;
  min-height:54px;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-size:15px;
}

.login-submit{
  background:linear-gradient(135deg,#075a94,#0b76bb);
  box-shadow:0 9px 20px rgba(7,90,148,.18);
}

.login-submit:hover{
  filter:brightness(1.04);
}

.login-back{
  margin-top:10px;
  border:1px solid #d8e3ea;
}

.login-divider{
  display:flex;
  align-items:center;
  gap:14px;
  margin:25px 0 18px;
  color:#8496a3;
  font-size:12px;
}

.login-divider::before,
.login-divider::after{
  content:"";
  height:1px;
  background:#dce6ec;
  flex:1;
}

.client-access-card{
  display:grid;
  grid-template-columns:46px 1fr 20px;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  border:1px solid #d7e4ed;
  border-radius:13px;
  background:#f8fbfd;
  transition:.18s ease;
}

.client-access-card:hover{
  transform:translateY(-1px);
  background:#f2f8fc;
  border-color:#bdd6e5;
}

.client-access-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e8f4fb;
  font-size:21px;
}

.client-access-card strong{
  display:block;
  color:#075a94;
  margin-bottom:3px;
}

.client-access-card small{
  display:block;
  color:#748593;
  font-size:12px;
}

.client-access-arrow{
  color:#075a94;
  font-size:28px;
  line-height:1;
}

.login-card-footer{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  margin-top:25px;
  color:#748593;
  text-align:center;
}

.login-card-footer strong{
  color:#075a94;
  font-size:15px;
}

.login-card-footer span{
  font-size:12px;
}

.login-card-footer small{
  font-size:10px;
}

@media(max-width:1100px){
  .login-v232{
    grid-template-columns:1fr 1fr;
  }

  .login-v232 .login-brand{
    padding:42px 38px 30px;
  }

  .login-services{
    grid-template-columns:repeat(2,1fr);
  }

  .login-service:nth-child(2){
    border-right:none;
  }

  .login-service:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .login-v232 .login-panel{
    padding:34px;
  }
}

@media(max-width:860px){
  .login-v232{
    display:block;
    background:#eef4f8;
  }

  .login-v232 .login-brand{
    min-height:auto;
    padding:28px 24px 32px;
  }

  .login-v232 .login-brand-logo{
    width:min(360px,88%);
    max-height:120px;
  }

  .login-v232 .login-brand h1{
    font-size:44px;
    margin-top:18px;
  }

  .login-v232 .login-brand p{
    font-size:16px;
  }

  .login-services,
  .login-brand-footer{
    display:none;
  }

  .login-brand-line{
    margin-top:22px;
  }

  .login-v232 .login-panel{
    min-height:auto;
    padding:28px 18px 42px;
  }
}

@media(max-width:520px){
  .login-card-v232{
    padding:28px 22px 24px;
    border-radius:18px;
  }

  .login-card-v232 h2{
    font-size:32px;
  }

  .login-options{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   FLGNet V2.3.4 - Acabamento visual
   ========================================================= */

.sidebar{
  width:250px;
  padding:18px 16px;
  background:linear-gradient(180deg,#0c304f 0%,#0b2a45 100%);
}

.sidebar-brand{
  display:block;
  background:#fff;
  border-radius:14px;
  padding:6px 8px;
  margin:0 4px 24px;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}

.sidebar-brand img{
  width:100%;
  height:86px;
  max-height:none;
  object-fit:contain;
  display:block;
}

.sidebar-nav a{
  min-height:44px;
  padding:11px 12px;
  border-radius:10px;
  color:#dcecf6;
  font-weight:750;
  position:relative;
}

.sidebar-nav a .nav-icon{
  width:22px;
  flex:0 0 22px;
  text-align:center;
  font-size:16px;
  opacity:.94;
}

.sidebar-nav a:hover{
  background:rgba(255,255,255,.08);
}

.sidebar-nav a.active{
  background:linear-gradient(135deg,#0b6eaa,#188fd2);
  color:#fff;
  box-shadow:0 8px 18px rgba(7,89,148,.22);
}

.sidebar-nav a.active::before{
  content:"";
  position:absolute;
  left:-4px;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:999px;
  background:#67d0ff;
}

.sidebar-nav .new-ticket-link{
  background:#0c6ca8;
  color:#fff;
  margin-bottom:8px;
}

.sidebar-nav .new-ticket-link:hover{
  background:#137fbd;
}

.nav-label{
  margin:17px 12px 6px;
  color:#86a9be;
  font-size:10px;
  letter-spacing:.15em;
}

.sidebar-user{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.12);
  padding:16px 10px 2px;
}

.sidebar-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,#1678b5,#0e5d91);
  color:#fff;
  font-weight:900;
}

.sidebar-user-info{
  min-width:0;
}

.sidebar-user-name{
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sidebar-user-role{
  margin-top:2px;
  color:#91b2c7;
  font-size:11px;
}

.sidebar-logout{
  grid-column:1/-1;
  margin-top:6px;
  font-size:12px;
  color:#dcebf4;
  opacity:.9;
}

.app-main{
  padding-top:34px;
}

.page-title{
  align-items:center;
  margin-bottom:24px;
}

.page-title h1{
  font-size:36px;
  letter-spacing:-.025em;
}

.dashboard-stats{
  gap:14px;
}

.dashboard-stats .stat{
  min-height:144px;
  padding:20px 22px;
  border-radius:17px;
  transition:transform .18s ease, box-shadow .18s ease;
}

.dashboard-stats .stat:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(25,62,88,.08);
}

.stat-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.stat-top span{
  font-weight:750;
}

.stat-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:17px;
}

.stat-open .stat-icon{
  background:#e8f4ff;
  color:#075a94;
}

.stat-progress .stat-icon{
  background:#fff2dc;
  color:#a76800;
}

.stat-wait .stat-icon{
  background:#fff0e8;
  color:#b34d21;
}

.stat-done .stat-icon{
  background:#e6f6ed;
  color:#18794e;
}

.dashboard-stats .stat strong{
  font-size:36px;
  margin-top:11px;
}

.panel{
  border-radius:18px;
}

.attention-panel{
  padding:21px 22px;
}

.attention-grid{
  gap:14px;
}

.attention-item{
  min-height:78px;
  padding:15px 18px;
  display:grid;
  grid-template-columns:38px auto 1fr;
  align-items:center;
}

.attention-symbol{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-weight:900;
}

.attention-item.urgent .attention-symbol{
  background:#ffd9d4;
  color:#a12b22;
}

.attention-item.warning .attention-symbol{
  background:#ffefbb;
  color:#795b00;
}

.attention-item strong{
  font-size:26px;
  min-width:30px;
}

.client-metrics{
  gap:14px;
}

.client-metric{
  min-height:118px;
  padding:18px 20px;
}

.client-metric strong{
  font-size:31px;
  margin-bottom:7px;
}

.client-metric span{
  margin-bottom:6px;
}

.table-wrap table{
  background:#fff;
}

th{
  font-size:12px;
  letter-spacing:.02em;
}

@media(max-width:800px){
  .sidebar-brand img{
    height:74px;
  }

  .page-title h1{
    font-size:31px;
  }

  .attention-item{
    grid-template-columns:34px auto 1fr;
  }
}


/* =========================================================
   FLGNet Central de TI V2.3.5 - Visual Premium
   ========================================================= */

body.v235{
  padding-left:292px;
  background:#f3f8fc;
}

.v235 .sidebar{
  width:292px;
  padding:24px 16px 18px;
  background:
    radial-gradient(circle at 30% 92%,rgba(13,121,195,.26),transparent 34%),
    linear-gradient(180deg,#07375e 0%,#07588d 56%,#064a7b 100%);
  box-shadow:none;
}

.v235 .sidebar-brand{
  margin:0 0 22px;
  padding:0 4px 8px;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}

.v235 .sidebar-brand img{
  width:100%;
  height:104px;
  object-fit:contain;
  object-position:left center;
  filter:brightness(0) invert(1);
}

.v235 .sidebar-nav{
  gap:6px;
}

.v235 .sidebar-nav a{
  min-height:54px;
  padding:13px 16px;
  border-radius:11px;
  font-size:15px;
  color:#eef7fc;
}

.v235 .sidebar-nav a.active{
  background:linear-gradient(135deg,#087ee0,#0a66bd);
  box-shadow:0 8px 22px rgba(0,52,103,.20);
}

.v235 .sidebar-nav a.active::before{
  display:none;
}

.v235 .sidebar-nav .new-ticket-link{
  background:transparent;
  box-shadow:none;
}

.v235 .sidebar-nav .new-ticket-link:hover{
  background:rgba(255,255,255,.09);
}

.v235 .nav-icon{
  font-size:20px!important;
  width:28px!important;
  flex:0 0 28px!important;
}

.v235 .nav-label{
  margin:20px 15px 7px;
  color:#b9d8e9;
  font-size:11px;
}

.sidebar-bottom{
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:16px;
}

.v235 .sidebar-user{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:11px;
  border:0;
  padding:0 10px;
}

.v235 .sidebar-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.25);
}

.v235 .sidebar-user-role{
  color:#c8dfeb;
}

.v235 .sidebar-logout{
  display:flex;
  align-items:center;
  gap:10px;
  padding:15px 10px;
  margin-top:8px;
  border-bottom:1px solid rgba(255,255,255,.18);
  font-size:14px;
}

.sidebar-version{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:18px 10px 0;
  color:#fff;
}

.sidebar-version strong{
  font-size:13px;
}

.sidebar-version span{
  font-size:12px;
}

.sidebar-version small{
  color:#c5deeb;
  margin-top:9px;
  font-size:11px;
}

.v235 .app-content{
  min-height:100vh;
  background:#f3f8fc;
}

.topbar-v235{
  height:74px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:0 28px;
  background:#fff;
  border-bottom:1px solid #dfe9ef;
  position:sticky;
  top:0;
  z-index:40;
}

.topbar-menu{
  border:0;
  background:transparent;
  color:#154b75;
  font-size:26px;
  cursor:pointer;
}

.topbar-search{
  display:flex;
  align-items:center;
  gap:10px;
  width:min(440px,42vw);
  height:43px;
  padding:0 14px;
  border:1px solid #d6e3ec;
  border-radius:9px;
  background:#f8fbfd;
}

.topbar-search span{
  color:#6d8aa0;
  font-size:19px;
}

.topbar-search input{
  border:0;
  background:transparent;
  padding:0;
  outline:0;
  width:100%;
  font-size:13px;
}

.topbar-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:20px;
}

.notification-btn{
  position:relative;
  font-size:21px;
  color:#416d8e;
}

.notification-btn b{
  position:absolute;
  top:-8px;
  right:-10px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:10px;
}

.topbar-profile{
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:18px;
  border-left:1px solid #e0e9ef;
}

.topbar-avatar{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#245b84;
  color:#fff;
  font-weight:900;
}

.topbar-profile strong,
.topbar-profile small{
  display:block;
}

.topbar-profile strong{
  font-size:13px;
}

.topbar-profile small{
  color:#638096;
  font-size:11px;
  margin-top:2px;
}

.v235 .app-main{
  padding:30px 0 36px;
}

.v235 .app-shell{
  width:min(1220px,94%);
}

.dashboard-heading-v235{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

.dashboard-heading-v235 h1{
  margin:0 0 4px;
  font-size:36px;
  color:#0b2f55;
  letter-spacing:-.035em;
}

.dashboard-heading-v235 p{
  margin:0;
  color:#647e92;
  font-size:13px;
}

.dashboard-heading-actions{
  display:flex;
  align-items:center;
  gap:24px;
}

.dashboard-datebox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#536f88;
}

.dashboard-datebox > span{
  color:#6284a2;
  font-size:18px;
}

.dashboard-datebox small,
.dashboard-datebox strong{
  display:block;
}

.dashboard-datebox small{
  font-size:11px;
  text-transform:capitalize;
}

.dashboard-datebox strong{
  margin-top:3px;
  color:#224c70;
  font-size:13px;
}

.btn-new-v235{
  min-height:52px;
  padding:0 22px;
  align-items:center;
  gap:9px;
  border-radius:9px;
  background:linear-gradient(135deg,#086fc9,#075fab);
  box-shadow:0 8px 18px rgba(7,95,171,.15);
}

.dashboard-stats-v235{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:16px;
}

.stat-v235{
  min-height:132px;
  display:grid;
  grid-template-columns:64px 1fr 20px;
  align-items:center;
  gap:14px;
  padding:18px 16px;
  border:1px solid #dce8ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,72,104,.035);
}

.stat-v235.open{background:linear-gradient(135deg,#fff,#f5fbff);border-color:#c7e2f5}
.stat-v235.progress{background:linear-gradient(135deg,#fff,#fffaf0);border-color:#f4dca6}
.stat-v235.wait{background:linear-gradient(135deg,#fff,#fff7f2);border-color:#f7d2bd}
.stat-v235.done{background:linear-gradient(135deg,#fff,#f4fbf7);border-color:#cfe8d9}

.stat-icon-v235{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#fff;
  font-size:25px;
}

.open .stat-icon-v235{background:linear-gradient(135deg,#096fd4,#0757b5)}
.progress .stat-icon-v235{background:linear-gradient(135deg,#ffbe23,#f5a800)}
.wait .stat-icon-v235{background:linear-gradient(135deg,#ff7f32,#ff5f17)}
.done .stat-icon-v235{background:linear-gradient(135deg,#2ba363,#1c884e)}

.stat-body-v235 span{
  display:block;
  font-weight:800;
  font-size:13px;
  color:#183b5d;
}

.stat-body-v235 strong{
  display:block;
  margin:4px 0 3px;
  font-size:34px;
  line-height:1;
  color:#092f57;
}

.stat-body-v235 small{
  color:#667e90;
  font-size:11px;
}

.stat-v235 > b{
  font-size:30px;
  font-weight:400;
}

.open > b{color:#0871ce}
.progress > b{color:#f6ad00}
.wait > b{color:#fa6a26}
.done > b{color:#208e51}

.dashboard-middle-v235{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
  margin-bottom:16px;
}

.attention-v235,
.clients-v235,
.recent-v235{
  border:1px solid #dce8ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,72,104,.035);
}

.attention-v235{
  padding:18px;
  background:linear-gradient(135deg,#fffafa,#fff4f5);
  border-color:#ffcbd0;
}

.clients-v235{
  padding:18px;
  background:linear-gradient(135deg,#fff,#f7fbff);
}

.section-title-v235{
  display:flex;
  align-items:center;
  gap:11px;
}

.section-title-v235 h1,
.section-title-v235 h2,
.section-title-v235 p{
  margin:0;
}

.section-title-v235 h2{
  color:#123a5d;
  font-size:20px;
}

.section-title-v235 p{
  margin-top:3px;
  color:#6e8495;
  font-size:12px;
}

.section-title-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-weight:900;
}

.section-title-icon.danger{
  background:#ffe2e5;
  color:#e92839;
  font-size:23px;
}

.section-title-icon.client{
  background:#e6f2ff;
  color:#0868bd;
  font-size:20px;
}

.section-title-icon.ticket{
  background:#eaf3fb;
  color:#174d77;
}

.attention-title-v235 h2{
  color:#e11d34;
}

.attention-items-v235{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:15px;
}

.attention-card-v235{
  min-height:86px;
  display:grid;
  grid-template-columns:52px 1fr 18px;
  gap:12px;
  align-items:center;
  padding:13px;
  border-radius:10px;
}

.attention-card-v235.urgent{
  background:linear-gradient(135deg,#fff0f1,#ffe5e7);
  border:1px solid #ffd1d5;
}

.attention-card-v235.stale{
  background:linear-gradient(135deg,#fffaf0,#fff4cc);
  border:1px solid #f6e1a0;
}

.attention-card-v235 > strong{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:22px;
}

.urgent > strong{background:linear-gradient(135deg,#f24a58,#dc2637)}
.stale > strong{background:linear-gradient(135deg,#d6aa00,#b78600)}

.attention-card-v235 b,
.attention-card-v235 small{
  display:block;
}

.attention-card-v235 b{
  color:#5b3033;
  font-size:13px;
}

.attention-card-v235 small{
  margin-top:3px;
  color:#7d7071;
  font-size:10px;
}

.clients-title-v235{
  justify-content:flex-start;
}

.clients-title-v235 .btn-soft-v235{
  margin-left:auto;
}

.btn-soft-v235{
  padding:9px 12px;
  border:1px solid #cfe2f0;
  border-radius:8px;
  background:#edf7ff;
  color:#0763b1;
  font-size:12px;
  font-weight:800;
}

.client-stats-v235{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:24px;
}

.client-stats-v235 a{
  padding:0 16px;
  border-right:1px solid #dbe6ed;
}

.client-stats-v235 a:first-child{
  padding-left:0;
}

.client-stats-v235 a:last-child{
  border-right:0;
}

.client-stats-v235 strong{
  display:block;
  color:#0968bb;
  font-size:30px;
}

.client-stats-v235 span{
  display:block;
  color:#687f91;
  font-size:11px;
  margin-top:6px;
}

.recent-v235{
  overflow:hidden;
}

.recent-heading-v235{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px 13px;
}

.recent-heading-v235 > a{
  color:#0768bd;
  font-size:12px;
  font-weight:700;
}

.table-v235{
  margin:0;
}

.table-v235 th{
  background:#f7f9fb;
  color:#35536c;
  font-size:10px;
  padding:11px 13px;
}

.table-v235 td{
  padding:11px 13px;
  font-size:11px;
}

.empty-row-v235 td{
  padding:0;
}

.empty-state-v235{
  min-height:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#879bad;
}

.empty-state-v235 div{
  font-size:36px;
}

.empty-state-v235 strong{
  color:#5d7890;
  font-size:13px;
}

.empty-state-v235 span{
  font-size:11px;
}

.footer-v235{
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px max(3%,calc((100% - 1220px)/2));
  border-top:1px solid #dce7ee;
  background:#fff;
  color:#637f94;
}

.footer-brand{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.footer-brand strong{
  color:#0d4b7b;
}

.footer-brand span{
  font-size:12px;
}

.footer-brand small{
  font-size:10px;
}

.footer-slogan{
  padding-left:42px;
  border-left:1px solid #c8d8e3;
  font-size:11px;
}

.placeholder-v235{
  padding:10px 0 30px;
}

.placeholder-v235 > .section-title-v235{
  margin-bottom:18px;
}

.placeholder-card-v235{
  padding:28px;
  border:1px solid #dce8ef;
  border-radius:12px;
  background:#fff;
}

.placeholder-card-v235 strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}

.placeholder-card-v235 p{
  color:#688195;
  line-height:1.6;
  margin-bottom:18px;
}

@media(max-width:1150px){
  .dashboard-stats-v235{grid-template-columns:repeat(2,1fr)}
  .dashboard-middle-v235{grid-template-columns:1fr}
  .dashboard-heading-v235{align-items:flex-start;flex-direction:column}
  .dashboard-heading-actions{width:100%;justify-content:space-between}
}

@media(max-width:850px){
  body.v235{padding-left:0}
  .v235 .sidebar{transform:translateX(-105%);transition:.22s ease}
  .menu-open .sidebar{transform:translateX(0)}
  .topbar-v235{padding:0 16px}
  .topbar-search{width:100%}
  .topbar-profile{display:none}
  .dashboard-stats-v235{grid-template-columns:1fr}
  .attention-items-v235{grid-template-columns:1fr}
  .client-stats-v235{grid-template-columns:1fr;gap:14px}
  .client-stats-v235 a{border-right:0;border-bottom:1px solid #dbe6ed;padding:0 0 14px}
  .client-stats-v235 a:last-child{border-bottom:0;padding-bottom:0}
  .footer-v235{align-items:flex-start;flex-direction:column}
  .footer-slogan{border-left:0;padding-left:0}
}

@media(max-width:560px){
  .dashboard-heading-actions{align-items:flex-start;flex-direction:column}
  .dashboard-datebox{display:none}
  .btn-new-v235{width:100%;justify-content:center}
  .stat-v235{grid-template-columns:52px 1fr 18px}
  .stat-icon-v235{width:48px;height:48px}
}


/* =========================================================
   FLGNet V2.3.6 - Dashboard PHP completo baseado no conceito
   ========================================================= */

.dashboard-heading-v236{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.dashboard-heading-v236 h1{
  margin:0 0 4px;
  font-size:36px;
  color:#0b2f55;
  letter-spacing:-.035em;
}
.dashboard-heading-v236 p{
  margin:0;
  color:#647e92;
  font-size:13px;
}

.charts-grid-v236{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:14px;
  margin-bottom:16px;
}
.chart-card-v236,
.activity-card-v236{
  border:1px solid #dce8ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,72,104,.035);
}
.chart-card-v236{
  padding:17px 18px 15px;
}
.chart-heading-v236{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.chart-period-v236{
  padding:8px 10px;
  border:1px solid #dce8ef;
  border-radius:7px;
  color:#648097;
  background:#f8fbfd;
  font-size:10px;
  font-weight:700;
}

.bar-chart-v236{
  height:190px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  align-items:end;
  padding:8px 12px 0;
  border-bottom:1px solid #dfe8ee;
}
.bar-col-v236{
  height:100%;
  display:grid;
  grid-template-rows:22px 1fr 34px;
  align-items:end;
  text-align:center;
}
.bar-value-v236{
  color:#173e61;
  font-size:12px;
  font-weight:900;
}
.bar-track-v236{
  position:relative;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.bar-track-v236::before{
  content:"";
  position:absolute;
  inset:25% 0 auto;
  border-top:1px dashed #e5edf2;
  box-shadow:0 42px 0 #e5edf2,0 84px 0 #e5edf2;
}
.bar-fill-v236{
  position:relative;
  z-index:2;
  width:48px;
  min-height:8px;
  border-radius:6px 6px 0 0;
}
.bar-open{background:linear-gradient(180deg,#4b9af5,#2377df)}
.bar-progress{background:linear-gradient(180deg,#ffca37,#ffae00)}
.bar-wait{background:linear-gradient(180deg,#ff9654,#ff6a25)}
.bar-done{background:linear-gradient(180deg,#49b875,#279454)}
.bar-label-v236{
  padding-top:8px;
  color:#516f86;
  font-size:10px;
}

.category-chart-v236{
  min-height:190px;
  display:grid;
  grid-template-columns:180px 1fr;
  align-items:center;
  gap:18px;
}
.donut-v236{
  width:145px;
  height:145px;
  margin:auto;
  position:relative;
  border-radius:50%;
  background:conic-gradient(
    #4f8fe8 0 30%,
    #3fb5bd 30% 51%,
    #ff873a 51% 68%,
    #f1bf4f 68% 83%,
    #8b70cc 83% 94%,
    #5577b5 94% 100%
  );
}
.donut-v236::after{
  content:"";
  position:absolute;
  inset:28px;
  border-radius:50%;
  background:#fff;
}
.donut-center-v236{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.donut-center-v236 strong{
  color:#143b5e;
  font-size:25px;
}
.donut-center-v236 span{
  color:#6c8395;
  font-size:10px;
}
.category-list-v236{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.category-row-v236{
  display:grid;
  grid-template-columns:12px 1fr auto;
  gap:8px;
  align-items:center;
  color:#4f6b81;
  font-size:10px;
}
.category-row-v236 strong{
  color:#1d4669;
}
.category-row-v236 strong small{
  color:#758b9c;
  font-weight:500;
}
.cat-dot-v236{
  width:8px;
  height:8px;
  border-radius:50%;
}
.cat-1{background:#4f8fe8}.cat-2{background:#3fb5bd}.cat-3{background:#ff873a}.cat-4{background:#f1bf4f}.cat-5{background:#8b70cc}.cat-6{background:#5577b5}

.bottom-grid-v236{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:14px;
  align-items:start;
}
.activity-card-v236{
  padding:16px;
}
.activity-list-v236{
  display:flex;
  flex-direction:column;
}
.activity-item-v236{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  padding:11px 4px;
  border-bottom:1px solid #edf2f5;
}
.activity-item-v236:last-child{
  border-bottom:0;
}
.activity-icon-v236{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e9f3fb;
  color:#1172be;
  font-size:10px;
}
.activity-item-v236 strong,
.activity-item-v236 span,
.activity-item-v236 small{
  display:block;
}
.activity-item-v236 strong{
  color:#173c5d;
  font-size:11px;
}
.activity-item-v236 span{
  margin-top:2px;
  color:#5f7a8e;
  font-size:10px;
  line-height:1.35;
}
.activity-item-v236 small{
  margin-top:3px;
  color:#94a4b0;
  font-size:9px;
}
.activity-empty-v236,
.chart-empty-v236{
  min-height:150px;
  display:grid;
  place-items:center;
  color:#8ba0ae;
  font-size:11px;
}

@media(max-width:1150px){
  .charts-grid-v236,
  .bottom-grid-v236{grid-template-columns:1fr}
}
@media(max-width:800px){
  .dashboard-heading-v236{align-items:flex-start;flex-direction:column}
  .category-chart-v236{grid-template-columns:1fr}
}
@media(max-width:560px){
  .bar-chart-v236{gap:8px;padding-left:0;padding-right:0}
  .bar-fill-v236{width:34px}
}


/* =========================================================
   V2.4.1 - Correção sidebar + cadastro de acessos do cliente
   ========================================================= */

.v235 .sidebar,
.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}

.v235 .sidebar::-webkit-scrollbar,
.sidebar::-webkit-scrollbar{
  width:6px;
}

.v235 .sidebar::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.24);
  border-radius:999px;
}

.v235 .sidebar-nav a{
  min-height:46px;
  padding-top:10px;
  padding-bottom:10px;
}

.v235 .nav-label{
  margin-top:14px;
}

.sidebar-bottom{
  flex-shrink:0;
}

.form-section-title{
  margin:20px 0 12px;
  font-size:15px;
  color:#28516e;
}

.portal-access-box{
  margin-top:22px;
  padding:18px;
  border:1px solid #cfe2ef;
  border-radius:12px;
  background:#f5faff;
}

.portal-access-toggle{
  display:flex;
  align-items:flex-start;
  gap:11px;
  cursor:pointer;
}

.portal-access-toggle input{
  width:18px;
  height:18px;
  margin-top:2px;
}

.portal-access-toggle strong,
.portal-access-toggle small{
  display:block;
}

.portal-access-toggle small{
  margin-top:4px;
  color:#6b8395;
  font-weight:400;
}

.portal-access-fields{
  margin-top:17px;
}

.field-help{
  color:#738a9a;
  font-size:11px;
  line-height:1.4;
}

.table-action{
  color:#0767b5;
  font-weight:800;
  white-space:nowrap;
}

.user-actions-details{
  min-width:220px;
}

.user-actions-details summary{
  color:#0767b5;
  font-weight:800;
  cursor:pointer;
}

.inline-user-action{
  display:flex;
  gap:7px;
  align-items:center;
  margin-top:9px;
}

.inline-user-action input{
  min-width:110px;
  padding:8px 9px;
  border:1px solid #ccd9e2;
  border-radius:8px;
}

.inline-user-action .btn{
  padding:8px 10px;
  white-space:nowrap;
}

@media(max-height:760px) and (min-width:851px){
  .v235 .sidebar{
    padding-top:14px;
    padding-bottom:12px;
  }

  .v235 .sidebar-brand img{
    height:78px;
  }

  .v235 .sidebar-brand{
    margin-bottom:12px;
  }

  .v235 .sidebar-nav a{
    min-height:42px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .v235 .nav-label{
    margin-top:10px;
    margin-bottom:4px;
  }

  .sidebar-version{
    padding-top:10px;
  }
}

/* V2.5 - SLA, visita, anexos */
.ticket-v25-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ticket-v25-info{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}
.ticket-v25-info>div{padding:12px;border:1px solid #e0e9ef;border-radius:10px;background:#fafcfd}
.ticket-v25-info span,.ticket-v25-info strong{display:block}.ticket-v25-info span{font-size:9px;color:#748b9c;text-transform:uppercase}.ticket-v25-info strong{margin-top:5px}
.ticket-upload-v25{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.ticket-files-v25{display:flex;flex-wrap:wrap;gap:10px}.ticket-files-v25 a{padding:10px 12px;border:1px solid #dbe6ed;border-radius:9px;background:#f8fbfd;color:#075a94;font-weight:700}.ticket-files-v25 small{display:block;color:#8193a0;font-weight:400;margin-top:3px}
.ticket-history-v25{display:flex;flex-direction:column;gap:10px}.ticket-history-v25>div{padding:12px;border-left:3px solid #0b70ae;background:#f8fbfd;border-radius:8px}.ticket-history-v25 strong{display:inline-block}.ticket-history-v25 span{float:right;color:#8293a0;font-size:11px}.ticket-history-v25 p{margin:6px 0 0;color:#526b7e}
@media(max-width:900px){.ticket-v25-grid{grid-template-columns:1fr}}
