.public-header{background:#2b1462;color:#fff;padding:12px 0;box-shadow:0 4px 12px #0000001a;position:sticky;top:0;z-index:100}.public-header .container{display:grid;grid-template-columns:1fr auto;align-items:center;max-width:1100px;margin:0 auto;padding:0 16px;gap:16px}.brand{font-weight:700;font-size:22px;color:#fff;justify-self:start}.nav{display:flex;justify-content:flex-end;gap:16px;align-items:center}.nav a{color:#fff;text-decoration:none;padding:6px 12px;font-weight:500;border-radius:6px;transition:background .3s ease,color .3s ease}.nav a:hover{background:#ffffff1a}.nav .btn{display:flex;justify-content:center;align-items:center;background:#f6c53a;color:#2b1462;padding:6px 14px;border-radius:6px;font-weight:600;transition:all .3s ease}.nav .btn:hover{background:#e5b200;color:#fff}@media (max-width: 1024px){.public-header .container{grid-template-columns:1fr auto}.nav{justify-content:center;flex-wrap:wrap;gap:12px}.brand{font-size:20px}.nav a,.nav .btn{font-size:14px;padding:6px 10px}}@media (max-width: 768px){.public-header .container{grid-template-columns:1fr 1fr;text-align:center}.nav{justify-content:center;margin-top:8px;flex-direction:column;gap:8px}.nav a,.nav .btn{width:100%}}@media (max-width: 480px){.brand{font-size:18px}.nav a,.nav .btn{font-size:14px;padding:8px 12px}}.public-footer{background:#111;color:#ddd;padding:18px 0;margin-top:40px}.public-footer .container{display:flex;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 16px}.hero{background:linear-gradient(90deg,#2b1462,#5b3ea6);color:#fff;padding:50px 20px;border-radius:12px;margin-top:16px;text-align:center;box-shadow:0 8px 20px #0000001a}.hero h1{font-size:38px;font-weight:700;margin-bottom:12px}.hero p{font-size:18px;font-weight:400}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:40px;margin-bottom:40px}.curso-card{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease}.curso-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px #00000026}.curso-card h3{font-size:20px;font-weight:600;color:#2b1462;margin:16px}.curso-card p{font-size:14px;color:#555;margin:0 16px 16px;flex-grow:1;line-height:1.5}.curso-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;align-items:center}.curso-card .ver{display:flex;justify-content:center;align-items:center;padding:8px 0;border:2px solid #2b1462;border-radius:12px;text-decoration:none;color:#2b1462;font-weight:600;font-size:14px;transition:all .3s ease}.curso-card .ver:hover{background:#2b1462;color:#fff;box-shadow:0 6px 18px #2b146240}.curso-card .mat{display:flex;justify-content:center;align-items:center;padding:8px 0;border-radius:12px;text-decoration:none;font-weight:600;font-size:14px;background:#f6c53a;color:#222;transition:all .3s ease}.curso-card .mat:hover{background:#e5b200;color:#fff;box-shadow:0 6px 18px #e6b20040}.curso-card .precio{display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:700;color:#2b1462}.loading,.error{text-align:center;padding:20px;font-size:16px;color:#2b1462}@media (max-width: 1024px){.hero h1{font-size:32px}.hero p{font-size:16px}.curso-card h3{font-size:18px}.curso-card p{font-size:13px}.curso-card .actions a,.curso-card .precio{font-size:13px;padding:6px 0}}@media (max-width: 600px){.cursos-grid{gap:16px}.curso-card{border-radius:12px}.curso-card h3{font-size:16px}.curso-card p{font-size:12px}.curso-card .actions{grid-template-columns:1fr;gap:8px}.curso-card .actions a,.curso-card .precio{font-size:14px;padding:8px 0}}.login form{max-width:420px;margin:40px auto;display:flex;flex-direction:column;gap:10px}.login input{padding:10px;border-radius:6px;border:1px solid #ddd}.login button{background:#2b1462;color:#fff;padding:10px;border-radius:6px;border:none;cursor:pointer}.dash-header{background:#221a47;color:#fff;padding:10px 0}.dash-header .container{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:0 16px}.user-area span{margin-right:12px}.btn-logout{background:#f03a47;color:#fff;border:none;padding:6px 10px;border-radius:6px;cursor:pointer}.dash-footer{background:#fafafa;color:#333;padding:12px 0;margin-top:30px;border-top:1px solid #eee}.dash-footer .container{display:flex;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 16px}.curso-item{padding:12px;border-bottom:1px solid #eee}.curso-item .acciones a{margin-right:8px;color:#2b1462;text-decoration:none}.lista-facturas{list-style:none;padding:0;margin:0}.lista-facturas li{padding:8px 0;border-bottom:1px solid #f0f0f0}.factura-item.pagado{background-color:#d4edda}.factura-item.no-pagado{background-color:#f8d7da}.dashboard{display:grid;grid-template-columns:280px 1fr;gap:20px;max-width:1100px;margin:18px auto;padding:0 16px}.left-col,.main-col{background:#fff;padding:14px;border-radius:8px}.detalle-curso{max-width:900px;margin:24px auto;padding:0 16px}.cta .mat{background:#2b1462;color:#fff;padding:8px 12px;border-radius:8px;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 16px;font-family:Inter,sans-serif}.checkout h2{font-size:32px;font-weight:700;background:linear-gradient(90deg,#193bd1,#081669);border-radius:12px;color:#f0f8ff;margin-top:32px;margin-bottom:12px;text-align:center;padding:12px 24px}.checkout .descripcion{font-size:16px;color:#555;margin-bottom:16px;text-align:center;line-height:1.6}.checkout .precio{font-size:24px;font-weight:800;margin:16px auto 32px;text-align:center;background:linear-gradient(90deg,#1036e2,#081669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block;padding:6px 16px;border-radius:12px;box-shadow:0 6px 16px #302f2c59;transition:transform .3s ease,box-shadow .3s ease}.checkout .precio:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2305aa73}.secciones h3{font-size:22px;font-weight:600;color:#2b1462;margin-bottom:16px}.secciones .seccion-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 6px 18px #00000014;transition:transform .3s ease,box-shadow .3s ease}.secciones .seccion-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.secciones .seccion-card p{margin:4px 0;font-size:14px;color:#333;line-height:1.5}.secciones .seccion-card p strong{color:#2b1462}.whatsapp-button{margin:32px 0;text-align:center}.whatsapp-button a{display:inline-block;background-color:#25d366;color:#fff;font-weight:600;font-size:16px;padding:12px 24px;border-radius:12px;text-decoration:none;box-shadow:0 6px 18px #25d36640;transition:all .3s ease}.whatsapp-button a:hover{background-color:#1ebe5d;box-shadow:0 8px 20px #25d36659;transform:translateY(-2px)}.loading{text-align:center;padding:40px 0;font-size:16px;color:#2b1462}@media (max-width: 1024px){.checkout h2{font-size:28px}.checkout .descripcion{font-size:15px}.checkout .precio{font-size:18px}.secciones h3{font-size:20px}.secciones .seccion-card p{font-size:13px}.whatsapp-button a{font-size:15px;padding:10px 20px}}@media (max-width: 600px){.checkout h2{font-size:24px}.checkout .descripcion{font-size:14px}.checkout .precio{font-size:16px}.secciones h3{font-size:18px}.secciones .seccion-card{padding:12px}.secciones .seccion-card p{font-size:12px}.whatsapp-button a{font-size:14px;padding:8px 16px}}.matricula-wrap{max-width:1100px;margin:18px auto;padding:16px;font-family:Inter,system-ui}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.search-box input{padding:10px;border-radius:8px;border:1px solid #eee;width:320px}.grid{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:12px}.panel{background:#fff;border-radius:12px;padding:12px;box-shadow:0 6px 20px #0f0f140a}.panel-head{display:flex;justify-content:space-between;align-items:center}.lista-estudiantes{list-style:none;padding:0;margin:8px 0;max-height:420px;overflow:auto}.lista-estudiantes li{padding:10px;border-radius:8px;margin-bottom:8px;border:1px solid #f0f0f6;cursor:pointer}.lista-estudiantes li.selected{background:linear-gradient(90deg,#f6f5ff,#fff);border-color:#e1d7ff}.lista-estudiantes li .meta{font-size:12px;color:#666;margin-top:6px}.panel.detalle label{display:block;margin-top:12px;font-weight:600}.panel.detalle select,input{width:100%;padding:10px;border-radius:8px;border:1px solid #eee;margin-top:6px}.card{background:#fbfbff;padding:12px;border-radius:8px;margin-bottom:8px}.pago-row{display:flex;gap:12px;align-items:center;margin-top:8px}.actions{display:flex;gap:12px;margin-top:14px}.primary{background:#512da8;color:#fff;padding:10px;border-radius:8px;border:none;cursor:pointer}.secondary{background:#f7f7fb;padding:10px;border-radius:8px;border:1px solid #eaeaf5;cursor:pointer}.mensaje{margin-top:10px;padding:10px;background:#faf8ff;border-radius:8px}.empty{padding:20px;color:#888;text-align:center}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:60}.modal-card{background:#fff;padding:18px;border-radius:10px;min-width:320px;max-width:520px}.modal-card h3{margin:0 0 8px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.small{background:#fff;border:1px solid #e6e6f2;padding:6px 10px;border-radius:8px;cursor:pointer}@media (max-width:900px){.grid{grid-template-columns:1fr}.search-box input{width:100%}}.input-error{border:2px solid #ff4d4f!important;background:#fff1f0}.error-text{color:#ff4d4f;font-size:.8rem;margin-top:-1px;margin-bottom:10px;display:block}.reg-pago-card{max-width:520px;margin:16px auto;padding:16px;border-radius:10px;background:#fff;box-shadow:0 8px 24px #2820640a}.reg-pago-card h2{margin-bottom:12px}.reg-pago-card input{width:100%;padding:10px;border-radius:8px;border:1px solid #eef0f8;margin-top:8px}.primary{margin-top:12px;background:#512da8;color:#fff;padding:10px;border-radius:8px;border:none;cursor:pointer;width:100%}.reg-actions{text-align:right}:root{--bg:#fbfbff;--card:#ffffff;--accent:#512DA8;--muted:#666;--success:#e6fff2;--error:#fff0f0;--info:#f5f7ff}body{background:var(--bg);margin:0;font-family:Inter,system-ui,-apple-system,Helvetica Neue,Arial}.panel-container{display:flex;gap:20px;align-items:flex-start;padding:20px;max-width:1400px;margin:18px auto}.side-list{width:300px;background:linear-gradient(180deg,var(--card),#fafafa);border-radius:12px;padding:14px;box-shadow:0 10px 30px #512da80f;height:calc(100vh - 120px);overflow-y:auto}.side-list::-webkit-scrollbar{width:7px}.side-list::-webkit-scrollbar-thumb{background:#c8c4ff;border-radius:10px}.side-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.side-header h3{margin:0;font-size:18px}.small-btn{background:#f3f3ff;border:0;padding:6px 10px;border-radius:8px;cursor:pointer;font-weight:600}.curso-list{list-style:none;padding:0;margin:0}.curso-item{padding:12px;border-radius:10px;margin-bottom:8px;cursor:pointer;border:1px solid transparent;display:flex;justify-content:space-between;align-items:center}.curso-item:hover{background:#faf7ff}.curso-item.activo{border-color:#512da81f;box-shadow:0 4px 14px #512da80f}.curso-title{font-weight:700}.curso-meta{font-size:13px;color:var(--muted);display:flex;gap:8px}.main-panel{display:grid;grid-template-columns:500px 1fr;gap:20px;flex:1}.crear-curso-card{background:linear-gradient(180deg,var(--card),#fff);padding:18px;border-radius:12px;box-shadow:0 8px 26px #5040a00f;height:fit-content}.crear-curso-card h2{margin-top:0;margin-bottom:10px}.crear-curso-card label{display:block;font-weight:700;margin-top:10px;color:#222}.crear-curso-card input,.crear-curso-card textarea,.crear-curso-card select{width:100%;padding:10px;border-radius:10px;border:1px solid #ececf6;margin-top:6px;font-size:14px;background:#fff}.crear-curso-card textarea{min-height:100px;resize:vertical}.two-cols{display:flex;gap:12px;margin-top:6px}.two-cols>div{flex:1}.primary{margin-top:14px;background:var(--accent);color:#fff;padding:12px;border-radius:12px;border:none;width:100%;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #512da81f}.primary:disabled{opacity:.6;cursor:not-allowed}.secciones-block{margin-top:14px}.secciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.link-btn{background:transparent;border:0;color:var(--accent);cursor:pointer;font-weight:700}.seccion-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 120px 80px;gap:8px;margin-bottom:8px}.seccion-row input,.seccion-row select{padding:8px;border-radius:8px}.danger{background:#ffecec;border:1px solid #ffbdbd;color:#9a0202;padding:6px;border-radius:8px;cursor:pointer}.danger.small{padding:6px 8px}.mensaje{margin-top:12px;padding:10px;border-radius:10px}.mensaje.success{background:var(--success);border:1px solid #bfeed1;color:#024b21}.mensaje.error{background:var(--error);border:1px solid #f2b3b3;color:#7a1111}.mensaje.warning{background:#fff7e6;border:1px solid #ffe6b3;color:#7a5300}.mensaje.info{background:var(--info);border:1px solid #e6eaff;color:#2b2b6b}.detalle-curso-card{background:linear-gradient(180deg,#fff,#fcfcff);padding:20px;border-radius:12px;box-shadow:0 8px 26px #5040a00a;height:calc(100vh - 120px);overflow-y:auto}.detalle-curso-card::-webkit-scrollbar{width:7px}.detalle-curso-card::-webkit-scrollbar-thumb{background:#c8c4ff;border-radius:10px}.detalle-curso-card h3{margin-top:0}.muted{color:var(--muted);margin-bottom:10px}.detalle-curso-card h4{margin-top:20px;margin-bottom:10px}.secciones-list{list-style:none;padding:0;margin:0}.seccion-item{padding:12px;background:#f9f7ff;border-radius:10px;margin-bottom:10px;cursor:pointer;border:1px solid transparent}.seccion-item:hover{background:#f3eeff}.seccion-activa{border-color:var(--accent);box-shadow:0 4px 14px #512da80f}.matriculados-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}.matriculados-table th{background:#ecebfd;padding:10px;text-align:left}.matriculados-table td{padding:10px;border-bottom:1px solid #f0efff}.matriculados-table tr:hover{background:#faf8ff}.search-input{width:100%;padding:10px;margin:10px 0;border-radius:10px;border:1px solid #e0e0ff;background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:999}.modal-seccion{position:absolute;top:10px;left:10px;height:min-content;width:max-content;max-width:600px;background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 4px 20px #00000038;animation:fadeIn .25s ease;margin:0}.modal-title{text-align:center;font-size:20px;font-weight:700;margin:0 0 15px;padding:0;color:#333}.grid-seccion{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.field-full{grid-column:span 2}.field{display:flex;flex-direction:column}.field label{font-size:14px;font-weight:600;margin-bottom:0;color:#333}.field input,.field select{margin-top:auto;padding:10px;font-size:14px;border:1px solid #aaa;border-radius:8px;background:#fff;width:100%}.input-readonly{background:#f2f2f2;cursor:not-allowed}.modal-buttons{margin-left:10px;margin-top:18px;display:flex;flex-direction:column;gap:8px}.btn-primary,.btn-secondary{padding:10px;font-size:15px;border-radius:8px;border:none;cursor:pointer;font-weight:700}.btn-primary{background:#4a57e8;color:#fff}.btn-primary:hover{background:#3e48cc}.btn-secondary{background:#ddd;color:#333}.btn-secondary:hover{background:#ccc}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:root{--brand:#2b1462;--accent:#f6c53a;--bg:#f5f6fb}*{box-sizing:border-box}body{font-family:Inter,Arial,sans-serif;margin:0;background:var(--bg);color:#222}.container{max-width:1100px;margin:0 auto;padding:0 16px}a{color:inherit}
