/* ===================================================================
   MONEA Suite — shell lanzador · estética MONEA (luxury editorial)
   Crema #F5F3E9 · negro cálido #1D1D1B (nunca puro) · tipografía tricéfala.
   =================================================================== */

:root{
  --negro:#1D1D1B; --crema:#F5F3E9; --crema-card:#FBFAF4; --crema-2:#EFECDF; --crema-3:#E7E3D4;
  --line:#1d1d1b1f; --line-2:#1d1d1b33; --muted:#6b6a63; --muted-2:#8d8a7d;
  --rojo:#A8453A; --verde:#5C7355; --ambar:#B8893A;
  --sans:'Inter',sans-serif; --serif:'Libre Caslon Text',serif; --italic:'Cormorant Garamond',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--sans); color:var(--negro); font-weight:400; font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased; background:var(--crema);
}
[hidden]{display:none!important}

/* ===================================================================
   HOME (lanzador)
   =================================================================== */
.home{
  min-height:100%; display:flex; flex-direction:column; align-items:center;
  padding:clamp(36px,6vw,72px) 22px 40px; max-width:1080px; margin:0 auto;
}
.home-head{text-align:center; max-width:560px; margin-bottom:clamp(30px,5vw,54px)}
.home-logo{height:34px; margin-bottom:12px}
.home-sub{font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--muted); margin-bottom:26px}
.home-title{
  font-family:var(--serif); font-weight:400; font-size:clamp(30px,5vw,46px);
  line-height:1.06; letter-spacing:-.01em; margin-bottom:14px;
}
.home-lead{font-size:15.5px; color:var(--muted); line-height:1.6; max-width:460px; margin:0 auto}

/* grid de módulos */
.grid{
  width:100%; display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(248px,1fr));
}
.card{
  position:relative; text-align:left; font-family:var(--sans); color:var(--negro);
  background:var(--crema-card); border:1px solid var(--line); border-radius:16px;
  padding:20px 20px 18px; cursor:pointer; transition:.18s ease;
  display:flex; flex-direction:column; min-height:188px;
}
.card:hover{border-color:var(--line-2); transform:translateY(-2px); box-shadow:0 14px 34px #1d1d1b14}
.card.is-soon{cursor:default; opacity:.62}
.card.is-soon:hover{transform:none; box-shadow:none; border-color:var(--line)}
.card-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px}
.card-ic{
  width:42px; height:42px; display:grid; place-items:center; font-size:19px;
  background:var(--crema-2); border:1px solid var(--line); border-radius:11px; color:var(--negro);
}
.chip{font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  padding:4px 9px; border-radius:20px; border:1px solid transparent}
.chip.on{color:var(--verde); background:#5c735514; border-color:#5c735533}
.chip.soon{color:var(--muted); background:var(--crema-2); border-color:var(--line)}
.card-name{font-size:18px; font-weight:400; letter-spacing:.04em}
.card-name b{font-weight:600}
.card-tag{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:3px 0 10px}
.card-desc{font-size:13.5px; color:var(--muted); line-height:1.55; flex:1}
.card-go{margin-top:14px; font-size:13px; font-weight:500; color:var(--negro)}
.card:hover .card-go{color:var(--rojo)}

.home-foot{
  margin-top:auto; padding-top:42px; display:flex; flex-direction:column; align-items:center; gap:4px;
  text-align:center;
}
.hf-brand{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--negro)}
.hf-note{font-size:11px; color:var(--muted-2)}

/* ===================================================================
   VISTA DE MÓDULO (iframe a pantalla completa + barra MONEA)
   =================================================================== */
.module{position:fixed; inset:0; display:flex; flex-direction:column; background:var(--crema)}
.mod-bar{
  flex:0 0 auto; height:52px; display:flex; align-items:center; gap:14px;
  padding:0 14px; background:var(--crema); border-bottom:1px solid var(--line);
}
.mod-back{
  font-family:var(--sans); font-size:14px; font-weight:500; color:var(--negro);
  background:var(--crema-card); border:1px solid var(--line-2); border-radius:9px;
  padding:8px 14px; cursor:pointer; transition:.15s;
}
.mod-back:hover{background:var(--crema-2)}
.mod-id{display:flex; align-items:center; gap:8px; margin:0 auto 0 4px}
.mod-iso{height:20px}
.mod-name{font-size:14px; font-weight:500; letter-spacing:.06em}
.mod-open{font-size:12.5px; color:var(--muted); text-decoration:none; padding:6px 4px}
.mod-open:hover{color:var(--negro)}
.mod-frame-wrap{flex:1; min-height:0; background:var(--crema)}
.mod-frame{width:100%; height:100%; border:0; display:block}

@media(max-width:560px){
  .home{padding:30px 16px}
  .grid{grid-template-columns:1fr 1fr; gap:12px}
  .card{min-height:auto; padding:16px}
  .card-desc{display:none}
}

/* ===================================================================
   LOGIN ÚNICO (SSO) + barra de sesión
   =================================================================== */
.su-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px;
  background:radial-gradient(130% 120% at 50% -10%, #2a2a26 0%, #1d1d1b 62%)}
.su-box{width:100%;max-width:380px;background:var(--crema);border-radius:20px;padding:32px 30px 26px;
  box-shadow:0 30px 80px #00000055}
.su-logo{height:30px;display:block;margin-bottom:10px}
.su-sub{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.su-title{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.1}
.su-lead{color:var(--muted);font-size:13px;line-height:1.5;margin:7px 0 22px}
.su-lead em{font-family:var(--italic);font-style:italic;font-size:15px;color:var(--negro)}
.su-l{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin:13px 0 6px}
.su-i{width:100%;font-family:var(--sans);font-size:15px;color:var(--negro);background:var(--crema-card);
  border:1px solid var(--line-2);border-radius:11px;padding:12px 14px;transition:.15s}
.su-i:focus{outline:none;border-color:var(--negro);background:#fff}
.su-err{color:var(--rojo);font-size:12.5px;margin-top:10px;min-height:15px;line-height:1.4}
.su-btn{width:100%;margin-top:14px;font-family:var(--sans);font-size:14px;font-weight:500;border:1px solid var(--negro);
  background:var(--negro);color:var(--crema);padding:13px;border-radius:11px;cursor:pointer;transition:.15s}
.su-btn:active{opacity:.85}.su-btn:disabled{opacity:.5;cursor:default}
.su-demo-h{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;
  margin:24px 0 11px;border-top:1px solid var(--line);padding-top:18px}
.su-demo{display:flex;flex-direction:column;gap:7px}
.du{display:flex;justify-content:space-between;align-items:center;background:var(--crema-card);border:1px solid var(--line);
  border-radius:10px;padding:10px 13px;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--negro);transition:.13s}
.du:hover{background:var(--crema-2)}
.du span{font-size:11px;color:var(--muted);font-weight:400}

/* barra de sesión en el home */
.sess-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;max-width:1080px;
  margin:0 auto 6px;padding:14px 4px 0}
.sess-id{display:flex;align-items:center;gap:11px}
.sess-av{width:38px;height:38px;border-radius:50%;background:var(--negro);color:var(--crema);
  display:grid;place-items:center;font-weight:600;font-size:16px}
.sess-name{font-size:14.5px;font-weight:500}
.sess-rol{font-size:12px;color:var(--muted)}
.sess-out{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--negro);background:var(--crema-card);
  border:1px solid var(--line-2);border-radius:9px;padding:8px 15px;cursor:pointer;transition:.15s}
.sess-out:hover{background:var(--crema-2);border-color:var(--rojo);color:var(--rojo)}
