/* MatchLab Gestión · Lavandería v1.5.0
   Patrón visual maestro: Campos de juego */
:root{
  --bg:#06131d;--bg2:#04101a;--panel:#0a1823;--panel2:#0d2230;
  --stroke:#18384b;--text:#f4f9ff;--muted:#9db2c4;
  --green:#1b8f52;--green2:#63e79a;--blue:#2d76bd;
  --red:#b34249;--yellow:#e7c557;--orange:#d47b27;
}
html,body{background:radial-gradient(circle at 88% 0,#0c3b2d 0,#06131d 28%,#04101a 62%,#020910 100%)!important;color:var(--text)!important}
body{min-height:100vh!important}
.ambient{display:none!important}

/* Login: réplica del patrón de Campos */
body:has(#loginScreen:not(.hidden)) .topbar{display:none!important}
body:has(#loginScreen:not(.hidden)) main{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.login-screen{position:relative!important;min-height:100vh!important;display:grid!important;place-items:center!important;padding:34px 20px 60px!important;background:radial-gradient(circle at 88% 8%,rgba(28,117,81,.26),transparent 34%),radial-gradient(circle at 5% 100%,rgba(20,86,116,.22),transparent 34%),#04111b!important}
.login-screen.hidden{display:none!important}
.login-card.unified-login{width:min(470px,100%)!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:center!important}
.login-identity{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:24px}
.ml-brand{display:flex;align-items:center;gap:14px;text-align:left}
.ml-mark{width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#102b43,#061522);border:1px solid #23516a;display:grid;place-items:center;box-shadow:inset 0 0 0 5px #0a2132}
.ml-mark span{width:48px;height:48px;border:3px solid #63e58d;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:950;letter-spacing:-1px;color:#f6fbff}
.ml-name{display:flex;flex-direction:column;line-height:1}.ml-name strong{font-size:31px;letter-spacing:-1.2px;color:#f5f7f8}.ml-name em{font-style:normal;font-size:11px;letter-spacing:4px;color:#62eb91;font-weight:950;margin-top:8px}
.login-divider{width:1px;height:66px;background:#25404f}.login-club{width:68px;height:68px;border-radius:18px;background:#f5f5f1;display:grid;place-items:center;overflow:hidden}.login-club img{width:86%;height:86%;object-fit:contain}
.login-eyebrow{margin:2px 0 0!important;color:#56e58a!important;font-size:11px!important;letter-spacing:1.5px!important;font-weight:900!important}.login-screen h1{font-size:46px!important;line-height:1.02!important;margin:12px 0!important;letter-spacing:-1.8px!important;color:#f5f7f8!important}.login-club-name{font-size:15px;font-weight:850;color:#e0e6eb;margin-bottom:24px}.login-pin-label{display:block!important;text-align:left!important;color:#e4ebf0!important;font-size:13px!important;font-weight:850!important;max-width:450px;margin:0 auto!important}.login-pin-label input{margin-top:8px!important;height:50px!important;background:#071725!important;border:1px solid #234154!important;border-radius:12px!important;color:#fff!important;font-size:16px!important;padding:0 16px!important;width:100%!important}.login-submit{display:block!important;width:205px!important;max-width:100%!important;height:54px!important;margin:18px auto 0!important;border-radius:27px!important;background:linear-gradient(180deg,#205f43,#164b35)!important;border:1px solid #39a665!important;color:#fff!important;font-size:16px!important;font-weight:950!important;letter-spacing:.4px!important}.login-screen .msg{min-height:24px;margin-top:12px}.login-footer{position:absolute;right:7vw;bottom:18px;color:#7e94a6;font-size:12px;display:flex;gap:9px;align-items:center}.login-footer span:nth-child(2){color:#5de88e}

/* Barra superior */
.topbar{height:auto!important;min-height:68px!important;padding:10px 18px!important;background:#06131df5!important;border-bottom:1px solid var(--stroke)!important;backdrop-filter:blur(12px)!important;gap:14px!important}.brand{gap:10px!important}.brand .mark{width:48px!important;height:48px!important;border-radius:14px!important;background:#0b2031!important;border:1px solid #23516a!important;color:#fff!important;font-size:15px!important;font-weight:950!important}.brand strong{font-size:19px!important;color:#fff!important}.brand small{font-size:10px!important;letter-spacing:2.4px!important;color:var(--green2)!important}.club{color:#cbd8e3!important}.club img{width:42px!important;height:42px!important;border-radius:12px!important;background:#f4f4f0!important}.top-link{background:#0b1d31!important;border:1px solid var(--stroke)!important;color:#f2f7fb!important;border-radius:12px!important;font-weight:800!important;padding:10px 13px!important}

/* Contenido y hero */
.app-content{width:min(1440px,calc(100% - 32px))!important;margin:0 auto!important;padding:16px 0 70px!important;display:block!important}.hero{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:20px!important;background:linear-gradient(135deg,#0c2034,#081725)!important;border:1px solid var(--stroke)!important;border-radius:18px!important;padding:16px 18px!important;margin:0 0 14px!important}.hero h1{font-size:clamp(26px,3vw,38px)!important;letter-spacing:-1px!important;margin:4px 0!important}.hero p:not(.eyebrow){color:var(--muted)!important;margin:0!important}.hero-actions{gap:8px!important}.user-pill{border:1px solid var(--stroke)!important;background:#0d2b1e!important;color:#77e8a5!important;border-radius:999px!important;font-weight:800!important}.btn{border:1px solid var(--stroke)!important;background:#0d2136!important;color:var(--text)!important;padding:11px 15px!important;border-radius:12px!important;font-weight:850!important;box-shadow:none!important}.btn.primary{background:#178045!important;border-color:#28be69!important;color:#fff!important}.btn.danger{background:#6d262c!important;border-color:#d85a63!important;color:#fff!important}.btn.ghost{background:#0b1d31!important;color:#f2f7fb!important}.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}

/* KPI */
.kpis{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;margin:0 0 14px!important}.kpi{background:#0a1b2d!important;border:1px solid var(--stroke)!important;border-radius:18px!important;padding:16px!important}.kpi small{color:var(--muted)!important}.kpi strong{font-size:28px!important;color:var(--green2)!important}.kpi.warn strong{color:var(--yellow)!important}.kpi.bad strong{color:#ff9a9f!important}

/* Navegación idéntica al concepto de módulos de Campos */
.admin-home{display:none!important}.tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;padding:0!important;margin:0 0 14px!important}.tabs button{min-height:82px!important;white-space:normal!important;text-align:left!important;color:#f5f9ff!important;background:#0a1b2d!important;border:1px solid var(--stroke)!important;border-radius:16px!important;padding:12px 14px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}.tabs button strong{display:block!important;font-size:16px!important}.tabs button small{display:block!important;color:#b6cade!important;font-size:11px!important;margin-top:4px!important}.tabs button.active{background:#123d28!important;border-color:#28be69!important;color:#fff!important}

/* Paneles */
.panel{background:#0a1b2d!important;border:1px solid var(--stroke)!important;border-radius:18px!important;padding:18px!important;margin:0 0 14px!important}.section-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin-bottom:14px!important}.section-head h2{font-size:24px!important;color:#fff!important}.section-sub,.help{color:var(--muted)!important}.eyebrow{color:var(--green2)!important;font-size:11px!important;letter-spacing:1.5px!important;font-weight:900!important}.card-grid{gap:12px!important}.equipment-card,.inventory-row,.incident-row,.movement-row{background:#0b2135!important;border:1px solid var(--stroke)!important;border-radius:16px!important}.equipment-card{min-height:178px!important}.equipment-card h3,.inventory-row h3,.incident-row h3{color:#fff!important}.meta{color:var(--muted)!important}.operator-product-panel{background:#081824!important;border:1px solid var(--stroke)!important;border-radius:16px!important;padding:16px!important}.product-button-grid{gap:10px!important}.product-button{background:linear-gradient(180deg,#285d4e,#153b33)!important;border:1px solid #53ba91!important;border-radius:16px!important;color:#fff!important}.empty{border-color:#31516a!important;color:#91a6b7!important}

/* Estados */
.status{font-weight:850!important}.status.operativo,.status.resuelta{color:#7af0aa!important;border-color:#28be69!important;background:#123d28!important}.status.observacion,.status.pendiente{color:#ffe29b!important;border-color:#d9a043!important;background:#3d2f15!important}.status.fuera_servicio,.status.abierta{color:#ffb2b6!important;border-color:#d85a63!important;background:#431f24!important}.status.en_reparacion,.status.en_mantenimiento{color:#b9ddff!important;border-color:#4a9be5!important;background:#0d2841!important}

/* Formularios y diálogos */
input,select,textarea{background:#071522!important;color:#fff!important;border:1px solid var(--stroke)!important;border-radius:12px!important;padding:12px 13px!important}input:focus,select:focus,textarea:focus{border-color:#5aa2e6!important;box-shadow:0 0 0 3px #2d76bd33!important}.dialog-card{background:#091b2c!important;border:1px solid #2a4b64!important;border-radius:18px!important;box-shadow:0 24px 70px #0008!important}.x{background:#0d2136!important;border:1px solid var(--stroke)!important;color:#fff!important;border-radius:10px!important}.toast{background:#153525!important;border-color:#4f8d69!important;border-radius:12px!important}

@media(max-width:900px){.tabs{grid-template-columns:repeat(3,1fr)!important}.hero{grid-template-columns:1fr!important}.kpis{grid-template-columns:1fr 1fr!important}.card-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.login-screen{padding:24px 18px 56px!important}.login-identity{gap:14px;margin-bottom:20px}.ml-mark{width:62px;height:62px;border-radius:17px}.ml-mark span{width:42px;height:42px;font-size:21px}.ml-name strong{font-size:27px}.ml-name em{font-size:9px;letter-spacing:3px}.login-divider{height:56px}.login-club{width:60px;height:60px}.login-screen h1{font-size:38px!important}.login-club-name{font-size:14px}.login-footer{right:auto;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px}.topbar{align-items:flex-start!important;flex-wrap:wrap!important;padding:10px 12px!important}.club{margin-left:0!important}.top-link{margin-left:auto!important}.app-content{width:min(100% - 20px,1440px)!important;padding-top:12px!important}.hero{padding:14px!important}.hero h1{font-size:30px!important}.hero-actions{width:100%!important;justify-content:flex-start!important}.tabs{grid-template-columns:1fr 1fr!important;gap:8px!important}.tabs button{min-height:72px!important;padding:10px 12px!important}.tabs button small{display:none!important}.panel{padding:14px!important}.kpis{grid-template-columns:1fr 1fr!important}.card-grid{grid-template-columns:1fr!important}.inventory-row,.incident-row,.movement-row{display:flex!important;flex-direction:column!important;align-items:stretch!important}.section-head{align-items:flex-start!important;flex-direction:column!important}.section-head>.btn,.section-head>a.btn{width:100%!important}.form-grid,.provider-fields,.detail-grid{grid-template-columns:1fr!important}.span2{grid-column:auto!important}}

/* MATCHLAB LAVANDERÍA v1.5.1 · corrección de navegación
   Campos es la plantilla visual maestra: navegación horizontal, sin sidebar fijo. */
.app-content{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
}
.app-content>.hero,
.app-content>.admin-home,
.app-content>#kpis,
.app-content>.tabs,
.app-content>.tab{
  grid-column:auto!important;
  grid-row:auto!important;
}
.app-content>.tabs{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  width:100%!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:2px 0 7px!important;
  margin:10px 0 14px!important;
  height:auto!important;
  scrollbar-width:thin;
}
.app-content>.tabs button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:132px!important;
  min-height:40px!important;
  padding:8px 12px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  background:#0a1b2d!important;
  border:1px solid var(--stroke)!important;
  border-radius:10px!important;
  color:#f5f9ff!important;
}
.app-content>.tabs button.active{
  background:#123d28!important;
  border-color:#28be69!important;
}
.app-content>.tabs button strong{font-size:13px!important;margin:0!important}
.app-content>.tabs button small{font-size:10px!important;margin-top:2px!important;color:#9fb4c5!important}
.app-content>.tab{
  width:100%!important;
  min-width:0!important;
  margin:0 0 14px!important;
  position:relative!important;
  z-index:1!important;
}
@media(max-width:900px){
  .app-content>.tabs{
    position:static!important;
    top:auto!important;
    margin:8px 0 12px!important;
    padding:2px 0 7px!important;
    border:0!important;
  }
  .app-content>.tabs button{
    min-width:max-content!important;
    min-height:38px!important;
    padding:8px 11px!important;
  }
  .app-content>.tabs button small{display:none!important}
}
