/* ===== Origem: v123-sidebar-identity-fixed.css ===== */
/* V123 — identidade visual persistente da barra lateral.
   Arquivo dedicado para impedir que uma folha antiga em cache restaure o fundo branco. */
.side{
  background:
    radial-gradient(circle at 18% 5%, rgba(196,72,18,.10), transparent 28%),
    linear-gradient(180deg,#fffaf5 0%,#fbf2e9 48%,#f7eee6 100%) !important;
  border-right:1px solid #ead7c7 !important;
  box-shadow:18px 0 55px rgba(76,45,29,.08) !important;
}
.side nav{gap:7px !important}
.side .nav{
  color:#49352d !important;
  border:1px solid transparent !important;
  border-radius:14px !important;
  padding:11px 12px !important;
  font-weight:650 !important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease !important;
}
.side .nav span{color:#a94b1d !important;opacity:.72 !important}
.side .nav:hover{
  background:rgba(255,255,255,.72) !important;
  border-color:#ead7c7 !important;
  color:#2f211c !important;
  box-shadow:0 9px 22px rgba(106,65,41,.08) !important;
  transform:none !important;
}
.side .nav.active{
  background:linear-gradient(135deg,#fff 0%,#fff7ef 100%) !important;
  border-color:#dfbfa9 !important;
  color:#311f19 !important;
  box-shadow:inset 4px 0 0 #c54812,0 12px 28px rgba(111,62,34,.10) !important;
}
.side .nav.active span{color:#c54812 !important;opacity:1 !important}
.side .nav.parent b{color:inherit !important}
.side .subnav{border-left:1px solid #e3cbb9 !important}
.side .nav.child{color:#6b4d40 !important}
.side .profile{
  background:linear-gradient(145deg,#fffaf6,#f4e8dc) !important;
  border:1px solid #e3cdbd !important;
  box-shadow:0 12px 30px rgba(91,55,36,.09) !important;
}
.side .profile div{
  background:linear-gradient(135deg,#c54812,#e6a56f) !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(197,72,18,.20) !important;
}
.side .profile b{color:#34231d !important}
.side .profile span{color:#8a6555 !important}

/* ===== Origem: v124-global-identity.css ===== */
/* V124 — identidade visual Encanto & Luxo aplicada a todos os módulos.
   Somente aparência: não altera estrutura, dados, eventos ou funcionalidades. */
:root{
  --el-cream:#fffaf4;
  --el-cream-2:#fbf1e6;
  --el-paper:#fffdf9;
  --el-paper-2:#fff8f0;
  --el-orange:#c54812;
  --el-orange-2:#df7b35;
  --el-gold:#d7a45f;
  --el-brown:#33221b;
  --el-brown-2:#6f4b3a;
  --el-line:#ead5c2;
  --el-line-strong:#dfb98f;
  --el-shadow:0 14px 36px rgba(86,49,27,.09);
  --el-shadow-soft:0 8px 22px rgba(86,49,27,.065);
}

html,body{background:#f8f1ea!important;color:var(--el-brown)!important}
body{
  background:
    radial-gradient(circle at 90% 0%,rgba(224,159,83,.18),transparent 28%),
    radial-gradient(circle at 20% 100%,rgba(197,72,18,.07),transparent 34%),
    linear-gradient(135deg,#fffdf9 0%,#f9f1e9 48%,#fff8ee 100%)!important;
}
main{position:relative;background:transparent!important}
main:before{
  content:"✦   ·   ✧";position:fixed;right:5.5vw;top:12px;z-index:0;
  color:rgba(197,72,18,.34);font-size:20px;letter-spacing:14px;pointer-events:none
}
#content,.top{position:relative;z-index:1}
.top{border-bottom-color:rgba(215,164,95,.28)!important}
.top h1,.contacts-head h2,.flow-toolbar h2,.cat-page h1{color:var(--el-brown)!important;font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.02em}
.top p,.contacts-head p{color:#806556!important}

/* Superfícies gerais */
.card,.panel,.panel-card,.stats-card,.summary-card,.metric-card,.kpi,.dashboard-card,
.order-block,.order-side,.finance-list,.qr-card-v15,.qr-help-v15,.qr-bind-card,
.catalog-card,.cat-card,.contact-card,.contacts-table,.product-card,.product-list,
.modalbox,.finance-modal-v77,.qr-scan-modal,.qr-camera-box,.date-pop,
[class*="-card"]:not(.pipe-card):not(.prev-prod):not(.public-card):not(.theme-card){
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,249,241,.94))!important;
  border-color:var(--el-line)!important;
  box-shadow:var(--el-shadow-soft)!important;
}
.card:hover,.panel-card:hover,.metric-card:hover,.summary-card:hover,.qr-card-v15:hover{
  border-color:var(--el-line-strong)!important;
}

/* Títulos, separadores e textos */
h1,h2,h3,h4,.card-title,.section-title{color:var(--el-brown)!important}
hr,.divider,.finance-modal-divider,.block-title,.contacts-head,.order-table th,
.order-table td,.pay-total,.order-side h3,.cat-tabs,.filter-head{
  border-color:rgba(215,164,95,.28)!important
}
small,.muted,.subtitle,.help,.qr-help-v15,.cat-footer-note{color:#8c7060!important}

/* Botões */
button,.btn,.new-contact,.primary{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important
}
button:hover,.btn:hover{transform:translateY(-1px)}
.btn.primary,button.primary,.new-contact,.finance-actions .btn.primary:first-child,
.qr-form-v15 button.primary,.qr-scan-input button,.qr-manual button,
.stock,.v25-statusbar button.sel{
  background:linear-gradient(135deg,var(--el-orange),var(--el-orange-2))!important;
  border-color:var(--el-orange)!important;color:#fff!important;
  box-shadow:0 9px 22px rgba(197,72,18,.20)!important
}
.btn:not(.primary):not(.danger),button:not(.primary):not(.danger):not(.x){
  border-color:#e5cdb8!important
}
.btn:not(.primary):not(.danger):hover,button:not(.primary):not(.danger):not(.x):hover{
  border-color:#d9ac84!important;background:#fff8f0!important
}
.danger,.btn.danger{background:#c9483d!important;border-color:#c9483d!important;color:#fff!important}

/* Campos */
input,select,textarea,.contact-search,.qr-form-v15 input,
.qr-bind-tools input,.qr-bind-tools select,.qr-scan-input input{
  background:rgba(255,255,255,.92)!important;border-color:#e5d2c2!important;color:#402b22!important
}
input:focus,select:focus,textarea:focus{
  border-color:#cf8754!important;box-shadow:0 0 0 3px rgba(197,72,18,.10)!important;outline:none!important
}
label{color:#5b4034!important}

/* Dashboard / painel */
.panel-grid>[class*="card"],.dashboard-grid>[class*="card"],.stats-grid>[class*="card"]{
  position:relative;overflow:hidden
}
.panel-grid>[class*="card"]:after,.dashboard-grid>[class*="card"]:after,.stats-grid>[class*="card"]:after{
  content:"✦";position:absolute;right:16px;top:10px;color:rgba(197,72,18,.24);font-size:20px;pointer-events:none
}
.finance-summary,.orders-summary,.stats-card{background:linear-gradient(145deg,#fffdf9,#fff8f0)!important}
.progress,.progress-bar,.profit-bar{background:#eee3d8!important}

/* Fluxo */
.flow-page{background:transparent!important}
.flow-toolbar{background:rgba(255,250,245,.88)!important;border-color:var(--el-line)!important;backdrop-filter:blur(14px)}
.pipe-col{background:linear-gradient(180deg,#fffaf5,#f7ecdf)!important;border-color:#e4cbb4!important}
.pipe-col header{background:linear-gradient(145deg,#fff,#fff8ef)!important;border-color:#e5cdb8!important;box-shadow:var(--el-shadow-soft)!important}
.pipe-col header span{color:#51372c!important}
.pipe-col header em{background:#f3e7db!important;color:#9b5a35!important}
.pipe-card{background:linear-gradient(145deg,#fff,#fff8ef)!important;border-color:#e3c9b2!important;box-shadow:var(--el-shadow-soft)!important}
.check-row{background:#f7ede4!important}
.pipe-foot button{background:#fff9f2!important;border-color:#e2c6ad!important}

/* Pedidos */
.order-statusbar,.v25-statusbar{background:rgba(255,250,244,.9)!important;border-color:#e6ccb5!important}
.order-block,.order-side{border-color:#e3c8b0!important}
.order-block h3,.order-side h3{font-family:Georgia,"Times New Roman",serif!important;color:#452f26!important}
.order-table th{color:#604639!important;background:#fffaf5!important}
.order-table tr:hover td{background:#fff8f0!important}
.avatar,.mini-icon{border-color:#e4cdb9!important;background:#fffaf4!important}

/* Contatos */
.contacts-page{background:linear-gradient(145deg,#fffaf5,#f7eee7)!important}
.contacts-head{background:rgba(255,251,246,.9)!important;border-color:#ead4c1!important}
.contact-search{box-shadow:0 5px 16px rgba(86,49,27,.04)!important}
.contact-row,.contact-item,.contact-card{border-color:#e8d2bf!important;background:rgba(255,255,255,.88)!important}
.contact-row:hover,.contact-item:hover{background:#fff7ee!important}

/* Produtos */
.product-card,.prod-card,.products-table,.product-list,.import-review{
  background:linear-gradient(145deg,#fff,#fff8f0)!important;border-color:#e5cdb7!important;box-shadow:var(--el-shadow-soft)!important
}
.product-card:hover,.prod-card:hover{border-color:#d9a879!important;box-shadow:var(--el-shadow)!important}
.product-card img,.prod-card img{border-color:#ead8c8!important}

/* Financeiro */
.finance-list,.finance-summary,.finance-chart,.finance-filters{
  background:linear-gradient(145deg,#fffdf9,#fff8f0)!important;border-color:#e3c8b0!important
}
.finance-list h3,.finance-page h2{font-family:Georgia,"Times New Roman",serif!important;color:#452f26!important}
.finance-form-v77 input:focus,.finance-form-v77 select:focus{border-color:#cf8754!important;box-shadow:0 0 0 3px rgba(197,72,18,.10)!important}
.month-btn.active,.month-pill.active,[data-month].active{background:linear-gradient(135deg,var(--el-orange),var(--el-orange-2))!important;color:#fff!important}

/* Catálogo administrativo */
.cat-tabs button.active,.catalog-tabs button.active{color:var(--el-orange)!important;border-color:var(--el-orange)!important}
.theme-card.active{border-color:var(--el-orange)!important;box-shadow:0 0 0 3px rgba(197,72,18,.08)!important}
.theme-card.active .theme-radio{border-color:var(--el-orange)!important}
.cat-preview{border:1px solid #d8aa7d!important;box-shadow:var(--el-shadow)!important}

/* QR Codes */
.qr-page-v15,.qr-public-view{background:transparent!important}
.qr-card-v15,.qr-help-v15,.qr-bind-card{border-color:#e4cbb5!important}
.qr-chip{background:linear-gradient(145deg,#fff,#fff8f0)!important;border-color:#e3c9b2!important;box-shadow:var(--el-shadow-soft)!important}
.qr-mini-list{background:#f6eadf!important;color:#765442!important}

/* Modais */
.modal{background:rgba(48,30,21,.35)!important;backdrop-filter:blur(5px)}
.modalbox,.finance-modal-v77,.qr-scan-modal,.qr-camera-box{border:1px solid #e0c2a7!important}
.modalbox h2,.finance-modal-v77 h2,.qr-scan-modal h2,.qr-camera-box h2{
  font-family:Georgia,"Times New Roman",serif!important;color:#442d24!important
}
.x{background:#f7ebe0!important;color:#9c5631!important}

/* Tabelas e listas */
table{background:rgba(255,255,255,.72)!important}
th{background:#fff8f0!important;color:#5c4033!important}
td,th{border-color:#ead9ca!important}
tbody tr:hover{background:#fff8f1!important}

/* Gráficos: preserva o canvas, harmoniza contêiner e legendas */
canvas{filter:saturate(.88) sepia(.08)}
.chart-legend,.legend{color:#795c4b!important}

/* Rolagem */
*{scrollbar-color:#d7aa81 #f5ebe2}
*::-webkit-scrollbar-thumb{background:#d7aa81!important;border-radius:999px}
*::-webkit-scrollbar-track{background:#f5ebe2!important}

@media(max-width:900px){main:before{display:none}}

/* ===== Origem: v126-contract-print-fix.css ===== */
/* V126 — correção exclusiva da impressão/salvamento em PDF do contrato.
   Não altera a visualização normal nem qualquer funcionalidade do sistema. */
@media print {
  @page { size: A4 portrait; margin: 7mm !important; }

  html, body {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    zoom: 1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Remove somente os elementos decorativos do tema durante a impressão. */
  main::before,
  .panel-grid > [class*="card"]::after,
  .dashboard-grid > [class*="card"]::after,
  .stats-grid > [class*="card"]::after {
    content: none !important;
    display: none !important;
  }

  body * { visibility: hidden !important; }

  /* Compatibilidade com as duas estruturas de contrato existentes no projeto. */
  .v27-contract-doc,
  .v27-contract-doc *,
  .contract-doc,
  .contract-doc * {
    visibility: visible !important;
  }

  .sidebar,
  .side,
  #topbar,
  .top,
  .orb,
  .v27-contract-options,
  .v27-contract-actions,
  .contract-top,
  .el-dialog-overlay-v125 {
    display: none !important;
  }

  .app,
  #content,
  main,
  .v27-contract-screen,
  .v27-contract-main,
  .contract-page-v17,
  .contract-page-v17 > main {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .v27-contract-doc,
  .contract-doc {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 196mm !important;
    max-width: 196mm !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 5mm 6mm !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    font-size: 9.8pt !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
  }

  .v27-contract-doc *,
  .contract-doc * {
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
  }

  .v27-contract-doc header,
  .contract-doc header { gap: 11px !important; padding-bottom: 5px !important; margin-bottom: 5px !important; }
  .v27-contract-doc header img,
  .contract-doc header img { width: 52px !important; height: 52px !important; max-height: 52px !important; object-fit: contain !important; }
  .v27-contract-doc header h2,
  .contract-doc header h2 { font-size: 15pt !important; margin: 0 0 1px !important; }
  .v27-contract-doc header p,
  .contract-doc header p { font-size: 8.2pt !important; line-height: 1.12 !important; margin: 1px 0 !important; }
  .v27-contract-doc h1,
  .contract-doc h1 { font-size: 16pt !important; margin: 5px 0 7px !important; }
  .v27-contract-doc h2,
  .contract-doc h2 { font-size: 12.5pt !important; margin: 7px 0 4px !important; }
  .v27-contract-doc h3,
  .contract-doc h3 { font-size: 9pt !important; margin: 6px 0 2px !important; }
  .v27-contract-doc p,
  .contract-doc p { font-size: 8.8pt !important; line-height: 1.2 !important; margin: 2.5px 0 !important; }
  .v27-contract-doc table,
  .contract-doc table { margin: 2px 0 4px !important; font-size: 8.5pt !important; background: #fff !important; }
  .v27-contract-doc th,
  .v27-contract-doc td,
  .contract-doc th,
  .contract-doc td { padding: 2.2px 4px !important; line-height: 1.12 !important; }
}

