:root{
  --cic-orange:#F0A33A;
  --cic-orange-dark:#D88924;
  --cic-orange-soft:#FFF5E8;

  --cic-graphite:#363A3E;
  --cic-dark:#24282C;
  --cic-sidebar:#292D31;

  --cic-gray:#686D72;
  --cic-muted:#89919A;

  --cic-bg:#F5F6F8;
  --cic-card:#FFFFFF;
  --cic-border:#E4E7EB;

  --cic-green:#238454;
  --cic-red:#C13B3B;
  --cic-blue:#3B6FA5;
}

/* =========================
   BASE
========================= */

body{
  background:var(--cic-bg);
  color:var(--cic-dark);
}

.app{
  background:var(--cic-bg);
}

.content{
  max-width:1700px;
  margin:auto;
}

/* =========================
   LOGIN
========================= */

.login-page{
  background:#fff;
}

.login-brand{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 22%,rgba(240,163,58,.18),transparent 30%),
    linear-gradient(145deg,#30353A,#202428 70%);
  color:#fff;
}

.login-brand::after{
  content:"";
  position:absolute;
  width:360px;
  height:760px;
  background:var(--cic-orange);
  opacity:.92;
  right:-250px;
  top:-90px;
  transform:rotate(13deg);
}

.brand-lockup{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:15px;
}

.brand-logo-img{
  max-width:245px;
  max-height:88px;
  object-fit:contain;
  display:none;
}

.brand-fallback{
  display:block;
}

.brand-fallback .brand-name{
  font-size:43px;
  font-weight:400;
  letter-spacing:1px;
  line-height:1;
  color:#fff;
}

.brand-fallback .brand-sub{
  color:#d9dde0;
  font-size:12px;
  font-weight:600;
  letter-spacing:2.4px;
  margin-top:8px;
}

.brand-accent{
  width:42px;
  height:5px;
  border-radius:6px;
  background:var(--cic-orange);
  margin-top:17px;
}

.hero-title{
  position:relative;
  z-index:2;
  font-size:47px;
  max-width:620px;
}

.hero-title span{
  color:var(--cic-orange);
}

.hero-copy{
  position:relative;
  z-index:2;
  max-width:620px;
  color:#dfe3e6;
}

.login-brand small{
  position:relative;
  z-index:2;
}

.login-box h2{
  color:var(--cic-dark);
}

input:focus{
  border-color:var(--cic-orange);
  box-shadow:0 0 0 3px rgba(240,163,58,.13);
}

.login-btn{
  background:linear-gradient(135deg,var(--cic-orange),var(--cic-orange-dark));
  box-shadow:0 8px 18px rgba(216,137,36,.18);
  transition:.18s;
}

.login-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(216,137,36,.25);
}

/* =========================
   SIDEBAR
========================= */

.sidebar{
  background:
    linear-gradient(180deg,#30353A 0%,#262A2E 100%);
  box-shadow:5px 0 25px rgba(0,0,0,.08);
}

.sidebar-brand{
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:12px;
  padding-bottom:23px;
}

.sidebar-brand .side-logo-img{
  max-width:185px;
  max-height:60px;
  object-fit:contain;
  display:none;
}

.sidebar-wordmark strong{
  color:#fff;
  font-size:25px;
  font-weight:500;
  letter-spacing:.5px;
}

.sidebar-wordmark span{
  color:#BFC4C8;
  font-size:9px;
  letter-spacing:1.8px;
  margin-top:5px;
}

.sidebar-wordmark::after{
  content:"";
  display:block;
  width:34px;
  height:4px;
  border-radius:3px;
  margin-top:12px;
  background:var(--cic-orange);
}

.nav-title{
  color:#90979E;
  font-weight:700;
  font-size:9px;
}

.nav-btn{
  position:relative;
  color:#CCD1D5;
  font-weight:500;
  transition:.17s ease;
}

.nav-btn:hover{
  background:rgba(255,255,255,.06);
  color:white;
}

.nav-btn.active{
  color:#fff;
  background:rgba(240,163,58,.13);
}

.nav-btn.active::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:4px;
  border-radius:0 5px 5px 0;
  background:var(--cic-orange);
}

/* =========================
   HEADER
========================= */

.topbar{
  height:76px;
  border-bottom:1px solid var(--cic-border);
  box-shadow:0 2px 12px rgba(34,40,46,.035);
}

.top-brand{
  display:flex;
  flex-direction:column;
}

.top-brand strong{
  font-size:14px;
  color:var(--cic-dark);
}

.top-brand span{
  font-size:10px;
  color:var(--cic-muted);
  margin-top:2px;
}

.demo-badge{
  background:var(--cic-orange-soft);
  color:var(--cic-orange-dark);
  border:1px solid #F7DDB8;
  letter-spacing:.4px;
}

.avatar{
  background:linear-gradient(135deg,var(--cic-orange),var(--cic-orange-dark));
  box-shadow:0 4px 10px rgba(216,137,36,.18);
}

.logout:hover{
  border-color:var(--cic-orange);
  color:var(--cic-orange-dark);
}

/* =========================
   TITULOS
========================= */

.page-head{
  display:flex;
  flex-direction:column;
  position:relative;
  padding-left:15px;
}

.page-head::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:4px;
  border-radius:5px;
  background:var(--cic-orange);
}

.page-head h1{
  font-size:27px;
  color:var(--cic-dark);
}

/* =========================
   DASHBOARD CARDS
========================= */

.cards{
  gap:18px;
}

.card{
  position:relative;
  border:1px solid var(--cic-border);
  border-radius:14px;
  padding:21px 22px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(28,35,42,.035);
  transition:.18s;
}

.card:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 24px rgba(28,35,42,.07);
}

.card::after{
  content:"";
  position:absolute;
  height:4px;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(90deg,var(--cic-orange),#F6C274);
}

.metric-label{
  color:var(--cic-gray);
  font-size:11px;
  letter-spacing:.5px;
}

.metric{
  color:var(--cic-dark);
  font-size:34px;
}

.metric-foot{
  color:var(--cic-muted);
}

/* =========================
   QUICK CARDS
========================= */

.quick{
  position:relative;
  padding-left:22px;
  border-color:var(--cic-border);
  box-shadow:0 3px 12px rgba(28,35,42,.025);
}

.quick::before{
  content:"";
  position:absolute;
  top:16px;
  bottom:16px;
  left:0;
  width:4px;
  background:var(--cic-orange);
  border-radius:0 5px 5px 0;
}

/* =========================
   PAINEIS / TABELAS
========================= */

.panel{
  border-color:var(--cic-border);
  border-radius:14px;
  box-shadow:0 4px 16px rgba(28,35,42,.03);
}

.panel-head{
  background:#fff;
}

.panel-head strong{
  color:var(--cic-dark);
}

th{
  background:#F8F9FA;
  color:#737B83;
  font-weight:700;
  letter-spacing:.35px;
}

tbody tr{
  transition:.12s;
}

tbody tr:hover{
  background:#FFF9F1;
}

td{
  border-color:#EEF0F2;
}

/* =========================
   BADGES
========================= */

.badge-blue{
  background:#EEF3F8;
  color:var(--cic-blue);
}

.badge-green{
  background:#EAF7EF;
  color:var(--cic-green);
}

.badge-orange{
  background:var(--cic-orange-soft);
  color:var(--cic-orange-dark);
}

.badge-gray{
  background:#F0F2F4;
  color:#717981;
}

.badge-red{
  background:#FDEEEE;
  color:var(--cic-red);
}

/* =========================
   MOBILE
========================= */

@media(max-width:800px){
  .top-brand{
    display:none;
  }

  .sidebar{
    width:270px;
  }
}

/* ===== LOGO OFICIAL CICARELLI ===== */

.top-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.top-logo-img{
  display:block;
  width:auto;
  height:42px;
  object-fit:contain;
}

.top-brand-text{
  display:flex;
  flex-direction:column;
  border-left:1px solid #e5e7eb;
  padding-left:13px;
}

.top-brand-text strong{
  color:#34383c;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
}

.top-brand-text span{
  color:#8a9096;
  font-size:9px;
  margin-top:3px;
  letter-spacing:.2px;
}

/* Logo da sidebar */

.sidebar .side-logo-img{
  display:block !important;
  width:175px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
  border-radius:9px;
  padding:8px 9px;
  box-shadow:0 4px 15px rgba(0,0,0,.13);
}

.sidebar .sidebar-wordmark,
.sidebar .sidebar-wordmark-fallback{
  display:none !important;
}

/* Logo na tela de login */

.login-brand .brand-logo-img{
  display:block !important;
  width:285px;
  max-width:90%;
  height:auto;
  object-fit:contain;
  background:#fff;
  border-radius:12px;
  padding:12px 15px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.login-brand .brand-fallback{
  display:none !important;
}

@media(max-width:800px){
  .top-logo-img{
    height:34px;
  }

  .top-brand-text{
    display:none;
  }
}

/* ==================================================
   CICARELLI - LOGO OFICIAL
   ================================================== */

.cicarelli-sidebar-brand{
  min-height:94px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:16px 12px 20px !important;
}

.cicarelli-sidebar-logo{
  display:block !important;
  width:185px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:8px;
  background:#fff;
  padding:7px 9px;
  box-shadow:0 4px 16px rgba(0,0,0,.16);
}

.cicarelli-top-brand{
  display:flex !important;
  align-items:center;
  gap:14px;
}

.cicarelli-top-logo{
  display:block !important;
  width:auto !important;
  height:44px !important;
  max-width:210px;
  object-fit:contain !important;
}

.cicarelli-top-brand .top-brand-text{
  display:flex;
  flex-direction:column;
  border-left:1px solid #e3e5e7;
  padding-left:13px;
}

.cicarelli-top-brand .top-brand-text strong{
  font-size:12px;
  line-height:1.2;
  color:#34383c;
}

.cicarelli-top-brand .top-brand-text span{
  font-size:9px;
  color:#8a9096;
  margin-top:3px;
}

.cicarelli-login-brand{
  display:block !important;
  position:relative;
  z-index:3;
}

.cicarelli-login-logo{
  display:block !important;
  width:330px !important;
  max-width:90% !important;
  height:auto !important;
  object-fit:contain !important;
  background:#fff;
  border-radius:12px;
  padding:14px 17px;
  box-shadow:0 12px 34px rgba(0,0,0,.2);
}

@media(max-width:800px){
  .cicarelli-top-logo{
    height:37px !important;
  }

  .cicarelli-top-brand .top-brand-text{
    display:none;
  }
}


/* ==========================================================
   CICARELLI - REFINAMENTO VISUAL V2
   ========================================================== */

/* SIDEBAR */
.sidebar{
  width:235px !important;
  padding:0 14px 24px !important;
  background:linear-gradient(180deg,#33383D 0%,#282C30 100%) !important;
}

.main{
  margin-left:235px !important;
}

.sidebar-brand.cicarelli-sidebar-brand{
  min-height:112px !important;
  height:112px !important;
  padding:20px 4px 16px !important;
  margin:0 0 12px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-bottom:1px solid rgba(255,255,255,.09) !important;
}

.cicarelli-sidebar-logo{
  display:block !important;

  width:190px !important;
  max-width:190px !important;
  height:auto !important;

  padding:0 !important;
  margin:0 !important;

  background:#fff !important;
  border-radius:7px !important;

  box-shadow:0 5px 16px rgba(0,0,0,.16) !important;
  object-fit:contain !important;
}

/* MENU */
.nav-title{
  margin-top:12px !important;
  padding-left:10px !important;
  color:#9CA3AA !important;
  font-size:9px !important;
  letter-spacing:1.25px !important;
}

.nav-btn{
  padding:12px 12px !important;
  margin:2px 0 !important;
  border-radius:8px !important;
  font-size:13px !important;
}

.nav-btn.active{
  background:rgba(240,163,58,.14) !important;
}

.nav-btn.active::before{
  width:4px !important;
  background:#F0A33A !important;
}

/* ==========================================================
   HEADER
   ========================================================== */

.topbar{
  height:78px !important;
  padding:0 26px !important;
  background:#fff !important;
}

.top-left{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

.cicarelli-top-brand{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:16px !important;
  min-width:0 !important;
}

.cicarelli-top-logo{
  display:block !important;

  width:175px !important;
  max-width:175px !important;
  height:auto !important;

  flex:0 0 175px !important;

  object-fit:contain !important;
}

.cicarelli-top-brand .top-brand-text{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;

  min-height:40px !important;

  padding-left:15px !important;

  border-left:1px solid #E3E6E9 !important;
}

.cicarelli-top-brand .top-brand-text strong{
  color:#34383C !important;

  font-size:13px !important;
  font-weight:700 !important;

  line-height:1.2 !important;
}

.cicarelli-top-brand .top-brand-text span{
  color:#899097 !important;

  font-size:10px !important;

  margin-top:4px !important;
}

.demo-badge{
  padding:6px 11px !important;

  background:#FFF5E8 !important;

  color:#CC7B17 !important;

  border:1px solid #F4D5AA !important;

  font-size:10px !important;
  letter-spacing:.45px !important;

  box-shadow:none !important;
}

/* ==========================================================
   USU?RIO
   ========================================================== */

.user-area{
  gap:11px !important;
}

.avatar{
  width:39px !important;
  height:39px !important;

  background:linear-gradient(135deg,#F0A33A,#D88924) !important;

  font-size:14px !important;
}

.user-name{
  font-size:13px !important;
}

.user-role{
  font-size:10px !important;
  color:#899097 !important;
}

.logout{
  height:36px !important;

  padding:0 13px !important;

  border-radius:8px !important;

  font-size:12px !important;
}

/* ==========================================================
   CONTE?DO
   ========================================================== */

.content{
  padding:28px 28px 50px !important;
}

.page-head{
  margin-bottom:22px !important;
}

.page-head h1{
  font-size:27px !important;
}

.page-head p{
  margin-top:3px !important;
  font-size:14px !important;
}

/* ==========================================================
   INDICADORES
   ========================================================== */

.cards{
  gap:16px !important;
}

.card{
  min-height:118px !important;

  padding:21px 21px 19px !important;

  border-radius:13px !important;

  box-shadow:0 4px 14px rgba(35,40,45,.035) !important;
}

.metric-label{
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.45px !important;
}

.metric{
  margin-top:10px !important;

  font-size:32px !important;
}

.metric-foot{
  margin-top:8px !important;

  font-size:10px !important;
}

/* ==========================================================
   CARDS INFORMATIVOS
   ========================================================== */

.quick-grid{
  gap:14px !important;
  margin-top:18px !important;
}

.quick{
  min-height:67px !important;

  padding:17px 18px 17px 22px !important;

  border-radius:11px !important;
}

.quick strong{
  font-size:12px !important;
}

.quick p{
  margin-top:6px !important;

  font-size:10px !important;
}

/* ==========================================================
   TABELAS
   ========================================================== */

.panel{
  margin-top:18px !important;

  border-radius:13px !important;
}

.panel-head{
  padding:17px 18px !important;
}

.panel-head strong{
  font-size:14px !important;
}

th{
  padding:12px 16px !important;

  font-size:9px !important;
  letter-spacing:.45px !important;
}

td{
  padding:14px 16px !important;

  font-size:12px !important;
}

/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media(max-width:800px){

  .sidebar{
    width:270px !important;
  }

  .main{
    margin-left:0 !important;
  }

  .cicarelli-sidebar-logo{
    width:200px !important;
    max-width:200px !important;
  }

  .cicarelli-top-logo{
    width:145px !important;
    max-width:145px !important;
    flex-basis:145px !important;
  }

  .cicarelli-top-brand .top-brand-text{
    display:none !important;
  }

  .content{
    padding:20px 15px 40px !important;
  }
}


/* ==========================================================
   CICARELLI - AJUSTE PARA REMOVER REDUNDANCIA DE LOGO
   ========================================================== */

.cicarelli-top-logo{
  display:none !important;
}

.cicarelli-top-brand{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}

.cicarelli-top-brand .top-brand-text{
  padding-left:0 !important;
  border-left:none !important;
}

.cicarelli-top-brand .top-brand-text strong{
  font-size:15px !important;
  font-weight:700 !important;
  color:#2F3438 !important;
}

.cicarelli-top-brand .top-brand-text span{
  font-size:11px !important;
  color:#7C848C !important;
  margin-top:4px !important;
}

.topbar{
  padding:0 24px !important;
}


/* ==========================================================
   REFINAMENTO VISUAL DA LOGO - SIDEBAR
   ========================================================== */

.sidebar-brand{
  padding:20px 16px 18px 16px !important;
  margin-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,0.08) !important;
}

.sidebar-brand img,
.side-logo-img{
  display:block !important;
  width:100% !important;
  max-width:132px !important;
  height:auto !important;
  margin:0 auto !important;
  padding:8px 10px !important;
  background:rgba(255,255,255,0.96) !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  border-radius:10px !important;
  box-shadow:0 6px 18px rgba(0,0,0,0.18) !important;
}

.sidebar-wordmark-fallback{
  margin-top:10px !important;
  text-align:center !important;
}

.sidebar-menu,
.nav-section,
.sidebar nav{
  margin-top:8px !important;
}

.sidebar-section-title,
.menu-section-title,
.nav-label{
  margin-top:10px !important;
}

/* se existir wrapper espec?fico da imagem */
.sidebar-logo-wrap,
.brand-logo-wrap,
.logo-wrap{
  padding:4px 0 8px 0 !important;
  display:flex !important;
  justify-content:center !important;
}

/* mobile */
@media (max-width: 900px){
  .sidebar-brand{
    padding:16px 12px 14px 12px !important;
  }

  .sidebar-brand img,
  .side-logo-img{
    max-width:118px !important;
    padding:6px 8px !important;
  }
}


/* ==========================================================
   Cicarelli - refinamento visual v2
   sobrescreve os ajustes anteriores
   ========================================================== */

:root{
  --cic-bg: #f4f5f7;
  --cic-surface: #ffffff;
  --cic-sidebar-1: #2f343a;
  --cic-sidebar-2: #24282d;
  --cic-text: #1f2937;
  --cic-muted: #6b7280;
  --cic-border: #e5e7eb;
  --cic-accent: #d79a34;
  --cic-accent-soft: rgba(215,154,52,0.14);
}

/* fundo geral */
body{
  background: var(--cic-bg) !important;
  color: var(--cic-text) !important;
}

/* sidebar */
.sidebar,
aside,
.sidebar-layout,
.app-sidebar{
  background: linear-gradient(180deg, var(--cic-sidebar-1) 0%, var(--cic-sidebar-2) 100%) !important;
  color: #fff !important;
}

/* ?rea da logo */
.sidebar-brand,
.brand,
.sidebar-header{
  padding: 16px 14px 14px 14px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  background: transparent !important;
}

/* logo sem caixa branca artificial */
.sidebar-brand img,
.side-logo-img,
.brand img,
.sidebar-header img{
  display: block !important;
  width: auto !important;
  max-width: 165px !important;
  max-height: 62px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

/* evita wrappers com card branco */
.sidebar-logo-wrap,
.brand-logo-wrap,
.logo-wrap,
.sidebar-brand > div{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* t?tulos internos da sidebar */
.sidebar .section-title,
.sidebar .menu-section-title,
.sidebar .nav-section-title,
.sidebar small{
  color: rgba(255,255,255,0.55) !important;
  letter-spacing: .08em !important;
}

/* links da sidebar */
.sidebar a,
.sidebar button,
.sidebar .menu-item,
.sidebar nav a{
  color: rgba(255,255,255,0.88) !important;
  border-radius: 10px !important;
}

/* hover */
.sidebar a:hover,
.sidebar button:hover,
.sidebar .menu-item:hover,
.sidebar nav a:hover{
  background: var(--cic-accent-soft) !important;
  color: #fff !important;
}

/* item ativo */
.sidebar a.active,
.sidebar .active,
.sidebar .menu-item.active,
.sidebar nav a.active{
  background: rgba(215,154,52,0.18) !important;
  color: #fff !important;
  border-left: 3px solid var(--cic-accent) !important;
}

/* topo */
header,
.topbar,
.app-header{
  background: #ffffff !important;
  border-bottom: 1px solid var(--cic-border) !important;
}

/* ?rea principal */
main,
.content,
.page-content,
.dashboard-content{
  background: var(--cic-bg) !important;
}

/* cards */
.card,
.panel,
.stat-card,
.dashboard-card,
.summary-card,
table,
.table-wrapper{
  background: var(--cic-surface) !important;
  border: 1px solid var(--cic-border) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
  border-radius: 14px !important;
}

/* faixa de destaque dos cards */
.card::after,
.stat-card::after,
.summary-card::after{
  border-color: var(--cic-accent) !important;
}

/* t?tulos */
h1, h2, h3, h4{
  color: #1f2937 !important;
}

/* detalhes textuais */
p, span, small, .muted, .subtitle{
  color: var(--cic-muted) !important;
}

/* badge homologa??o */
.badge,
.status-badge,
.chip,
.tag{
  border-radius: 999px !important;
}

.badge-warning,
.tag-warning,
.chip-warning{
  background: rgba(215,154,52,0.14) !important;
  color: #b36d00 !important;
  border: 1px solid rgba(215,154,52,0.30) !important;
}

/* bot?o sair / bot?es */
button,
.btn{
  border-radius: 10px !important;
}

/* mobile */
@media (max-width: 900px){
  .sidebar-brand img,
  .side-logo-img,
  .brand img,
  .sidebar-header img{
    max-width: 145px !important;
    max-height: 56px !important;
  }
}


/* ==========================================================
   LOGO TRANSPARENTE CICARELLI
   ========================================================== */

.cicarelli-sidebar-logo,
.sidebar-brand img,
.side-logo-img{
  width:175px !important;
  max-width:175px !important;
  max-height:75px !important;
  height:auto !important;

  padding:0 !important;
  margin:0 auto !important;

  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;

  object-fit:contain !important;
}

.sidebar-brand.cicarelli-sidebar-brand{
  min-height:105px !important;
  height:auto !important;

  padding:17px 8px 16px !important;

  background:transparent !important;
}


/* ==========================================================
   CICARELLI - SIDEBAR CLARA INSTITUCIONAL
   ========================================================== */

.sidebar{
  background:linear-gradient(180deg,#F7F8F9 0%,#ECEFF1 100%) !important;
  border-right:1px solid #D9DEE3 !important;
  box-shadow:4px 0 18px rgba(31,41,55,.045) !important;
  color:#353A3F !important;
}

/* Logo */
.sidebar-brand,
.sidebar-brand.cicarelli-sidebar-brand{
  background:transparent !important;
  border-bottom:1px solid #DDE1E5 !important;
  padding:18px 10px 17px !important;
  min-height:108px !important;
}

.cicarelli-sidebar-logo,
.sidebar-brand img,
.side-logo-img{
  display:block !important;
  width:178px !important;
  max-width:178px !important;
  max-height:78px !important;
  height:auto !important;
  margin:0 auto !important;

  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;

  object-fit:contain !important;
}

/* T?tulos de grupo */
.nav-title{
  color:#858C93 !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:1.25px !important;
}

/* Itens */
.nav-btn{
  color:#454B51 !important;
  font-weight:500 !important;
  background:transparent !important;
}

.nav-btn:hover{
  color:#25292D !important;
  background:#E4E7EA !important;
}

/* Menu selecionado */
.nav-btn.active{
  color:#282C30 !important;
  background:#F4E8D5 !important;
  font-weight:700 !important;
}

.nav-btn.active::before{
  background:#E59A2F !important;
  width:4px !important;
}

/* Linha inferior da logo */
.sidebar-brand::after{
  display:none !important;
}

/* Mant?m o conte?do principal bem separado */
.main{
  background:#F5F6F8 !important;
}

/* ==========================================================
   AJUSTES COMPLEMENTARES DA IDENTIDADE
   ========================================================== */

.page-head::before{
  background:#E59A2F !important;
}

.card::after{
  background:linear-gradient(90deg,#E59A2F,#F2BF72) !important;
}

.quick::before{
  background:#E59A2F !important;
}

.avatar{
  background:linear-gradient(135deg,#E9A13A,#D78722) !important;
}

.demo-badge{
  background:#FFF4E4 !important;
  color:#C97712 !important;
  border-color:#F0D2A6 !important;
}


/* ==========================================================
   CORRE??O MENU SIDEBAR CLARA
   ========================================================== */

/* t?tulos das se??es */
.sidebar .nav-title{
  color:#747B82 !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:1.2px !important;
}

/* todos os bot?es do menu */
.sidebar .nav-btn{
  color:#40464C !important;
  background:transparent !important;
  font-weight:500 !important;
  opacity:1 !important;
}

/* garante que nenhum estilo antigo deixe o texto branco */
.sidebar button.nav-btn{
  color:#40464C !important;
}

/* hover */
.sidebar .nav-btn:hover,
.sidebar button.nav-btn:hover{
  color:#202428 !important;
  background:#E5E8EB !important;
}

/* item selecionado */
.sidebar .nav-btn.active,
.sidebar button.nav-btn.active{
  color:#25292D !important;
  background:#F5E7D0 !important;
  font-weight:700 !important;
}

/* faixa laranja do selecionado */
.sidebar .nav-btn.active::before{
  background:#E79A2F !important;
  width:4px !important;
}

/* m?dulos futuros continuam leg?veis */
.sidebar .nav-btn[data-view="soon"]{
  color:#545A60 !important;
}

/* melhora separa??o entre grupos */
.sidebar .nav-title{
  margin-top:14px !important;
  margin-bottom:5px !important;
}


/* ==========================================================
   CICARELLI LOGIN V2
   ========================================================== */

.login-page{
  min-height:100vh !important;
  width:100% !important;

  display:grid !important;
  grid-template-columns:minmax(520px,1.05fr) minmax(430px,.95fr) !important;

  background:#fff !important;
}

/* LADO INSTITUCIONAL */

.login-brand{
  min-height:100vh !important;

  padding:58px 68px 42px !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;

  position:relative !important;
  overflow:hidden !important;

  color:#282D32 !important;

  background:
    radial-gradient(
      circle at 20% 15%,
      rgba(255,255,255,.95),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      #F5F6F7 0%,
      #E7EAED 100%
    ) !important;

  border-right:1px solid #DDE1E5 !important;
}

/* faixa laranja institucional */

.login-brand::after{
  content:"" !important;

  position:absolute !important;

  top:-15% !important;
  right:-105px !important;

  width:190px !important;
  height:135% !important;

  background:linear-gradient(
    180deg,
    #F2AD42,
    #DD8D20
  ) !important;

  transform:rotate(12deg) !important;

  opacity:1 !important;

  z-index:0 !important;
}

.login-brand-content{
  position:relative !important;
  z-index:2 !important;
}

.login-brand-logo{
  margin-bottom:72px !important;
}

.login-brand-logo img{
  display:block !important;

  width:330px !important;
  max-width:72% !important;

  height:auto !important;

  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;

  object-fit:contain !important;
}

.login-brand-message{
  max-width:620px !important;
}

.login-kicker{
  margin-bottom:16px !important;

  color:#B87518 !important;

  font-size:11px !important;
  font-weight:800 !important;

  letter-spacing:1.5px !important;
}

.login-brand-message h1{
  margin:0 0 20px !important;

  max-width:620px !important;

  color:#282D32 !important;

  font-size:48px !important;
  font-weight:750 !important;

  line-height:1.05 !important;
  letter-spacing:-1.1px !important;
}

.login-brand-message h1 span{
  display:block !important;

  color:#D98B24 !important;
}

.login-brand-message p{
  margin:0 !important;

  max-width:590px !important;

  color:#66717B !important;

  font-size:16px !important;

  line-height:1.6 !important;
}

.login-features{
  display:flex !important;
  flex-wrap:wrap !important;

  gap:10px !important;

  margin-top:30px !important;
}

.login-features div{
  position:relative !important;

  padding:9px 13px 9px 27px !important;

  background:rgba(255,255,255,.7) !important;

  border:1px solid rgba(75,82,89,.10) !important;
  border-radius:999px !important;

  color:#555E66 !important;

  font-size:11px !important;
  font-weight:650 !important;
}

.login-features div::before{
  content:"" !important;

  position:absolute !important;

  left:12px !important;
  top:50% !important;

  width:7px !important;
  height:7px !important;

  border-radius:50% !important;

  background:#E59A2F !important;

  transform:translateY(-50%) !important;
}

.login-brand-footer{
  position:relative !important;
  z-index:2 !important;

  color:#8A9299 !important;

  font-size:10px !important;
  font-weight:600 !important;

  letter-spacing:.35px !important;
}

/* PAINEL DO LOGIN */

.login-panel{
  min-height:100vh !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:50px 70px !important;

  background:#FFFFFF !important;
}

.login-box{
  width:100% !important;
  max-width:410px !important;
}

.login-eyebrow{
  margin-bottom:10px !important;

  color:#D88924 !important;

  font-size:10px !important;
  font-weight:800 !important;

  letter-spacing:1.4px !important;
}

.login-box h2{
  margin:0 0 8px !important;

  color:#23282D !important;

  font-size:31px !important;
  font-weight:750 !important;

  letter-spacing:-.5px !important;
}

.login-description{
  margin:0 0 31px !important;

  color:#7A838B !important;

  font-size:14px !important;
}

.login-box label{
  margin:17px 0 7px !important;

  color:#444B52 !important;

  font-size:11px !important;
  font-weight:750 !important;
}

.login-box input{
  height:48px !important;

  padding:0 14px !important;

  background:#FAFBFC !important;

  border:1px solid #DDE2E6 !important;
  border-radius:9px !important;

  color:#2B3136 !important;

  font-size:14px !important;

  transition:.16s !important;
}

.login-box input:focus{
  background:#FFF !important;

  border-color:#E59A2F !important;

  box-shadow:0 0 0 3px rgba(229,154,47,.12) !important;
}

.login-btn{
  height:48px !important;

  margin-top:25px !important;

  border:0 !important;
  border-radius:9px !important;

  background:linear-gradient(
    135deg,
    #F0A43A,
    #DD8A1F
  ) !important;

  color:#FFF !important;

  font-size:13px !important;
  font-weight:750 !important;

  box-shadow:0 8px 18px rgba(221,138,31,.18) !important;

  cursor:pointer !important;
}

.login-btn:hover{
  transform:translateY(-1px) !important;

  box-shadow:0 11px 24px rgba(221,138,31,.25) !important;
}

.login-error{
  margin-top:12px !important;

  min-height:18px !important;

  color:#B83A3A !important;

  font-size:11px !important;
}

.login-security{
  margin-top:25px !important;

  padding-top:19px !important;

  border-top:1px solid #EDF0F2 !important;

  color:#9AA1A8 !important;

  text-align:center !important;

  font-size:10px !important;
}

.login-mobile-logo{
  display:none !important;
}

/* ==========================================================
   RESPONSIVIDADE LOGIN
   ========================================================== */

@media(max-width:1000px){

  .login-page{
    grid-template-columns:1fr 1fr !important;
  }

  .login-brand{
    padding:45px !important;
  }

  .login-brand-message h1{
    font-size:39px !important;
  }

  .login-panel{
    padding:40px !important;
  }

}

@media(max-width:760px){

  .login-page{
    display:block !important;
  }

  .login-brand{
    display:none !important;
  }

  .login-panel{
    min-height:100vh !important;

    padding:30px 22px !important;
  }

  .login-mobile-logo{
    display:block !important;

    margin-bottom:40px !important;
  }

  .login-mobile-logo img{
    display:block !important;

    width:250px !important;
    max-width:85% !important;

    height:auto !important;

    margin:0 auto !important;
  }

}


/* ==========================================================
   LOGIN - ACABAMENTO V3
   ========================================================== */

.login-brand::after{
  right:-125px !important;
  width:175px !important;
  opacity:.94 !important;
}

.login-brand-logo img{
  width:315px !important;
}

.login-brand-message{
  max-width:600px !important;
}

.login-brand-message h1{
  font-size:46px !important;
}

.login-brand-footer{
  color:#7E878F !important;
}


/* ==========================================================
   CONTROLE EXCLUSIVO LOGIN / SISTEMA
   ========================================================== */

/* LOGIN: absolutamente nada do painel deve aparecer */
body.login-mode #app,
body.login-mode .app,
body.login-mode .sidebar,
body.login-mode .main,
body.login-mode .topbar{
  display:none !important;
}

body.login-mode #loginPage{
  display:grid !important;
  position:relative !important;

  width:100% !important;
  min-width:100% !important;
  max-width:none !important;

  min-height:100vh !important;

  margin:0 !important;
  left:0 !important;
  transform:none !important;
}


/* SISTEMA: login desaparece completamente */
body.app-mode #loginPage{
  display:none !important;
}

body.app-mode #app{
  display:block !important;
}

body.app-mode .sidebar{
  display:block !important;
}

body.app-mode .main{
  display:block !important;
}

body.app-mode .topbar{
  display:flex !important;
}

