/* ESTOQUE V4 — camada visual premium (sobreposição segura) */
:root{--primary:#92585b;--primary-hover:#784448;--danger:#a95757;--app-bg:#f2e9dc;--surface:#fffcf8;--surface-hover:#f8f1e8;--border:#e7d9ca;--text:#34302e;--text-secondary:#73675f;--text-muted:#93877e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 2px 8px rgba(54,35,36,.045);--shadow-md:0 10px 28px rgba(54,35,36,.075)}
body{background:var(--app-bg);letter-spacing:-.01em}
.app-main{padding:28px 30px 34px}
.app-header{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom-color:#e9ded2;min-height:70px}
.app-sidebar{box-shadow:8px 0 30px rgba(58,34,36,.06)}
.sidebar-nav a,.sidebar-nav button{transition:background .18s ease,transform .18s ease}
.sidebar-nav a:hover,.sidebar-nav button:hover{transform:translateX(2px)}
.page-header,.content-header,.section-header{margin-bottom:22px}
.page-title,h1.page-title{font-weight:750;letter-spacing:-.045em;color:#292b30}
.card,.panel,.content-card,.dashboard-card{border:1px solid #e8dcd0;border-radius:16px;box-shadow:var(--shadow-sm);background:#fff}
.card-header,.panel-header{background:#fff;border-bottom:1px solid #eee3d7;padding:18px 22px;border-radius:16px 16px 0 0}
.card-body,.panel-body{padding:22px}
.btn{border-radius:9px;font-weight:650;letter-spacing:-.01em;transition:all .18s ease}
.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover,.btn-primary:focus{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}
.btn-outline-primary{color:var(--primary);border-color:#cdaeb0}.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary)}
.form-control,.form-select{border-radius:9px;min-height:42px;border-color:#ded8d7;box-shadow:none!important}
.form-control:focus,.form-select:focus{border-color:#b77c80;box-shadow:0 0 0 3px rgba(146,88,91,.12)!important}
.form-label{font-weight:650;color:#45484d;margin-bottom:7px}
.table{--bs-table-bg:transparent;margin-bottom:0}.table thead th{background:#f8f1e9;color:#777174;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:750;border-bottom:1px solid #e9ddd0;padding:13px 15px}.table tbody td{padding:14px 15px;vertical-align:middle;border-color:#eee3d8}.table tbody tr:hover{--bs-table-bg:#faf4ed}
.badge{font-weight:650;letter-spacing:.01em;border-radius:7px;padding:.42em .65em}
.alert{border:0;border-radius:12px;padding:14px 17px}
hr{border-color:#ece5e4;opacity:1}
@media(max-width:768px){.app-main{padding:20px 15px 26px}.card-body,.panel-body{padding:17px}.card-header,.panel-header{padding:15px 17px}}


/* Refinamento de identidade visual — Estoque V4 */
.app-sidebar{
  background:linear-gradient(180deg,#92585b 0%,#875054 100%);
  box-shadow:5px 0 24px rgba(64,35,38,.045);
}
.sidebar-header{padding:22px 18px;border-bottom-color:rgba(255,255,255,.13)}
.sidebar-brand-icon{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.13);color:#fff;border-radius:11px}
.sidebar-section-label{letter-spacing:.11em;text-transform:uppercase;font-size:9px;opacity:.9}
.sidebar-nav{gap:5px;padding:0 11px 14px}
.sidebar-link{min-height:40px;border:1px solid transparent;border-radius:10px;transition:all .18s ease}
.sidebar-link i{opacity:.9}
.sidebar-link:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.08);transform:translateX(2px)}
.sidebar-link.active,.sidebar-link.is-active{background:rgba(68,31,35,.25);border-color:rgba(255,255,255,.12);box-shadow:inset 3px 0 0 #f1d8d9}
.sidebar-link.active i,.sidebar-link.is-active i{color:#fff}
.app-header{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom-color:#e9ddd0;box-shadow:0 3px 14px rgba(74,43,45,.025)}
.sidebar-toggle{border-radius:10px;color:#92585b;border-color:#ead6d7}
.sidebar-toggle:hover{background:#f8eeee;color:#80494d;border-color:#d8b8b9}
.header-brand-icon{border-radius:11px;box-shadow:0 3px 8px rgba(146,88,91,.13)}
.user-avatar{border-color:#ead6d7;background:linear-gradient(145deg,#faf2eb,#f0dddd);color:#92585b}
.logout-button{border-radius:10px}
.logout-button:hover{background:#fbf1f1;border-color:#dfbfc0;color:#80494d}
.app-main{padding:clamp(16px,2.2vw,30px)}
.app-footer{border-top-color:#e9ddd0;background:#fff}
@media(max-width:991.98px){.app-header{min-height:62px}.app-main{padding:16px}}


/* Refinamento transversal dos módulos: produtos, estoque, saídas e relatórios */
:root{--brand-50:#faf2eb;--brand-100:#f4e6e7;--brand-200:#e8cfd0;--brand-500:#a16a6d;--brand-600:#92585b;--brand-700:#784448}
.app-main .card,.app-main .modal-content,.app-main .dropdown-menu{border-color:#e9ddd0;border-radius:14px;box-shadow:0 5px 18px rgba(74,43,45,.035)}
.app-main .card-header{background:#fff;border-bottom-color:#eee3d7;padding:16px 20px}
.app-main .card-body{padding:20px}
.app-main .form-control,.app-main .form-select,.app-main input[type=text],.app-main input[type=email],.app-main input[type=number],.app-main input[type=date],.app-main input[type=password],.app-main textarea,.app-main select{
 border-color:#e5dada;border-radius:9px;min-height:39px;transition:border-color .15s ease,box-shadow .15s ease}
.app-main .form-control:focus,.app-main .form-select:focus,.app-main input:focus,.app-main textarea:focus,.app-main select:focus{
 border-color:#b98588;box-shadow:0 0 0 .2rem rgba(146,88,91,.12)}
.app-main .btn{border-radius:9px;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.app-main .btn-primary{background:#92585b;border-color:#92585b}
.app-main .btn-primary:hover{background:#784448;border-color:#784448;box-shadow:0 4px 10px rgba(120,68,72,.16);transform:translateY(-1px)}
.app-main .btn-outline-primary{color:#92585b;border-color:#d8b8b9}
.app-main .btn-outline-primary:hover{background:#92585b;border-color:#92585b;color:#fff}
.app-main .table{--bs-table-hover-bg:#faf2eb}
.app-main .table thead th{background:#f8f1e9;color:#76696b;border-bottom:1px solid #e9ddd0;font-size:.76rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase;padding:13px 14px;white-space:nowrap}
.app-main .table tbody td{padding:13px 14px;vertical-align:middle;border-color:#f1e9e8}
.app-main .table tbody tr{transition:background .12s ease}
.app-main .alert{border:0;border-radius:11px}
.app-main .pagination .page-link{color:#92585b;border-color:#e9ddd0}
.app-main .pagination .active .page-link{background:#92585b;border-color:#92585b;color:white}
.app-main .badge.bg-primary{background:#92585b!important}
.app-main .nav-tabs{border-bottom-color:#e9ddd0}
.app-main .nav-tabs .nav-link{color:#827477;border-radius:9px 9px 0 0}
.app-main .nav-tabs .nav-link.active{color:#92585b;border-color:#e9ddd0 #e9ddd0 #fff;font-weight:650}
@media(max-width:767px){.app-main .card-body{padding:15px}.app-main .table-responsive{border-radius:10px}}

/* Dashboard — polimento de leitura e visualização */
.dash-wrap{animation:dashEnter .35s ease-out both}
@keyframes dashEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.dash-wrap .metric{position:relative;overflow:hidden}
.dash-wrap .metric:after{content:"";position:absolute;right:-24px;bottom:-36px;width:92px;height:92px;border-radius:50%;background:rgba(146,88,91,.035);pointer-events:none}
.dash-wrap .metric-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.dash-wrap .dash-card h2{color:#332b2e}
.dash-wrap .stock-alert{padding:13px 2px}
.dash-wrap .stock-alert:hover{background:#fffbf7}
.dash-wrap .dash-table tbody tr:hover td{background:#faf3ed}
.dash-wrap .dash-eyebrow{box-shadow:0 2px 5px rgba(146,88,91,.05)}
.dash-wrap .badge{letter-spacing:.01em}
.dash-wrap canvas{max-width:100%}
@media(prefers-reduced-motion:reduce){.dash-wrap{animation:none}}


/* Ajustes de responsividade — dashboard e componentes */
@media (max-width: 992px){
  .dash-head{align-items:flex-start;flex-wrap:wrap}
  .dash-head .btn, .dash-head .btn-outline-secondary{white-space:normal}
  .dash-card{padding:18px}
  .metric{min-height:96px}
}
@media (max-width: 576px){
  .dash-head{gap:12px;margin-bottom:18px}
  .dash-head h1{font-size:1.28rem;line-height:1.25}
  .dash-head p{font-size:.88rem}
  .dash-head>div:last-child{width:100%}
  .dash-head .btn, .dash-head .btn-outline-secondary{width:100%;justify-content:center}
  .dash-card{padding:15px;border-radius:14px}
  .metric{gap:11px;min-height:82px}
  .metric-icon{width:44px;height:44px;border-radius:12px;font-size:1.05rem}
  .metric-value{font-size:1.7rem}
  .metric-label{font-size:.78rem}
  .metric-note{font-size:.7rem}
  .quick-action{min-height:44px;padding:10px 12px}
  .dash-table th,.dash-table td{white-space:nowrap}
  .dash-wrap .table-responsive{margin-inline:-2px}
  .dash-section-title{font-size:.94rem}
}
@media (hover:none){
  .dash-card:hover,.quick-action:hover{transform:none}
}

/* Terracota & Areia — acabamento compartilhado */
body,.app-main{background-color:var(--app-bg)}
.app-header,.app-footer{background:rgba(255,252,248,.97)}
.card,.panel,.content-card,.dashboard-card,.dash-wrap .metric,.dash-wrap .stock-alert{background-color:var(--surface);border-color:var(--border)}
.card-header,.panel-header,.app-main .card-header{background-color:var(--surface)}
.app-main .table thead th{background-color:#f8f1e9;border-bottom-color:var(--border)}
.app-main .table tbody tr:hover{--bs-table-hover-bg:#faf3eb}
input.form-control,select.form-select,textarea.form-control{background-color:#fffdfa;border-color:#dfd2c5}
input.form-control:focus,select.form-select:focus,textarea.form-control:focus{background-color:#fffdfa;border-color:#bd9290;box-shadow:0 0 0 .2rem rgba(146,88,91,.12)}


/* Acabamento final — unidade entre cabeçalho, cartões e painéis */
:root{
  --surface:#fffcf8;
  --surface-header:#fffcf8;
  --border:#eee4d9;
}
.app-header,.app-footer{
  background-color:var(--surface-header);
  border-color:var(--border);
}
.card,.panel,.content-card,.dashboard-card,
.dash-wrap .metric,.dash-wrap .dash-card,.dash-wrap .stock-alert,
.app-main .modal-content,.app-main .dropdown-menu{
  background-color:var(--surface);
  border-color:var(--border);
}
.card-header,.panel-header,.app-main .card-header{
  background-color:var(--surface);
  border-bottom-color:var(--border);
}
.app-main .table tbody td{border-color:#f2ebe3}
.app-main .table thead th{background-color:#f8f2ea;border-bottom-color:var(--border)}
@media(prefers-reduced-transparency:reduce){.app-header,.app-footer{backdrop-filter:none}}

/* ==========================================================
   IDENTIDADE OFICIAL TERRACOTA & AREIA — MÓDULOS INTERNOS
   Harmonização transversal sem alterar estrutura ou comportamento.
   ========================================================== */
:root{
  --brand-terracotta:#95595a;
  --brand-terracotta-dark:#754747;
  --brand-sand:#f2e9dc;
  --brand-surface:#fffcf8;
  --brand-border:#d8c9b9;
  --brand-muted:#625650;
}

/* Superfícies, textos e controles dos módulos de operação */
.op-page,.admin-module{color:#34302e}
.op-heading h1,.module-heading h1{color:#34302e}
.op-heading p,.module-heading p{color:#756960}
.op-eyebrow,.module-eyebrow{color:var(--brand-terracotta)}
.op-stat,.op-panel,.op-form-panel,.op-builder-panel,.op-employee-form,.op-detail-panel,
.module-panel,.report-summary article,.product-qr-card{
  background:var(--brand-surface);border-color:var(--brand-border);
  box-shadow:0 3px 12px rgba(74,43,45,.035)
}
.op-stat strong,.op-person,.op-section-head strong,.op-cart-title strong,
.module-empty strong,.report-summary strong,.report-table-heading h2{color:#34302e}
.op-stat small,.op-stat em,.op-heading p,.op-sub,.op-footer,.module-muted,
.module-footer,.module-heading p,.report-summary span,.report-table-heading p{color:var(--brand-muted)}
.op-stat-icon,.op-section-icon{background:#f4e6e7;color:var(--brand-terracotta)}
.op-primary,.module-primary{background:var(--brand-terracotta)!important;border-color:var(--brand-terracotta)!important}
.op-primary:hover,.module-primary:hover{background:var(--brand-terracotta-dark)!important;border-color:var(--brand-terracotta-dark)!important}
.op-outline,.module-outline{background:var(--brand-surface)!important;border-color:#d8b8b9!important;color:var(--brand-terracotta-dark)!important}
.op-outline:hover,.module-outline:hover{background:#f8eeee!important;border-color:#bd9290!important}
.op-light,.module-light{background:#f8f2ea!important;border-color:var(--brand-border)!important;color:#625650!important}
.op-filters,.module-filters,.op-form-footer,.module-form-actions{border-color:#eee4d9}
.op-search input,.op-filter-field .form-control,.op-filter-field .form-select,
.op-page .form-control,.op-page .form-select,.module-search input,.module-filters select,
.module-field .form-control,.module-field .form-select{
  background:#fffdfa;border-color:#dfd2c5;color:#34302e
}
.op-search input::placeholder,.module-search input::placeholder,.op-page input::placeholder,
.op-page textarea::placeholder,.module-field input::placeholder{color:#9b8d82}
.op-search input:focus,.op-filters .form-control:focus,.op-filters .form-select:focus,
.op-page .form-control:focus,.op-page .form-select:focus,.module-field .form-control:focus,
.module-field .form-select:focus,.module-search input:focus{
  border-color:#bd9290;box-shadow:0 0 0 .2rem rgba(149,89,90,.13);outline:0
}
.op-filter-field label,.op-page .form-label,.module-field label,.module-check{color:#625650}
.op-table thead th,.op-cart-table thead th,.module-table thead th{
  background:#f8f2ea;color:#756960;border-bottom-color:#e8dccc
}
.op-table tbody td,.op-cart-table tbody td,.module-table tbody td{border-color:#f0e8df;color:#514943}
.op-table tbody tr:hover,.op-cart-table tbody tr:hover,.module-table tbody tr:hover{background:#faf4ed}
.op-code,.report-note i{color:var(--brand-terracotta)}
.op-observation{background:#faf4ed;border-color:#eee2d5}
.op-cart-title span{background:#f4e6e7;color:var(--brand-terracotta-dark)}
.op-page .pagination .page-link,.admin-module .pagination .page-link{color:var(--brand-terracotta);border-color:var(--brand-border)}
.op-page .pagination .active .page-link,.admin-module .pagination .active .page-link{background:var(--brand-terracotta);border-color:var(--brand-terracotta);color:#fff}
.op-page :focus-visible,.admin-module :focus-visible{outline-color:rgba(149,89,90,.55)}

/* Evita fundos frios residuais em painéis e elementos de apoio */
.op-page .bg-light,.admin-module .bg-light{background:#f8f2ea!important}
.op-page .text-muted,.admin-module .text-muted{color:#756960!important}
.op-page .border,.admin-module .border{border-color:#e8dccc!important}

@media(prefers-reduced-motion:reduce){.op-page,.admin-module{animation:none}}
