@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#14213d;--muted:#718096;--bg:#f4f7fb;--blue:#4169e1;--blue2:#6c63ff;--white:#fff;--green:#16a56a;--red:#e05252}
*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}a{text-decoration:none;color:inherit}
.public-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#f8fbff,#eef2ff);overflow:hidden;position:relative}.background-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.45}.orb-one{width:430px;height:430px;background:#dce5ff;top:-170px;right:-100px}.orb-two{width:330px;height:330px;background:#e8dcff;bottom:-150px;left:-100px}
.register-shell{position:relative;width:min(1050px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(255,255,255,.74);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:32px;box-shadow:0 30px 80px rgba(44,62,100,.16);overflow:hidden}
.brand-panel{padding:72px 60px;background:linear-gradient(145deg,#182b57,#3557c7);color:white;position:relative}.brand-panel:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-100px;bottom:-90px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}
.brand-badge{display:inline-flex;align-items:center;justify-content:center;background:white;color:#2444a0;font-weight:800;letter-spacing:.12em;border-radius:12px;padding:10px 14px;font-family:Manrope}.brand-badge.small{font-size:12px;padding:7px 10px}.brand-badge.centered{margin-bottom:24px}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;opacity:.7;margin-top:34px}.brand-panel h1{font:800 clamp(42px,6vw,70px)/1.02 Manrope;margin:14px 0 22px;letter-spacing:-.05em}.brand-panel h1 span{color:#b9c8ff}.brand-panel p{max-width:430px;color:#dce5ff;font-size:17px;line-height:1.7}.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:38px;font-size:12px;color:#dce5ff}
.form-card{padding:64px 58px;background:#fff}.form-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf1ff;color:var(--blue);font-size:22px}.form-card h2{font:800 31px Manrope;margin:24px 0 8px;letter-spacing:-.03em}.muted{color:var(--muted);line-height:1.6}.form-card form,.login-card form{margin-top:30px}.form-card label,.login-card label{display:block;font-size:13px;font-weight:700;margin:18px 0}.form-card input,.login-card input{width:100%;margin-top:9px;border:1px solid #dfe5ef;background:#fbfcfe;border-radius:13px;padding:15px 16px;outline:none;transition:.2s}.form-card input:focus,.login-card input:focus{border-color:#7890ed;box-shadow:0 0 0 4px #e9edff}.primary-btn{width:100%;border:0;border-radius:13px;padding:16px 18px;background:linear-gradient(100deg,#3659c9,#6b63ef);color:white;font-weight:800;cursor:pointer;box-shadow:0 12px 25px rgba(65,105,225,.25);transition:.2s}.primary-btn:hover{transform:translateY(-2px)}.primary-btn span{float:right;font-size:20px}.primary-btn:disabled{opacity:.65;cursor:wait}.secure-note{font-size:11px;color:#98a2b3;margin-top:20px;text-align:center}.message{font-size:13px;text-align:center;min-height:20px}.success{color:var(--green)}.error{color:var(--red)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf2ff,#f8f9fc)}.login-card{width:min(450px,100%);background:#fff;border-radius:26px;padding:48px;box-shadow:0 25px 70px rgba(31,46,85,.14)}.login-card h1{font:800 30px Manrope;margin:8px 0}.back-link{display:block;text-align:center;margin-top:25px;color:#64748b;font-size:13px}
.topbar{height:76px;background:#fff;border-bottom:1px solid #e7ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.topbar>div:first-child{display:flex;align-items:center;gap:12px}.top-actions{display:flex;align-items:center;gap:22px;font-size:13px;color:#64748b}.top-actions a{font-weight:700;color:#3c57b7}.dashboard{width:min(1400px,92%);margin:38px auto 60px}.dashboard-heading h1{font:800 34px Manrope;margin:7px 0}.dashboard-heading .eyebrow{margin-top:0;color:#536bc3;opacity:1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:28px 0}.stat{background:#fff;border:1px solid #e8edf4;border-radius:18px;padding:20px 22px;position:relative}.stat span{display:block;color:#738096;font-size:12px;font-weight:700}.stat b{display:block;font:800 30px Manrope;margin-top:7px}.stat i{position:absolute;right:20px;top:20px;font-style:normal;font-size:19px}.stat.hot i{color:#e87534}.stat.medium i{color:#d4a21d}.stat.cold i{color:#4e7bd9}.toolbar{display:flex;gap:12px;margin-bottom:14px}.search{flex:1;position:relative}.search span{position:absolute;left:15px;top:11px;color:#8792a6;font-size:21px}.search input,.toolbar select{width:100%;border:1px solid #e1e6ee;background:#fff;border-radius:12px;padding:13px 15px;outline:none}.search input{padding-left:42px}.toolbar select{max-width:220px}.table-card{background:#fff;border:1px solid #e6ebf2;border-radius:18px;overflow:hidden}.table-head,.student-row{display:grid;grid-template-columns:1.55fr 1fr 1fr 2.1fr .55fr;gap:14px;align-items:center}.table-head{padding:15px 20px;background:#f8fafc;color:#8490a4;font-size:10px;font-weight:800;letter-spacing:.08em}.student-row{padding:15px 20px;border-top:1px solid #edf0f5;font-size:13px}.student{display:flex;align-items:center;gap:11px}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf1ff;color:#405bc3;font-weight:800}.prospect-buttons{display:flex;gap:6px;flex-wrap:wrap}.tag{border:1px solid #e4e8ef;background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;cursor:pointer;color:#687386}.tag.active{font-weight:800}.tag.hot.active{background:#fff1ea;border-color:#ffcdb7;color:#c55b25}.tag.medium.active{background:#fff9df;border-color:#f4df91;color:#9b7911}.tag.cold.active{background:#edf4ff;border-color:#c7d9ff;color:#4169aa}.whatsapp{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#e6f8ee;color:#13935a;font-size:23px;justify-self:end}.empty{padding:50px;text-align:center;color:#8993a5}
@media(max-width:850px){.register-shell{grid-template-columns:1fr}.brand-panel{padding:45px 35px}.form-card{padding:40px 30px}.stats{grid-template-columns:repeat(2,1fr)}.table-card{overflow:auto}.table-head,.student-row{min-width:950px}.top-actions span{display:none}}
@media(max-width:500px){.brand-panel h1{font-size:44px}.stats{grid-template-columns:1fr}.dashboard{width:94%}.toolbar{flex-direction:column}.toolbar select{max-width:none}.login-card{padding:34px 25px}}

/* Diseño público compacto y adaptable a celulares. El panel administrativo conserva sus estilos originales. */
.public-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,36px);background:radial-gradient(ellipse at top,#e6edff 0%,#f5f7fc 48%,#edf1fb 100%);overflow-x:hidden}
.public-page .orb-one{width:360px;height:360px;background:#cbd8ff;top:-190px;right:-120px;opacity:.55}
.public-page .orb-two{width:300px;height:300px;background:#d9e4ff;bottom:-170px;left:-120px;opacity:.6}
.public-container{position:relative;z-index:1;width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:8px}
.public-brand{width:100%;display:flex;justify-content:center;align-items:center;padding:0 12px}
.public-logo{display:block;width:min(230px,62vw);height:auto;max-height:230px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(17,42,110,.12))}
.public-form-card{width:100%;padding:30px clamp(22px,6vw,38px);border:1px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 20px 60px rgba(28,48,100,.12);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.public-form-card h1{font:800 clamp(22px,5vw,27px)/1.2 Manrope,sans-serif;margin:0 0 8px;letter-spacing:-.035em;text-align:center;color:#142653}
.public-form-card>.muted{text-align:center;font-size:14px;margin:0}
.public-form-card form{margin-top:20px}
.public-form-card label{margin:16px 0;font-size:13px}
.public-form-card input{min-height:50px;border-radius:12px;background:#f9faff}
.public-form-card .primary-btn{min-height:52px;border-radius:12px;background:linear-gradient(100deg,#0a246b,#087de1);box-shadow:0 10px 22px rgba(14,68,166,.2)}
.public-form-card .secure-note{line-height:1.5}
@media(max-width:480px){.public-page{padding:18px 14px;align-items:center}.public-container{width:100%;max-width:390px;gap:4px}.public-logo{width:min(190px,54vw);max-height:190px}.public-form-card{padding:25px 21px;border-radius:20px}.public-form-card form{margin-top:16px}.public-form-card label{margin:14px 0}.public-form-card input{padding:14px 13px;font-size:16px}.public-form-card h1{font-size:23px}.public-page .orb-one{width:240px;height:240px;right:-140px}.public-page .orb-two{width:220px;height:220px;left:-130px}}
@media(max-height:700px) and (min-width:481px){.public-logo{width:150px;max-height:150px}.public-container{gap:0}.public-form-card{padding-top:22px;padding-bottom:22px}}
