@import url('mobile.css');
:root {
  --brand: #721657;
  --brand-2: #b65b9b;
  --brand-dark: #4b063f;
  --soft: #faf4f7;
  --ink: #281823;
  --muted: #756370;
  --line: #eadde5;
  --gradient: linear-gradient(135deg, #4b063f 0%, #78175d 58%, #a94f91 100%);
}

.category-nav,
.sidebar { background: linear-gradient(180deg, #4b063f 0%, #251221 100%); }

.hero {
  background:
    radial-gradient(ellipse at 78% 18%, rgba(182, 91, 155, .19), transparent 24%),
    radial-gradient(ellipse at 86% 67%, rgba(114, 22, 87, .14), transparent 30%),
    linear-gradient(120deg, #fffafd, #f2e2eb);
}

.hero-shape {
  background: linear-gradient(135deg, #4b063f, #b65b9b);
  -webkit-background-clip: text;
  background-clip: text;
}

.auth-section,
.login-main {
  background: radial-gradient(circle at top right, rgba(182, 91, 155, .18), transparent 36%), linear-gradient(135deg, #fffafd, #efdee8);
}

.category-card,
.product-img,
.product-detail-img { background: linear-gradient(145deg, #fffafd, #f0dfe8); }

.sidebar>a:not(.brand):hover { background: linear-gradient(90deg, rgba(182, 91, 155, .34), rgba(255, 255, 255, .04)); }
.metric-card:after { background: linear-gradient(135deg, rgba(75, 6, 63, .18), rgba(182, 91, 155, .2)); }
.status-badge { background: #f1dfe9; color: #4b063f; }
.form-control:focus,.form-select:focus { border-color: #b65b9b; box-shadow: 0 0 0 .2rem rgba(114, 22, 87, .14); }
.login-main>.container-fluid{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem!important}.login-main .auth-card{margin:auto;max-width:540px}.login-main .auth-card h1{font-size:clamp(2rem,5vw,3rem)}
.login-main{width:100%;min-height:100vh;margin:0!important;display:grid!important;place-items:center!important}.login-shell{width:100%;min-height:100vh;display:grid;place-items:center;padding:1rem}.login-shell>.auth-card{width:min(540px,calc(100vw - 2rem));margin:0 auto}.report-page .page-head h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem)}.report-menu-card{min-height:96px;padding:1.5rem 1.75rem;border:1px solid var(--line);border-radius:1.25rem;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.75rem);transition:.2s}.report-menu-card span{display:flex;align-items:center;gap:.8rem}.report-menu-card span i{font-family:system-ui;color:var(--brand);font-size:1.2rem}.report-menu-card>i{color:var(--brand-2)}.report-menu-card:hover,.report-menu-card.active{transform:translateY(-2px);border-color:#d8b6cd;box-shadow:0 14px 38px rgba(75,6,63,.09);color:var(--brand-dark)}.report-filter{border-radius:1.2rem}.catalog-report-panel{border:1px solid var(--line);border-radius:1.25rem;background:#fff;padding:1.75rem;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);gap:1.5rem;align-items:center}.catalog-report-panel h3{font-family:Georgia,serif;font-weight:700}.catalog-report-panel p{color:var(--muted);margin:0}.catalog-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.7rem}.catalog-filter-grid .btn{grid-column:1/-1}.catalog-print{max-width:1200px;margin:auto}.catalog-print-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:2px solid var(--brand);padding-bottom:1.25rem;margin-bottom:1.5rem}.catalog-print-head img{width:220px}.catalog-print-head div{text-align:right}.catalog-print-head h1{font-family:Georgia,serif}.catalog-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.catalog-product{border:1px solid var(--line);border-radius:1rem;padding:1rem;break-inside:avoid;background:#fff}.catalog-product-image{aspect-ratio:1;overflow:hidden;border-radius:.7rem;background:var(--soft);margin-bottom:.8rem}.catalog-product-image img{width:100%;height:100%;object-fit:cover}.catalog-product h2{font-size:1.05rem;margin:.35rem 0;min-height:2.5rem}.catalog-product small,.catalog-product span{color:var(--muted)}.catalog-price{font-size:1.25rem;font-weight:800;color:var(--brand);margin:.6rem 0}@media(max-width:991.98px){.catalog-report-panel{grid-template-columns:1fr}.catalog-products-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575.98px){.report-menu-card{min-height:82px;padding:1rem;font-size:1.12rem}.catalog-filter-grid{grid-template-columns:1fr}.catalog-filter-grid .btn{grid-column:auto}.catalog-products-grid{grid-template-columns:1fr}.catalog-print-head{align-items:flex-start;flex-direction:column}.catalog-print-head div{text-align:left}}
@media print{.catalog-products-grid{grid-template-columns:repeat(3,1fr);gap:.7rem}.catalog-product{padding:.7rem}.catalog-print-head img{width:180px}.report-page .panel{border:0;padding:0}.report-page .table{font-size:10pt}}

/* Galeria com ate cinco imagens por produto */
.product-gallery-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.product-gallery-item{margin:0;padding:.65rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;display:flex;flex-direction:column;gap:.55rem;cursor:pointer}.product-gallery-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.65rem;background:var(--soft)}.product-gallery-item span{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--muted)}
.product-card-carousel{position:relative}.product-card-carousel .carousel-inner,.product-card-carousel .carousel-item{height:100%}.product-card-carousel .carousel-item>a{display:block;width:100%;height:100%}.product-card-carousel .carousel-item img{width:100%;height:100%;object-fit:cover}.product-card-carousel .carousel-control-prev,.product-card-carousel .carousel-control-next,.product-detail-carousel .carousel-control-prev,.product-detail-carousel .carousel-control-next{top:50%;bottom:auto;width:2.25rem;height:2.25rem;margin:0 .55rem;transform:translateY(-50%);border-radius:50%;background:rgba(75,6,63,.72);opacity:.9}.product-card-carousel .carousel-control-prev-icon,.product-card-carousel .carousel-control-next-icon,.product-detail-carousel .carousel-control-prev-icon,.product-detail-carousel .carousel-control-next-icon{width:1.1rem;height:1.1rem}.product-card-carousel .carousel-indicators,.product-detail-carousel .carousel-indicators{margin-bottom:.45rem}.product-card-carousel .carousel-indicators [data-bs-target],.product-detail-carousel .carousel-indicators [data-bs-target]{width:.48rem;height:.48rem;border:0;border-radius:50%;background-color:#fff;box-shadow:0 0 0 1px rgba(75,6,63,.28)}
.product-detail-carousel{overflow:hidden;border-radius:1rem}.product-detail-carousel .carousel-inner,.product-detail-carousel .carousel-item{height:520px}.product-detail-carousel .carousel-item img{width:100%;height:100%;object-fit:contain}.product-thumbs{display:flex;gap:.65rem;overflow-x:auto;padding:.15rem}.product-thumbs button{flex:0 0 70px;padding:.2rem;border:2px solid transparent;border-radius:.7rem;background:#fff}.product-thumbs button:hover,.product-thumbs button:focus{border-color:var(--brand-2)}.product-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:.45rem}
@media(max-width:991.98px){.product-detail-carousel .carousel-inner,.product-detail-carousel .carousel-item{height:350px}}@media(max-width:575.98px){.product-gallery-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card-carousel .carousel-control-prev,.product-card-carousel .carousel-control-next{width:2rem;height:2rem}.product-thumbs button{flex-basis:58px}}

/* Catalogo de atacado: tela compacta e impressao A4 */
.catalog-report-panel{display:grid!important;grid-template-columns:minmax(260px,360px) minmax(0,1fr)!important;gap:clamp(1.25rem,3vw,3rem)!important;align-items:center!important;padding:clamp(1.25rem,2vw,2rem)!important}.catalog-filter-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem!important;align-items:end}.catalog-filter-field{display:flex;min-width:0;flex-direction:column;gap:.35rem}.catalog-filter-field>span{font-size:.75rem;font-weight:800;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.catalog-generate-button{grid-column:1/-1;min-height:48px;font-size:1rem;font-weight:700}
.catalog-print{width:100%;max-width:1180px;margin:0 auto;padding-bottom:2rem}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.catalog-print-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 1.5rem;margin-bottom:1.25rem;border:1px solid var(--line);border-bottom:3px solid var(--brand);border-radius:1rem;background:#fff}.catalog-print-head>img{display:block!important;width:180px!important;max-width:180px!important;height:80px!important;max-height:80px!important;object-fit:contain!important}.catalog-print-title{text-align:right}.catalog-print-title>span{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--brand)}.catalog-print-title h1{margin:.2rem 0;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1}.catalog-print-title p{margin:0;color:var(--muted);font-size:.9rem}.catalog-products-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1rem!important}.catalog-product{display:flex;min-width:0;flex-direction:column;padding:.85rem!important;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 5px 18px rgba(75,6,63,.05);break-inside:avoid}.catalog-product-image{display:flex!important;align-items:center;justify-content:center;width:100%;height:165px!important;aspect-ratio:auto!important;margin:0 0 .7rem!important;padding:.35rem;overflow:hidden;border-radius:.7rem;background:var(--soft)}.catalog-product-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}.catalog-product-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;color:var(--muted)}.catalog-product h2{min-height:2.35rem;margin:.3rem 0 .15rem;font-family:inherit;font-size:.98rem;line-height:1.2}.catalog-variation{min-height:1.1rem;margin:0;color:var(--muted);font-size:.78rem}.catalog-price{margin:.5rem 0 .3rem;font-size:1.15rem;font-weight:800;color:var(--brand)}.catalog-product-code{margin-top:auto;font-size:.7rem;color:var(--muted)}
@media(max-width:1199.98px){.catalog-report-panel{grid-template-columns:1fr!important}.catalog-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:767.98px){.catalog-filter-grid{grid-template-columns:1fr!important}.catalog-generate-button{grid-column:auto}.catalog-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.catalog-print-head{align-items:flex-start;flex-direction:column;gap:.75rem}.catalog-print-title{text-align:left}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-toolbar .btn{width:100%}}@media(max-width:479.98px){.catalog-products-grid{grid-template-columns:1fr!important}.catalog-product-image{height:210px!important}}
@media print{@page{size:A4 portrait;margin:9mm}.catalog-print{max-width:none!important;padding:0!important}.catalog-print-head{padding:0 0 3mm!important;margin:0 0 4mm!important;border:0!important;border-bottom:1.5pt solid #721657!important;border-radius:0!important}.catalog-print-head>img{width:38mm!important;max-width:38mm!important;height:17mm!important;max-height:17mm!important}.catalog-print-title h1{font-size:18pt}.catalog-print-title p{font-size:8pt}.catalog-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3mm!important}.catalog-product{padding:2.5mm!important;border-radius:2mm!important;box-shadow:none!important}.catalog-product-image{height:37mm!important;margin-bottom:2mm!important;padding:1mm!important}.catalog-product h2{min-height:8mm;font-size:9pt}.catalog-product-meta,.catalog-variation,.catalog-product-code{font-size:6.5pt}.catalog-price{margin:1.5mm 0;font-size:10pt}}

/* Relacionamento comercial e relatorio de clientes */
.client-report{width:100%;max-width:1280px;margin:0 auto;padding-bottom:2rem}.client-report-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1rem;padding:1.25rem 1.5rem;border:1px solid var(--line);border-bottom:3px solid var(--brand);border-radius:1rem;background:#fff}.client-report-head>img{display:block;width:170px!important;max-width:170px!important;height:76px!important;max-height:76px!important;object-fit:contain!important}.client-report-head>div{text-align:right}.client-report-head span{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--brand)}.client-report-head h1{margin:.2rem 0;font-family:Georgia,serif;font-size:2rem}.client-report-head p{margin:0;color:var(--muted);font-size:.9rem}.client-report-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.client-report-summary>div{display:flex;min-height:82px;flex-direction:column;justify-content:center;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}.client-report-summary span{font-size:.75rem;color:var(--muted)}.client-report-summary strong{font-size:1.2rem;color:var(--ink)}.client-report-table{border:1px solid var(--line);background:#fff}.client-report-table small{display:block;color:var(--muted)}
@media(max-width:767.98px){.client-report-head{align-items:flex-start;flex-direction:column;gap:.75rem}.client-report-head>div{text-align:left}.client-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{@page client-report{size:A4 landscape;margin:9mm}.client-report{page:client-report;max-width:none!important;padding:0!important}.client-report-head{padding:0 0 3mm!important;margin:0 0 3mm!important;border:0!important;border-bottom:1.5pt solid #721657!important;border-radius:0!important}.client-report-head>img{width:35mm!important;height:15mm!important}.client-report-head h1{font-size:17pt}.client-report-head p{font-size:7pt}.client-report-summary{gap:2mm;margin-bottom:3mm}.client-report-summary>div{min-height:14mm;padding:2mm;border-radius:1mm}.client-report-summary span{font-size:6.5pt}.client-report-summary strong{font-size:9pt}.client-report-table{font-size:7.5pt}.client-report-table th,.client-report-table td{padding:1.8mm!important}.client-report-table small{font-size:6pt}}
