/* Tema da marca por cima do AdminLTE 4 (rosa) */
:root,[data-bs-theme=light],[data-bs-theme=dark]{--bs-primary:#d9768a;--bs-primary-rgb:217,118,138;--bs-link-color:#c4586f;--bs-link-color-rgb:196,88,111;--bs-link-hover-color:#a94559;--bs-link-hover-color-rgb:169,69,89;--brand:#d9768a}
.btn-primary{--bs-btn-bg:#d9768a;--bs-btn-border-color:#d9768a;--bs-btn-hover-bg:#c9677b;--bs-btn-hover-border-color:#c9677b;--bs-btn-active-bg:#b95b6d;--bs-btn-active-border-color:#b95b6d;--bs-btn-disabled-bg:#d9768a;--bs-btn-disabled-border-color:#d9768a;--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff}
.btn-outline-primary{--bs-btn-color:#c4586f;--bs-btn-border-color:#d9768a;--bs-btn-hover-bg:#d9768a;--bs-btn-hover-border-color:#d9768a;--bs-btn-active-bg:#c9677b;--bs-btn-active-border-color:#c9677b}
.form-control:focus,.form-select:focus{border-color:#d9768a;box-shadow:0 0 0 .2rem rgba(217,118,138,.25)}
.page-link{color:#c4586f}.page-item.active .page-link{background:#d9768a;border-color:#d9768a;color:#fff}
.nav-pills .nav-link.active{background:#d9768a}
.sidebar-menu>.nav-item>.nav-link.active{background-color:#d9768a!important;color:#fff!important}
.sidebar-menu .nav-header{letter-spacing:.08em;font-size:.7rem;text-transform:uppercase;opacity:.65}
.sidebar-menu .nav-link.soon{opacity:.55}

/* Cartões de artigo */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.prod{display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;margin:0}
.prod:hover{transform:translateY(-3px);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.12);color:inherit}
.prod .img{aspect-ratio:3/4;background:var(--bs-tertiary-bg) center/cover no-repeat;position:relative;display:grid;place-items:center;color:var(--bs-secondary-color);font-size:2.2rem}
.prod .img .badge{position:absolute;top:.6rem;left:.6rem;font-size:.72rem}
.prod .card-body{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem}
.ref{font:.72rem Consolas,monospace;color:var(--bs-secondary-color)}
.chips{display:flex;gap:.25rem;flex-wrap:wrap}
.chip{font-size:.72rem;padding:.05rem .45rem;border-radius:.4rem;background:rgba(var(--bs-success-rgb),.14);border:1px solid rgba(var(--bs-success-rgb),.3)}
.chip.zero{background:var(--bs-tertiary-bg);border-color:var(--bs-border-color);color:var(--bs-secondary-color);text-decoration:line-through}
.dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;border:1px solid rgba(0,0,0,.2);vertical-align:middle}
.price{font-weight:700;margin-top:auto;padding-top:.4rem}
.thumb{width:44px;height:52px;border-radius:.5rem;background:var(--bs-tertiary-bg) center/cover no-repeat;flex:none}

/* Reservas (kanban) */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(270px,1fr));gap:1rem;align-items:start;overflow-x:auto;padding-bottom:.5rem}
.kcol>.card-header{border-top:4px solid var(--brand)}
.kcol.pago>.card-header{border-top-color:#198754}.kcol.expirado>.card-header{border-top-color:#dc3545}.kcol.cancelado>.card-header{border-top-color:#adb5bd}.kcol.aguarda_pagamento>.card-header{border-top-color:#ffc107}
.kcol .klist{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;max-height:75vh;overflow:auto}

/* Gráfico de barras simples */
.bars12{display:flex;align-items:flex-end;gap:.6rem;height:190px}
.bars12 .g{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end}
.bars12 .b{display:flex;gap:3px;align-items:flex-end;height:100%}
.bars12 i{width:.8rem;border-radius:.4rem .4rem .1rem .1rem;display:block;min-height:2px;transform-origin:bottom;animation:cresce .7s ease both}
@keyframes cresce{from{transform:scaleY(0)}to{transform:scaleY(1)}}

tr[data-modal]{cursor:pointer}
.kv{display:grid;grid-template-columns:9rem 1fr;gap:.4rem 1rem}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}