:root{
  --coral:#FF6B6B; --coral-dark:#E8534F; --yellow:#FFC93D; --sky:#3DBFCB; --sky-dark:#2A9BA6;
  --lavender:#8E7CEB; --cream:#FFF8ED; --card:#FFFFFF; --ink:#2D3142; --ink-soft:#5B6072;
  --line:#EDEDF2; --success:#3CB371; --danger:#E8534F;
  --radius-md:14px; --radius-sm:10px;
  --shadow:0 4px 16px rgba(45,49,66,0.06);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;background:#F5F6FA;color:var(--ink);}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}

.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:240px;background:var(--ink);color:#fff;flex-shrink:0;display:flex;flex-direction:column;padding:24px 0;}
.admin-sidebar .brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;padding:0 24px 24px;font-family:'Baloo 2',sans-serif;}
.admin-sidebar .brand .dot{color:var(--yellow);}
.brand-logo{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.brand-logo-lg{width:72px;height:72px;}
.admin-nav{display:flex;flex-direction:column;gap:2px;flex:1;}
.admin-nav a{padding:12px 24px;color:#C7C9D8;font-weight:600;font-size:0.94rem;border-left:3px solid transparent;display:flex;align-items:center;gap:10px;}
.admin-nav a:hover{background:rgba(255,255,255,0.06);color:#fff;}
.admin-nav a.active{background:rgba(255,255,255,0.08);color:#fff;border-left-color:var(--coral);}
.admin-sidebar .foot{padding:16px 24px 0;border-top:1px solid rgba(255,255,255,0.1);margin-top:16px;}
.admin-sidebar .foot a{color:#C7C9D8;font-size:0.88rem;padding:8px 0;}
.admin-sidebar .foot form button{background:none;border:none;color:#C7C9D8;font-size:0.88rem;padding:8px 0;cursor:pointer;}
.admin-sidebar .foot form button:hover{color:#fff;}

.admin-main{flex:1;padding:32px 36px;max-width:1200px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px;}
.admin-topbar h1{margin:0;font-size:1.5rem;font-family:'Baloo 2',sans-serif;}
.admin-topbar p{margin:4px 0 0;color:var(--ink-soft);font-size:0.92rem;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:28px;}
.stat-card{background:#fff;border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow);}
.stat-card .label{font-size:0.82rem;color:var(--ink-soft);font-weight:700;text-transform:uppercase;letter-spacing:.02em;}
.stat-card .value{font-size:1.8rem;font-weight:800;margin-top:6px;font-family:'Baloo 2',sans-serif;}
.stat-card.alert .value{color:var(--danger);}

.panel{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow);padding:24px;margin-bottom:24px;}
.panel h2{margin:0 0 16px;font-size:1.15rem;font-family:'Baloo 2',sans-serif;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;}

table.data-table{width:100%;border-collapse:collapse;}
table.data-table th{text-align:left;font-size:0.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);padding:10px 12px;border-bottom:2px solid var(--line);}
table.data-table td{padding:12px;border-bottom:1px solid var(--line);font-size:0.92rem;vertical-align:middle;}
table.data-table tr:hover td{background:#FAFAFC;}
.thumb{width:40px;height:40px;border-radius:8px;background-color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.2rem;background-size:contain;background-repeat:no-repeat;background-position:center;}

.badge{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:0.78rem;font-weight:700;}
.badge-pendiente{background:#FFF3D6;color:#B7791F;}
.badge-procesando{background:#DCEEFB;color:#2A6FA6;}
.badge-enviado{background:#E4E0FB;color:#5D4FBF;}
.badge-completado{background:#E1F5EA;color:#1E7B4D;}
.badge-cancelado{background:#FDE2E2;color:#A32E2E;}
.badge-stock-ok{background:#E1F5EA;color:#1E7B4D;}
.badge-stock-low{background:#FFF3D6;color:#B7791F;}
.badge-stock-out{background:#FDE2E2;color:#A32E2E;}

.btn{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:0.88rem;padding:10px 18px;border-radius:999px;border:none;cursor:pointer;}
.btn-primary{background:var(--coral-dark);color:#fff;}
.btn-primary:hover{background:#d4423e;}
.btn-outline{background:#fff;color:var(--ink);border:2px solid var(--line);}
.btn-outline:hover{border-color:var(--coral-dark);}
.btn-danger{background:#fff;color:var(--danger);border:2px solid #FDE2E2;}
.btn-danger:hover{background:#FDE2E2;}
.btn-sm{padding:7px 14px;font-size:0.82rem;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{margin-bottom:16px;}
.form-group.full{grid-column:1/-1;}
.form-group label{display:block;font-weight:700;margin-bottom:6px;font-size:0.88rem;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:10px 12px;border:2px solid var(--line);border-radius:var(--radius-sm);font:inherit;
}
.form-group textarea{min-height:90px;resize:vertical;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sky);}
.checkbox-row{display:flex;align-items:center;gap:8px;}
.checkbox-row input{width:auto;}

.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-weight:600;font-size:0.9rem;}
.alert-error{background:#FDE2E2;color:#A32E2E;}
.alert-success{background:#E1F5EA;color:#1E7B4D;}

.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3DBFCB,#8E7CEB);}
.login-box{background:#fff;border-radius:20px;padding:40px;width:100%;max-width:380px;box-shadow:0 20px 50px rgba(0,0,0,0.2);}
.login-box .brand{text-align:center;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.4rem;color:var(--coral-dark);margin-bottom:6px;}
.login-box p.sub{text-align:center;color:var(--ink-soft);margin-bottom:24px;font-size:0.9rem;}

.empty-mini{text-align:center;padding:32px;color:var(--ink-soft);}

/* ---------- Reportes de ventas ---------- */
.trend{font-size:0.8rem;font-weight:700;margin-top:6px;}
.trend.up{color:var(--success);}
.trend.down{color:var(--danger);}
.bar-chart{display:flex;align-items:flex-end;gap:3px;height:180px;padding-top:8px;}
.bar-col{flex:1;height:100%;display:flex;align-items:flex-end;min-width:4px;}
.bar-col .bar{width:100%;background:linear-gradient(180deg,var(--sky),var(--sky-dark));border-radius:4px 4px 0 0;transition:opacity .15s;}
.bar-col:hover .bar{opacity:0.75;}
.bar-chart-legend{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:0.78rem;margin-top:6px;}

/* ---------- Ofertas por categoría ---------- */
.offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.offer-card{border:2px solid var(--line);border-radius:var(--radius-sm);padding:16px;}
.offer-card-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
.offer-emoji{font-size:1.6rem;line-height:1;}
.offer-meta{font-size:0.8rem;color:var(--ink-soft);margin-top:2px;}
.offer-onsale{color:var(--coral-dark);font-weight:700;}
.offer-form{display:flex;gap:8px;}
.offer-form input[type=number]{width:110px;padding:8px 10px;border:2px solid var(--line);border-radius:var(--radius-sm);font:inherit;}

/* ---------- Filtro de pedidos ---------- */
.filter-bar{padding-bottom:8px;}
.filter-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;}
.filter-form .form-group{margin-bottom:0;}
.filter-form input,.filter-form select{padding:9px 10px;}

@media (max-width:900px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:12px;}
  .admin-nav{flex-direction:row;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  .bar-chart{height:130px;}
}
