/* Landing comercial de Centralita (centralita.com.ar): login.php + empresas.php + escuelas.php comparten esta hoja (07/11). */
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(/assets/fonts/Inter-Regular.ttf) format('truetype')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url(/assets/fonts/Inter-Bold.ttf) format('truetype')}
@font-face{font-family:'Inter';font-weight:800;font-display:swap;src:url(/assets/fonts/Inter-ExtraBold.ttf) format('truetype')}
@font-face{font-family:'InterDisplay';font-weight:900;font-display:swap;src:url(/assets/fonts/InterDisplay-Black.ttf) format('truetype')}
:root{
  --navy:#0b1220;--navy2:#111c33;--ink:#0f172a;--mute:#64748b;--line:#e2e8f0;--bg:#f8fafc;--card:#fff;
  --blue:#2563eb;--blue2:#1d4ed8;--sky:#60a5fa;--green:#16a34a;--amber:#f59e0b;--violet:#7c3aed;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{text-wrap:balance;line-height:1.12}
.display{font-family:InterDisplay,Inter,system-ui,sans-serif;font-weight:900;letter-spacing:-.02em}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,18,32,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:.02em}
.brand i{width:34px;height:34px;border-radius:10px;background:var(--blue);display:grid;place-items:center;font-style:normal;font-weight:800;color:#fff;box-shadow:0 6px 18px rgba(37,99,235,.45)}
.nav nav{display:flex;gap:1.6rem;font-size:.92rem;color:rgba(255,255,255,.7)}
.nav nav a:hover,.nav nav a.on{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;border-radius:12px;padding:.78rem 1.25rem;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.35)}
.btn-p:hover{background:var(--blue2)}
.btn-g{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.14)}
.btn-g:hover{background:rgba(255,255,255,.14)}
.btn-o{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-o:hover{border-color:#cbd5e1;background:#f1f5f9}
.btn-sm{padding:.55rem .95rem;font-size:.88rem;border-radius:10px}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 18% -10%,#1e3a8a 0%,transparent 60%),radial-gradient(900px 500px at 95% 20%,rgba(96,165,250,.25) 0%,transparent 55%),var(--navy);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}
.hero.one .wrap{grid-template-columns:1fr;text-align:center;padding-top:4rem;padding-bottom:3.5rem}
.hero.one .lead{margin:0 auto}
.hero.one .cta,.hero.one .proof{justify-content:center}
.hero.edu{background:radial-gradient(1200px 600px at 18% -10%,#312e81 0%,transparent 60%),radial-gradient(900px 500px at 95% 20%,rgba(167,139,250,.25) 0%,transparent 55%),var(--navy)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sky);background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.3);padding:.4rem .8rem;border-radius:999px}
.eyebrow b{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.2)}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:1.2rem 0 1rem}
.hero h1 em{font-style:normal;color:var(--sky)}
.hero.edu h1 em{color:#c4b5fd}
.hero p.lead{font-size:1.12rem;color:rgba(255,255,255,.72);max-width:34rem}
.hero .cta{display:flex;gap:.75rem;margin-top:1.8rem;flex-wrap:wrap}
.hero .proof{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:2.2rem;font-size:.85rem;color:rgba(255,255,255,.6)}
.hero .proof span{display:inline-flex;align-items:center;gap:.4rem}
.hero .proof span:before{content:"✓";color:#4ade80;font-weight:800}

/* ---- login card ---- */
.login{background:var(--card);color:var(--ink);border-radius:20px;padding:2rem;box-shadow:0 30px 70px rgba(2,6,23,.55),0 0 0 1px rgba(255,255,255,.06);max-width:440px;width:100%;justify-self:end}
.login h2{font-size:1.45rem;font-weight:800;margin-bottom:.25rem}
.login .sub{color:var(--mute);font-size:.9rem;margin-bottom:1.5rem}
.login label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#475569;margin-bottom:.35rem}
.login input{width:100%;padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit;font-size:.95rem;color:var(--ink);background:#fff;transition:box-shadow .15s,border-color .15s}
.login input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.login .f{margin-bottom:1.05rem}
.login .btn{width:100%;padding:.85rem}
.login .alt{text-align:center;font-size:.88rem;color:var(--mute);margin-top:1.2rem}
.login .alt a{color:var(--blue);font-weight:700}
.login .alt a:hover{text-decoration:underline}
#error-box{display:none;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.88rem;padding:.7rem .9rem;border-radius:10px;margin-bottom:1rem}
#error-box.on{display:block}

/* ---- strip ---- */
.strip{background:var(--navy2);border-top:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.55);font-size:.82rem}
.strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 2rem;padding:1rem 20px}
.strip b{color:rgba(255,255,255,.85);font-weight:700;letter-spacing:.04em}

/* ---- sections ---- */
section.s{padding:5rem 0}
section.s.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s-head{max-width:40rem;margin:0 auto 3rem;text-align:center}
.s-head .tag{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.s-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.s-head p{color:var(--mute);margin-top:.8rem;font-size:1.05rem}

/* ---- features ---- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.grid.g3{grid-template-columns:repeat(3,1fr)}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.ft{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.ft:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.08);border-color:#cbd5e1}
.ft i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eff6ff;color:var(--blue);font-style:normal;font-size:1.3rem;margin-bottom:1rem}
.ft h3{font-size:1.02rem;font-weight:800;margin-bottom:.4rem}
.ft p{font-size:.9rem;color:var(--mute)}

/* ---- segmentos (Para empresas / Para escuelas) ---- */
.segs{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.seg{position:relative;overflow:hidden;border-radius:22px;padding:2.2rem;color:#fff;display:flex;flex-direction:column;gap:1rem;min-height:300px;border:1px solid rgba(255,255,255,.08)}
.seg.emp{background:radial-gradient(600px 300px at 90% -20%,rgba(96,165,250,.35),transparent 60%),linear-gradient(160deg,#0f2a5f,#0b1220)}
.seg.edu{background:radial-gradient(600px 300px at 90% -20%,rgba(167,139,250,.35),transparent 60%),linear-gradient(160deg,#2e1065,#0b1220)}
.seg .tag{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.seg h3{font-size:1.6rem}
.seg p{color:rgba(255,255,255,.72);max-width:30rem}
.seg ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .9rem;font-size:.88rem;color:rgba(255,255,255,.85)}
.seg li:before{content:"✓ ";color:#4ade80;font-weight:800}
.seg .btn{align-self:flex-start;margin-top:auto}

/* ---- "pantallas" (maquetas CSS, sin datos reales) ---- */
.show{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:3.5rem 0;border-top:1px solid var(--line)}
.show:first-of-type{border-top:0}
.show.flip .txt{order:2}
.show .txt .tag{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem}
.show .txt h3{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:.7rem}
.show .txt p{color:var(--mute);font-size:1rem}
.show .txt ul{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}
.show .txt li:before{content:"✓ ";color:var(--green);font-weight:800}
.mock{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px rgba(15,23,42,.14);overflow:hidden;font-size:.78rem;color:var(--ink)}
.mock .bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:#f1f5f9;border-bottom:1px solid var(--line)}
.mock .bar i{width:10px;height:10px;border-radius:50%;background:#e2e8f0;display:inline-block}
.mock .bar i:nth-child(1){background:#fca5a5}.mock .bar i:nth-child(2){background:#fde68a}.mock .bar i:nth-child(3){background:#86efac}
.mock .bar span{margin-left:.5rem;flex:1;background:#fff;border:1px solid var(--line);border-radius:6px;padding:.2rem .6rem;color:var(--mute);font-size:.72rem}
.mock .body{display:grid;grid-template-columns:150px 1fr;min-height:300px}
.mock .side{background:#0f172a;color:#cbd5e1;padding:.9rem .7rem;display:flex;flex-direction:column;gap:.3rem}
.mock .side b{display:flex;align-items:center;gap:.4rem;color:#fff;font-size:.8rem;margin-bottom:.5rem}
.mock .side b i{width:18px;height:18px;border-radius:5px;background:var(--blue);display:grid;place-items:center;font-style:normal;font-size:.65rem;font-weight:800}
.mock .side a{display:block;padding:.3rem .5rem;border-radius:6px;font-size:.72rem;color:#cbd5e1}
.mock .side a.on{background:var(--blue);color:#fff}
.mock .side small{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:.5rem .5rem .1rem}
.mock .main{padding:.9rem 1rem;background:#f8fafc}
.mock h4{font-size:.95rem;font-weight:800;margin-bottom:.1rem}
.mock .sub{color:var(--mute);font-size:.72rem;margin-bottom:.7rem}
.mock .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.7rem}
.mock .kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem}
.mock .kpi small{display:block;font-size:.6rem;color:var(--mute);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.mock .kpi b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.mock .kpi b.ok{color:var(--green)}.mock .kpi b.bad{color:#dc2626}
.mock table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:.72rem}
.mock th{text-align:left;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);padding:.45rem .6rem;background:#f8fafc;border-bottom:1px solid var(--line)}
.mock td{padding:.45rem .6rem;border-bottom:1px solid #f1f5f9;font-variant-numeric:tabular-nums}
.mock td.r,.mock th.r{text-align:right}
.mock .pill{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.62rem;font-weight:800}
.mock .pill.g{background:#dcfce7;color:#15803d}.mock .pill.a{background:#fef3c7;color:#b45309}.mock .pill.b{background:#dbeafe;color:#1d4ed8}.mock .pill.r{background:#fee2e2;color:#b91c1c}.mock .pill.v{background:#ede9fe;color:#6d28d9}
.mock .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:.3rem}
.mock .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.mock .pcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem;font-size:.7rem}
.mock .pcard .img{height:56px;border-radius:7px;background:linear-gradient(135deg,#e2e8f0,#f8fafc);margin-bottom:.4rem;display:grid;place-items:center;font-size:1.4rem}
.mock .pcard b{display:block;font-size:.72rem;line-height:1.2}
.mock .pcard .pr{color:var(--blue);font-weight:800;margin-top:.2rem}
/* web pública */
.mock.web .body{display:block;min-height:0}
.mock .wnav{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:linear-gradient(90deg,#0a1832,#3f7cc0);color:#fff;font-size:.72rem}
.mock .wnav b{font-size:.85rem;letter-spacing:.04em}
.mock .wnav span{opacity:.85}
.mock .wnav .cta{margin-left:auto;background:#fff;color:#1d4ed8;border-radius:6px;padding:.2rem .5rem;font-weight:800}
.mock .whero{padding:1rem 1rem .8rem;background:#f1f5f9;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mock .whero h5{font-size:1rem;font-weight:800}
.mock .whero p{font-size:.7rem;color:var(--mute)}
.mock .wgrid{padding:.8rem 1rem 1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
/* chat */
.mock.chat .body{display:block;min-height:0;background:#efeae2}
.mock .chead{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:#075e54;color:#fff}
.mock .chead i{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;color:#075e54;font-weight:800}
.mock .chead small{display:block;font-size:.62rem;opacity:.8}
.mock .msgs{display:flex;flex-direction:column;gap:.45rem;padding:.9rem}
.mock .m{max-width:80%;padding:.5rem .7rem;border-radius:10px;font-size:.74rem;line-height:1.35;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.mock .m.me{align-self:flex-end;background:#dcf8c6}
.mock .m small{display:block;font-size:.58rem;color:#64748b;text-align:right;margin-top:.15rem}
.mock .m a{color:#1d4ed8;text-decoration:underline}
/* celular */
.phone{width:250px;margin:0 auto;background:#0f172a;border-radius:30px;padding:10px;box-shadow:0 30px 60px rgba(15,23,42,.25)}
.phone .scr{background:#fff;border-radius:22px;overflow:hidden;font-size:.72rem}
.phone .top{background:#1e1b4b;color:#fff;padding:.9rem .8rem .7rem}
.phone .top b{display:block;font-size:.95rem}
.phone .top small{opacity:.75}
.phone .tabs{display:flex;gap:.3rem;padding:.5rem .6rem;border-bottom:1px solid var(--line);font-size:.62rem;font-weight:700}
.phone .tabs span{padding:.25rem .5rem;border-radius:999px;background:#f1f5f9;color:var(--mute)}
.phone .tabs span.on{background:#1e1b4b;color:#fff}
.phone .list{padding:.6rem}
.phone .it{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #f1f5f9}
.phone .it b{display:block;font-size:.72rem}
.phone .it small{color:var(--mute);font-size:.62rem}

/* ---- pasos / roles ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:p}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.4rem;position:relative}
.step:before{counter-increment:p;content:counter(p);position:absolute;top:-14px;left:1.2rem;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.85rem}
.step h3{font-size:1rem;margin:.4rem 0 .4rem}
.step p{font-size:.9rem;color:var(--mute)}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.role{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.4rem}
.role i{font-style:normal;font-size:1.5rem}
.role h3{font-size:1rem;margin:.6rem 0 .5rem}
.role ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;color:#334155}
.role li:before{content:"· "}

/* ---- pricing ---- */
.pricing{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.toggle{display:inline-flex;align-items:center;gap:.6rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.3rem;margin:0 auto 2.5rem;font-size:.88rem;font-weight:700}
.toggle button{font:inherit;border:0;background:transparent;color:var(--mute);padding:.5rem 1rem;border-radius:999px;cursor:pointer}
.toggle button.on{background:var(--ink);color:#fff}
.toggle .save{color:var(--green);font-size:.78rem;padding-right:.6rem}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch}
.plan{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.9rem;display:flex;flex-direction:column;gap:1.2rem}
.plan.hot{border-color:var(--blue);box-shadow:0 24px 60px rgba(37,99,235,.18);background:linear-gradient(180deg,#f5f9ff 0%,#fff 40%)}
.plan .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;white-space:nowrap}
.plan h3{font-size:1.1rem;font-weight:800}
.plan .who{font-size:.88rem;color:var(--mute);margin-top:.2rem}
.plan .price{display:flex;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}
.plan .price .cur{font-size:1rem;font-weight:700;color:var(--mute)}
.plan .price .n{font-size:2.6rem;font-weight:900;letter-spacing:-.03em;line-height:1}
.plan .price .per{font-size:.9rem;color:var(--mute)}
.plan .note{font-size:.78rem;color:var(--mute);margin-top:-.8rem;min-height:1.2em}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;flex:1}
.plan li{display:flex;gap:.55rem;align-items:flex-start}
.plan li:before{content:"✓";color:var(--green);font-weight:800;flex:none}
.plan li.no{color:#94a3b8}
.plan li.no:before{content:"–";color:#cbd5e1}
.plan .btn{width:100%}

/* ---- faq ---- */
.faq{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:.6rem}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 1.2rem}
.faq summary{cursor:pointer;font-weight:700;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--mute);font-size:1.3rem;font-weight:400}
.faq details[open] summary:after{content:"–"}
.faq details p{color:var(--mute);font-size:.93rem;padding:0 0 1.1rem}

/* ---- final cta ---- */
.final{background:var(--navy);color:#fff;text-align:center;padding:4.5rem 0}
.final h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:.8rem}
.final p{color:rgba(255,255,255,.65);margin-bottom:1.8rem}
.final .cta{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}

footer{background:var(--navy);color:rgba(255,255,255,.4);font-size:.82rem;border-top:1px solid rgba(255,255,255,.07)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;padding:1.4rem 20px}
footer a:hover{color:#fff}

@media (max-width:960px){
  .grid,.grid.g3{grid-template-columns:repeat(2,1fr)}
  .hero .wrap{grid-template-columns:1fr;gap:2.2rem;padding-top:2.8rem;padding-bottom:3rem}
  .login{justify-self:stretch;max-width:none;order:-1}
  .hero h1{font-size:clamp(1.9rem,6vw,2.6rem)}
  .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .nav nav{display:none}
  .segs,.show,.roles{grid-template-columns:1fr}
  .show.flip .txt{order:0}
  .steps{grid-template-columns:repeat(2,1fr)}
  .mock .body{grid-template-columns:1fr}
  .mock .side{display:none}
  .mock .cards,.mock .wgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .grid,.grid.g3,.grid.g2,.steps{grid-template-columns:1fr}
  section.s{padding:3.4rem 0}
  .login{padding:1.5rem}
  .seg ul{grid-template-columns:1fr}
  .mock .kpis{grid-template-columns:1fr 1fr}
}
