/* Riesgo Cero Hospederías — estilos propios (paleta agua, diferenciada de
   restauración que usa verde/naranja). App independiente. */
:root{
  --h-bg:#0B1420; --h-bg2:#121E2E; --h-card:rgba(255,255,255,.04);
  --h-border:rgba(255,255,255,.10); --h-text:#eaf2f7; --h-muted:#8aa0b0;
  --h-agua:#06b6d4; --h-agua2:#0e7490; --h-ok:#22c55e; --h-warn:#f59e0b; --h-bad:#ef4444;
  --h-radius:12px; --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',-apple-system,system-ui,sans-serif;background:var(--h-bg);color:var(--h-text);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}

/* Topbar */
.h-topbar{position:sticky;top:0;z-index:50;background:rgba(11,20,32,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--h-border);padding:12px 16px;display:flex;align-items:center;gap:10px}
.h-logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.h-logo-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--h-agua2),var(--h-agua));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.h-logo-mark svg{width:18px;height:18px;fill:#fff}
.h-logo-name{font-weight:700;font-size:15px;line-height:1.1}
.h-logo-name em{font-style:normal;color:var(--h-agua)}
.h-logo-sub{font-size:10px;color:var(--h-muted);letter-spacing:.04em;text-transform:uppercase}
.h-topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.h-logout{font-size:12px;color:var(--h-muted);text-decoration:none;border:1px solid var(--h-border);border-radius:8px;padding:6px 10px}

/* Contenedor */
.h-container{max-width:760px;margin:0 auto;padding:18px 16px calc(90px + var(--safe-bottom))}
.h-page-title{font-size:20px;font-weight:700;margin-bottom:2px;display:flex;align-items:center;gap:9px}
.h-page-sub{font-size:13px;color:var(--h-muted);margin-bottom:18px}

/* Cards de módulo */
.h-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.h-card{background:var(--h-card);border:1px solid var(--h-border);border-left:4px solid var(--h-agua);border-radius:var(--h-radius);padding:16px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;transition:transform .12s,border-color .12s}
.h-card:hover{transform:translateY(-2px);border-left-color:var(--h-agua)}
.h-card-icon{font-size:26px;line-height:1}
.h-card h3{font-size:15px;font-weight:600}
.h-card p{font-size:12px;color:var(--h-muted);line-height:1.45}

/* Secciones */
.h-section{background:var(--h-card);border:1px solid var(--h-border);border-radius:var(--h-radius);padding:16px;margin-bottom:14px}
.h-section h3{font-size:14px;font-weight:700;margin-bottom:10px}

/* Botones */
.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--h-agua2),var(--h-agua));color:#fff;border:0;border-radius:10px;padding:13px 18px;font-size:14.5px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;transition:transform .12s}
.h-btn:active{transform:scale(.98)}
.h-btn-block{width:100%}
.h-btn-ghost{background:transparent;border:1px solid var(--h-border);color:var(--h-text)}

/* Formularios */
.h-field{margin-bottom:14px}
.h-field label{display:block;font-size:12.5px;color:var(--h-muted);font-weight:600;margin-bottom:6px}
.h-input{width:100%;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid var(--h-border);border-radius:10px;color:var(--h-text);font-size:15px;font-family:inherit}
.h-input:focus{outline:none;border-color:var(--h-agua);box-shadow:0 0 0 3px rgba(6,182,212,.15)}

/* Login */
.h-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.h-login-card{width:100%;max-width:380px;background:var(--h-bg2);border:1px solid var(--h-border);border-radius:16px;padding:30px 26px}
.h-login-logo{text-align:center;margin-bottom:20px}
.h-login-logo .h-logo-mark{width:48px;height:48px;border-radius:13px;margin:0 auto 12px}
.h-login-logo .h-logo-mark svg{width:26px;height:26px}
.h-login-logo h1{font-size:20px;font-weight:700}
.h-login-logo h1 em{font-style:normal;color:var(--h-agua)}
.h-login-logo p{font-size:12.5px;color:var(--h-muted);margin-top:3px}
.h-alert{padding:11px 14px;border-radius:9px;font-size:13.5px;margin-bottom:14px;display:none}
.h-alert.err{display:block;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#fecaca}

/* Empty / nav inferior */
.h-empty{text-align:center;padding:30px 16px;color:var(--h-muted);font-size:14px;background:var(--h-card);border:1px dashed var(--h-border);border-radius:var(--h-radius)}
.h-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(14,22,34,.95);backdrop-filter:blur(10px);border-top:1px solid var(--h-border);display:flex;overflow-x:auto;padding:8px 0 calc(8px + var(--safe-bottom));z-index:40;scrollbar-width:none}
.h-nav::-webkit-scrollbar{display:none}
.h-nav a{flex:1 0 auto;min-width:62px;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--h-muted);font-size:10px;font-weight:600;padding:4px}
.h-nav a.active{color:var(--h-agua)}
.h-nav a .h-nav-ic{font-size:19px;line-height:1}

/* ── Rebrand de componentes reutilizados de app.css (módulos) al color agua ── */
.btn-primary-app{background:linear-gradient(135deg,var(--h-agua2),var(--h-agua))}
.app-container{max-width:760px;margin:0 auto;padding:18px 16px calc(90px + var(--safe-bottom))}
.page-header h2{display:flex;align-items:center;gap:9px}
