.public-header{background:#2b1462;color:#fff;padding:12px 0}.public-header .container{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:0 16px}.brand{font-weight:700;font-size:20px}.nav a{color:#fff;margin-left:16px;text-decoration:none}.nav .btn{background:#f6c53a;color:#2b1462;padding:6px 10px;border-radius:6px}.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:40px;border-radius:8px;margin-top:16px;text-align:center}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}.curso-card{padding:14px;border:1px solid #eee;border-radius:8px;background:#fff}.curso-card .actions{margin-top:10px;display:flex;gap:8px}.curso-card .ver{text-decoration:none;color:#2b1462}.curso-card .mat{background:#f6c53a;padding:6px 10px;border-radius:6px;color:#222;text-decoration:none}.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}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease;z-index:2000}.modal-box{background:#fff;color:#2b1462;padding:20px 26px;border-radius:16px;font-size:18px;font-weight:700;box-shadow:0 6px 18px #00000026;animation:slideUp .32s ease;text-align:center;min-width:260px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.checkout{max-width:700px;margin:0 auto;padding:20px}.checkout h2{font-size:28px;font-weight:700;margin-bottom:20px;color:#2b1462}.card{background:#fff;padding:18px 20px;border-radius:14px;box-shadow:0 4px 14px #00000014;margin-bottom:20px;text-align:center}.card h3{margin:0;font-size:22px;font-weight:600}.card .precio{margin-top:10px;font-size:26px;font-weight:700;color:#2b1462}.form{max-width:480px;margin:auto;display:flex;flex-direction:column;gap:12px}.form input{padding:12px;border-radius:10px;border:1px solid #ccc;font-size:16px;transition:.2s}.form input:focus{border-color:#2b1462;box-shadow:0 0 3px #2b14624d}.btn{padding:12px;border-radius:12px;font-size:16px;border:none;cursor:pointer;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px);opacity:.9}.btn.mp{background:#2b1462;color:#fff}.btn.yape{background:#7e16ff;color:#fff}.loading{padding:20px;text-align:center}.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}
