
:root{--p:#2E1153;--r:#B7042C;--bg:#F4F1F7;--line:#E5E0EA}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:#171717}a{color:inherit}.adminTop{background:var(--p);color:#fff;padding:12px 18px;display:flex;align-items:center;gap:12px}.adminTop img{width:150px;height:45px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}.adminTop b,.adminTop small{display:block}.adminTop small{color:#ddd}.adminUser{margin-left:auto}.adminUser a{color:#fff}.adminLayout{display:grid;grid-template-columns:210px 1fr;min-height:calc(100vh - 69px)}aside{background:#fff;border-right:1px solid var(--line);padding:14px 10px}aside a{display:block;text-decoration:none;padding:11px 12px;border-radius:9px;margin-bottom:5px;font-weight:700}aside a.active{background:var(--p);color:#fff}.adminMain,.formPage{padding:22px;max-width:1450px;width:100%;margin:auto}.adminHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.adminHead h1{margin:0;font-size:28px}.adminHead p{margin:5px 0 0;color:#777}.button{display:inline-block;border:0;border-radius:10px;padding:11px 14px;font-weight:800;text-decoration:none;cursor:pointer}.primary{background:var(--r);color:#fff}.secondary{background:#eee;color:#222}.tableWrap{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{font-size:12px;color:#666}.miniBadge{display:inline-block;background:var(--r);color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;margin-left:6px}.actionsCell a{margin-right:10px;color:var(--p);font-weight:700}.editForm,.sideForm{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.editForm.narrow{max-width:520px;margin:auto}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.formGrid label,.sideForm label,.editForm>form label{font-size:12px;font-weight:800}.formGrid label.wide{grid-column:1/-1}.formGrid input,.formGrid select,.formGrid textarea,.sideForm input,.editForm.narrow input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}.formGrid textarea{min-height:90px}.formGrid small{display:block;color:#777;margin-top:4px;font-weight:400}.checks{display:flex;gap:18px;margin:15px 0}.productEdit{display:grid;grid-template-columns:1fr 1.2fr 110px 1fr 38px;gap:7px;margin-bottom:7px}.productEdit input{padding:9px;border:1px solid #ccc;border-radius:8px}.productEdit button{border:0;border-radius:8px}.saveBar{margin-top:17px}.successMsg{background:#E8F7EE;color:#126632;padding:11px;border-radius:9px;margin-bottom:12px}.alert{background:#FFF0F0;color:#8C1C1C;padding:11px;border-radius:9px;margin-bottom:12px}.adminColumns{display:grid;grid-template-columns:1fr 320px;gap:16px}.loginPage{min-height:100vh;display:grid;place-items:center;padding:15px}.loginBox{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.loginBox img{width:175px;height:55px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}.loginBox h1{margin-bottom:4px}.loginBox p{color:#777}.loginBox label{display:block;font-size:12px;font-weight:800;margin:11px 0}.loginBox input{display:block;width:100%;padding:11px;border:1px solid #ccc;border-radius:8px;margin-top:5px}.loginBox .primary{width:100%;margin-top:8px}
@media(max-width:950px){.adminLayout{display:block}aside{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}aside a{white-space:nowrap}.adminMain,.formPage{padding:12px}.formGrid{grid-template-columns:1fr}.formGrid label.wide{grid-column:auto}.productEdit{grid-template-columns:1fr}.adminColumns{grid-template-columns:1fr}.adminHead{align-items:flex-start}.checks{flex-wrap:wrap}}

.adminServiceFooter{margin:30px auto 0;max-width:1200px;padding:16px 18px;background:#2E1153;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:12px 12px 0 0;font-size:12px}
.adminServiceFooter a{background:#169B50;color:#fff;text-decoration:none;padding:9px 12px;border-radius:9px;font-weight:800}
@media(max-width:700px){.adminServiceFooter{flex-direction:column;text-align:center}}

.scheduleEditor{margin:26px 0;background:#fff;border:1px solid #ddd;border-radius:14px;padding:16px}
.scheduleEditor h2{margin:0 0 5px}
.scheduleHelp{margin:0 0 14px;color:#666;font-size:12px;line-height:1.45}
.scheduleRows{display:grid;gap:8px}
.scheduleRow{display:grid;grid-template-columns:130px 1fr 1fr 120px;gap:10px;align-items:center;padding:10px;border:1px solid #e5e5e5;border-radius:10px}
.scheduleTime{font-size:12px;font-weight:700}.scheduleTime input{display:block;width:100%;margin-top:4px}
.scheduleClosed{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800}
@media(max-width:750px){.scheduleRow{grid-template-columns:1fr 1fr}.scheduleRow>b{grid-column:1/-1}.scheduleClosed{grid-column:1/-1}}

/* Edición de categorías */
.categoryStatus{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.activeCat{background:#E8F7EE;color:#126632}.inactiveCat{background:#F1F1F1;color:#666}
.editCategory{display:inline-block;text-decoration:none;background:#2E1153;color:#fff!important;padding:7px 10px;border-radius:8px;font-size:12px}
.categoryFormBox small{display:block;color:#777;margin-top:4px;font-weight:400}
.categoryActive{display:flex!important;align-items:center;gap:8px;margin:14px 0;font-size:12px!important}.categoryActive input{width:auto!important;margin:0!important}
.categoryFormActions{display:flex;gap:8px;align-items:center;margin-top:14px}.editHint{font-size:12px;color:#666;margin-top:-5px}.categoryTip{margin-top:15px;background:#FFF5D8;border:1px solid #E8D595;padding:10px;border-radius:9px;font-size:12px;line-height:1.4}
@media(max-width:700px){.categoryFormActions{flex-direction:column;align-items:stretch}.categoryFormActions .button{text-align:center}.tableWrap table{min-width:620px}}

/* Acciones rápidas de locales */
.localFilters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.localFilters a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#444;background:#fff;border:1px solid #ddd;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}
.localFilters a.active{background:#2E1153;color:#fff;border-color:#2E1153}
.localFilters b{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#eee;color:#333;font-size:10px}
.localFilters a.active b{background:#ffffff25;color:#fff}
.localState{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.activeState{background:#E4F6EA;color:#13753A}.inactiveState{background:#F3E7E8;color:#A22B36}
.inactiveLocal{opacity:.72;background:#fafafa}
.localActions{display:flex!important;gap:6px;align-items:center;flex-wrap:wrap}
.inlineAction{display:inline;margin:0}
.localActions a,.localActions button{border:0;cursor:pointer;text-decoration:none;font:inherit;font-size:11px;font-weight:800;padding:7px 9px;border-radius:8px;white-space:nowrap}
.actionEdit{background:#EEE8F5;color:#2E1153!important}
.actionDeactivate{background:#FFF0D9;color:#9A5A00}
.actionActivate{background:#E4F6EA;color:#13753A}
.actionDelete{background:#FBE5E7;color:#B7042C}
.emptyAdmin{text-align:center;color:#777;padding:30px!important}
@media(max-width:760px){
 .localFilters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
 .localFilters a{flex:0 0 auto}
 .localActions{min-width:220px}
}

/* Administración de banners */
.bannerAdminColumns{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start}
.bannerForm label{display:block;font-size:12px;font-weight:800;margin-bottom:12px}
.bannerForm input,.bannerForm select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}
.bannerForm small{display:block;color:#777;margin-top:5px;font-weight:400;line-height:1.4}
.bannerActive{display:flex!important;align-items:center;gap:8px}.bannerActive input{width:auto!important;margin:0!important}
.bannerAdminPreview{height:105px;background:#eee center/cover no-repeat;border-radius:9px;margin:-3px 0 12px}
.bannerTableImg{width:150px;height:52px;background:#eee center/cover no-repeat;border-radius:7px;margin-bottom:5px}
@media(max-width:1000px){.bannerAdminColumns{grid-template-columns:1fr}}

.bannerDeviceBlock{border:1px solid #ddd;border-radius:11px;padding:12px;margin:0 0 14px;background:#fafafa}
.bannerDeviceBlock h3{margin:0 0 10px;font-size:14px}
.bannerPcPreview{aspect-ratio:1400/300;height:auto;max-height:none}
.bannerMobilePreview{width:min(100%,240px);aspect-ratio:400/290;height:auto;max-height:none;background-size:cover}
.mobileBannerAdmin{background:#f5f7fa}

.validityBox{margin:18px 0;padding:16px;background:#fff;border:1px solid #ddd;border-radius:13px}
.validityBox h2{margin:0 0 5px}.validityBox p{margin:0 0 12px;color:#666;font-size:12px}
.validityGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.validityGrid label{font-weight:800;font-size:12px}.validityGrid input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccc;border-radius:8px}
.warningState{background:#fff0c9!important;color:#805d00!important}
@media(max-width:650px){.validityGrid{grid-template-columns:1fr}}

.requestsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.requestCard{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.requestPhoto{min-height:230px;background:#eee center/cover no-repeat}.requestBody{padding:14px}.requestStatus{display:inline-block;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:900}.requestStatus.pendiente{background:#FFF0C9;color:#805D00}.requestStatus.aprobada{background:#E4F6EA;color:#13753A}.requestStatus.rechazada{background:#FBE5E7;color:#B7042C}.requestResponsible{font-size:11px;background:#F5F5F6;padding:9px;border-radius:8px}.requestActions textarea{width:100%;min-height:60px;margin-top:10px;border:1px solid #ccc;border-radius:8px;padding:8px}.requestActions>div{display:flex;gap:7px;margin-top:7px}.requestActions button,.editPublished{border:0;border-radius:8px;padding:9px 10px;font-weight:900;font-size:11px;text-decoration:none}.approveRequest{background:#13753A;color:#fff}.rejectRequest{background:#FBE5E7;color:#B7042C}.editPublished{display:inline-block;margin-top:10px;background:#EEE8F5;color:#2E1153}.emptyAdmin{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;color:#777}
@media(max-width:1100px){.requestsGrid{grid-template-columns:1fr}}@media(max-width:650px){.requestCard{grid-template-columns:1fr}.requestPhoto{min-height:180px}}

.requestReceipt{margin-top:10px;padding:10px;background:#EEF6F1;border:1px solid #CDE4D4;border-radius:9px}
.requestReceipt>b{display:block;font-size:11px;color:#176137;margin-bottom:7px}
.requestReceipt a{display:block;text-decoration:none;color:#176137;font-size:11px;font-weight:900}
.requestReceipt img{display:block;width:100%;max-height:180px;object-fit:contain;background:#fff;border:1px solid #D7E4DB;border-radius:7px;margin-bottom:6px}
.noReceipt{color:#A22B36;font-size:11px;font-weight:900}

/* ===== RENOVACIONES MENSUALES ===== */
.actionRenew{background:#EAF0FF!important;color:#2858A6!important}
.actionWhatsappRenew{background:#E4F6EA!important;color:#13753A!important}
.localFilters a[href*="expiring"]{border-color:#E6C56B}
.localFilters a[href*="expired"]{border-color:#DCA2A8}
.localFilters a[href*="expiring"].active{background:#8A6200;border-color:#8A6200;color:#fff}
.localFilters a[href*="expired"].active{background:#A22B36;border-color:#A22B36;color:#fff}

.localStatsMini{display:grid;grid-template-columns:repeat(2,max-content);gap:4px 8px;font-size:9px;color:#555;white-space:nowrap}.localStatsMini span:first-child{font-weight:900;color:#2E1153}

/* ===== ORDEN MANUAL DE LOCALES ===== */
.orderBox{margin:18px 0;padding:16px;background:#fff;border:1px solid #ddd;border-radius:13px}
.orderBox h2{margin:0 0 5px}.orderBox p{margin:0 0 12px;color:#666;font-size:12px}
.orderBox label{font-size:12px;font-weight:900}.orderBox input{display:block;width:160px;margin-top:6px;padding:10px;border:1px solid #ccc;border-radius:8px}.orderBox small{display:block;margin-top:4px;color:#777;font-weight:400}
.orderControls{display:flex;align-items:center;gap:7px}.orderControls>b{display:grid;place-items:center;min-width:34px;height:30px;border-radius:8px;background:#F1EDF5;color:#2E1153}.orderControls>div{display:flex;gap:3px}.orderControls button{width:28px;height:28px;border:1px solid #D7D2DC;background:#fff;color:#2E1153;border-radius:7px;font-weight:900;cursor:pointer}.orderControls button:hover{background:#2E1153;color:#fff}
.clientAdminBadge{display:inline-block;margin-left:5px;background:#EAF0F4;color:#50606A;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}

/* ===== CONFIGURACION PLANES ===== */
.settingsPlans{max-width:760px;display:grid;gap:12px}.settingsPlans section{display:flex;gap:13px;background:#fff;border:1px solid #DDD;border-radius:13px;padding:15px}.settingsPlans section>span{font-size:27px}.settingsPlans h2{margin:0}.settingsPlans p{margin:4px 0 10px;color:#666;font-size:11px}.settingsPlans label{font-size:11px;font-weight:900}.settingsPlans input{display:block;margin-top:5px;padding:10px;border:1px solid #CCC;border-radius:8px;font-size:18px;font-weight:900}.settingsPlans .featuredPlanAdmin{background:#FFF9EA;border-color:#E5D39B}.requestedPlan{display:inline-flex;gap:7px;align-items:center;margin:4px 0 2px;padding:5px 7px;border-radius:8px;background:#EDF1F3;font-size:9px}.requestedPlan.featured{background:#FFF0C9;color:#805D00}.requestedPlan span{font-weight:700}

.freePlanAdmin{background:#F5F8F9!important;border-color:#CBD6DC!important}.toggleFree{display:block;margin-bottom:10px}.freeHint{color:#50606A!important}

.freePlanLimitsAdmin{margin:6px 0 2px;padding:7px 8px;border-radius:8px;background:#EDF2F4;color:#52636C;font-size:9px;font-weight:800}

.reviewHours{padding:0 14px 14px}.reviewHours h3{margin:0 0 8px}.reviewHours>div{display:flex;gap:6px;flex-wrap:wrap}.reviewHours span{background:#F1F4F5;border:1px solid #DCE3E6;border-radius:7px;padding:6px 8px;font-size:9px}.reviewHours b{margin-right:3px}

.geoAdminBox{background:#F4F8FA;border:1px solid #D4E1E7;border-radius:11px;padding:12px}.geoAdminBox h3{margin:0 0 4px}.geoAdminBox p{margin:0 0 9px;color:#667780;font-size:10px}.geoAdminGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.geoAdminActions{display:flex;gap:7px;margin-top:8px}.geoAdminActions button{border:0;border-radius:7px;padding:8px 10px;font-weight:900;font-size:9px;background:#2E1153;color:#fff}.geoAdminBox small{display:block;margin-top:6px;color:#78878E}@media(max-width:650px){.geoAdminGrid{grid-template-columns:1fr}.geoAdminActions{display:grid}}

/* ===== DIFERENCIAR LOCALES INSCRITOS POR CLIENTES ===== */
tbody tr.clientOriginRow td{
  background:#FFF6DF!important;
  border-bottom-color:#E9D4A1!important;
}
tbody tr.clientOriginRow:hover td{
  background:#FFEDC2!important;
}
tbody tr.clientOriginRow td:first-child{
  box-shadow:inset 5px 0 0 #E5A11A;
}
.clientOriginRow .clientAdminBadge{
  background:#E5A11A!important;
  color:#2B1C00!important;
  border-color:#D49100!important;
  font-weight:950!important;
}
.clientOriginRow.inactiveLocal td{
  background:#F5EEDC!important;
}

/* ===== ICONOS SVG ADMIN — MISMO ESTILO AMARILLO ===== */
.adminSvgIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  color:#D9AE00!important;
  vertical-align:-2px;
  flex:0 0 auto;
}
.adminSvgIcon svg{
  width:100%;
  height:100%;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* ===== NOTIFICACION NUEVAS INSCRIPCIONES ===== */
.adminRequestsLink{
  position:relative!important;
}
.adminNotifyBubble{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 6px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#D6122F;
  color:#fff;
  font-size:9px;
  font-weight:950;
  line-height:1;
  box-shadow:0 0 0 2px #fff;
}
.newClientAlert{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 15px;
  padding:13px 15px;
  border-radius:12px;
  background:#FFF6D9;
  border:1px solid #E8C94E;
  color:#3F3100;
  text-decoration:none;
  box-shadow:0 4px 13px #0000000D;
}
.newClientAlert>.adminSvgIcon{
  width:25px!important;
  height:25px!important;
  color:#D9AE00!important;
}
.newClientAlert>div{
  flex:1;
  min-width:0;
}
.newClientAlert b{
  display:block;
  font-size:11px;
  font-weight:950;
}
.newClientAlert span{
  display:block;
  margin-top:2px;
  color:#75631F;
  font-size:9px;
}
.newClientAlert strong{
  color:#A27E00;
  font-size:9px;
  white-space:nowrap;
}
@media(max-width:650px){
  .newClientAlert{align-items:flex-start;padding:11px}
  .newClientAlert strong{display:none}
}

/* ===== SELECTOR SERVICIOS ADMIN ===== */
.serviceAdminBox{margin:14px 0;padding:14px;border-radius:12px;background:#F6F8F9;border:1px solid #DCE4E7}
.serviceAdminBox h2{margin:0 0 4px}.serviceAdminBox p{margin:0 0 11px;color:#64737B;font-size:10px}
.servicePicker{display:flex;flex-wrap:wrap;gap:9px}
.servicePick{position:relative;display:grid;place-items:center;width:50px;height:50px;border-radius:11px;border:1px solid #CAD5DA;background:#fff;cursor:pointer}
.servicePick input{position:absolute;opacity:0;pointer-events:none}
.servicePick:has(input:checked){border-color:#D9AE00;background:#FFF8D8;box-shadow:0 0 0 2px #FFD40033}
.servicePickIcon,.adminServiceIcon{display:inline-flex;width:25px;height:25px;color:#D9AE00!important}
.servicePickIcon svg,.adminServiceIcon svg{width:100%;height:100%;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.servicePick::after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);background:#222;color:#fff;padding:5px 7px;border-radius:5px;font-size:8px;white-space:nowrap;opacity:0;pointer-events:none;z-index:30}
.servicePick:hover::after{opacity:1}
.requestServiceIcons{display:flex;gap:5px;flex-wrap:wrap}.requestServiceIcons>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #E2D28A;background:#FFF9DB;border-radius:7px}
.requestServiceIcons .adminServiceIcon{width:19px;height:19px}

/* ===== SERVICIOS ADMIN: COMPACTOS Y CLAROS ===== */
.servicePick{
  width:42px!important;
  height:42px!important;
  border-radius:9px!important;
}
.servicePickIcon{
  width:20px!important;
  height:20px!important;
}
.servicePickIcon svg,
.adminServiceIcon svg{
  stroke-width:2.25!important;
  stroke:#D9AE00!important;
  fill:none!important;
}
.requestServiceIcons>span{
  width:28px!important;
  height:28px!important;
  border-radius:6px!important;
}
.requestServiceIcons .adminServiceIcon{
  width:17px!important;
  height:17px!important;
}

/* Tooltip del selector de servicios: solo nombre */
.servicePick::after{
  content:attr(data-label)!important;
  padding:5px 7px!important;
  border-radius:6px!important;
  background:#202326!important;
  color:#FFFFFF!important;
  font-size:8px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 3px 9px rgba(0,0,0,.18)!important;
}

/* ===== 3 FOTOS PRINCIPALES ADMIN ===== */
.coverPhotoAdminBox{margin:8px 0 12px;padding:13px;border-radius:11px;background:#F6F8F9;border:1px solid #DCE4E7}
.coverPhotoAdminBox h3{margin:0 0 4px}.coverPhotoAdminBox p{margin:0 0 10px;color:#697880;font-size:10px}
.coverPhotoAdminGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.coverPhotoAdminGrid label{font-size:10px;font-weight:900}
.coverPhotoAdminGrid input{display:block;width:100%;margin-top:5px}
.coverPhotoAdminGrid small{display:block;margin-top:4px;color:#7A898F;font-size:8px;overflow-wrap:anywhere}
@media(max-width:760px){.coverPhotoAdminGrid{grid-template-columns:1fr}}


/* =====================================================================
   ADMIN MAESTRO 2026-08-14 — PANEL AMPLIO Y SOLICITUDES DETALLADAS
   ===================================================================== */
body{font-size:16px;line-height:1.48}
.adminTop{padding:16px 22px;min-height:78px}
.adminTop img{width:180px;height:52px}
.adminTop b{font-size:18px}.adminTop small{font-size:13px}.adminUser{font-size:14px}
.adminLayout{grid-template-columns:245px 1fr;min-height:calc(100vh - 78px)}
aside{padding:18px 13px}aside a{padding:14px 14px;font-size:15px;border-radius:11px;margin-bottom:7px}
.adminMain,.formPage{padding:28px;max-width:1600px}
.adminHead{margin-bottom:22px;gap:18px}.adminHead h1{font-size:34px;line-height:1.1}.adminHead p{font-size:15px;line-height:1.45;color:#667077}
.button{padding:13px 17px;font-size:15px}
th{font-size:13px}td{font-size:14px}th,td{padding:15px}
.formGrid{gap:16px}.formGrid label,.sideForm label,.editForm>form label{font-size:14px}
.formGrid input,.formGrid select,.formGrid textarea,.sideForm input,.editForm.narrow input{padding:13px 14px;border-radius:10px;font-size:15px}
.formGrid textarea{min-height:120px}.formGrid small{font-size:12px;line-height:1.4}
.editForm,.sideForm{padding:23px;border-radius:18px}
.checks{font-size:15px;gap:24px}
.localFilters{gap:10px;margin-bottom:20px}.localFilters a{font-size:14px;padding:11px 15px}.localFilters b{font-size:12px;min-width:24px;height:24px}

/* Formulario del local: módulos visuales */
.coverPhotoAdminBox,.serviceAdminBox,.scheduleEditor,.validityBox,.orderBox,.geoAdminBox{padding:20px!important;border-radius:16px!important;margin:20px 0!important;background:#fff!important;border:1px solid #DED8E5!important;box-shadow:0 5px 18px rgba(46,17,83,.045)}
.coverPhotoAdminBox h3,.geoAdminBox h3{font-size:20px;margin:0 0 6px}.coverPhotoAdminBox p,.geoAdminBox p,.serviceAdminBox p,.validityBox p,.orderBox p,.scheduleHelp{font-size:13px!important;line-height:1.5!important;color:#667077!important}
.serviceAdminBox h2,.scheduleEditor h2,.validityBox h2,.orderBox h2{font-size:22px;margin:0 0 6px}
.coverPhotoAdminGrid{gap:14px}.coverPhotoAdminGrid label{font-size:13px}.coverPhotoAdminGrid small{font-size:11px}
.servicePicker{gap:14px}.servicePick{width:58px!important;height:58px!important;border-radius:12px!important}.servicePickIcon{width:27px!important;height:27px!important}
.scheduleRows{gap:11px}.scheduleRow{grid-template-columns:150px 1fr 1fr 130px;gap:13px;padding:14px;border-radius:12px}.scheduleRow>b{font-size:15px}.scheduleTime,.scheduleClosed{font-size:13px}.scheduleTime input{padding:10px;font-size:14px}
.productEdit{grid-template-columns:1.1fr 1.4fr 120px 1fr 44px;gap:9px;margin-bottom:10px}.productEdit input{padding:12px;font-size:14px}.productEdit button{font-size:20px}

/* Solicitudes: lectura de un vistazo */
.requestStats{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:0 0 22px}
.requestStats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px rgba(0,0,0,.035)}
.requestStats b{display:block;font-size:28px;line-height:1;color:var(--p);margin-bottom:6px}.requestStats span{font-size:13px;font-weight:800;color:#687078}
.reviewRequests{display:grid;gap:22px}
.reviewRequestCard{background:#fff;border:1px solid #DDD7E3;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(46,17,83,.07)}
.reviewRequestHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px;background:linear-gradient(135deg,#FBFAFC,#F4F0F8);border-bottom:1px solid #E3DDE8}
.reviewRequestHeader h2{font-size:28px;line-height:1.1;margin:9px 0 7px;color:#251433}.reviewRequestHeader p{font-size:14px;margin:7px 0 0;color:#667077;font-weight:700}
.requestStatus,.paymentBadge{font-size:11px!important;padding:7px 10px!important;border-radius:999px;font-weight:950;display:inline-flex;align-items:center;gap:5px;margin-right:5px}
.paymentBadge.verified{background:#DFF6E7;color:#126632}.paymentBadge.pending{background:#FFF0C9;color:#805D00}.paymentBadge.missing{background:#FBE5E7;color:#A31E31}
.requestDate{min-width:145px;text-align:right;font-size:12px;color:#6B7277}.requestDate b{font-size:14px;color:#29252B}
.requestedPlan{display:inline-flex!important;align-items:center;gap:11px;margin:5px 0 3px;padding:9px 12px;border-radius:10px;background:#F0EDF4;border:1px solid #DDD5E5}.requestedPlan b{font-size:12px}.requestedPlan span{font-size:12px;color:#61666A}.requestedPlan.featured{background:#FFF5C8;border-color:#E5C642}
.freePlanLimitsAdmin{font-size:12px!important;line-height:1.45;margin-top:8px;background:#F7F7F8;padding:9px 11px;border-radius:9px;color:#626A70}
.reviewColumns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:18px;padding:20px 24px}
.reviewLocalData,.paymentReview{border:1px solid #E4DFE8;border-radius:15px;padding:18px;background:#fff}
.reviewLocalData h3,.paymentReview h3,.reviewHours h3,.reviewProducts h3,.requestMediaSection h3{font-size:19px;margin:0 0 13px;color:#2E1153}
.reviewLocalPhoto{width:100%;max-height:310px;object-fit:cover;border-radius:13px;margin-bottom:16px;background:#eee}
.reviewLocalData dl{display:grid;grid-template-columns:145px 1fr;gap:0;margin:0;border:1px solid #ECE8EF;border-radius:12px;overflow:hidden}
.reviewLocalData dt,.reviewLocalData dd{margin:0;padding:12px 13px;border-bottom:1px solid #ECE8EF;font-size:14px}.reviewLocalData dt{font-weight:900;color:#4C3D56;background:#F8F6FA}.reviewLocalData dd{color:#343036;overflow-wrap:anywhere}.reviewLocalData dt:nth-last-of-type(1),.reviewLocalData dd:nth-last-of-type(1){border-bottom:0}
.reviewLocalData a{color:#6A228C;font-weight:800}
.reviewResponsible{display:grid;grid-template-columns:145px 1fr 1fr 1fr;gap:9px;margin-top:14px;padding:14px;border-radius:12px;background:#2E1153;color:#fff;align-items:center}.reviewResponsible b{font-size:13px}.reviewResponsible span{font-size:13px;overflow-wrap:anywhere}
.requestServiceIcons{gap:10px!important}.requestServiceIcons>span{width:38px!important;height:38px!important;border-radius:9px!important}.requestServiceIcons .adminServiceIcon{width:22px!important;height:22px!important}
.receiptPreview{display:block;text-decoration:none}.receiptPreview img{width:100%;max-height:330px;object-fit:contain;background:#F4F4F5;border:1px solid #E0E0E0;border-radius:12px;padding:7px}.receiptPreview b{display:block;margin-top:8px;font-size:13px;color:#2E1153}
.missingReceipt{padding:18px;border-radius:12px;background:#FFF0F0;color:#8C1C1C;font-size:14px;font-weight:800}
.paymentCheckForm label,.finalReviewActions label{font-size:13px;font-weight:900}.paymentCheckForm textarea,.finalReviewActions textarea{width:100%;min-height:85px;padding:11px;border:1px solid #CCC;border-radius:9px;margin-top:6px;font:inherit}.verifyPayment,.unverifyPayment,.approveRequest,.rejectRequest{padding:12px 14px!important;font-size:13px!important;border-radius:9px!important}
.reviewHours,.reviewProducts,.requestMediaSection{margin:0 24px 20px;padding:18px;border:1px solid #E4DFE8;border-radius:15px;background:#FAF9FB}
.reviewHours>div{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px}.reviewHours span{display:block;padding:10px;border-radius:9px;background:#fff;border:1px solid #E5E0E8;font-size:12px;text-align:center}.reviewHours b{display:block;color:#2E1153;font-size:13px;margin-bottom:3px}
.reviewProducts>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reviewProducts article{display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto auto 1fr;gap:2px 10px;background:#fff;border:1px solid #E5E0E8;border-radius:12px;padding:10px}.reviewProducts img{grid-row:1/4;width:82px;height:82px;object-fit:cover;border-radius:9px}.reviewProducts b{font-size:14px}.reviewProducts span{font-size:13px;font-weight:900;color:#B7042C}.reviewProducts small{font-size:11px;color:#6D7479}
.requestMediaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.requestMediaItem{background:#fff;border:1px solid #E5E0E8;border-radius:12px;padding:9px}.requestMediaItem img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#eee}.requestMediaItem b{display:block;font-size:12px;margin-top:7px;color:#2E1153}.requestMediaItem small{display:block;font-size:10px;color:#72787C;overflow-wrap:anywhere}
.finalReviewActions{margin:0 24px 24px;padding:18px;border-radius:15px;background:#F5F2F7;border:1px solid #DFD8E4}.finalReviewActions>div{display:flex;gap:10px;margin-top:10px}.approvalHint{display:block;margin-top:8px;font-size:12px;color:#736A78}

@media(max-width:1100px){.requestStats{grid-template-columns:repeat(3,1fr)}.reviewColumns{grid-template-columns:1fr}.reviewHours>div{grid-template-columns:repeat(4,1fr)}.requestMediaGrid{grid-template-columns:repeat(2,1fr)}.reviewProducts>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:15px}.adminTop{padding:12px 14px}.adminTop img{width:145px;height:44px}.adminMain,.formPage{padding:14px}.adminHead h1{font-size:27px}.requestStats{grid-template-columns:repeat(2,1fr)}.reviewRequestHeader{padding:17px;display:block}.requestDate{text-align:left;margin-top:10px}.reviewRequestHeader h2{font-size:24px}.reviewColumns{padding:14px}.reviewLocalData dl{grid-template-columns:1fr}.reviewLocalData dt{padding-bottom:4px;border-bottom:0}.reviewLocalData dd{padding-top:3px}.reviewResponsible{grid-template-columns:1fr}.reviewHours,.reviewProducts,.requestMediaSection,.finalReviewActions{margin:0 14px 14px}.reviewHours>div{grid-template-columns:repeat(2,1fr)}.reviewProducts>div,.requestMediaGrid{grid-template-columns:1fr}.scheduleRow{grid-template-columns:1fr 1fr}.scheduleRow>b{grid-column:1/-1}.reviewProducts article{grid-template-columns:72px 1fr}.reviewProducts img{width:72px;height:72px}}

.requestServiceNames{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.requestServiceNames b{font-size:11px;background:#F3EEF7;color:#48245D;padding:5px 7px;border-radius:7px}

/* =====================================================================
   ADMIN PANEL — LEGIBILIDAD Y DIAGRAMACION REFORZADA 2026-08-14
   Basado en la vista dashboard aprobada por el usuario.
   ===================================================================== */
:root{
  --admin-ink:#0D1B24;
  --admin-muted:#5F6C75;
  --admin-card:#FFFFFF;
  --admin-soft:#F7F8FA;
  --admin-line:#D9E0E5;
  --admin-yellow:#FFD400;
  --admin-green:#16A15A;
  --admin-blue:#2D7BEA;
  --admin-red:#E6003A;
}

/* Base: nada importante por debajo de 12px */
.adminMain,.formPage{color:var(--admin-ink)}
.adminMain p,.formPage p,.adminMain small,.formPage small{line-height:1.48}
.adminMain small,.formPage small{font-size:12px!important}
.adminMain label,.formPage label{font-size:14px!important;line-height:1.35}
.adminMain input,.adminMain select,.adminMain textarea,.formPage input,.formPage select,.formPage textarea{font-size:15px!important;line-height:1.35}
.adminMain button,.formPage button,.adminMain .button,.formPage .button{font-size:14px!important}

/* Cabecera tipo dashboard */
.adminTop{background:#35135C!important;padding:12px 34px!important;min-height:60px!important}
.adminTop img{width:95px!important;height:38px!important}
.adminTop b{font-size:17px!important;line-height:1.05}.adminTop small{font-size:12px!important;color:#fff!important;opacity:.92}
.adminUser{font-size:13px!important}.adminUser a{font-weight:800;text-decoration:none}

.adminHead{background:#0C1C25;border:1px solid #1D3440;border-radius:17px;padding:22px 20px;margin:0 0 18px;color:#fff;align-items:center}
.adminHead:before{content:'◉';display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#E6003A;color:#FFD400;font-size:18px;font-weight:900}
.adminHead>div:first-child{flex:1}
.adminHead h1{font-size:29px!important;line-height:1.05!important;color:#fff!important;margin:0 0 5px!important}
.adminHead p{font-size:14px!important;color:#D4E7F0!important;margin:0!important;max-width:900px}

/* Resumen de solicitudes: cinco tarjetas claras */
.requestStats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin:0 0 16px!important}
.requestStats>div{position:relative;min-height:90px;padding:15px 15px 13px 58px!important;border-radius:14px!important;border:1px solid var(--admin-line)!important;background:#fff!important;box-shadow:0 3px 12px rgba(13,27,36,.05)!important}
.requestStats>div:before{content:'•';position:absolute;left:12px;top:25px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#0C1C25;color:#FFD400;font-size:26px;line-height:1}
.requestStats>div:nth-child(1){border-top:3px solid #6A24A2!important}.requestStats>div:nth-child(2){border-top:3px solid #F2BA00!important}.requestStats>div:nth-child(3){border-top:3px solid #18A558!important}.requestStats>div:nth-child(4){border-top:3px solid #E6003A!important}.requestStats>div:nth-child(5){border-top:3px solid #2D7BEA!important}
.requestStats b{font-size:26px!important;color:#071722!important;margin:0 0 3px!important}
.requestStats span{font-size:12px!important;color:#0D1B24!important;font-weight:950!important;text-transform:uppercase;letter-spacing:.01em}

/* Filtros: botones grandes, contenedor propio */
.localFilters{background:#fff;border:1px solid var(--admin-line);border-radius:15px;padding:14px!important;margin:0 0 16px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.localFilters:before{content:'Filtrar solicitudes';flex-basis:100%;font-size:16px;font-weight:950;color:#0D1B24;margin-bottom:2px}
.localFilters a{font-size:13px!important;line-height:1!important;padding:11px 14px!important;border:1px solid #D6E0E6!important;border-radius:999px!important;background:#F5F8FA!important;color:#10212B!important;font-weight:900!important}
.localFilters a.active{background:#6B25A6!important;color:#fff!important;border-color:#6B25A6!important}

/* Tarjeta de cada solicitud */
.reviewRequests{background:#F7F9FA;border:1px solid #D8E0E5;border-radius:16px;padding:14px!important}
.reviewRequests:before{content:'Revisión de solicitudes';display:block;font-size:17px;font-weight:950;margin:0 0 12px;color:#0D1B24}
.reviewRequestCard{border-radius:17px!important;box-shadow:0 5px 18px rgba(13,27,36,.05)!important}
.reviewRequestHeader{padding:18px 20px!important}
.reviewRequestHeader h2{font-size:25px!important;line-height:1.1!important;color:#10212B!important;margin:8px 0 6px!important}
.reviewRequestHeader p{font-size:14px!important;color:#53646E!important}
.requestStatus,.paymentBadge{font-size:12px!important;line-height:1.05!important;padding:7px 10px!important}
.requestDate{font-size:12px!important}.requestDate b{font-size:14px!important}
.requestedPlan b,.requestedPlan span{font-size:13px!important}
.freePlanLimitsAdmin{font-size:13px!important}

.reviewColumns{gap:15px!important;padding:16px 18px!important}
.reviewLocalData,.paymentReview{padding:17px!important}
.reviewLocalData h3,.paymentReview h3,.reviewHours h3,.reviewProducts h3,.requestMediaSection h3{font-size:18px!important;line-height:1.2!important}
.reviewLocalData dt,.reviewLocalData dd{font-size:14px!important;line-height:1.45!important;padding:11px 12px!important}
.reviewResponsible{grid-template-columns:130px repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:13px!important}
.reviewResponsible b,.reviewResponsible span{font-size:13px!important;line-height:1.35!important}

/* Servicios: iconos legibles y nombres siempre visibles */
.requestServiceIcons{gap:8px!important}
.requestServiceIcons>span{width:38px!important;height:38px!important;border-radius:9px!important}
.requestServiceIcons .adminServiceIcon{width:22px!important;height:22px!important}
.requestServiceNames{gap:6px!important;margin-top:8px!important}
.requestServiceNames b{font-size:12px!important;line-height:1.2!important;padding:6px 8px!important}
.serviceAdminBox p{font-size:13px!important}.servicePick::after{font-size:11px!important;padding:6px 8px!important}

/* Horarios, productos y archivos */
.reviewHours,.reviewProducts,.requestMediaSection,.finalReviewActions{padding:16px!important}
.reviewHours>div{gap:7px!important}.reviewHours span{font-size:12px!important;line-height:1.35!important;padding:10px 7px!important}.reviewHours b{font-size:13px!important}
.reviewProducts b{font-size:14px!important}.reviewProducts span{font-size:13px!important}.reviewProducts small{font-size:12px!important}
.requestMediaItem b{font-size:13px!important}.requestMediaItem small{font-size:11px!important;line-height:1.35!important}
.receiptPreview b{font-size:13px!important}.missingReceipt{font-size:13px!important}
.paymentCheckForm label,.finalReviewActions label{font-size:13px!important}
.approvalHint{font-size:12px!important}

/* Listado de locales publicados */
.tableWrap{border-radius:15px!important;border-color:#D8E0E5!important}
table{font-size:14px!important}th{font-size:12px!important;color:#52616A!important;background:#F6F8F9!important;text-transform:uppercase;letter-spacing:.02em}td{font-size:14px!important;line-height:1.38!important;color:#17252D!important}.actionsCell a{font-size:13px!important}
.localStatsMini{font-size:11px!important;gap:5px 10px!important}.miniBadge,.clientAdminBadge{font-size:10px!important;padding:4px 7px!important}

/* Formularios del panel */
.editForm h1,.sideForm h1,.formPage h1{font-size:28px!important}.editForm h2,.sideForm h2,.formPage h2{font-size:20px!important}
.formGrid label,.sideForm label,.editForm>form label{font-size:14px!important}
.formGrid small,.sideForm small,.editForm small{font-size:12px!important}
.coverPhotoAdminGrid label{font-size:13px!important}.coverPhotoAdminGrid small{font-size:11px!important}
.geoAdminBox p,.geoAdminBox small,.validityBox p,.orderBox p{font-size:12px!important}.geoAdminActions button{font-size:12px!important}
.scheduleRow>b{font-size:14px!important}.scheduleTime,.scheduleClosed{font-size:13px!important}

/* Alertas */
.newClientAlert b{font-size:14px!important}.newClientAlert span{font-size:12px!important}.newClientAlert strong{font-size:12px!important}.adminNotifyBubble{font-size:11px!important}
.alert,.successMsg{font-size:14px!important;line-height:1.45}
.emptyAdmin{font-size:14px!important;min-height:120px;display:grid;place-items:center;text-align:center}

@media(max-width:1180px){
  .requestStats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .reviewResponsible{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .adminTop{padding:10px 12px!important}.adminTop img{width:88px!important;height:34px!important}.adminTop b{font-size:15px!important}.adminUser{font-size:12px!important}
  .adminHead{padding:16px!important;align-items:flex-start}.adminHead:before{width:44px;height:44px;flex-basis:44px}.adminHead h1{font-size:24px!important}.adminHead p{font-size:13px!important}
  .requestStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.requestStats>div{padding-left:52px!important}.requestStats b{font-size:23px!important}.requestStats span{font-size:11px!important}
  .localFilters{padding:11px!important}.localFilters a{font-size:12px!important;padding:10px 12px!important}
  .reviewRequests{padding:9px!important}.reviewRequestHeader h2{font-size:22px!important}
  .reviewResponsible{grid-template-columns:1fr!important}
  .reviewHours>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  th,td{padding:11px!important}
}
@media(max-width:430px){
  .requestStats{grid-template-columns:1fr 1fr!important;gap:8px!important}.requestStats>div{min-height:84px!important;padding:12px 10px 11px 48px!important}.requestStats>div:before{left:9px;top:23px;width:34px;height:34px}.requestStats b{font-size:22px!important}
  .adminHead:before{display:none}.adminHead{display:block!important}.adminHead h1{font-size:23px!important}
  .localFilters a{flex:1 1 auto;text-align:center}
}

/* ===== Solicitud GRATIS: revisión rápida ===== */
.simpleAdminReview{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:22px;align-items:start;margin:18px 0;padding:18px;border:2px solid #e8c24d;border-radius:18px;background:#fffdf5}
.simpleAdminPhoto img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.simpleAdminPhoto>div{aspect-ratio:4/3;display:grid;place-items:center;background:#eee;border-radius:14px;font-weight:900}
.simpleAdminInfo h3{font-size:26px;margin:0 0 14px}
.simpleAdminInfo p{display:flex;flex-direction:column;gap:3px;margin:10px 0}
.simpleAdminInfo p b{font-size:13px;text-transform:uppercase}
.simpleAdminInfo p span{font-size:18px;font-weight:700}
.simpleAdminInfo>a{display:inline-block;margin:8px 0 14px;background:#ffd51f;color:#201608;text-decoration:none;font-weight:900;padding:11px 13px;border-radius:10px}
.privateRegistry{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f2f2f2;color:#555}
.privateRegistry b{display:block;font-size:10px;letter-spacing:.08em}
.privateRegistry small{font-size:12px}
.reviewRequestCard:has(.simpleAdminReview) .paymentReview{display:none!important}
.reviewRequestCard:has(.simpleAdminReview) .requestMediaSection{display:none!important}
.reviewRequestCard:has(.simpleAdminReview) .finalReviewActions{border-top:2px solid #e8c24d;padding-top:16px}
.reviewRequestCard:has(.simpleAdminReview) .approveRequest{font-size:16px!important;padding:14px 18px!important}
@media(max-width:760px){.simpleAdminReview{grid-template-columns:1fr}.simpleAdminInfo h3{font-size:22px}}

/* ===== Estadísticas Aconcagua Sabroso ===== */
.statsPeriods{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.statsPeriods a{padding:9px 13px;border-radius:999px;background:#eee;color:#222;text-decoration:none;font-weight:900}.statsPeriods a.active{background:#c90f2d;color:#fff}
.statsHeroCards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.statsHeroCards article{background:#111f27;color:#fff;border-radius:15px;padding:17px}.statsHeroCards small{display:block;color:#ffd51f;font-weight:900;font-size:11px}.statsHeroCards b{display:block;font-size:34px;margin:5px 0}.statsHeroCards span{color:#d7e0e4;font-size:13px}
.statsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.statsGrid>section,.statsChartCard{background:#fff;border:1px solid #ddd;border-radius:15px;padding:16px}.statsGrid h2,.statsChartCard h2{margin:0 0 12px;font-size:18px}.statsRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eee}.statsRow:last-of-type{border-bottom:0}.statsRow b{font-size:14px}.statsRow span{font-size:13px;font-weight:900;color:#b5122a}.statsNote{display:block;margin-top:10px;color:#666;line-height:1.4}
.statsBars{height:205px;display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding-top:15px}.statsBarCol{min-width:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:190px}.statsBar{width:24px;background:#c90f2d;border-radius:7px 7px 2px 2px}.statsBarCol b{font-size:10px;margin:3px 0}.statsBarCol small{font-size:10px;color:#666}
@media(max-width:760px){.statsHeroCards{grid-template-columns:1fr}.statsGrid{grid-template-columns:1fr}.statsHeroCards b{font-size:30px}}

/* ===== Estadísticas completas ===== */
.statsHeroCards{grid-template-columns:repeat(4,1fr)}
.statsWide{grid-column:1/-1}
.statsRow b small{font-size:11px;color:#777;font-weight:700}
.statsEmpty{padding:12px 0;color:#777;font-size:13px}
@media(max-width:980px){.statsHeroCards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.statsHeroCards{grid-template-columns:1fr}.statsWide{grid-column:auto}}

.adminTop img{width:270px!important;height:42px!important;object-fit:contain!important;object-position:left center!important}.loginBox img{width:100%!important;max-width:340px!important;height:auto!important;max-height:70px!important}.identityAdmin{grid-column:1/-1}.adminLogoPreview{background:#0e1d24;border-radius:12px;padding:16px;margin:10px 0 12px;max-width:520px}.adminLogoPreview img{display:block;width:min(100%,470px);height:auto;max-height:90px;object-fit:contain;object-position:left center}.identityAdmin label small{display:block;margin-top:5px;color:#666;font-weight:400}@media(max-width:760px){.adminTop img{width:190px!important;height:34px!important}}

/* Imagen exclusiva de promociones */
.adminPromoImagePreview{display:block;width:min(100%,420px);aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-top:10px;border:1px solid #ddd}
.requestPromoImage{margin:12px 0;padding:12px;border-radius:12px;background:#fff5dd;border:1px solid #ead28f}
.requestPromoImage b{display:block;font-size:11px;margin-bottom:8px;color:#7b5b00}
.requestPromoImage img{display:block;width:min(100%,420px);aspect-ratio:16/9;object-fit:cover;border-radius:10px}

/* Logo oficial actualizado */
.adminTop img{width:330px!important;height:auto!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important}
.adminLogoPreview img{width:min(100%,520px)!important;height:auto!important;max-height:95px!important;object-fit:contain!important}
@media(max-width:760px){.adminTop img{width:230px!important;max-height:38px!important}}

/* ===== NOTIFICACIONES PUSH · 2026-08-15 ===== */
.pushAdminPage{max-width:1500px}
.pushSystemChecks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.pushSystemChecks>div{border:1px solid #d7e0e4;border-radius:12px;background:#fff;padding:12px 13px;display:flex;flex-direction:column;gap:3px}
.pushSystemChecks>div.ok{border-color:#b9dfc8;background:#f4fbf6}
.pushSystemChecks>div.bad{border-color:#efc0c6;background:#fff6f7}
.pushSystemChecks b{font-size:12px}.pushSystemChecks span{font-size:10px;color:#68767d}
.pushStatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.pushStatsGrid>div{background:#0f2028;color:#fff;border-radius:14px;padding:18px 16px;min-height:98px;display:flex;flex-direction:column;justify-content:center}
.pushStatsGrid b{font-size:28px;line-height:1;color:#ffd51f}.pushStatsGrid span{font-size:11px;margin-top:7px;color:#c4d0d5;font-weight:800}
.pushAdminGrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px;align-items:start}
.pushComposer,.pushAutomationBox,.pushHistoryBox{background:#fff;border:1px solid #dce4e8;border-radius:16px;padding:18px;box-shadow:0 6px 20px #0b1d2510}
.pushHistoryBox{margin-top:16px}
.pushBoxHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.pushBoxHead b{display:block;font-size:14px;color:#17252b}.pushBoxHead span{display:block;margin-top:3px;font-size:10px;color:#738087}
.pushTemplates{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.pushTemplates button{border:1px solid #d6e0e4;background:#f7f9fa;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;cursor:pointer}.pushTemplates button:hover{border-color:#b7042c;color:#b7042c}
.pushComposer form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.pushComposer label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:900;color:#45545a}.pushComposer label:nth-of-type(1),.pushComposer label:nth-of-type(2){grid-column:1/-1}.pushComposer input,.pushComposer textarea,.pushComposer select{width:100%;border:1px solid #cfdade;border-radius:10px;background:#fff;color:#17252b;padding:11px 12px;font:inherit;font-size:12px}.pushComposer textarea{min-height:96px;resize:vertical}.pushSendActions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.pushSendActions .button{min-height:42px}
.pushAutomationBox form{display:flex;flex-direction:column;gap:10px}.pushSwitch{display:flex!important;align-items:flex-start;gap:10px;padding:11px;border:1px solid #e0e6e9;border-radius:12px;background:#fafcfc}.pushSwitch input{margin-top:3px;transform:scale(1.15)}.pushSwitch span{display:flex;flex-direction:column}.pushSwitch b{font-size:11px;color:#17252b}.pushSwitch small{margin-top:3px;font-size:9px;line-height:1.35;color:#718087}
.pushCronNote{margin-top:13px;border-top:1px solid #e4e9eb;padding-top:12px}.pushCronNote b{font-size:10px;color:#b7042c}.pushCronNote p{font-size:10px;line-height:1.4;color:#67767d}.pushCronNote code{font-size:9px;background:#eef2f3;border-radius:5px;padding:2px 5px}
.pushHistoryMessage{display:block;margin-top:4px;max-width:420px;color:#6e7c82;font-size:9px;line-height:1.3}.pushState{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:950}.pushState.enviada{background:#e7f7ed;color:#167741}.pushState.pendiente{background:#fff4d2;color:#8d6600}.pushState.enviando{background:#e9f1ff;color:#245a9b}.pushState.error{background:#ffe7ea;color:#a20a2a}.pushState.cancelada{background:#eceff0;color:#69777d}
.pushChangeOption{margin:12px 0;padding:12px;border:1px solid #ead9a4;background:#fffaf0;border-radius:12px}.pushChangeOption label{display:flex;align-items:flex-start;gap:9px}.pushChangeOption input{margin-top:3px}.pushChangeOption span{display:flex;flex-direction:column}.pushChangeOption b{font-size:11px;color:#17252b}.pushChangeOption small{margin-top:3px;font-size:9px;line-height:1.35;color:#6f7c82}
@media(max-width:1000px){.pushSystemChecks,.pushStatsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pushAdminGrid{grid-template-columns:1fr}}
@media(max-width:650px){.pushSystemChecks,.pushStatsGrid{grid-template-columns:1fr 1fr;gap:7px}.pushSystemChecks>div{padding:9px}.pushStatsGrid>div{padding:13px;min-height:78px}.pushStatsGrid b{font-size:22px}.pushComposer,.pushAutomationBox,.pushHistoryBox{padding:13px}.pushComposer form{grid-template-columns:1fr}.pushComposer label{grid-column:1!important}.pushSendActions{grid-column:1}.pushSendActions .button{width:100%}}

/* Diagnóstico Push visible */
.pushState.parcial{background:#fff0d5;color:#8a5a00}
.pushDeliveryError{
  display:block;margin-top:5px;max-width:360px;
  color:#a20a2a;font-size:8.5px;line-height:1.35;
  white-space:normal;word-break:break-word;
}

/* Logo horizontal 2026 */
.adminTop img{
  width:auto!important;
  height:58px!important;
  max-width:260px!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.loginBox img{
  width:min(100%,360px)!important;
  height:auto!important;
  max-height:100px!important;
}
.adminLogoPreview img{
  width:min(100%,520px)!important;
  height:auto!important;
  max-height:150px!important;
}
@media(max-width:760px){
  .adminTop img{
    width:auto!important;
    height:46px!important;
    max-width:185px!important;
  }
}


/* ===== ADMINISTRACIÓN UNIFICADA · 2026-08-15 ===== */
:root{--adminInk:#10232d;--adminInk2:#17313b;--adminRed:#b7042c;--adminYellow:#ffd21b;--adminGreen:#22a861}
.adminTop{background:var(--adminInk)!important;min-height:72px;position:relative;z-index:61}
.adminTop img{width:220px!important;height:54px!important;object-fit:contain!important;object-position:left center!important}
.adminTop>div:nth-child(2){display:none!important}
.adminUser{font-size:11px;color:#d7e1e5}.adminUser a{font-weight:800;text-decoration:none}

.adminGlobalNav{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid #dbe4e7;box-shadow:0 4px 14px #0b1e2710}
.adminGlobalNavScroller{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.adminGlobalNavScroller::-webkit-scrollbar{display:none}
.adminGlobalNav a,.adminNavBack{height:38px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dce5e8;background:#f8fafb;color:#34464e;border-radius:9px;padding:0 10px;text-decoration:none;font:inherit;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}
.adminGlobalNav a i{font-style:normal;color:#d1a600;font-size:14px}
.adminGlobalNav a:hover,.adminNavBack:hover{border-color:#b8c7cd;background:#eef4f6}
.adminGlobalNav a.active{background:var(--adminInk);border-color:var(--adminInk);color:#fff}
.adminGlobalNav a.active i{color:var(--adminYellow)}
.adminNavBack{background:#fff;color:#5b6970}
.adminNavLogout{background:#fff0f2!important;color:var(--adminRed)!important;border-color:#f0c4cd!important}

/* El menú unificado reemplaza los laterales distintos de cada pantalla. */
.adminLayout{display:block!important;min-height:auto!important}
.adminLayout>aside{display:none!important}
.adminMain,.formPage{max-width:1500px!important;padding:20px!important}

/* Panel Locales estilo dashboard */
.localAdminHeroCards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 15px}
.localAdminHeroCards a{min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:15px;border-radius:14px;background:var(--adminInk);border:1px solid #233b47;color:#fff;text-decoration:none;box-shadow:0 7px 20px #0b1e2712}
.localAdminHeroCards small{font-size:8.5px;font-weight:950;letter-spacing:.07em;color:#aebdc4}
.localAdminHeroCards b{font-size:28px;line-height:1;margin:7px 0 5px;color:var(--adminYellow)}
.localAdminHeroCards span{font-size:9px;color:#b9c6cc}
.localAdminHeroCards .localHeroActive{background:#123522;border-color:#286543}.localAdminHeroCards .localHeroActive b{color:#65e695}
.localAdminHeroCards .localHeroRequests{background:#3a2510;border-color:#6b4b20}.localAdminHeroCards .localHeroRequests b{color:#ffd55b}
.localAdminHeroCards .localHeroFeatured{background:#2b2541;border-color:#4d436f}.localAdminHeroCards .localHeroClient{background:#26343b}
.localAdminHeroCards a:hover{transform:translateY(-1px);filter:brightness(1.04)}
.localAdminToolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 10px;padding:12px 13px;border:1px solid #dbe4e7;background:#fff;border-radius:12px}
.localAdminToolbar label{flex:1;max-width:520px;font-size:9px;font-weight:950;color:#56666d}.localAdminToolbar label span{display:block;margin-bottom:5px}
.localAdminToolbar input{width:100%;padding:11px 12px;border:1px solid #cbd7dc;border-radius:9px;font:inherit;font-size:12px;outline:none}.localAdminToolbar input:focus{border-color:#7d929b;box-shadow:0 0 0 3px #dce9ee80}
.localAdminToolbar small{font-size:9px;color:#78868c;font-weight:800}
.localAdminTable{box-shadow:0 7px 22px #10232d0c}

/* Estadísticas nuevas */
.statsHeroCardsExpanded{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.statsLiveCard{background:#123522!important;border-color:#2d6b48!important}.statsLiveCard>b{color:#68e99a!important;display:flex!important;align-items:center;gap:8px}
.statsLivePulse{width:10px;height:10px;border-radius:50%;background:#36d675;box-shadow:0 0 0 5px #36d67520;animation:adminLivePulse 1.3s ease-in-out infinite}
@keyframes adminLivePulse{0%,100%{opacity:.5;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}
.statsAppCard{background:#3a1720!important;border-color:#742c3e!important}.statsAppCard>b{color:#ff859d!important}
.statsUpgradeNotice{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff7dc;border:1px solid #ead28a;color:#65520c;font-size:10px;line-height:1.4}

@media(max-width:1200px){.localAdminHeroCards,.statsHeroCardsExpanded{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){
 .adminTop{min-height:62px;padding:8px 12px!important}.adminTop img{width:190px!important;height:44px!important}.adminUser{font-size:9px}
 .adminGlobalNav{padding:7px 8px}.adminGlobalNav a,.adminNavBack{height:35px;padding:0 9px;font-size:9px}.adminNavBack span{display:none}.adminNavLogout{padding:0 9px!important}
 .adminMain,.formPage{padding:11px!important}.adminHead h1{font-size:23px!important}.adminHead p{font-size:10px!important}
 .localAdminHeroCards,.statsHeroCardsExpanded{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}.localAdminHeroCards a{min-height:84px;padding:12px}.localAdminHeroCards b{font-size:23px}
 .localAdminToolbar{align-items:stretch;flex-direction:column}.localAdminToolbar label{max-width:none;width:100%}
}


/* ===== ADMINISTRACIÓN LEGIBLE · 14–15 PX ===== */
body{
  font-size:15px!important;
}

.adminTop{
  min-height:74px!important;
  padding:12px 18px!important;
}
.adminTop b{
  font-size:16px!important;
}
.adminTop small{
  font-size:13px!important;
}
.adminUser{
  font-size:14px!important;
}

.adminGlobalNav{
  padding:10px 12px!important;
  gap:9px!important;
}
.adminGlobalNavScroller{
  gap:7px!important;
}
.adminGlobalNav a,
.adminNavBack{
  height:44px!important;
  padding:0 13px!important;
  font-size:14px!important;
  border-radius:10px!important;
}
.adminGlobalNav a i{
  font-size:17px!important;
}

.adminMain,
.formPage{
  font-size:15px!important;
}
.adminHead h1{
  font-size:30px!important;
}
.adminHead p{
  font-size:14px!important;
  line-height:1.45!important;
}

.button,
.primary,
.secondary,
button{
  font-size:14px!important;
}

table{
  font-size:14px!important;
}
th{
  font-size:13px!important;
}
td{
  font-size:14px!important;
  line-height:1.4!important;
}
.actionsCell a{
  font-size:14px!important;
}

.formGrid label,
.sideForm label,
.editForm>form label,
.loginBox label,
.identityAdmin label{
  font-size:14px!important;
}
.formGrid input,
.formGrid select,
.formGrid textarea,
.sideForm input,
.sideForm select,
.sideForm textarea,
.editForm input,
.editForm select,
.editForm textarea,
.loginBox input,
.localAdminToolbar input{
  font-size:14px!important;
  padding:11px 12px!important;
}
.adminMain small,
.formPage small,
.editForm small,
.sideForm small,
.identityAdmin small{
  font-size:12px!important;
  line-height:1.4!important;
}

.localAdminHeroCards small{
  font-size:12px!important;
}
.localAdminHeroCards span{
  font-size:12px!important;
}
.localAdminHeroCards b{
  font-size:30px!important;
}
.localAdminToolbar label{
  font-size:13px!important;
}
.localAdminToolbar small{
  font-size:12px!important;
}

.statsHeroCards small{
  font-size:13px!important;
}
.statsHeroCards span{
  font-size:14px!important;
}
.statsHeroCards b{
  font-size:36px!important;
}
.statsGrid h2,
.statsChartCard h2{
  font-size:20px!important;
}
.statsRow b{
  font-size:15px!important;
}
.statsRow span{
  font-size:14px!important;
}
.statsNote,
.statsEmpty{
  font-size:13px!important;
}

.miniBadge{
  font-size:11px!important;
}
.successMsg,
.alert{
  font-size:14px!important;
  line-height:1.4!important;
}
.adminServiceFooter{
  font-size:13px!important;
}

@media(max-width:760px){
  body{
    font-size:14px!important;
  }
  .adminTop{
    min-height:68px!important;
  }
  .adminUser{
    font-size:12px!important;
  }
  .adminGlobalNav a,
  .adminNavBack{
    height:41px!important;
    padding:0 11px!important;
    font-size:13px!important;
  }
  .adminHead h1{
    font-size:25px!important;
  }
  .adminHead p{
    font-size:13px!important;
  }
  table,
  td{
    font-size:13.5px!important;
  }
  th{
    font-size:12.5px!important;
  }
  .formGrid label,
  .sideForm label,
  .editForm>form label{
    font-size:13.5px!important;
  }
  .formGrid input,
  .formGrid select,
  .formGrid textarea,
  .sideForm input,
  .sideForm select,
  .sideForm textarea,
  .editForm input,
  .editForm select,
  .editForm textarea{
    font-size:14px!important;
  }
  .localAdminHeroCards small,
  .localAdminHeroCards span{
    font-size:11px!important;
  }
}
