/* Z67 - CSS FINAL DEFINITIVO
   Camada final carregada por ultimo para estabilizar todo o projeto.
   Objetivo: eliminar conflitos visuais legados sem alterar regras PHP. */

:root{
  --sm-primary:#16a34a;
  --sm-primary-hover:#15803d;
  --sm-secondary:#2563eb;
  --sm-danger:#dc2626;
  --sm-warning:#d97706;
  --sm-success:#16a34a;
  --sm-info:#0284c7;
  --sm-bg:#f6f8fb;
  --sm-bg-soft:#eef2f7;
  --sm-card:#ffffff;
  --sm-card-2:#f8fafc;
  --sm-text:#0f172a;
  --sm-text-soft:#475569;
  --sm-muted:#64748b;
  --sm-border:rgba(148,163,184,.35);
  --sm-border-strong:rgba(100,116,139,.45);
  --sm-shadow-sm:0 8px 22px rgba(15,23,42,.08);
  --sm-shadow:0 18px 45px rgba(15,23,42,.10);
  --sm-shadow-lg:0 28px 70px rgba(15,23,42,.14);
  --sm-radius-xs:8px;
  --sm-radius-sm:12px;
  --sm-radius:16px;
  --sm-radius-lg:22px;
  --sm-radius-xl:28px;
  --sm-sidebar-width:280px;
  --sm-header-height:72px;
  --sm-gap:18px;
  --sm-content-max:1360px;
}

html[data-theme="dark"],body.dark-mode,body.theme-dark{
  --sm-bg:#090f1d;
  --sm-bg-soft:#0f172a;
  --sm-card:#111827;
  --sm-card-2:#0b1220;
  --sm-text:#f8fafc;
  --sm-text-soft:#dbeafe;
  --sm-muted:#cbd5e1;
  --sm-border:rgba(148,163,184,.22);
  --sm-border-strong:rgba(203,213,225,.28);
  --sm-shadow-sm:0 10px 28px rgba(0,0,0,.22);
  --sm-shadow:0 22px 58px rgba(0,0,0,.30);
  --sm-shadow-lg:0 30px 84px rgba(0,0,0,.38);
}

/* Reset seguro */
*,*::before,*::after{box-sizing:border-box!important;}
html{width:100%;min-width:320px;overflow-x:hidden;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{min-width:320px;overflow-x:hidden;background:var(--sm-bg);color:var(--sm-text);}
img,svg,video,canvas,iframe{max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;max-width:100%;}
button{cursor:pointer;}
[hidden]{display:none!important;}

/* Estrutura geral dos paineis */
.admin-shell,.merchant-shell,.dashboard-shell,.panel-shell,.sm-admin-shell,.app-shell{
  min-height:100vh!important;background:var(--sm-bg)!important;color:var(--sm-text)!important;
}
.admin-main,.merchant-main,.dashboard-main,.panel-main,.main-content,.content-wrapper,.page-content{
  min-width:0!important;width:100%!important;overflow-x:hidden!important;
}
.admin-content,.merchant-content,.dashboard-content,.panel-content,.sm-content,.content,.container-fluid,.page-container{
  width:100%!important;max-width:var(--sm-content-max)!important;margin-left:auto!important;margin-right:auto!important;padding:clamp(16px,2.4vw,34px)!important;
}
.container{max-width:var(--sm-content-max)!important;width:100%!important;margin-inline:auto!important;padding-inline:clamp(14px,2vw,28px)!important;}

/* Sidebar/menu */
.sidebar,.admin-sidebar,.merchant-sidebar,.sm-unified-sidebar,.panel-sidebar{
  width:var(--sm-sidebar-width)!important;max-width:var(--sm-sidebar-width)!important;min-width:var(--sm-sidebar-width)!important;overflow-x:hidden!important;background:#0f172a;color:#fff;
}
.sidebar a,.admin-sidebar a,.merchant-sidebar a,.sm-sidebar-nav a,.panel-sidebar a{
  display:flex;align-items:center;gap:10px;min-width:0;border-radius:14px;line-height:1.15;
}
.sidebar a span,.admin-sidebar a span,.merchant-sidebar a span,.menu-text,.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sidebar .active,.admin-sidebar .active,.merchant-sidebar .active,.sm-sidebar-nav .active{background:rgba(34,197,94,.16)!important;color:#fff!important;}

/* Tipografia */
h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title{color:var(--sm-text)!important;letter-spacing:-.02em;line-height:1.16;margin-top:0;overflow-wrap:anywhere;}
h1,.page-title{font-size:clamp(1.65rem,3vw,2.45rem);font-weight:900;}
h2{font-size:clamp(1.35rem,2vw,1.9rem);font-weight:900;}
h3{font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:850;}
p,li,span,td,th,label,small{overflow-wrap:anywhere;}
.text-muted,.muted,.help-text,.subtitle,.description,small{color:var(--sm-muted)!important;}

/* Headers de pagina */
.page-header,.section-header,.card-header,.toolbar,.topbar-section{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin-bottom:18px!important;
}
.page-header > *, .section-header > *, .toolbar > *{min-width:0;}
.header-actions,.page-actions,.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* Cards */
.card,.sm-card,.admin-card,.merchant-card,.dashboard-card,.panel-card,.metric-card,.stat-card,.kpi-card,.summary-card,.info-card,.content-card,.settings-card,.form-card,.table-card{
  background:var(--sm-card)!important;color:var(--sm-text)!important;border:1px solid var(--sm-border)!important;border-radius:var(--sm-radius-lg)!important;box-shadow:var(--sm-shadow-sm)!important;overflow:visible!important;min-width:0!important;
}
.card,.sm-card,.admin-card,.merchant-card,.dashboard-card,.panel-card,.content-card,.settings-card,.form-card,.table-card{padding:clamp(16px,2vw,24px)!important;}
.metric-card,.stat-card,.kpi-card,.summary-card{padding:clamp(15px,1.8vw,22px)!important;display:flex;flex-direction:column;gap:8px;}
.card:hover,.sm-card:hover,.merchant-card:hover,.admin-card:hover{box-shadow:var(--sm-shadow)!important;}
.card-icon,.metric-icon,.stat-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(34,197,94,.11);color:var(--sm-primary);flex:0 0 auto;}

/* Grids */
.grid,.cards-grid,.stats-grid,.kpi-grid,.dashboard-grid,.products-grid,.product-grid,.categories-grid,.coupon-grid,.modules-grid,.settings-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:clamp(14px,2vw,22px)!important;align-items:stretch!important;
}
.grid-2,.two-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(14px,2vw,22px)!important;}
.grid-3,.three-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(14px,2vw,22px)!important;}
.grid-4,.four-columns{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(14px,2vw,22px)!important;}
.grid > *,.grid-2 > *,.grid-3 > *,.grid-4 > *,.cards-grid > *,.stats-grid > *{min-width:0!important;}

/* Botoes */
.btn,.sm-btn,button.btn,a.btn,.button,.btn-primary,.btn-success,.btn-secondary,.btn-danger,.btn-outline,.btn-warning,.action-btn,.submit-btn,input[type="submit"]{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:11px 17px!important;border-radius:14px!important;border:1px solid transparent!important;font-weight:850!important;line-height:1.1!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important;max-width:100%!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease!important;
}
.btn:hover,.sm-btn:hover,.action-btn:hover{transform:translateY(-1px);}
.btn-primary,.btn-success,.sm-btn-primary,.submit-btn,input[type="submit"]{background:linear-gradient(135deg,var(--sm-primary),#22c55e)!important;color:#fff!important;box-shadow:0 12px 26px rgba(22,163,74,.22)!important;}
.btn-primary:hover,.btn-success:hover,.sm-btn-primary:hover{background:linear-gradient(135deg,var(--sm-primary-hover),#16a34a)!important;}
.btn-secondary,.btn-outline,.sm-btn-outline,.button.secondary{background:var(--sm-card-2)!important;color:var(--sm-text)!important;border-color:var(--sm-border)!important;box-shadow:none!important;}
.btn-danger,.sm-btn-danger{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;}
.btn-sm,.btn.small,.small.btn{min-height:36px!important;padding:8px 12px!important;border-radius:12px!important;font-size:.9rem!important;}
.btn-lg{min-height:52px!important;padding:14px 22px!important;border-radius:16px!important;}
.btn-block,.btn.full,.full-width,.w-100{width:100%!important;}
.actions,.form-actions,.table-actions,.card-actions,.row-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}

/* Formularios */
.form-group,.field,.input-group{min-width:0!important;margin-bottom:14px;}
label,.form-label{display:block;color:var(--sm-text)!important;font-weight:850!important;margin-bottom:7px;}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea,.form-control,.input-control{
  width:100%!important;min-height:46px!important;border:1px solid var(--sm-border)!important;border-radius:14px!important;background:var(--sm-card)!important;color:var(--sm-text)!important;padding:11px 13px!important;outline:none!important;box-shadow:none!important;
}
input[type="file"]{max-width:100%;}
textarea{min-height:118px!important;resize:vertical!important;}
input:focus,select:focus,textarea:focus,.form-control:focus{border-color:rgba(34,197,94,.62)!important;box-shadow:0 0 0 4px rgba(34,197,94,.13)!important;}
::placeholder{color:color-mix(in srgb,var(--sm-muted) 75%,transparent)!important;}
.form-grid,.sm-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
.form-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
.form-grid > *,.form-grid-3 > *{min-width:0!important;}

/* Tabelas */
.table-wrap,.sm-table-wrap,.responsive-table,.table-responsive{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:var(--sm-radius)!important;border:1px solid var(--sm-border);background:var(--sm-card);}
table{width:100%!important;max-width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:transparent!important;}
th,td{vertical-align:middle!important;padding:13px 14px!important;border-bottom:1px solid var(--sm-border)!important;color:var(--sm-text)!important;}
thead th{background:var(--sm-card-2)!important;color:var(--sm-muted)!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:900!important;white-space:nowrap;}
tbody tr:hover{background:rgba(148,163,184,.07)!important;}
tbody tr:last-child td{border-bottom:0!important;}
.table-actions,.row-actions{justify-content:flex-end;}

/* Badges/status */
.badge,.status,.status-pill,.tag,.pill,.chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;max-width:100%!important;border-radius:999px!important;padding:7px 11px!important;font-weight:850!important;font-size:.82rem!important;line-height:1!important;white-space:nowrap!important;border:1px solid transparent!important;}
.badge-success,.status-success,.status-ok,.success{background:rgba(34,197,94,.13)!important;color:#16a34a!important;border-color:rgba(34,197,94,.28)!important;}
.badge-danger,.status-danger,.status-error,.danger{background:rgba(239,68,68,.13)!important;color:#ef4444!important;border-color:rgba(239,68,68,.28)!important;}
.badge-warning,.status-warning,.warning{background:rgba(245,158,11,.14)!important;color:#d97706!important;border-color:rgba(245,158,11,.30)!important;}
.badge-info,.status-info,.info{background:rgba(59,130,246,.13)!important;color:#2563eb!important;border-color:rgba(59,130,246,.28)!important;}

/* Uploads */
.upload-zone,.dropzone,.sm-upload-zone,.image-upload-box,.file-upload-area{
  border:1.5px dashed rgba(34,197,94,.48)!important;background:linear-gradient(135deg,rgba(34,197,94,.07),rgba(59,130,246,.04))!important;border-radius:var(--sm-radius-lg)!important;padding:clamp(18px,2.4vw,28px)!important;min-height:150px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:var(--sm-text)!important;overflow:visible!important;
}
.upload-zone:hover,.dropzone:hover,.image-upload-box:hover{border-color:rgba(34,197,94,.75)!important;background:linear-gradient(135deg,rgba(34,197,94,.11),rgba(59,130,246,.06))!important;}
.upload-preview,.image-preview,.banner-preview,.product-image-preview,.preview-box{
  border-radius:var(--sm-radius)!important;background:var(--sm-card-2)!important;border:1px solid var(--sm-border)!important;overflow:hidden!important;min-height:110px;
}
.upload-preview img,.image-preview img,.banner-preview img,.product-image-preview img,.preview-box img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:var(--sm-card-2)!important;display:block!important;}
.file-meta,.upload-meta{font-size:.88rem;color:var(--sm-muted)!important;margin-top:8px;}

/* Vitrine / Loja publica */
.store-page,.loja-page,.shop-page{background:var(--sm-bg);color:var(--sm-text);}
.store-banner,.hero-banner,.banner-container{overflow:visible!important;border-radius:var(--sm-radius-xl);}
.store-banner img,.banner-img,.hero-banner img,.main-banner img{width:100%!important;height:auto!important;max-height:clamp(220px,38vw,620px)!important;object-fit:contain!important;object-position:center!important;display:block!important;border-radius:var(--sm-radius-xl);background:var(--sm-card-2)!important;}
.product-card,.store-product-card,.produto-card,.produto-item,.product-item{
  display:flex!important;flex-direction:column!important;min-width:0!important;height:100%!important;overflow:visible!important;background:var(--sm-card)!important;border:1px solid var(--sm-border)!important;border-radius:var(--sm-radius-lg)!important;box-shadow:var(--sm-shadow-sm)!important;padding:14px!important;color:var(--sm-text)!important;
}
.product-card .product-image,.store-product-card .product-image,.produto-card .product-image,.product-img-wrap,.produto-imagem{
  width:100%!important;aspect-ratio:1/1!important;min-height:190px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--sm-card-2)!important;border-radius:16px!important;overflow:hidden!important;margin-bottom:12px!important;
}
.product-card img,.store-product-card img,.produto-card img,.product-img,.produto-img{
  width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;background:var(--sm-card-2)!important;padding:8px!important;
}
.product-card .product-title,.store-product-card .product-title,.produto-card .product-title,.produto-nome{font-weight:900!important;line-height:1.22!important;min-height:2.45em!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;color:var(--sm-text)!important;}
.product-card .product-description,.store-product-card .product-description,.produto-card .product-description,.produto-desc{color:var(--sm-muted)!important;line-height:1.45!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:4.1em!important;}
.product-card .price,.store-product-card .price,.produto-preco,.product-price{font-weight:950!important;font-size:1.22rem!important;color:var(--sm-primary)!important;margin-top:8px!important;}
.product-card .product-footer,.store-product-card .product-footer,.produto-card .product-footer,.produto-actions{margin-top:auto!important;padding-top:14px!important;flex-shrink:0!important;overflow:visible!important;width:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
.product-card .btn,.store-product-card .btn,.produto-card .btn,.produto-actions .btn{width:100%!important;min-height:46px!important;flex-shrink:0!important;}

/* Alertas e estados vazios */
.alert,.notice,.message,.empty-state,.sm-empty-state{border-radius:var(--sm-radius-lg)!important;padding:16px 18px!important;border:1px solid var(--sm-border)!important;background:var(--sm-card)!important;color:var(--sm-text)!important;}
.empty-state,.sm-empty-state{border-style:dashed!important;text-align:center!important;color:var(--sm-muted)!important;padding:34px 22px!important;}
.empty-state strong,.sm-empty-state strong{display:block;color:var(--sm-text)!important;font-size:1.1rem!important;margin-bottom:6px!important;}
.alert-success{background:rgba(34,197,94,.10)!important;border-color:rgba(34,197,94,.26)!important;color:var(--sm-text)!important;}
.alert-danger,.alert-error{background:rgba(239,68,68,.10)!important;border-color:rgba(239,68,68,.26)!important;color:var(--sm-text)!important;}
.alert-warning{background:rgba(245,158,11,.11)!important;border-color:rgba(245,158,11,.30)!important;color:var(--sm-text)!important;}

/* Modais */
.modal,.modal-content,.dialog,.dialog-content{border-radius:var(--sm-radius-lg)!important;background:var(--sm-card)!important;color:var(--sm-text)!important;border:1px solid var(--sm-border)!important;box-shadow:var(--sm-shadow-lg)!important;}
.modal-backdrop{background:rgba(2,6,23,.68)!important;}

/* Utilitarios */
.no-overflow,.overflow-safe{overflow:visible!important;}
.text-center{text-align:center!important;}.text-right{text-align:right!important;}.text-left{text-align:left!important;}
.flex{display:flex!important;}.flex-wrap{flex-wrap:wrap!important;}.items-center{align-items:center!important;}.justify-between{justify-content:space-between!important;}.gap-2{gap:8px!important;}.gap-3{gap:12px!important;}.gap-4{gap:16px!important;}
.mt-auto{margin-top:auto!important;}.mb-0{margin-bottom:0!important;}.w-full{width:100%!important;}

/* Responsividade final */
@media (max-width:1200px){
  .grid-4,.four-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .grid-3,.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-content,.merchant-content,.dashboard-content,.panel-content,.sm-content,.content,.container-fluid{max-width:100%!important;}
}
@media (max-width:960px){
  :root{--sm-sidebar-width:270px;}
  .admin-shell,.merchant-shell,.dashboard-shell,.panel-shell,.sm-admin-shell{display:block!important;}
  .admin-content,.merchant-content,.dashboard-content,.panel-content,.sm-content,.content,.container-fluid{padding:18px!important;}
  .grid-2,.grid-3,.grid-4,.two-columns,.three-columns,.four-columns,.form-grid,.form-grid-3{grid-template-columns:1fr!important;}
  .page-header,.section-header,.card-header,.toolbar{display:grid!important;grid-template-columns:1fr!important;}
  .header-actions,.page-actions,.toolbar-actions,.actions,.form-actions,.card-actions{align-items:stretch!important;}
  .header-actions>.btn,.page-actions>.btn,.toolbar-actions>.btn,.actions>.btn,.form-actions>.btn,.card-actions>.btn{flex:1 1 auto!important;}
  .table-actions,.row-actions{justify-content:flex-start!important;}
}
@media (max-width:680px){
  .admin-content,.merchant-content,.dashboard-content,.panel-content,.sm-content,.content,.container-fluid{padding:14px!important;}
  .card,.sm-card,.admin-card,.merchant-card,.dashboard-card,.panel-card,.content-card,.settings-card,.form-card,.table-card{border-radius:18px!important;padding:16px!important;}
  .btn,.sm-btn,button.btn,a.btn,.button,.btn-primary,.btn-success,.btn-secondary,.btn-danger,.btn-outline,.action-btn,input[type="submit"]{width:100%!important;white-space:normal!important;min-height:44px!important;}
  th,td{font-size:.9rem!important;padding:11px 12px!important;}
  .product-card .product-image,.store-product-card .product-image,.produto-card .product-image,.product-img-wrap,.produto-imagem{min-height:170px!important;}
  .store-banner img,.banner-img,.hero-banner img,.main-banner img{max-height:none!important;}
}
@media (max-width:420px){
  h1,.page-title{font-size:1.45rem!important;}
  h2{font-size:1.22rem!important;}
  .card,.sm-card,.admin-card,.merchant-card,.dashboard-card,.panel-card{padding:14px!important;}
  .badge,.status,.status-pill,.tag,.pill,.chip{white-space:normal!important;text-align:center!important;}
}
