:root{--bg1:#07111f;--bg2:#10243c;--panel:rgba(255,255,255,.09);--border:rgba(255,255,255,.18);--text:#f5f8fc;--muted:#b8c6d8;--accent:#72b7ff;--ok:#77dda2;--danger:#ff9b9b}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(83,154,255,.18),transparent 34%),radial-gradient(circle at bottom right,rgba(96,210,255,.12),transparent 30%),linear-gradient(145deg,var(--bg1),var(--bg2));color:var(--text)}body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.wrap{width:min(920px,100%)}.card{padding:42px 34px;border:1px solid var(--border);border-radius:28px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.35);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.center{text-align:center}.brand{width:86px;height:86px;margin:0 auto 22px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#77bcff,#396aa5);font-size:40px;font-weight:800;box-shadow:0 18px 38px rgba(61,139,223,.35)}h1{margin:0;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1}h2{margin-top:0}.muted{color:var(--muted);line-height:1.6}.powered{color:#a7d7ff;margin-top:16px}.actions{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.22);border-radius:15px;padding:14px 22px;color:white;text-decoration:none;font-weight:750;background:linear-gradient(145deg,rgba(114,183,255,.68),rgba(54,101,161,.68));cursor:pointer}.btn.secondary{background:rgba(255,255,255,.08)}form{max-width:460px;margin:0 auto}.field{margin:16px 0;text-align:left}label{display:block;margin-bottom:7px;font-weight:700}input{width:100%;padding:14px 15px;border-radius:13px;border:1px solid rgba(255,255,255,.18);background:rgba(4,12,23,.55);color:white;font-size:1rem}.message{padding:12px 14px;border-radius:12px;margin:16px 0;background:rgba(255,155,155,.12);border:1px solid rgba(255,155,155,.35);color:#ffd6d6}.success{background:rgba(119,221,162,.12);border-color:rgba(119,221,162,.35);color:#d7ffe5}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{padding:22px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}footer{text-align:center;margin-top:20px;color:rgba(226,235,245,.65);font-size:.86rem}@media(max-width:700px){body{padding:15px}.card{padding:32px 20px;border-radius:22px}.grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}
.metric{font-size:2rem;font-weight:800;margin:.2rem 0}.status-list{margin:18px 0;padding:0;list-style:none}.status-list li{padding:10px 0;border-bottom:1px solid rgba(127,127,127,.2)}input[type=file]{padding:14px;background:rgba(127,127,127,.08)}

.app-header{display:flex;justify-content:space-between;align-items:center;padding:14px 5%;background:#10243d;color:white}.app-header small{display:block;opacity:.75}.nav{display:flex;gap:8px;overflow:auto;padding:10px 5%;background:#eaf0f7}.nav a{padding:9px 12px;border-radius:10px;text-decoration:none;color:#17324d;white-space:nowrap}.net{font-size:.9rem}.online{color:#8df0b4}.offline{color:#ffaaaa}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:650}.form-grid input,.form-grid select,.form-grid textarea{padding:11px;border:1px solid #cfd9e4;border-radius:10px;font:inherit}.table-wrap{overflow:auto}.data{width:100%;border-collapse:collapse}.data th,.data td{padding:10px;border-bottom:1px solid #e5ebf1;text-align:left;white-space:nowrap}.money{text-align:right!important;font-variant-numeric:tabular-nums}.notice{padding:12px;border-radius:10px;background:#eaf8ef;margin-bottom:14px}.danger{background:#ffecec}.toast{position:fixed;right:18px;bottom:18px;background:#10243d;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 30px #0004}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.summary .tile{min-height:110px}@media(max-width:600px){.app-header{align-items:flex-start;gap:8px;flex-direction:column}.wrap{padding:12px}.nav{padding:8px}.data{font-size:.88rem}}

/* =========================================================
   AURA Reloaded Web — Ajustes móviles v1.1 (18-jul-2026)
   Conserva intacto el diseño de escritorio.
   ========================================================= */

/* Evita cortes causados por barras dinámicas y zonas seguras del iPhone. */
html,
body{
  min-height:100%;
  min-height:100svh;
  overflow-x:hidden;
}

/* En las pantallas de acceso, mantiene la tarjeta cómoda y el pie abajo. */
body:has(> main.wrap > .card.center){
  min-height:100vh;
  min-height:100svh;
  align-items:stretch;
  padding-top:max(24px,env(safe-area-inset-top));
  padding-right:max(24px,env(safe-area-inset-right));
  padding-bottom:max(16px,env(safe-area-inset-bottom));
  padding-left:max(24px,env(safe-area-inset-left));
}

body:has(> main.wrap > .card.center) > main.wrap{
  min-height:calc(100vh - 40px);
  min-height:calc(100svh - 40px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body:has(> main.wrap > .card.center) > main.wrap > .card.center{
  margin-top:auto;
  margin-bottom:auto;
}

body:has(> main.wrap > .card.center) > main.wrap > footer{
  margin-top:18px;
  flex:0 0 auto;
}

@media(max-width:700px){
  body{
    padding-top:max(15px,env(safe-area-inset-top));
    padding-right:max(15px,env(safe-area-inset-right));
    padding-bottom:max(12px,env(safe-area-inset-bottom));
    padding-left:max(15px,env(safe-area-inset-left));
  }

  body:has(> main.wrap > .card.center){
    padding-top:max(15px,env(safe-area-inset-top));
    padding-right:max(15px,env(safe-area-inset-right));
    padding-bottom:max(12px,env(safe-area-inset-bottom));
    padding-left:max(15px,env(safe-area-inset-left));
  }

  body:has(> main.wrap > .card.center) > main.wrap{
    min-height:calc(100vh - 27px);
    min-height:calc(100svh - 27px);
  }

  .card{
    width:100%;
    max-width:100%;
  }

  .brand{
    width:94px;
    height:94px;
    font-size:44px;
    border-radius:26px;
    margin-bottom:20px;
  }

  .powered{
    margin-top:13px;
    font-size:.86rem;
    line-height:1.35;
    overflow-wrap:anywhere;
  }

  .actions .btn,
  .actions button{
    min-height:52px;
    padding:15px 24px;
    touch-action:manipulation;
  }

  footer{
    padding-bottom:2px;
  }
}

/* Protección adicional para pantallas muy angostas, como iPhone SE. */
@media(max-width:380px){
  body{
    padding-right:max(11px,env(safe-area-inset-right));
    padding-left:max(11px,env(safe-area-inset-left));
  }

  body:has(> main.wrap > .card.center){
    padding-right:max(11px,env(safe-area-inset-right));
    padding-left:max(11px,env(safe-area-inset-left));
  }

  .card{
    padding:27px 15px;
    border-radius:20px;
  }

  .brand{
    width:90px;
    height:90px;
    font-size:42px;
    margin-bottom:18px;
  }

  h1{
    font-size:clamp(1.85rem,10vw,2.35rem);
    overflow-wrap:anywhere;
  }

  .muted{
    font-size:.94rem;
    line-height:1.5;
  }

  .actions{
    width:100%;
    margin-top:23px;
  }

  .actions .btn,
  .actions button{
    width:100%;
    min-height:54px;
    padding:15px 14px;
  }

  footer{
    font-size:.78rem;
    line-height:1.35;
  }
}
