*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}:root{--bg:#111214;--sidebar:#101113;--panel:#20232b;--panel2:#181a20;--line:#2a2d35;--text:#f6f7f8;--muted:#8d96a5;--aqua:#a8e4e4;--aqua2:#60c7d0;--gold:#f4bb2f;--red:#ff4464;--green:#5fd596;--blue:#5eb2ff}.ps-body{background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;min-height:100vh}.ps-app{min-height:100vh}.ps-sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;border-right:1px solid #24262b;background:#111214;padding:25px 0 22px;display:flex;flex-direction:column;z-index:30}.ps-brand{display:flex;align-items:center;gap:9px;padding:0 19px 31px;font-weight:900;letter-spacing:.055em;color:#b4eeee;font-size:18px}.ps-brand img{width:23px;height:23px;object-fit:contain}.ps-nav{display:flex;flex-direction:column;gap:7px}.ps-nav a{height:52px;display:flex;align-items:center;gap:15px;padding:0 21px;color:#9da4af;position:relative;font-size:14px}.ps-nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.ps-nav a.active,.ps-nav a:hover{color:#fff}.ps-nav a.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;background:var(--aqua);border-radius:0 3px 3px 0}.ps-cycle{margin-top:auto;display:flex;gap:10px;align-items:center;padding:0 20px}.ps-cycle img{width:27px;height:27px}.ps-cycle div{display:flex;flex-direction:column;gap:2px}.ps-cycle b{font-size:12px}.ps-cycle span{font-size:10px;color:var(--muted)}.ps-main{margin-left:220px;min-height:100vh}.ps-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 31px;border-bottom:1px solid transparent}.ps-top-actions{display:flex;align-items:center;gap:18px}.ps-icon-btn{border:0;background:transparent;color:#9ca6b2;padding:7px;position:relative}.ps-icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.ps-icon-btn i{position:absolute;right:5px;top:4px;width:6px;height:6px;background:var(--aqua);border-radius:50%}.ps-user-wrap{position:relative}.ps-user-btn{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#fff;cursor:pointer}.ps-user-btn>svg{width:16px;height:16px;fill:none;stroke:#808995;stroke-width:1.8}.ps-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);color:#172123;font-weight:800}.ps-user-copy{display:flex;flex-direction:column;text-align:left;min-width:100px}.ps-user-copy b{font-size:13px}.ps-user-copy small{font-size:10px;color:#9ea7b4;margin-top:2px}.ps-user-menu{position:absolute;right:0;top:48px;width:175px;padding:7px;background:#20232b;border:1px solid #30343e;border-radius:8px;box-shadow:0 14px 35px #0008;display:none;z-index:80}.ps-user-menu.open{display:block}.ps-user-menu a{display:block;padding:10px 11px;border-radius:6px;color:#c5cad2;font-size:12px}.ps-user-menu a:hover{background:#282c35;color:#fff}.ps-user-menu a.danger{color:#ff6b81}.ps-content{padding:20px 36px 55px;max-width:1660px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px}.alert.ok,.ps-success{background:#143828;color:#98e0bd}.alert.danger{background:#3c1720;color:#ffb3bf}.ps-dashboard-head,.ps-page-title{display:flex;justify-content:space-between;align-items:flex-start;margin:16px 0 36px}.ps-dashboard-head h1,.ps-page-title h1,.ps-result-title h1{font-size:26px;line-height:1.1;margin:0 0 7px;font-weight:800;letter-spacing:-.02em}.ps-dashboard-head p,.ps-page-title p,.ps-result-title p{margin:0;color:var(--muted);font-size:14px}.ps-week-select select{appearance:none;background:#fff;color:#1b1c20;border:0;border-radius:10px;padding:12px 42px 12px 18px;font-weight:700;background-image:linear-gradient(45deg,transparent 50%,#444 50%),linear-gradient(135deg,#444 50%,transparent 50%);background-position:calc(100% - 19px) 18px,calc(100% - 14px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;min-width:160px}.ps-week-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:40px 26px}.ps-day h2,.ps-week-close h2{font-size:12px;letter-spacing:.07em;color:#9ca5b1;margin:0 0 12px;font-weight:800}.ps-day-list{display:flex;flex-direction:column;gap:12px;min-height:82px}.ps-course-card{height:80px;background:#20232b;border:1px solid #272a32;border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:12px;transition:.18s}.ps-course-card:hover{transform:translateY(-1px);background:#242832}.ps-course-card.locked{cursor:default}.ps-course-icon{width:48px;height:48px;border-radius:10px;background:var(--course);color:#111820;display:grid;place-items:center;font-size:26px;font-weight:900;flex:0 0 auto}.ps-course-icon.sm{width:34px;height:34px;border-radius:9px;font-size:18px}.ps-course-copy{display:flex;flex-direction:column;min-width:0;flex:1}.ps-course-copy small{color:#8d96a5;font-size:11px}.ps-course-copy b{font-size:14px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-course-copy em{font-style:normal;color:#98a0ac;font-size:10px;margin-top:4px}.ps-progress-ring{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--course) calc(var(--p)*1%),#32363f 0);position:relative}.ps-progress-ring:after{content:"";position:absolute;width:30px;height:30px;background:#20232b;border-radius:50%}.ps-progress-ring i{position:relative;z-index:1;font-size:9px;font-style:normal;color:#fff}.ps-availability{text-align:right;margin-left:auto;display:flex;flex-direction:column;gap:3px;white-space:nowrap}.ps-availability small{font-size:8px;color:#8e97a3;letter-spacing:.08em}.ps-availability b{font-size:10px;color:#a6e7e4}.ps-week-close{border-top:1px solid #25272c;margin-top:29px;padding-top:19px}.ps-eval-card{width:min(525px,100%);min-height:86px;display:flex;align-items:center;gap:14px;padding:14px;background:#20232b;border:1px solid #282b33;border-radius:11px}.ps-eval-icon{width:50px;height:50px;border-radius:10px;background:#a8e4e4;color:#172023;display:grid;place-items:center;font-size:25px;flex:0 0 auto}.ps-eval-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.ps-eval-card b{font-size:14px}.ps-eval-card small{color:#939ca8;font-size:11px}.ps-eval-card em{font-style:normal;color:#16231d;background:#a5df5f;border-radius:3px;padding:3px 6px;width:max-content;font-size:8px;font-weight:900}.ps-eval-card>strong{font-size:27px;color:#7d8590;font-weight:300}.ps-day-empty,.ps-empty{color:#69727f;font-size:12px;padding:14px 0}.ps-page-title{align-items:center}.ps-btn{border:0;border-radius:7px;padding:10px 14px;font-weight:750;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ps-btn.aqua,.ps-btn.primary{background:var(--aqua);color:#172022}.ps-btn.ghost{background:#242730;color:#d9dde2;border:1px solid #343843}.ps-btn.danger{background:#3c2027;color:#ffb3c0}.ps-badge{padding:5px 8px;border-radius:5px;background:#2a2d34;color:#aaa;font-size:10px}.ps-panel{background:#191b20;border:1px solid #2a2d35;border-radius:10px;padding:20px}.ps-form-panel h2,.ps-panel h2{margin:0 0 17px;font-size:18px}.ps-admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr);gap:18px}.ps-table-wrap{overflow:auto}.ps-table{width:100%;border-collapse:collapse}.ps-table th,.ps-table td{text-align:left;padding:12px;border-bottom:1px solid #2a2d34;font-size:12px}.ps-table th{color:#818b99;font-weight:650}.ps-table td b,.ps-table td small{display:block}.ps-table td small{color:#808996;margin-top:3px}.ps-row-actions{display:flex;gap:6px;align-items:center}.ps-form{display:grid;gap:12px}.ps-form label{display:grid;gap:6px;color:#aeb6c1;font-size:11px}.ps-form input,.ps-form select,.ps-form textarea{width:100%;background:#111318;border:1px solid #30343e;color:#fff;border-radius:7px;padding:10px 11px}.ps-form textarea{min-height:86px;resize:vertical}.ps-admin-item,.ps-admin-question{border:1px solid #2b2f38;background:#20232a;border-radius:8px;padding:11px;margin:8px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.ps-admin-item div,.ps-admin-question{font-size:12px}.ps-admin-item small,.ps-admin-question small{display:block;color:#858f9c;margin-top:3px}.ps-admin-section-title{font-size:11px;color:#94a0ad;margin:22px 0 7px}.ps-exercise-fields{display:none;border-top:1px solid #30343e;padding-top:12px;gap:12px}.ps-exercise-fields.show{display:grid}.ps-upgrade-card{max-width:720px}.ps-focus-body{overflow:hidden}.ps-focus-app{display:grid;grid-template-columns:58px 1fr;height:100vh}.ps-focus-rail{background:#101113;border-right:1px solid #27292e;padding:18px 0;display:flex;flex-direction:column;align-items:center}.ps-focus-rail>a img{width:26px;height:26px}.ps-focus-rail nav{margin-top:30px;display:grid;gap:6px;width:100%}.ps-focus-rail nav a{height:46px;display:grid;place-items:center;color:#858e9a;position:relative}.ps-focus-rail nav a.active{color:#fff}.ps-focus-rail nav a.active:before{content:"";position:absolute;left:0;width:2px;height:28px;background:var(--aqua)}.ps-focus-rail svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.ps-focus-main{min-width:0}.ps-lesson-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #292b31}.ps-lesson-top>a{font-size:11px;color:#c0c5cb}.ps-lesson-title{display:flex;align-items:center;gap:10px}.ps-lesson-title div{display:flex;flex-direction:column}.ps-lesson-title b{font-size:14px}.ps-lesson-title small{color:#8b949f;font-size:10px;margin-top:2px}.ps-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;height:calc(100vh - 64px)}.ps-player-area{overflow:auto;padding:0 15px 40px;background:#101113}.ps-video-frame{width:100%;aspect-ratio:16/9;background:#060708;position:relative;overflow:hidden}.ps-video-frame iframe,.ps-video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.ps-media-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(135deg,#0b3538,#07393c);color:#dff}.ps-media-placeholder img{width:110px;opacity:.65}.ps-media-placeholder b{font-size:24px}.ps-media-placeholder span{color:#a8c0c3}.ps-media-caption{font-size:14px;margin:12px 3px}.ps-pdf-frame{height:calc(100vh - 95px);position:relative}.ps-pdf-frame iframe{width:100%;height:100%;border:0;background:#fff}.ps-topic-panel{border-left:1px solid #292c31;background:#151619;overflow:auto;padding:14px 14px 30px}.ps-topic-progress>b{font-size:11px}.ps-topic-progress>b span{color:#a8e85c;font-weight:600}.ps-topic-progress>div{height:4px;background:#30343a;border-radius:99px;margin:12px 0 17px;overflow:hidden}.ps-topic-progress i{display:block;height:100%;background:#a8e85c}.ps-topic-section{margin-top:16px}.ps-topic-section>header{display:flex;gap:9px;align-items:center;margin-bottom:7px}.ps-topic-section>header>span{width:31px;height:31px;border:1px solid #777f89;border-radius:50%;display:grid;place-items:center;font-size:13px}.ps-topic-section>header div{display:flex;flex-direction:column}.ps-topic-section>header b{font-size:11px}.ps-topic-section>header small{font-size:9px;color:#87909b}.ps-topic-list{display:grid;gap:4px}.ps-topic-list>a{display:grid;grid-template-columns:26px 58px 1fr;gap:7px;align-items:center;padding:7px;border-radius:8px;color:#c5c9cf}.ps-topic-list>a.active{background:#292c31}.ps-item-num{width:22px;height:22px;border-radius:50%;background:#252831;display:grid;place-items:center;font-size:10px}.ps-topic-list>a.active .ps-item-num{background:#a7dc4a;color:#192015}.ps-item-thumb{height:34px;border-radius:4px;background:#0c6268;overflow:hidden;display:grid;place-items:center}.ps-item-thumb img{width:100%;height:100%;object-fit:cover}.ps-item-thumb i{font-size:7px;font-style:normal;color:#b6e8e9}.ps-item-copy{display:flex;flex-direction:column;min-width:0}.ps-item-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-item-copy small{font-size:9px;color:#838d99}.ps-item-copy em{font-size:8px;color:#a4dc59;font-style:normal}.ps-proposed-wrap{min-height:100%;display:grid;place-items:center;padding:30px}.ps-proposed-card{width:min(460px,100%);border:1px solid #555b64;border-radius:9px;background:#151619;padding:16px}.ps-exercise-kicker{font-size:10px;font-weight:900;color:#f1a92b}.ps-proposed-card>p{font-size:13px;line-height:1.55}.ps-question-image{width:100%;max-height:320px;object-fit:contain;background:#c7edf1;border-radius:7px;margin:9px 0}.ps-proposed-options,.ps-exam-options{display:grid;gap:8px}.ps-proposed-options button{background:#242730;border:0;color:#d6dbe0;border-radius:6px;padding:11px;text-align:left;display:flex;gap:12px;align-items:center}.ps-proposed-options button span{width:24px;height:24px;border-radius:50%;background:#30343e;display:grid;place-items:center;font-size:10px}.ps-proposed-options button.correct{background:#164c35}.ps-proposed-options button.wrong{background:#672331}.ps-resolution-btn{margin-top:12px;width:100%;background:var(--aqua);color:#172022;border:0;border-radius:6px;padding:10px;font-weight:800}.ps-modal{position:fixed;inset:0;background:#000b;display:none;place-items:center;z-index:100}.ps-modal.open{display:grid}.ps-modal-dialog{width:min(760px,90vw);background:#111214;border:1px solid #34363c;border-radius:8px;overflow:hidden}.ps-modal-dialog>header{height:45px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2c2f34}.ps-modal-dialog header button{background:transparent;border:0;color:#aaa;font-size:21px}.modal-video{aspect-ratio:16/9}.ps-solution-text{padding:30px;color:#d8dde1}.ps-solution-text>span{color:#d7c441;font-size:11px;font-weight:900}.ps-exam-body{overflow:hidden}.ps-exam-shell{height:100vh;display:grid;grid-template-rows:61px 7px 1fr 54px}.ps-exam-head{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #26282c}.ps-exam-head>div:first-child{display:flex;flex-direction:column}.ps-exam-head b{font-size:13px}.ps-exam-head small{color:#838b96;font-size:10px;margin-top:3px}.ps-exam-head>div:last-child{display:flex;align-items:center;gap:18px}.ps-exam-head a{font-size:11px;color:#bbb}.ps-exam-timer{border:1px solid #364049;border-radius:9px;padding:8px 12px;display:flex;gap:8px;color:#a4e0e0}.ps-exam-timer svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.ps-exam-progress{height:7px;background:#202226;position:relative}.ps-exam-progress i{display:block;height:3px;background:#a9e5e5;width:0;transition:.2s}.ps-exam-progress span{position:absolute;right:21%;top:9px;font-size:9px;color:#9ba4ae}.ps-exam-work{display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:0}.ps-question-stage{display:grid;place-items:center;overflow:auto;padding:26px}.ps-exam-question{display:none;width:min(520px,100%);border:1px solid #555b64;border-radius:9px;background:#151619;padding:16px}.ps-exam-question.active{display:block}.ps-q-meta{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.ps-q-meta>span:first-child{font-size:9px;color:#89929e}.ps-q-meta>span:first-child b{font-size:18px;color:#fff;margin-left:5px}.ps-q-meta>span:last-child{display:flex;flex-direction:column}.ps-q-meta>span:last-child b{font-size:10px;color:#a7e0df}.ps-q-meta>span:last-child small{font-size:8px;color:#727b86}.ps-q-text{line-height:1.55;font-size:13px}.ps-exam-options label{display:flex;align-items:center;gap:10px;background:#242730;border-radius:6px;padding:10px 12px;cursor:pointer}.ps-exam-options input{display:none}.ps-exam-options label>span{width:25px;height:25px;border-radius:50%;background:#30343e;display:grid;place-items:center;font-size:10px;color:#9ba4ae}.ps-exam-options label>b{font-size:12px;font-weight:500}.ps-exam-options label:has(input:checked){background:#3e4d4d}.ps-exam-options label:has(input:checked)>span{background:#a8e4e4;color:#152022}.ps-exam-nav{border-left:1px solid #24272c;padding:28px 15px;position:relative}.ps-exam-nav>b{font-size:9px;color:#8a929c}.ps-nav-grid{display:grid;grid-template-columns:repeat(5,34px);gap:7px;margin-top:10px}.ps-nav-grid button{height:34px;border-radius:6px;border:0;background:#242730;color:#a8b0ba;font-size:11px}.ps-nav-grid button.answered{background:#30484a;color:#d9ffff}.ps-nav-grid button.current{border:2px solid #a8e4e4;background:#496061;color:#fff}.ps-nav-legend{display:grid;gap:8px;margin-top:20px;color:#78828f;font-size:9px}.ps-nav-legend span{display:flex;align-items:center;gap:7px}.ps-nav-legend i{width:10px;height:10px;border-radius:2px;background:#242730}.ps-nav-legend i.answered{background:#30484a}.ps-nav-legend i.current{background:#a8e4e4}.ps-finish-btn{position:absolute;left:15px;right:15px;bottom:14px;background:#f4bb2f;color:#171b20;border:0;border-radius:5px;padding:11px;font-weight:850;font-size:11px}.ps-exam-footer{border-top:1px solid #25272c;display:flex;align-items:center;justify-content:space-between;padding:0 27px}.ps-exam-footer button{border:0;background:transparent;color:#8d96a2;font-size:10px}.ps-exam-footer button.next{background:#a8e4e4;color:#172022;padding:8px 13px;border-radius:5px}.ps-exam-footer span{font-size:9px;color:#7f8895}.ps-result-title{margin:20px 0 25px}.ps-results-layout{display:grid;grid-template-columns:170px 1fr;gap:26px}.ps-score-card{border:1px solid #676b70;border-radius:8px;padding:15px;background:#141517;height:max-content}.ps-score-card>span{font-size:8px;color:#7f8996}.ps-score-card>div:nth-child(2){margin:7px 0}.ps-score-card>div:nth-child(2) b{font-size:39px;color:#ff4168}.ps-score-card>div:nth-child(2) em{font-style:normal;font-size:15px}.ps-score-card>p{font-size:10px}.ps-score-card ul{list-style:none;padding:12px 0;margin:0;border-top:1px solid #36393f;border-bottom:1px solid #36393f}.ps-score-card li{display:flex;justify-content:space-between;padding:5px 0;font-size:9px;color:#a5adb6}.ok{color:#55d39a!important}.bad{color:#ff5b72!important}.ps-respondidas{display:flex!important;justify-content:space-between;margin:10px 0 12px!important;font-size:9px;color:#939ca7}.ps-score-card .ps-btn{width:100%}.ps-performance>header{display:flex;justify-content:space-between;margin-bottom:13px;font-size:11px}.ps-performance>header small{color:#858f9b}.ps-performance-row{display:grid;grid-template-columns:34px 190px 1fr 35px 80px 85px 65px;align-items:center;gap:8px;padding:8px 0}.ps-performance-copy{display:flex;flex-direction:column}.ps-performance-copy b{font-size:10px}.ps-performance-copy small{font-size:8px;color:#7f8996}.ps-performance-bar{height:4px;background:#292c32;border-radius:99px;overflow:hidden}.ps-performance-bar i{display:block;height:100%}.ps-performance-row>span:not(.ps-course-icon){font-size:8px;color:#929aa5}.ps-performance-row em{font-size:8px;font-style:normal;color:#9099a4}.ps-review-modal{position:fixed;inset:0;z-index:120;display:none}.ps-review-modal.open{display:block}.ps-review-backdrop{position:absolute;inset:0;background:#000c;backdrop-filter:blur(4px)}.ps-review-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,90vw);background:#111214;border:1px solid #32353b;border-radius:8px;overflow:hidden}.ps-review-dialog>header{height:44px;padding:0 13px;display:flex;align-items:center;justify-content:space-between}.ps-review-dialog>header button{border:0;background:transparent;color:#aaa;font-size:21px}.ps-review-item{display:none}.ps-review-item.active{display:block}.ps-review-dialog>footer{height:44px;border-top:1px solid #292c31;display:flex;justify-content:center;align-items:center;gap:25px}.ps-review-dialog>footer button{background:#252830;color:#fff;border:0;border-radius:5px;width:35px;height:27px}.ps-review-dialog>footer span{font-size:10px;color:#9ca5af}.ps-solution-text{min-height:350px;background:linear-gradient(135deg,#0c3d40,#0b5559);padding:40px}.ps-evaluations-list{display:grid;gap:12px;max-width:1000px}.ps-evaluation-row{display:flex;align-items:center;gap:14px;background:#20232b;border:1px solid #292c34;border-radius:10px;padding:13px}.ps-evaluation-row>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.ps-evaluation-row small,.ps-evaluation-row em{font-size:9px;color:#8f98a4;font-style:normal}.ps-eval-actions{margin-left:auto}.ps-section-heading{font-size:15px;margin:0 0 12px}.ps-section-heading.recent{margin-top:24px}.ps-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;max-width:900px}.ps-upcoming-card{min-height:120px;background:#20232b;border:1px solid #292d35;border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 55px;position:relative}.ps-upcoming-card>div:first-child{display:flex;flex-direction:column;gap:4px}.ps-upcoming-card b{font-size:13px}.ps-upcoming-card small{color:#89929f;font-size:9px;margin-top:8px}.ps-upcoming-card span{font-size:10px}.ps-upcoming-card em{font-size:9px;color:#b9c0c8;font-style:normal;margin-top:8px}.ps-upcoming-card>i{position:absolute;right:12px;bottom:10px;font-size:8px;color:#8e97a3;font-style:normal}.ps-teacher-avatar{width:44px;height:44px;border-radius:50%;background:#0e8c98;border:3px solid #1dd4dd;display:grid;place-items:center;overflow:hidden}.ps-teacher-avatar img{width:100%;height:100%;object-fit:cover}.ps-teacher-avatar span{font-weight:800}.ps-recording-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px}.ps-recording-card{height:95px;background:#20232b;border:1px solid #292d35;border-radius:9px;display:grid;grid-template-columns:80px 1fr 28px;align-items:stretch;overflow:hidden}.ps-recording-teacher{background:linear-gradient(145deg,#0a7f87,#0b3e43);display:grid;place-items:end center;overflow:hidden}.ps-recording-teacher img{width:100%;height:100%;object-fit:cover}.ps-recording-teacher span{font-size:22px;font-weight:900;padding-bottom:16px}.ps-recording-card>div:nth-child(2){padding:10px 8px;display:flex;flex-direction:column;min-width:0}.ps-recording-card small{font-size:8px;color:#7d8794}.ps-recording-card b{font-size:10px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-recording-card span,.ps-recording-card em{font-size:8px;color:#9aa3ae;font-style:normal}.ps-recording-card i{font-size:7px;background:#12191b;border:1px solid #68d6d8;width:max-content;margin-top:auto;padding:2px 4px;font-style:normal}.ps-recording-card>strong{display:grid;place-items:center;color:#d8e0e8;font-size:13px}.ps-live-watch{overflow:hidden}.ps-live-watch>header{height:55px;display:flex;align-items:center;gap:25px;padding:0 16px;border-bottom:1px solid #2a2d32}.ps-live-watch>header a{display:flex;align-items:center;gap:7px;color:#b3e5e5;font-weight:900}.ps-live-watch>header img{width:22px}.ps-live-player-layout{height:calc(100vh - 55px);display:grid;grid-template-columns:1fr 340px}.ps-video-frame.live-player{height:100%;aspect-ratio:auto}.ps-live-chat{border-left:1px solid #2a2d32;background:#111214}.ps-live-chat>header{height:43px;display:grid;place-items:center;font-size:11px;font-weight:800;border-bottom:1px solid #2a2d32}.ps-live-chat iframe{width:100%;height:calc(100% - 43px);border:0}.ps-chat-placeholder{height:calc(100% - 43px);display:grid;place-content:center;padding:35px;text-align:center;color:#8f99a6;gap:8px}.ps-community-banner{width:min(760px,100%);aspect-ratio:16/10;background:radial-gradient(circle at 50% 40%,#26647a55,transparent 30%),linear-gradient(135deg,#0d7893,#12314d);border:2px solid #64d0dc;border-radius:8px;padding:26px;color:#eafcff;box-shadow:0 16px 55px #0006;position:relative;overflow:hidden}.ps-community-banner:before,.ps-community-banner:after{content:"";position:absolute;border:1px solid #9ae8ef44;width:260px;height:260px;border-radius:50%;right:-90px;top:-100px}.ps-community-banner:after{left:-120px;top:auto;bottom:-120px}.ps-community-top{display:grid;grid-template-columns:75px 1fr 120px;gap:15px;align-items:center;position:relative;z-index:1}.ps-community-top img{width:70px}.ps-community-top div{display:flex;flex-direction:column}.ps-community-top span{font-size:15px;font-weight:800}.ps-community-top b{font-size:31px;letter-spacing:.02em}.ps-community-top small{font-size:10px;color:#b6eff1}.ps-community-top>i{font-size:10px;text-align:center;font-style:normal;border:1px solid #86e3e6;border-radius:50%;padding:20px 8px}.ps-benefit-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.ps-benefit-grid article{border:1px solid #75dce3;background:#0d314e99;border-radius:8px;padding:13px;text-align:center;display:flex;flex-direction:column;gap:3px}.ps-benefit-grid strong{font-size:23px;color:#f7bd2d}.ps-benefit-grid b{font-size:11px}.ps-benefit-grid span{font-size:9px;color:#9ce0e4}.ps-community-banner>a{position:relative;z-index:1;display:block;text-align:center;background:#13a9bb;border-radius:4px;padding:12px;font-size:17px;font-weight:900}.ps-profile-card{max-width:600px;background:#20232b;border:1px solid #2c3038;border-radius:10px;padding:25px;display:flex;gap:20px}.ps-profile-avatar{width:80px;height:80px;border-radius:50%;background:#a8e4e4;color:#152022;display:grid;place-items:center;font-size:26px;font-weight:900}.ps-profile-card>div{display:grid;gap:5px}.ps-profile-card small{font-size:9px;color:#7d8793;margin-top:7px}.ps-profile-card b{font-size:13px}.ps-mobile-nav{display:none}
@media(max-width:1100px){.ps-week-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.ps-recording-grid{grid-template-columns:repeat(2,1fr)}.ps-performance-row{grid-template-columns:34px 150px 1fr 35px}.ps-performance-row em{display:none}.ps-lesson-layout{grid-template-columns:1fr 285px}}
@media(max-width:760px){.ps-sidebar{display:none}.ps-main{margin-left:0}.ps-content{padding:14px 15px 85px}.ps-topbar{height:62px;padding:0 15px}.ps-dashboard-head{margin-top:8px}.ps-dashboard-head h1{font-size:22px}.ps-week-grid,.ps-upcoming-grid,.ps-recording-grid,.ps-admin-grid{grid-template-columns:1fr}.ps-user-copy{display:none}.ps-mobile-nav{position:fixed;display:flex;left:10px;right:10px;bottom:10px;height:56px;background:#20232bf2;border:1px solid #333741;border-radius:14px;z-index:90;align-items:center;justify-content:space-around}.ps-mobile-nav svg{width:20px;height:20px;fill:none;stroke:#d2d7dc;stroke-width:1.7}.ps-focus-app{grid-template-columns:1fr}.ps-focus-rail{display:none}.ps-lesson-layout{grid-template-columns:1fr;height:auto}.ps-focus-body{overflow:auto}.ps-topic-panel{border-left:0;border-top:1px solid #2a2d32}.ps-player-area{padding:0}.ps-lesson-top{padding:0 10px}.ps-lesson-top>a{font-size:0}.ps-lesson-top>a:after{content:'←';font-size:18px}.ps-exam-work{grid-template-columns:1fr}.ps-exam-nav{display:none}.ps-exam-progress span{right:10px}.ps-question-stage{padding:12px}.ps-exam-shell{grid-template-rows:58px 7px 1fr 54px}.ps-results-layout{grid-template-columns:1fr}.ps-score-card{max-width:260px}.ps-performance-row{grid-template-columns:34px 130px 1fr 35px}.ps-live-player-layout{grid-template-columns:1fr;height:auto}.ps-live-watch{overflow:auto}.ps-video-frame.live-player{aspect-ratio:16/9;height:auto}.ps-live-chat{height:500px;border-left:0}.ps-community-top{grid-template-columns:55px 1fr}.ps-community-top>i{display:none}.ps-community-top img{width:50px}.ps-community-top b{font-size:23px}.ps-benefit-grid{grid-template-columns:repeat(2,1fr)} }

/* Compatibilidad de login/registro V1.8 */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(440px,100%);background:linear-gradient(180deg,#102036,#0b1727);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.auth-card h1{font-size:24px;margin:18px 0 8px}
.auth-card{
  background:linear-gradient(180deg,#0d2a55,#071b39);
  border-color:#27568a;
  padding:32px;
}
.auth-card h1{font-size:30px;color:var(--gold);margin:21px 0 8px}
.auth-card .muted{font-size:14px;line-height:1.6}
.auth-card-modern{
  width:100%;padding:26px 26px 27px;border-radius:20px;
  background:linear-gradient(180deg,rgba(10,33,68,.98),rgba(6,24,50,.98));
  border:1px solid #285684;box-shadow:0 26px 80px rgba(0,9,28,.42);
}
.auth-card-modern{padding:22px 18px}
.auth-card-v17{
  width:100%;border:2px solid #262b32;border-radius:17px;background:#101112;
  padding:24px 24px 25px;box-shadow:0 22px 60px rgba(0,0,0,.14);
}
.auth-card-register-v17{padding-top:24px}
.auth-card-v17 .alert{margin:0 0 18px;font-size:12px}
.auth-card-v17{padding:21px 18px 22px;border-radius:16px}
.install-card{width:min(560px,100%)}
.auth-card h1{font-size:24px;margin:18px 0 8px}
.auth-card h1{font-size:30px;color:var(--gold);margin:21px 0 8px}
.auth-form-v17{display:grid;gap:18px;margin:0}
.auth-form-v17 label{display:grid;gap:8px;color:#fff;font-size:14px;font-weight:800}
.auth-form-v17 input[type="text"],
.auth-form-v17 input[type="email"],
.auth-form-v17 input[type="password"]{
  width:100%;height:45px;border:0;border-radius:12px;background:#20242c;color:#fff;
  padding:0 14px;font-size:14px;box-shadow:none;outline:none;
}
.auth-form-v17 input:focus{outline:2px solid rgba(105,183,255,.55);outline-offset:0}
.auth-submit-v17{
  width:100%;min-height:46px;margin-top:10px;border:0;border-radius:12px;
  background:linear-gradient(135deg,#f5c242,#e5aa1b);color:#07182f;font-size:14px;font-weight:950;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 10px 24px rgba(229,170,27,.12);transition:transform .16s ease,filter .16s ease;
}
.auth-submit-v17:hover{transform:translateY(-1px);filter:brightness(1.04)}
.auth-divider-v17{display:flex;align-items:center;gap:15px;margin:25px 0 22px;color:#9ab2ce;font-size:14px;text-align:center}
.auth-divider-v17:before,.auth-divider-v17:after{content:"";height:1px;flex:1;background:#282d33}
.auth-divider-v17 span{white-space:nowrap}
.auth-divider-v17{gap:10px;font-size:13px;margin:22px 0 19px}
.login-legal-links{
  margin-top:14px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
  font-size:12px;color:#7994af
}
.login-legal-links a{color:#87bff3;text-decoration:none}
.login-legal-links a:hover{color:#f5c242}
.google-gis-shell-v18{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.google-gis-button-v18{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
}
.google-gis-button-v18 > div,
.google-gis-button-v18 iframe{
  max-width:100% !important;
}
.google-gis-disabled-v18{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #334155;
  border-radius:12px;
  background:#1d2430;
  color:#93a6ba;
  font-size:13px;
  font-weight:700;
  text-align:center;
  padding:10px 14px;
}
.google-gis-message-v18{
  display:none;
  font-size:12px;
  line-height:1.45;
  padding:9px 11px;
  border-radius:9px;
}
.google-gis-message-v18.is-visible{display:block}
.google-gis-message-v18.danger{
  color:#ffd2d2;
  background:rgba(180,40,40,.18);
  border:1px solid rgba(255,100,100,.30);
}
.google-gis-message-v18.info{
  color:#cfe7ff;
  background:rgba(37,131,223,.12);
  border:1px solid rgba(118,189,255,.24);
}
.password-field-v17{position:relative;display:block}
.password-field-v17 input{padding-right:48px!important}
.password-toggle-v17{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);width:35px;height:35px;
  display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#98a4b3;padding:0;
}
.password-toggle-v17:hover{color:var(--gold);background:rgba(255,255,255,.04)}
.password-toggle-v17 svg{width:19px;height:19px;fill:currentColor}
.register-form-v17{gap:17px}
.back-to-home{text-align:center;color:#9fb6cf;font-size:13px;font-weight:700}
.back-to-home:hover{color:var(--gold)}
/* AUTH COMPLETO LEGADO */
/* =========================================================
   V1.7 — ACCESO + REGISTRO, estilo compacto y consistente
   ========================================================= */
.auth-page-v17{
  min-height:100vh;
  display:grid;
  place-items:start center;
  padding:38px 18px 44px;
  background:#111315;
  color:#f8fbff;
}
.auth-shell-v17{width:min(455px,100%);display:grid;gap:26px}
.auth-shell-register-v17{width:min(465px,100%)}
.auth-shell-small-v17{width:min(455px,100%)}
.auth-heading-v17{text-align:center}
.auth-logo-v17{
  width:54px;height:54px;object-fit:contain;display:block;margin:0 auto 17px;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.35));
}
.auth-heading-v17 h1{
  margin:0;color:#fff;font-size:31px;line-height:1.1;font-weight:900;letter-spacing:-.035em;
}
.auth-heading-v17 p{margin:9px 0 0;color:#9fb8d6;font-size:15px;line-height:1.45}
.auth-card-v17{
  width:100%;border:2px solid #262b32;border-radius:17px;background:#101112;
  padding:24px 24px 25px;box-shadow:0 22px 60px rgba(0,0,0,.14);
}
.auth-card-register-v17{padding-top:24px}
.google-btn-v17{
  width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;
  border-radius:12px;border:0;background:#20242c;color:#fff;font-size:14px;font-weight:800;
  transition:background .16s ease,transform .16s ease;
}
.google-btn-v17:hover{background:#282e38;transform:translateY(-1px)}
.auth-divider-v17{display:flex;align-items:center;gap:15px;margin:25px 0 22px;color:#9ab2ce;font-size:14px;text-align:center}
.auth-divider-v17:before,.auth-divider-v17:after{content:"";height:1px;flex:1;background:#282d33}
.auth-divider-v17 span{white-space:nowrap}
.auth-form-v17{display:grid;gap:18px;margin:0}
.auth-form-v17 label{display:grid;gap:8px;color:#fff;font-size:14px;font-weight:800}
.auth-form-v17 input[type="text"],
.auth-form-v17 input[type="email"],
.auth-form-v17 input[type="password"]{
  width:100%;height:45px;border:0;border-radius:12px;background:#20242c;color:#fff;
  padding:0 14px;font-size:14px;box-shadow:none;outline:none;
}
.auth-form-v17 input:focus{outline:2px solid rgba(105,183,255,.55);outline-offset:0}
.password-field-v17{position:relative;display:block}
.password-field-v17 input{padding-right:48px!important}
.password-toggle-v17{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);width:35px;height:35px;
  display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#98a4b3;padding:0;
}
.password-toggle-v17:hover{color:var(--gold);background:rgba(255,255,255,.04)}
.password-toggle-v17 svg{width:19px;height:19px;fill:currentColor}
.auth-row-right-v17{margin-top:-4px;text-align:right}
.auth-row-right-v17 a,.auth-switch-v17 a,.terms-check-v17 a{color:#69b7ff;font-weight:800}
.auth-row-right-v17 a:hover,.auth-switch-v17 a:hover,.terms-check-v17 a:hover{color:var(--gold)}
.auth-row-right-v17 a{font-size:13px}
.auth-submit-v17{
  width:100%;min-height:46px;margin-top:10px;border:0;border-radius:12px;
  background:linear-gradient(135deg,#f5c242,#e5aa1b);color:#07182f;font-size:14px;font-weight:950;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 10px 24px rgba(229,170,27,.12);transition:transform .16s ease,filter .16s ease;
}
.auth-submit-v17:hover{transform:translateY(-1px);filter:brightness(1.04)}
.auth-submit-link-v17{text-decoration:none}
.auth-switch-v17{margin:0;text-align:center;color:#9db2ca;font-size:14px}
.auth-legal-v17{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;color:#677a90;font-size:11px;margin-top:-8px}
.auth-legal-v17 a{color:#7894b1}.auth-legal-v17 a:hover{color:var(--gold)}
.terms-check-v17{
  display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;
  color:#a9bdd4!important;font-size:12px!important;font-weight:500!important;line-height:1.5;margin-top:0;
}
.terms-check-v17 input[type="checkbox"]{width:16px;height:16px;flex:0 0 auto;margin:2px 0 0;accent-color:#f5c242}
.register-form-v17{gap:17px}
.auth-card-v17 .alert{margin:0 0 18px;font-size:12px}
@media(max-width:520px){
  .auth-page-v17{padding:27px 15px 34px}
  .auth-shell-v17{gap:21px}
  .auth-logo-v17{width:48px;height:48px;margin-bottom:14px}
  .auth-heading-v17 h1{font-size:28px}
  .auth-heading-v17 p{font-size:14px}
  .auth-card-v17{padding:21px 18px 22px;border-radius:16px}
  .auth-divider-v17{gap:10px;font-size:13px;margin:22px 0 19px}
}



/* V1.8 — Google Identity Services popup */
.google-gis-shell-v18{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.google-gis-button-v18{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
}
.google-gis-button-v18 > div,
.google-gis-button-v18 iframe{
  max-width:100% !important;
}
.google-gis-disabled-v18{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #334155;
  border-radius:12px;
  background:#1d2430;
  color:#93a6ba;
  font-size:13px;
  font-weight:700;
  text-align:center;
  padding:10px 14px;
}
.google-gis-message-v18{
  display:none;
  font-size:12px;
  line-height:1.45;
  padding:9px 11px;
  border-radius:9px;
}
.google-gis-message-v18.is-visible{display:block}
.google-gis-message-v18.danger{
  color:#ffd2d2;
  background:rgba(180,40,40,.18);
  border:1px solid rgba(255,100,100,.30);
}
.google-gis-message-v18.info{
  color:#cfe7ff;
  background:rgba(37,131,223,.12);
  border:1px solid rgba(118,189,255,.24);
}


/* Compatibilidad visual para páginas administrativas heredadas */
.hero{display:flex;justify-content:space-between;align-items:flex-start;margin:16px 0 26px}.hero h1{margin:3px 0 6px;font-size:25px}.hero p{margin:0;color:var(--muted)}.eyebrow{font-size:9px;color:var(--aqua);font-weight:800;letter-spacing:.08em}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{background:#191b20;border:1px solid #2a2d35;border-radius:10px;overflow:hidden}.panel-head{padding:16px;border-bottom:1px solid #2a2d35}.panel-head h2{font-size:16px;margin:0 0 4px}.panel-head p{margin:0;color:var(--muted);font-size:11px}.panel-body{padding:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid #2a2d35;font-size:11px}.table th{color:#838d99}.table td .muted,.muted{color:var(--muted)}.btn{border:1px solid #353943;background:#242730;color:#e6e9ed;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.primary{background:var(--aqua);color:#172022;border-color:transparent}.btn.success{background:#66cf93;color:#142319;border-color:transparent}.btn.danger{background:#54202a;color:#ffc0cb;border-color:#6b2b37}.btn.full{width:100%}.badge{display:inline-flex;padding:4px 6px;border-radius:4px;background:#2c3038;font-size:8px}.badge.blue{background:#183e54;color:#a9e6ed}.badge.green{background:#193f2d;color:#84dca9}.badge.gray{color:#a4abb4}.stack{display:grid;gap:11px}.stack label{display:grid;gap:6px;font-size:11px;color:#aab2bd}.stack input,.stack select,.stack textarea,.panel input,.panel select,.panel textarea{background:#111318;border:1px solid #323640;color:#fff;border-radius:6px;padding:9px}.cards{display:grid;gap:10px}.live-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#20232b;border:1px solid #2a2d35;border-radius:8px}.live-card b{font-size:12px}.live-card p{font-size:10px;color:var(--muted);margin:4px 0 0}.actions{display:flex;gap:7px;align-items:center}.composer textarea{width:100%;min-height:100px;background:#111318;color:#fff;border:1px solid #30343d;border-radius:8px;padding:11px}.post{background:#20232b;border:1px solid #2b2e36;border-radius:8px;padding:13px}.post p{font-size:12px;line-height:1.5}.result-score{font-size:42px;font-weight:900}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.mini{background:#20232b;border-radius:7px;padding:12px;display:flex;flex-direction:column}.exam-question{padding:16px;border-bottom:1px solid #2a2d35}.exam-question h3{font-size:13px}.options{display:grid;gap:7px}.option{display:flex;gap:9px;padding:9px;background:#20232b;border-radius:6px}.stat,.stats,.schedule,.day,.ring{box-sizing:border-box}
@media(max-width:760px){.grid2{grid-template-columns:1fr}.hero{gap:12px;flex-direction:column}}


/* V2.1 — detalle de lección refinado */
.ps-lesson-top-wrap{padding:10px 10px 0;background:#101113}
.ps-lesson-top{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border:1px solid #23262d;border-bottom-color:#1d2026;background:linear-gradient(180deg,#191b20,#15171c);border-radius:0 0 16px 16px;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.ps-lesson-top>a{font-size:12px;color:#f1f3f5;font-weight:700;opacity:.95}.ps-lesson-top>a:hover{color:#fff}
.ps-lesson-title{display:flex;align-items:center;gap:10px}.ps-lesson-title b{font-size:13px;line-height:1.15}.ps-lesson-title small{color:#99a2ae;font-size:11px;margin-top:2px}
.ps-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;height:calc(100vh - 70px)}
.ps-player-area{overflow:auto;padding:10px 14px 42px;background:#101113}
.ps-video-frame,.ps-pdf-frame,.ps-proposed-wrap{border-radius:10px;overflow:hidden}
.ps-video-frame{border:1px solid #22252b;background:#060708}
.ps-pdf-frame{background:#0d1014;border:1px solid #22252b;min-height:560px}
.ps-pdf-frame iframe{width:100%;height:min(75vh,860px);border:0;background:#fff}
.ps-media-caption{font-size:17px;font-weight:800;letter-spacing:-.02em;margin:0}
.ps-media-placeholder{width:100%;aspect-ratio:16/9;display:grid;place-content:center;text-align:center;gap:12px;background:radial-gradient(circle at 50% 40%,rgba(27,75,92,.42),transparent 26%),linear-gradient(135deg,#083d43,#0a232e);color:#e9f5f8;border:1px solid #18414c}
.ps-media-placeholder img{width:48px;height:48px;justify-self:center;opacity:.95}.ps-media-placeholder b{font-size:18px;letter-spacing:-.02em}.ps-media-placeholder span{font-size:13px;color:#b9d7dc}
.ps-lesson-info-card{padding:20px 8px 8px}.ps-lesson-meta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:10px 0 18px}
.ps-tag-yellow{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;border-radius:5px;background:#f3c53b;color:#171717;font-size:10px;font-weight:900;letter-spacing:.05em}
.ps-meta-inline{font-size:12px;color:#c9cfd8;display:inline-flex;align-items:center;gap:6px}
.ps-teacher-line{display:flex;align-items:center;gap:12px;margin:0 0 18px}.ps-teacher-avatar-inline{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#16c0cf,#086d78);color:#fff;font-weight:900;font-size:18px;box-shadow:0 0 0 3px rgba(96,199,208,.18)}
.ps-teacher-line b{display:block;font-size:14px}.ps-teacher-line small{display:block;color:#95a0ad;font-size:12px;margin-top:3px}
.ps-lesson-description{border-top:1px solid #1b1e24;padding-top:14px}.ps-lesson-description h3{margin:0 0 10px;font-size:12px;color:#ffffff;font-weight:800}.ps-lesson-description p{margin:0;color:#d4d9e0;font-size:14px;line-height:1.65;max-width:1400px}
.ps-topic-panel{border-left:1px solid #2a2d32;background:#17181c;padding:16px 0 24px}
.ps-topic-progress{padding:0 18px 16px}.ps-topic-progress b{font-size:12px}.ps-topic-progress b span{color:#9ddc45;font-weight:900}.ps-topic-progress div{height:4px;background:#34373f;border-radius:999px;margin-top:12px;overflow:hidden}.ps-topic-progress i{display:block;height:100%;background:#b1d641;border-radius:999px}
.ps-topic-section{padding:10px 12px 0}.ps-topic-section header{display:flex;align-items:flex-start;gap:12px;padding:12px 6px 10px}.ps-topic-section header>span{width:38px;height:38px;border-radius:50%;border:2px solid #eef2f6;display:grid;place-items:center;font-size:16px;color:#fff;flex:0 0 auto}.ps-topic-section header b{font-size:14px;letter-spacing:-.01em}.ps-topic-section header small{display:block;color:#9ba3af;font-size:12px;margin-top:3px}
.ps-topic-list{display:grid;gap:8px}.ps-topic-list a{display:grid;grid-template-columns:26px 78px 1fr;align-items:center;gap:12px;background:transparent;border-radius:10px;padding:8px 8px 8px 0;border:1px solid transparent}.ps-topic-list a:hover,.ps-topic-list a.active{background:#2a2c31;border-color:#30333a}.ps-topic-list a.done .ps-item-num{background:#4b5563;color:#fff}
.ps-item-num{width:26px;height:26px;border-radius:50%;background:#b0d641;color:#0e1114;display:grid;place-items:center;font-size:12px;font-weight:900;margin-left:2px}.ps-item-thumb{width:78px;height:44px;border-radius:8px;overflow:hidden;background:#0e2a32;display:grid;place-items:center;color:#b9edf0;font-size:10px;font-weight:800}.ps-item-thumb img{width:100%;height:100%;object-fit:cover}.ps-item-copy b{display:block;font-size:13px;line-height:1.2;margin-bottom:4px}.ps-item-copy small{display:block;color:#c4cad2;font-size:11px}.ps-item-copy em{display:block;margin-top:4px;font-size:11px;font-style:normal;color:#a8d33f;font-weight:800}
@media(max-width:1100px){.ps-lesson-layout{grid-template-columns:1fr 300px}}
@media(max-width:760px){.ps-lesson-top-wrap{padding:8px 8px 0}.ps-lesson-top{height:58px;padding:0 12px;border-radius:0 0 14px 14px}.ps-lesson-top>a{font-size:0}.ps-lesson-top>a:after{content:'←';font-size:18px}.ps-player-area{padding:8px 0 30px}.ps-lesson-info-card{padding:16px 12px 8px}.ps-lesson-description p{font-size:13px}.ps-topic-panel{padding-bottom:18px}}


/* V2.1.1 — Scroll redondeado y oscuro en página de lección */
.ps-player-area,
.ps-topic-panel,
.ps-pdf-frame{
  scrollbar-width: thin;
  scrollbar-color: #7a828e #111317;
}

.ps-player-area::-webkit-scrollbar,
.ps-topic-panel::-webkit-scrollbar,
.ps-pdf-frame::-webkit-scrollbar{
  width: 10px;
  height: 10px;
}

.ps-player-area::-webkit-scrollbar-track,
.ps-topic-panel::-webkit-scrollbar-track,
.ps-pdf-frame::-webkit-scrollbar-track{
  background: #111317;
  border-radius: 999px;
}

.ps-player-area::-webkit-scrollbar-thumb,
.ps-topic-panel::-webkit-scrollbar-thumb,
.ps-pdf-frame::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,#7f8793,#6e7683);
  border-radius: 999px;
  border: 2px solid #111317;
}

.ps-player-area::-webkit-scrollbar-thumb:hover,
.ps-topic-panel::-webkit-scrollbar-thumb:hover,
.ps-pdf-frame::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg,#8b94a2,#78818e);
}

.ps-player-area::-webkit-scrollbar-corner,
.ps-topic-panel::-webkit-scrollbar-corner,
.ps-pdf-frame::-webkit-scrollbar-corner{
  background: #111317;
}

.ps-player-area::-webkit-scrollbar-button,
.ps-topic-panel::-webkit-scrollbar-button,
.ps-pdf-frame::-webkit-scrollbar-button{
  width: 0;
  height: 0;
  display: none;
  background: transparent;
}

/* Capa extra para que el canal se funda con el panel y no se vea blanco */
.ps-player-area{
  background:#0f1014;
  padding-right:12px;
}

.ps-topic-panel{
  background:#17181c;
  padding-right:6px;
}


/* V2.1.2 — Timeline secuencial del panel derecho */
.ps-topic-section{
  padding:12px 14px 0;
}
.ps-topic-section + .ps-topic-section{
  margin-top:6px;
  border-top:1px solid #24272d;
  padding-top:20px;
}
.ps-topic-section header{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:6px 6px 14px;
}
.ps-topic-section header>span{
  width:40px;
  height:40px;
  border-radius:50%;
  border:2px solid #f4f6f8;
  display:grid;
  place-items:center;
  font-size:16px;
  color:#fff;
  flex:0 0 auto;
  background:#15171c;
}
.ps-topic-section header b{
  font-size:13px;
  letter-spacing:-.01em;
}
.ps-topic-section header small{
  display:block;
  color:#9aa3af;
  font-size:11px;
  margin-top:4px;
}

.ps-topic-list{
  display:grid;
  gap:0;
  position:relative;
}
.ps-topic-list a{
  position:relative;
  display:grid;
  grid-template-columns:28px 78px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:60px;
  padding:10px 10px 10px 0;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
}
.ps-topic-list a::before,
.ps-topic-list a::after{
  content:"";
  position:absolute;
  left:13px;
  width:2px;
  z-index:0;
}
.ps-topic-list a::before{
  top:-10px;
  height:calc(50% + 10px);
  background:var(--line-top,#36404d);
}
.ps-topic-list a::after{
  top:50%;
  bottom:-10px;
  background:var(--line-bottom,#36404d);
}
.ps-topic-list a:first-child::before{
  display:none;
}
.ps-topic-list a:last-child::after{
  display:none;
}

.ps-topic-list a.passed{
  --line-top:#a8d33f;
  --line-bottom:#a8d33f;
}
.ps-topic-list a.current{
  --line-top:#a8d33f;
  --line-bottom:#36404d;
}
.ps-topic-list a.upcoming{
  --line-top:#36404d;
  --line-bottom:#36404d;
}

.ps-topic-list a:hover,
.ps-topic-list a.active{
  background:#2a2c31;
  border-color:#30333a;
}

.ps-item-num{
  position:relative;
  z-index:2;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  margin-left:0;
  background:#313949;
  color:#d5dbe3;
  box-shadow:0 0 0 4px #17181c;
}
.ps-topic-list a.passed .ps-item-num{
  background:#3a4455;
  color:#e7edf4;
}
.ps-topic-list a.current .ps-item-num{
  background:#b2d93f;
  color:#111317;
}
.ps-topic-list a.done .ps-item-num{
  background:#3a4455;
  color:#e7edf4;
}

.ps-item-thumb{
  position:relative;
  z-index:1;
  width:84px;
  height:46px;
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(135deg,#083945,#0a4c54);
  display:grid;
  place-items:center;
  color:#bff2f5;
  font-size:9px;
  font-weight:800;
}
.ps-item-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ps-item-copy{
  min-width:0;
}
.ps-item-copy b{
  display:block;
  font-size:12px;
  line-height:1.22;
  margin-bottom:3px;
  color:#f2f4f6;
}
.ps-item-copy small{
  display:block;
  color:#d6dbe1;
  font-size:11px;
}
.ps-item-copy em{
  display:block;
  margin-top:4px;
  font-size:11px;
  font-style:normal;
  color:#a8d33f;
  font-weight:800;
}
.ps-topic-list a.active .ps-item-copy small{
  color:#b7bfca;
}

@media(max-width:760px){
  .ps-topic-section{
    padding:12px 12px 0;
  }
  .ps-topic-list a{
    grid-template-columns:26px 72px minmax(0,1fr);
    gap:10px;
    min-height:56px;
  }
  .ps-item-num{
    width:26px;
    height:26px;
    font-size:11px;
  }
  .ps-item-thumb{
    width:72px;
    height:42px;
  }
}


/* V2.1.3 — escala visual equivalente a 120% en la vista de lección
   Se aplica solo en pantallas grandes para que la interfaz no se vea tan lejana. */
@media (min-width: 1400px) and (min-height: 760px) {
  body.ps-focus-body{
    overflow:hidden;
  }

  .ps-focus-app{
    width:83.333333vw;
    height:83.333333vh;
    transform:scale(1.2);
    transform-origin:top left;
  }

  .ps-focus-main{
    height:83.333333vh;
  }

  .ps-lesson-layout{
    height:calc(83.333333vh - 70px);
  }

  .ps-player-area,
  .ps-topic-panel{
    min-height:0;
  }
}

/* En pantallas menores se conserva el tamaño normal para evitar recortes. */
@media (max-width:1399px), (max-height:759px){
  .ps-focus-app{
    width:auto;
    height:100vh;
    transform:none;
  }
}


/* =========================================================
   V2.1.4 — ESCALA GLOBAL 120%
   Toda la plataforma se muestra más grande en escritorio.
   Se neutraliza el transform especial anterior de Lesson
   para evitar un doble escalado (144%).
   ========================================================= */

/* Restaurar Lesson al tamaño base antes del zoom global */
@media (min-width: 1400px) and (min-height: 760px) {
  body.ps-focus-body .ps-focus-app{
    width:auto !important;
    height:100vh !important;
    transform:none !important;
    transform-origin:initial !important;
  }

  body.ps-focus-body .ps-focus-main{
    height:auto !important;
  }

  body.ps-focus-body .ps-lesson-layout{
    height:calc(100vh - 70px) !important;
  }
}

/* Zoom global en PC y laptops amplias */
@media (min-width: 1200px) {
  html{
    zoom:1.2;
  }
}

/* Mantener comportamiento normal en tablet/celular */
@media (max-width:1199px) {
  html{
    zoom:1;
  }
}


/* ==========================================================
   V2.1.5 — TAMAÑO REAL ~120%, SIN ZOOM DE PÁGINA
   No escalamos el viewport. Agrandamos los componentes reales
   y mantenemos scroll independiente en las columnas.
   ========================================================== */

/* Eliminar cualquier zoom heredado de V2.1.4 */
html,
body{
  zoom:1 !important;
}

/* Tamaño general de la aplicación: real, no transformado */
.ps-body{
  font-size:16px;
}

/* ---- Navegación general ---- */
.ps-sidebar{
  width:250px;
}
.ps-main{
  margin-left:250px;
}
.ps-brand{
  font-size:20px;
  padding-left:22px;
  padding-right:22px;
}
.ps-brand img{
  width:28px;
  height:28px;
}
.ps-nav a{
  height:58px;
  gap:17px;
  padding:0 24px;
  font-size:15px;
}
.ps-nav a svg{
  width:23px;
  height:23px;
}
.ps-topbar{
  height:84px;
  padding:0 36px;
}
.ps-avatar{
  width:39px;
  height:39px;
}
.ps-user-copy b{
  font-size:14px;
}
.ps-user-copy small{
  font-size:11px;
}
.ps-content{
  padding:24px 40px 65px;
}

/* ---- Dashboard / tarjetas ---- */
.ps-dashboard-head h1,
.ps-page-title h1,
.ps-result-title h1{
  font-size:30px;
}
.ps-dashboard-head p,
.ps-page-title p,
.ps-result-title p{
  font-size:15px;
}
.ps-week-select select{
  min-width:185px;
  padding:14px 46px 14px 19px;
  font-size:14px;
}
.ps-course-card{
  height:92px;
  border-radius:13px;
  padding:14px 15px;
  gap:14px;
}
.ps-course-icon{
  width:55px;
  height:55px;
  font-size:29px;
}
.ps-course-copy small{
  font-size:12px;
}
.ps-course-copy b{
  font-size:15px;
}
.ps-course-copy em{
  font-size:11px;
}
.ps-progress-ring{
  width:42px;
  height:42px;
}
.ps-progress-ring:after{
  width:35px;
  height:35px;
}
.ps-progress-ring i{
  font-size:10px;
}
.ps-btn{
  font-size:13px;
  padding:11px 16px;
}
.ps-panel{
  padding:23px;
}

/* ==========================================================
   VISTA DE LECCIÓN
   ========================================================== */

/* Nada de transform/zoom; usamos el viewport real */
body.ps-focus-body{
  overflow:hidden !important;
}
body.ps-focus-body .ps-focus-app{
  width:100vw !important;
  height:100vh !important;
  transform:none !important;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
}
body.ps-focus-body .ps-focus-main{
  min-width:0;
  height:100vh !important;
  display:grid;
  grid-template-rows:78px minmax(0,1fr);
  overflow:hidden;
}

/* Rail ligeramente más grande */
.ps-focus-rail{
  padding:20px 0;
}
.ps-focus-rail>a img{
  width:30px;
  height:30px;
}
.ps-focus-rail nav{
  margin-top:34px;
}
.ps-focus-rail nav a{
  height:52px;
}
.ps-focus-rail svg{
  width:23px;
  height:23px;
}

/* Barra superior real, sin escalar la página */
.ps-lesson-top-wrap{
  height:78px;
  padding:10px 10px 0;
}
.ps-lesson-top{
  height:68px;
  padding:0 20px;
  border-radius:0 0 17px 17px;
}
.ps-lesson-title{
  gap:12px;
}
.ps-course-icon.sm{
  width:42px;
  height:42px;
  font-size:21px;
}
.ps-lesson-title b{
  font-size:15px;
}
.ps-lesson-title small{
  font-size:12px;
}
.ps-lesson-top>a{
  font-size:12px;
}

/* DOS COLUMNAS: ambas ocupan el alto restante y ambas pueden desplazarse */
.ps-lesson-layout{
  min-height:0 !important;
  height:auto !important;
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  overflow:hidden;
}

/* Columna izquierda: video + metadata + descripción pueden recorrerse */
.ps-player-area{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto !important;
  overflow-x:hidden;
  padding:10px 16px 48px;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* Video sigue siendo 16:9 pero no se sale del viewport */
.ps-video-frame{
  width:100%;
  aspect-ratio:16/9;
  border-radius:11px;
}
.ps-pdf-frame{
  min-height:600px;
  border-radius:11px;
}
.ps-proposed-wrap{
  border-radius:11px;
}

/* La información bajo el video forma parte del scroll izquierdo */
.ps-lesson-info-card{
  padding:24px 10px 28px;
}
.ps-media-caption{
  font-size:20px;
}
.ps-lesson-meta-row{
  gap:21px;
  margin:13px 0 22px;
}
.ps-tag-yellow{
  height:26px;
  padding:0 12px;
  font-size:11px;
}
.ps-meta-inline{
  font-size:13px;
}
.ps-teacher-line{
  gap:14px;
  margin-bottom:22px;
}
.ps-teacher-avatar-inline{
  width:48px;
  height:48px;
  font-size:20px;
}
.ps-teacher-line b{
  font-size:15px;
}
.ps-teacher-line small{
  font-size:13px;
}
.ps-lesson-description{
  padding-top:17px;
}
.ps-lesson-description h3{
  font-size:14px;
  margin-bottom:11px;
}
.ps-lesson-description p{
  font-size:15px;
  line-height:1.7;
}

/* Panel derecho: SIEMPRE con scroll independiente hasta el último propuesto */
.ps-topic-panel{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto !important;
  overflow-x:hidden;
  padding:18px 8px 44px 0;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.ps-topic-progress{
  position:sticky;
  top:0;
  z-index:15;
  padding:4px 20px 18px;
  background:linear-gradient(180deg,#17181c 0%,#17181cf8 86%,#17181c00 100%);
}
.ps-topic-progress b{
  font-size:13px;
}
.ps-topic-progress div{
  height:5px;
  margin-top:13px;
}

.ps-topic-section{
  padding:14px 16px 0;
}
.ps-topic-section + .ps-topic-section{
  padding-top:23px;
  margin-top:8px;
}
.ps-topic-section header{
  gap:13px;
  padding:7px 7px 16px;
}
.ps-topic-section header>span{
  width:43px;
  height:43px;
  font-size:17px;
}
.ps-topic-section header b{
  font-size:14px;
}
.ps-topic-section header small{
  font-size:12px;
  margin-top:4px;
}

/* Timeline: más grande pero compacto para que siga siendo navegable */
.ps-topic-list a{
  grid-template-columns:31px 91px minmax(0,1fr);
  gap:13px;
  min-height:68px;
  padding:10px 11px 10px 0;
}
.ps-topic-list a::before,
.ps-topic-list a::after{
  left:14.5px;
}
.ps-item-num{
  width:31px;
  height:31px;
  font-size:13px;
}
.ps-item-thumb{
  width:91px;
  height:51px;
  font-size:9px;
}
.ps-item-copy b{
  font-size:13px;
  line-height:1.25;
}
.ps-item-copy small{
  font-size:12px;
}
.ps-item-copy em{
  font-size:12px;
}

/* Scrollbar oscuro y redondeado en ambas columnas */
.ps-player-area,
.ps-topic-panel{
  scrollbar-width:thin;
  scrollbar-color:#6e7683 #111317;
}
.ps-player-area::-webkit-scrollbar,
.ps-topic-panel::-webkit-scrollbar{
  width:9px;
}
.ps-player-area::-webkit-scrollbar-track,
.ps-topic-panel::-webkit-scrollbar-track{
  background:#111317;
  border-radius:999px;
}
.ps-player-area::-webkit-scrollbar-thumb,
.ps-topic-panel::-webkit-scrollbar-thumb{
  background:#6f7885;
  border:2px solid #111317;
  border-radius:999px;
}
.ps-player-area::-webkit-scrollbar-button,
.ps-topic-panel::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}

/* ---- Formularios / Admin ---- */
.ps-form input,
.ps-form select,
.ps-form textarea{
  font-size:14px;
  padding:12px 13px;
}
.ps-table th,
.ps-table td{
  padding:14px;
  font-size:13px;
}

/* Tablet/celular: recuperar layout responsive sin gigantismo */
@media(max-width:1199px){
  .ps-body{
    font-size:14px;
  }
  .ps-sidebar{
    width:220px;
  }
  .ps-main{
    margin-left:220px;
  }
  .ps-content{
    padding:20px 28px 55px;
  }
  body.ps-focus-body .ps-focus-app{
    grid-template-columns:58px minmax(0,1fr);
  }
  .ps-lesson-layout{
    grid-template-columns:minmax(0,1fr) 330px;
  }
}

@media(max-width:760px){
  .ps-sidebar{
    display:none;
  }
  .ps-main{
    margin-left:0;
  }
  body.ps-focus-body{
    overflow:auto !important;
  }
  body.ps-focus-body .ps-focus-app{
    display:block;
    width:auto !important;
    height:auto !important;
  }
  body.ps-focus-body .ps-focus-main{
    height:auto !important;
    display:block;
    overflow:visible;
  }
  .ps-lesson-top-wrap{
    height:auto;
  }
  .ps-lesson-layout{
    display:block;
    height:auto !important;
    overflow:visible;
  }
  .ps-player-area,
  .ps-topic-panel{
    height:auto;
    overflow:visible !important;
    scrollbar-gutter:auto;
  }
  .ps-topic-progress{
    position:static;
  }
}


/* ==========================================================
   V2.1.6 — IDENTIDAD PLATAFORMA SUPREMA
   Azul profundo + azul luminoso + dorado.
   El verde se reserva únicamente para estados de éxito.
   ========================================================== */

:root{
  --bg:#06152d;
  --sidebar:#07172f;
  --panel:#0b2347;
  --panel2:#0a1c39;
  --line:#24476d;
  --text:#f7fbff;
  --muted:#9eb4ca;

  --aqua:#4ca7ff;
  --aqua2:#236fd1;
  --blue:#58adff;

  --gold:#f5c242;
  --gold-strong:#e5aa18;

  --red:#ff5a72;
  --green:#53c98d;
}

/* Fondos principales */
.ps-body,
.ps-focus-body{
  background:#06152d;
}
.ps-sidebar,
.ps-focus-rail{
  background:#07172f;
  border-color:#17375d;
}
.ps-main,
.ps-focus-main,
.ps-player-area{
  background:#06152d;
}

/* Barra superior */
.ps-topbar,
.ps-lesson-top-wrap{
  background:#06152d;
}
.ps-lesson-top{
  background:linear-gradient(180deg,#0b2347,#081b38);
  border-color:#21486f;
  box-shadow:0 8px 28px rgba(0,0,0,.25);
}
.ps-lesson-top>a{
  color:#f5c242;
}
.ps-lesson-top>a:hover{
  color:#ffd66b;
}

/* Marca y navegación */
.ps-brand{
  color:#f5c242;
}
.ps-nav a,
.ps-focus-rail nav a{
  color:#8fa8c1;
}
.ps-nav a.active,
.ps-nav a:hover,
.ps-focus-rail nav a.active,
.ps-focus-rail nav a:hover{
  color:#ffffff;
}
.ps-nav a.active:before,
.ps-focus-rail nav a.active:before{
  background:#f5c242;
}

/* Paneles */
.ps-panel,
.ps-course-card,
.ps-eval-card,
.ps-evaluation-row,
.ps-upcoming-card,
.ps-recording-card,
.ps-profile-card,
.ps-user-menu{
  background:#0b2347;
  border-color:#24476d;
}
.ps-course-card:hover,
.ps-evaluation-row:hover{
  background:#0e2b56;
}

/* Botones */
.ps-btn.aqua,
.ps-btn.primary{
  background:#f5c242;
  color:#07172f;
}
.ps-btn.aqua:hover,
.ps-btn.primary:hover{
  background:#ffd15a;
}
.ps-btn.ghost{
  background:#0a1c39;
  border-color:#315d89;
  color:#d7e8f7;
}

/* Controles y campos */
.ps-form input,
.ps-form select,
.ps-form textarea{
  background:#07172f;
  border-color:#315d89;
}
.ps-form input:focus,
.ps-form select:focus,
.ps-form textarea:focus{
  outline:2px solid rgba(76,167,255,.25);
  border-color:#4ca7ff;
}

/* Curso / iconos */
.ps-course-icon{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.ps-course-icon.sm{
  border:1px solid rgba(245,194,66,.35);
}

/* Progreso del tema: DORADO */
.ps-topic-progress{
  background:linear-gradient(180deg,#0a1c39 0%,#0a1c39f8 86%,#0a1c3900 100%);
}
.ps-topic-progress b{
  color:#ffffff;
}
.ps-topic-progress b span{
  color:#f5c242 !important;
}
.ps-topic-progress div{
  background:#24476d;
}
.ps-topic-progress i{
  background:linear-gradient(90deg,#f5c242,#ffd96b) !important;
}

/* Panel derecho */
.ps-topic-panel{
  background:#0a1c39;
  border-left-color:#24476d;
}
.ps-topic-section + .ps-topic-section{
  border-top-color:#1d3e63;
}
.ps-topic-section header>span{
  background:#081a35;
  border-color:#4ca7ff;
  color:#f5c242;
}
.ps-topic-section header b{
  color:#ffffff;
}
.ps-topic-section header small{
  color:#9eb4ca;
}

/* Timeline: azul y dorado */
.ps-topic-list a{
  --line-top:#31526f;
  --line-bottom:#31526f;
}
.ps-topic-list a.passed{
  --line-top:#f5c242;
  --line-bottom:#f5c242;
}
.ps-topic-list a.current{
  --line-top:#f5c242;
  --line-bottom:#31526f;
}
.ps-topic-list a.upcoming{
  --line-top:#31526f;
  --line-bottom:#31526f;
}

.ps-topic-list a:hover{
  background:#0d2a53;
  border-color:#315d89;
}
.ps-topic-list a.active{
  background:linear-gradient(90deg,#0f315f,#0c284f);
  border-color:#356da4;
}

.ps-item-num{
  background:#1a3657;
  color:#d7e7f5;
  box-shadow:0 0 0 4px #0a1c39;
}
.ps-topic-list a.passed .ps-item-num,
.ps-topic-list a.done .ps-item-num{
  background:#236fd1;
  color:#ffffff;
}
.ps-topic-list a.current .ps-item-num{
  background:#f5c242;
  color:#07172f;
}
.ps-item-thumb{
  background:linear-gradient(135deg,#0a2b55,#0c4e86);
  color:#d9efff;
  border:1px solid #235b8e;
}
.ps-item-copy b{
  color:#f8fbff;
}
.ps-item-copy small{
  color:#c4d4e3;
}
.ps-item-copy em{
  color:#f5c242 !important;
}

/* Info bajo el video */
.ps-tag-yellow{
  background:#f5c242;
  color:#07172f;
}
.ps-meta-inline{
  color:#c6d8e8;
}
.ps-teacher-avatar-inline{
  background:linear-gradient(135deg,#236fd1,#0d3e78);
  color:#ffffff;
  box-shadow:0 0 0 3px rgba(245,194,66,.20);
}
.ps-lesson-description{
  border-top-color:#21486f;
}
.ps-lesson-description h3{
  color:#f5c242;
}
.ps-lesson-description p{
  color:#d6e4f1;
}

/* Video / placeholders */
.ps-video-frame{
  border-color:#24476d;
}
.ps-media-placeholder{
  background:
    radial-gradient(circle at 50% 38%,rgba(76,167,255,.18),transparent 28%),
    linear-gradient(135deg,#071d3d,#0a315b);
  border-color:#2b628f;
}
.ps-media-placeholder b{
  color:#ffffff;
}
.ps-media-placeholder span{
  color:#a9c7df;
}

/* Scrollbars */
.ps-player-area,
.ps-topic-panel{
  scrollbar-color:#315d89 #07172f;
}
.ps-player-area::-webkit-scrollbar-track,
.ps-topic-panel::-webkit-scrollbar-track{
  background:#07172f;
}
.ps-player-area::-webkit-scrollbar-thumb,
.ps-topic-panel::-webkit-scrollbar-thumb{
  background:#315d89;
  border-color:#07172f;
}
.ps-player-area::-webkit-scrollbar-thumb:hover,
.ps-topic-panel::-webkit-scrollbar-thumb:hover{
  background:#4b79a8;
}

/* Evaluaciones y resultados */
.ps-exam-shell,
.ps-question-stage,
.ps-exam-nav{
  background:#07172f;
}
.ps-exam-progress{
  background:#17375d;
}
.ps-exam-progress i{
  background:#f5c242;
}
.ps-answer-option.selected{
  border-color:#4ca7ff;
  background:#0d2a53;
}
.ps-answer-option.selected .ps-answer-letter{
  background:#f5c242;
  color:#07172f;
}

/* Estados correctos mantienen verde, pero solo semánticamente */
.ok,
.ps-success{
  color:#75d9aa !important;
}

/* Login / auth */
.auth-card-v17,
.login-card{
  background:#0b2347;
  border-color:#315d89;
}
.auth-submit-v17,
.login-card button[type="submit"]{
  background:#f5c242;
  color:#07172f;
}
.auth-submit-v17:hover,
.login-card button[type="submit"]:hover{
  background:#ffd15a;
}

/* Comunidad */
.ps-community-banner{
  background:
    radial-gradient(circle at 50% 40%,rgba(76,167,255,.22),transparent 32%),
    linear-gradient(135deg,#0a2b55,#0d4f86);
  border-color:#f5c242;
}
.ps-community-banner>a{
  background:#f5c242;
  color:#07172f;
}

/* Admin */
.ps-table th{
  color:#9fb7cf;
}
.ps-table td{
  border-bottom-color:#24476d;
}


/* ==========================================================
   V2.2 — ADMIN DE CONTENIDOS: EDITAR + DRAG & DROP
   ========================================================== */

.ps-admin-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(390px,.78fr);
  gap:22px;
  align-items:start;
}

.ps-content-manager-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:18px;
}
.ps-content-manager-head h2{
  margin-bottom:5px;
}
.ps-content-manager-head p,
.ps-editor-heading p{
  margin:0;
  color:#9eb4ca;
  font-size:13px;
}

.ps-order-status{
  min-height:22px;
  color:#9eb4ca;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.ps-order-status.saving{color:#8ec6ff}
.ps-order-status.saved{color:#f5c242}
.ps-order-status.error{color:#ff8294}

.ps-admin-sort-section{
  margin-top:20px;
}
.ps-sort-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0 2px 9px;
  color:#d9e9f7;
}
.ps-sort-section-title>span{
  font-size:12px;
  font-weight:900;
  color:#f5c242;
  letter-spacing:.055em;
}
.ps-sort-section-title small{
  color:#7896b3;
  font-size:11px;
}

.ps-admin-sort-list{
  min-height:66px;
  display:grid;
  gap:9px;
  border:1px dashed transparent;
  border-radius:13px;
  padding:2px;
  transition:.16s ease;
}
.ps-admin-sort-list.drag-over{
  background:rgba(76,167,255,.055);
  border-color:#356da4;
  padding:7px;
}

.ps-admin-content-card{
  position:relative;
  min-height:76px;
  display:grid;
  grid-template-columns:25px 34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px 12px;
  background:linear-gradient(135deg,#0b2347,#0a1e3d);
  border:1px solid #24476d;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    opacity .16s ease;
}
.ps-admin-content-card:hover{
  border-color:#356da4;
  background:linear-gradient(135deg,#0d2b55,#0b2347);
}
.ps-admin-content-card.dragging{
  opacity:.28;
  transform:scale(.985);
  border-color:#f5c242;
}
.ps-admin-content-card[draggable="true"]{
  cursor:grab;
}
.ps-admin-content-card[draggable="true"]:active{
  cursor:grabbing;
}

.ps-drag-handle{
  width:24px;
  height:38px;
  display:grid;
  grid-template-columns:repeat(2,4px);
  grid-auto-rows:4px;
  place-content:center;
  gap:4px;
  border:0;
  background:transparent;
  padding:0;
  cursor:grab;
  opacity:.65;
}
.ps-drag-handle span{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#7da1c2;
}
.ps-admin-content-card:hover .ps-drag-handle{
  opacity:1;
}
.ps-admin-content-card:hover .ps-drag-handle span{
  background:#f5c242;
}

.ps-content-order-number{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#12325d;
  border:1px solid #315d89;
  color:#91bde4;
  font-size:10px;
  font-weight:900;
}

.ps-admin-content-copy{
  min-width:0;
}
.ps-admin-content-copy b{
  display:block;
  font-size:14px;
  color:#f8fbff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ps-admin-content-copy small{
  display:block;
  margin-top:4px;
  color:#9eb4ca;
  font-size:11px;
}
.ps-admin-content-copy em{
  display:block;
  margin-top:4px;
  color:#7395b4;
  font-size:11px;
  font-style:normal;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ps-admin-content-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.ps-admin-content-actions form{
  margin:0;
}
.ps-btn.edit{
  background:#123a70;
  color:#d9edff;
  border:1px solid #356da4;
}
.ps-btn.edit:hover{
  background:#17508e;
  color:#fff;
}
.ps-btn.danger{
  background:#4b1f31;
  color:#ffafbc;
  border:1px solid #672b40;
}

.ps-sort-empty{
  min-height:68px;
  display:grid;
  place-items:center;
  border:1px dashed #315d89;
  border-radius:11px;
  color:#6f91b1;
  font-size:12px;
  background:rgba(7,23,47,.55);
}
.ps-sort-empty[hidden]{
  display:none;
}

/* Editor derecho */
.ps-content-editor{
  position:sticky;
  top:20px;
  max-height:calc(100vh - 40px);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#315d89 #07172f;
}
.ps-content-editor.editing{
  border-color:#f5c242;
  box-shadow:0 0 0 1px rgba(245,194,66,.14),0 16px 45px rgba(0,0,0,.18);
}
.ps-editor-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}
.ps-editor-heading h2{
  margin:0 0 4px;
}
.ps-editor-close{
  width:31px;
  height:31px;
  border-radius:8px;
  border:1px solid #315d89;
  background:#07172f;
  color:#9eb4ca;
  cursor:pointer;
  font-size:19px;
  line-height:1;
}
.ps-editor-close:hover{
  border-color:#f5c242;
  color:#f5c242;
}
.ps-editor-buttons{
  display:flex;
  gap:9px;
  align-items:center;
}
.ps-editor-buttons .ps-btn.primary{
  flex:1;
}

/* Scroll del editor */
.ps-content-editor::-webkit-scrollbar{
  width:8px;
}
.ps-content-editor::-webkit-scrollbar-track{
  background:#07172f;
  border-radius:999px;
}
.ps-content-editor::-webkit-scrollbar-thumb{
  background:#315d89;
  border-radius:999px;
  border:2px solid #07172f;
}
.ps-content-editor::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}

@media(max-width:1180px){
  .ps-admin-content-grid{
    grid-template-columns:1fr;
  }
  .ps-content-editor{
    position:static;
    max-height:none;
  }
}
@media(max-width:650px){
  .ps-admin-content-card{
    grid-template-columns:21px 29px minmax(0,1fr);
  }
  .ps-admin-content-actions{
    grid-column:3;
    justify-content:flex-start;
    margin-top:3px;
  }
}


/* ==========================================================
   V2.2.1 — CÍRCULOS DE NUMERACIÓN SIN BORDE
   Los círculos del timeline quedan sólidos, sin aro externo.
   ========================================================== */
.ps-item-num{
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}

.ps-topic-list a.passed .ps-item-num,
.ps-topic-list a.done .ps-item-num,
.ps-topic-list a.current .ps-item-num,
.ps-topic-list a.upcoming .ps-item-num{
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}


/* ==========================================================
   V2.3 — CICLOS GRATIS/PAGO + USUARIOS MASIVOS
   ========================================================== */
.ps-admin-kicker{
  display:block;
  margin-bottom:7px;
  color:#4ca7ff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}
.ps-users-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px;
  align-items:start;
}
.ps-users-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  flex-wrap:wrap;
  padding-bottom:16px;
  margin-bottom:8px;
  border-bottom:1px solid #24476d;
}
.ps-users-selected{
  display:flex;
  align-items:center;
  gap:14px;
}
.ps-checkbox-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#bed1e4;
  cursor:pointer;
  font-size:12px;
}
.ps-checkbox-label input,
.ps-users-table input[type="checkbox"]{
  width:17px;
  height:17px;
  accent-color:#f5c242;
}
.ps-users-selected>b{
  color:#f5c242;
  font-size:12px;
}
.ps-users-bulk-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}
.ps-users-bulk-actions select,
.ps-row-cycle-select{
  background:#07172f;
  color:#edf6ff;
  border:1px solid #315d89;
  border-radius:8px;
  min-height:38px;
  padding:7px 10px;
}
.ps-users-bulk-actions select{
  min-width:250px;
}
.ps-users-table .ps-check-col{
  width:34px;
  text-align:center;
}
.ps-users-table td{
  vertical-align:middle;
}
.ps-users-table td>b{
  color:#fff;
}
.ps-users-table td>small{
  color:#93aec7;
}
.ps-row-cycle-select{
  width:230px;
  max-width:24vw;
  font-size:12px;
}
.ps-role-chip,
.ps-cycle-chip,
.ps-status-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  min-height:24px;
  padding:4px 9px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}
.ps-role-chip.student{background:#12325d;color:#8fc8ff}
.ps-role-chip.teacher{background:#2d2359;color:#c3b6ff}
.ps-role-chip.admin{background:#5a3c0d;color:#ffd56d}
.ps-cycle-chip.university{background:#12325d;color:#8fc8ff}
.ps-cycle-chip.free{background:#123d68;color:#9bd0ff;border:1px solid #315d89}
.ps-cycle-chip.paid{background:#5a3c0d;color:#ffd66b;border:1px solid #8a6321}
.ps-status-chip.active{background:#123d36;color:#83ddb5}
.ps-status-chip.inactive{background:#343946;color:#aab5c1}
.ps-new-user-panel{
  position:sticky;
  top:20px;
}
.ps-form-intro{
  color:#93aec7;
  font-size:12px;
  line-height:1.5;
  margin:-7px 0 18px;
}
.ps-bulk-delete{
  background:#5a2030 !important;
  color:#ffbdc8 !important;
  border:1px solid #7a3043 !important;
}
.ps-default-cycle{
  color:#f5c242 !important;
}
.ps-cycle-note{
  margin-top:18px;
  padding:14px;
  border:1px solid #315d89;
  border-left:3px solid #f5c242;
  border-radius:9px;
  background:#081d3b;
}
.ps-cycle-note b{
  color:#f5c242;
}
.ps-cycle-note p{
  margin:5px 0 0;
  color:#9eb4ca;
  line-height:1.55;
  font-size:12px;
}
@media(max-width:1200px){
  .ps-users-layout{
    grid-template-columns:1fr;
  }
  .ps-new-user-panel{
    position:static;
  }
  .ps-row-cycle-select{
    max-width:none;
    width:210px;
  }
}
@media(max-width:760px){
  .ps-users-bulk-actions{
    justify-content:flex-start;
  }
  .ps-users-bulk-actions select{
    width:100%;
    min-width:0;
  }
}


/* ==========================================================
   V2.4 — GESTIÓN UNIFICADA: EDITAR + ARRASTRAR
   ========================================================== */
.ps-manager-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr);
  gap:22px;
  align-items:start;
}
.ps-manager-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.ps-manager-head h2{margin:0 0 5px}
.ps-manager-head p{margin:0;color:#9eb4ca;font-size:12px}
.ps-manager-editor{
  position:sticky;
  top:20px;
  max-height:calc(100vh - 40px);
  overflow:auto;
}
.ps-manager-editor.editing{
  border-color:#f5c242;
  box-shadow:0 0 0 1px rgba(245,194,66,.16);
}
.ps-admin-sort-list{
  min-height:64px;
  display:grid;
  gap:9px;
  border:1px dashed transparent;
  border-radius:12px;
  padding:2px;
  transition:.15s;
}
.ps-admin-sort-list.drag-over{
  border-color:#4ca7ff;
  background:rgba(76,167,255,.06);
  padding:7px;
}
.ps-manager-card{
  display:grid;
  grid-template-columns:24px 34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  min-height:70px;
  padding:11px 12px;
  background:linear-gradient(135deg,#0b2347,#0a1e3d);
  border:1px solid #24476d;
  border-radius:12px;
  transition:.16s;
}
.ps-manager-card:hover{border-color:#356da4;background:linear-gradient(135deg,#0e2b56,#0b2347)}
.ps-manager-card.dragging{opacity:.28;border-color:#f5c242;transform:scale(.99)}
.ps-manager-card.compact{min-height:64px}
.ps-drag-handle{
  width:22px;height:36px;
  display:grid;
  grid-template-columns:repeat(2,4px);
  grid-auto-rows:4px;
  place-content:center;
  gap:4px;
  cursor:grab;
  opacity:.68;
}
.ps-drag-handle:active{cursor:grabbing}
.ps-drag-handle i{width:4px;height:4px;border-radius:50%;background:#7397b8}
.ps-manager-card:hover .ps-drag-handle i{background:#f5c242}
.ps-manager-copy{min-width:0}
.ps-manager-copy b{display:block;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-manager-copy small{display:block;margin-top:4px;font-size:11px;color:#9eb4ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-manager-copy em{display:block;margin-top:4px;color:#f5c242;font-size:10px;font-style:normal;font-weight:800}
.ps-manager-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.ps-manager-actions form{margin:0}
.ps-content-order-number{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:#12325d;border:1px solid #315d89;
  color:#9bd0ff;font-size:10px;font-weight:900;
}
.ps-course-swatch{
  width:12px;height:42px;border-radius:999px;background:var(--swatch);
}
.ps-sort-section{margin-top:20px}
.ps-sort-section-title{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 3px 8px;color:#f5c242;
}
.ps-sort-section-title span{font-size:11px;font-weight:900;letter-spacing:.035em}
.ps-sort-section-title small{font-size:10px;color:#7896b3}
.ps-sort-empty{
  min-height:62px;display:grid;place-items:center;
  border:1px dashed #315d89;border-radius:10px;
  color:#6f91b1;background:rgba(7,23,47,.5);font-size:11px;
}
.ps-sort-empty[hidden]{display:none}
.ps-order-status{min-height:20px;color:#9eb4ca;font-size:11px;font-weight:800;white-space:nowrap}
.ps-order-status.saving{color:#8ec6ff}.ps-order-status.saved{color:#f5c242}.ps-order-status.error{color:#ff8294}
.ps-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.ps-editor-heading h2{margin:0 0 4px}.ps-editor-heading p{margin:0;color:#9eb4ca;font-size:12px}
.ps-editor-close{width:31px;height:31px;border-radius:8px;border:1px solid #315d89;background:#07172f;color:#9eb4ca;font-size:19px;cursor:pointer}
.ps-editor-close:hover{border-color:#f5c242;color:#f5c242}
.ps-editor-buttons{display:flex;gap:9px}.ps-editor-buttons .ps-btn.primary{flex:1}
.ps-manager-filter{
  display:flex;align-items:end;justify-content:space-between;gap:18px;
  margin-bottom:16px;padding:13px 15px;
  background:#0b2347;border:1px solid #24476d;border-radius:10px;
}
.ps-manager-filter label{display:grid;gap:6px;color:#9eb4ca;font-size:11px}
.ps-manager-filter select{min-width:360px;background:#07172f;color:#fff;border:1px solid #315d89;border-radius:8px;padding:10px 12px}
.lesson-board-grid{grid-template-columns:minmax(0,1.65fr) minmax(360px,.68fr)}
.ps-lesson-admin-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ps-day-board{
  min-width:0;padding:12px;
  background:#081d3b;border:1px solid #24476d;border-radius:12px;
}
.ps-day-board>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ps-day-board>header b{color:#f5c242;font-size:12px}.ps-day-board>header small{color:#7896b3;font-size:10px}
.user-card{grid-template-columns:24px 34px 22px minmax(0,1fr) auto}
.ps-card-check{width:17px;height:17px;accent-color:#f5c242}.ps-card-check-placeholder{width:17px}
@media(max-width:1200px){
  .ps-manager-grid,.lesson-board-grid{grid-template-columns:1fr}
  .ps-manager-editor{position:static;max-height:none}
}
@media(max-width:820px){
  .ps-lesson-admin-board{grid-template-columns:1fr}
  .ps-manager-filter{align-items:stretch;flex-direction:column}
  .ps-manager-filter select{min-width:0;width:100%}
}
@media(max-width:650px){
  .ps-manager-card{grid-template-columns:22px 30px minmax(0,1fr)}
  .ps-manager-card .ps-manager-actions{grid-column:3;justify-content:flex-start}
  .user-card{grid-template-columns:22px 30px 20px minmax(0,1fr)}
  .user-card .ps-manager-actions{grid-column:4}
  .ps-course-swatch{display:none}
}


/* ==========================================================
   V2.5 — MATRÍCULAS Y PAGOS
   ========================================================== */
.ps-enrollment-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;
}
.ps-enrollment-summary>div{
  padding:16px 18px;background:#0b2347;border:1px solid #24476d;border-radius:11px;
}
.ps-enrollment-summary b{display:block;color:#f5c242;font-size:24px}.ps-enrollment-summary span{color:#9eb4ca;font-size:11px}.ps-enrollment-summary .warn b{color:#ff8294}
.enrollment-manager-grid{grid-template-columns:minmax(0,1.65fr) minmax(390px,.72fr)}
.enrollment-card{grid-template-columns:24px 34px 20px minmax(0,1fr) auto}
.ps-enrollment-meta,.ps-user-enrollment-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}
.ps-enrollment-meta>span:not(.ps-enrollment-chip):not(.ps-payment-chip),.ps-user-enrollment-line>span:not(.ps-enrollment-chip){color:#86a4c0;font-size:10px}
.ps-enrollment-chip,.ps-payment-chip{
  display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.035em;border:1px solid transparent;
}
.ps-enrollment-chip.active{background:#153e38;color:#8fe0ba;border-color:#286153}
.ps-enrollment-chip.pending{background:#4c390d;color:#ffd773;border-color:#74581c}
.ps-enrollment-chip.suspended{background:#3e2b52;color:#d5b8ff;border-color:#684c86}
.ps-enrollment-chip.expired{background:#542333;color:#ffb0bd;border-color:#7c354a}
.ps-enrollment-chip.cancelled{background:#343946;color:#b4beca;border-color:#4c5360}
.ps-enrollment-chip.none{background:#223248;color:#8fa8c1;border-color:#31506d}
.ps-payment-chip.paid{background:#153e38;color:#8fe0ba;border-color:#286153}
.ps-payment-chip.partial{background:#123d68;color:#9bd0ff;border-color:#315d89}
.ps-payment-chip.pending{background:#4c390d;color:#ffd773;border-color:#74581c}
.ps-payment-chip.overdue{background:#542333;color:#ffb0bd;border-color:#7c354a}
.ps-payment-chip.waived{background:#12325d;color:#9bd0ff;border-color:#315d89}
.ps-payment-fields{display:grid;gap:12px;padding:15px;border:1px solid #24476d;background:#081d3b;border-radius:10px}
.ps-payment-fields h3{margin:0;color:#f5c242;font-size:13px}
.ps-card-security-note{padding:12px 13px;border:1px solid #315d89;border-left:3px solid #f5c242;border-radius:9px;background:#071a35;color:#9eb4ca;font-size:11px;line-height:1.5}
.ps-card-security-note b{color:#f5c242}
.ps-access-gate{max-width:760px;margin:70px auto;padding:38px;text-align:center;background:#0b2347;border:1px solid #315d89;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.22)}
.ps-access-gate-icon{display:block;font-size:36px;margin-bottom:12px}.ps-access-gate h1{margin:0 0 10px;color:#fff}.ps-access-gate p{color:#a9bfd3;line-height:1.6}.ps-access-gate-data{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.ps-access-gate-data span{padding:9px 11px;background:#07172f;border:1px solid #24476d;border-radius:8px;color:#b9cee1;font-size:11px}.ps-access-gate-data b{color:#f5c242}
@media(max-width:900px){.ps-enrollment-summary{grid-template-columns:1fr}.enrollment-manager-grid{grid-template-columns:1fr}.enrollment-card{grid-template-columns:22px 30px 20px minmax(0,1fr)}.enrollment-card .ps-manager-actions{grid-column:4;justify-content:flex-start}}


/* ==========================================================
   V2.5.1 — EN VIVO / GRABACIONES ESTILO TARJETA
   ========================================================== */
.ps-live-title{margin-bottom:26px}
.ps-live-title p{font-size:15px;color:#bcc7d5}
.ps-live-section{margin-bottom:26px}
.ps-live-upcoming-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:20px;
  max-width:1100px;
}
.ps-live-upcoming-card{
  min-height:160px;
  background:linear-gradient(90deg,#1b2029 0%,#1e2430 65%,#1a1f27 100%);
  border:1px solid #242f45;
  border-radius:18px;
  padding:18px 18px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 58px;
  gap:16px;
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ps-live-upcoming-card:hover{
  transform:translateY(-1px);
  border-color:#2f4e78;
  box-shadow:0 18px 38px rgba(0,0,0,.2);
}
.ps-live-upcoming-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.ps-live-upcoming-copy b{font-size:16px;line-height:1.3;letter-spacing:-.02em}
.ps-live-upcoming-copy small{font-size:13px;color:#93a6bb;margin-top:16px}
.ps-live-upcoming-copy span{font-size:13px;color:#e1e7ef}
.ps-live-upcoming-copy em{font-style:normal;font-size:13px;color:#d7dde5;margin-top:18px}
.ps-live-upcoming-avatar{
  width:48px;height:48px;border-radius:50%;overflow:hidden;
  background:linear-gradient(145deg,#117d87,#0c4151);
  border:2px solid #0f9eb8;
  display:grid;place-items:center;justify-self:end
}
.ps-live-upcoming-avatar img{width:100%;height:100%;object-fit:cover}
.ps-live-upcoming-avatar span{font-weight:900;font-size:14px;color:#fff}
.ps-live-upcoming-card>i{
  position:absolute;right:18px;bottom:16px;font-style:normal;
  color:#98a8bb;font-size:12px;font-weight:800;letter-spacing:.04em
}

.ps-live-recordings-wrap{margin-top:10px}
.ps-live-recordings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(320px,1fr));
  gap:20px 22px;
}
.ps-live-recording-card{
  min-height:160px;
  background:linear-gradient(90deg,#1b2029 0%,#1e2430 65%,#1a1f27 100%);
  border:1px solid #242f45;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 44px;
  align-items:center;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ps-live-recording-card:hover{
  transform:translateY(-1px);
  border-color:#2f4e78;
  box-shadow:0 18px 38px rgba(0,0,0,.2);
}
.ps-live-recording-thumb{
  position:relative;
  height:100%;
  min-height:160px;
  background:linear-gradient(145deg,#067887,#0e2a43);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.ps-live-recording-thumb img{width:100%;height:100%;object-fit:cover}
.ps-live-recording-thumb>span:not(.ps-live-material-pill){font-size:30px;font-weight:900;color:#fff}
.ps-live-material-pill{
  position:absolute;left:8px;bottom:8px;
  padding:6px 10px;border-radius:8px;
  background:rgba(11,15,22,.9);border:1px solid #234b79;
  color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em
}
.ps-live-recording-copy{padding:18px 16px 16px 16px;display:flex;flex-direction:column;min-width:0;height:100%;justify-content:center}
.ps-live-recording-copy small{font-size:13px;color:#7f8e9f;font-weight:700;letter-spacing:.02em}
.ps-live-recording-copy b{font-size:17px;line-height:1.35;margin-top:6px;letter-spacing:-.02em}
.ps-live-recording-copy span{font-size:14px;color:#bdc9d7;margin-top:4px}
.ps-live-recording-copy em{font-style:normal;font-size:13px;color:#a6b5c4;margin-top:20px}
.ps-live-recording-play{
  width:34px;height:34px;border-radius:50%;
  margin-right:14px;justify-self:end;
  display:grid;place-items:center;
  background:#0f1116;border:1px solid #2d3f5d;color:#fff;
  font-size:13px;font-weight:900;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.ps-live-recording-card:hover .ps-live-recording-play{
  background:#15263f;border-color:#41679d;transform:scale(1.03)
}

@media(max-width:1350px){
  .ps-live-recordings-grid{grid-template-columns:repeat(2,minmax(320px,1fr))}
}
@media(max-width:980px){
  .ps-live-upcoming-grid,.ps-live-recordings-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ps-live-upcoming-card{min-height:150px;padding:16px}
  .ps-live-upcoming-copy b{font-size:15px}
  .ps-live-recording-card{grid-template-columns:96px minmax(0,1fr) 40px;min-height:148px}
  .ps-live-recording-thumb{min-height:148px}
  .ps-live-recording-copy{padding:14px 12px}
  .ps-live-recording-copy small{font-size:11px}
  .ps-live-recording-copy b{font-size:15px}
  .ps-live-recording-copy span,.ps-live-recording-copy em{font-size:12px}
  .ps-live-recording-play{margin-right:10px}
}


/* ==========================================================
   V2.5.2 — MATERIAL GOOGLE DRIVE
   ========================================================== */
.ps-live-recording-thumb{
  position:relative;
}
.ps-live-thumb-open{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.ps-live-thumb-open img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ps-live-thumb-open>span{
  font-size:30px;
  font-weight:900;
  color:#fff;
}
.ps-live-material-pill{
  z-index:4;
  cursor:pointer;
}
.ps-live-material-pill:hover{
  background:#14243b;
  border-color:#4f78aa;
}
.ps-form label>small{
  color:#7896b3;
  font-size:10px;
  line-height:1.4;
}


/* ==========================================================
   V2.5.9 — TIMELINE DE LECCIONES COMO REFERENCIA
   El número queda fuera de la tarjeta activa. La línea pasa
   por detrás de los círculos y solo el tramo hacia la lección
   seleccionada se pinta de dorado.
   ========================================================== */
.ps-topic-list{
  gap:0 !important;
}
.ps-topic-list a{
  grid-template-columns:32px minmax(0,1fr) !important;
  gap:10px !important;
  min-height:73px !important;
  padding:5px 0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

/* Línea base oscura, siempre detrás de los círculos */
.ps-topic-list a::before,
.ps-topic-list a::after{
  left:15px !important;
  width:2px !important;
  z-index:0 !important;
  background:#315170 !important;
}
.ps-topic-list a::before{
  top:-5px !important;
  height:calc(50% + 5px) !important;
}
.ps-topic-list a::after{
  top:50% !important;
  bottom:-5px !important;
}
.ps-topic-list a:first-child::before{display:none !important;}
.ps-topic-list a:last-child::after{display:none !important;}

/* Solo el segmento inmediatamente anterior al activo es dorado */
.ps-topic-list a.before-active::after,
.ps-topic-list a.active::before{
  background:#f5bd2f !important;
}

.ps-item-num{
  grid-column:1 !important;
  position:relative !important;
  z-index:3 !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:50% !important;
  background:#247bd2 !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.ps-topic-list a.active .ps-item-num{
  background:#f5bd2f !important;
  color:#111827 !important;
}
.ps-topic-list a.done .ps-item-num,
.ps-topic-list a.passed .ps-item-num,
.ps-topic-list a.current .ps-item-num,
.ps-topic-list a.upcoming .ps-item-num{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.ps-topic-list a:not(.active).done .ps-item-num,
.ps-topic-list a:not(.active).passed .ps-item-num,
.ps-topic-list a:not(.active).current .ps-item-num,
.ps-topic-list a:not(.active).upcoming .ps-item-num{
  background:#247bd2 !important;
  color:#fff !important;
}

/* Tarjeta independiente: comienza a la derecha del número */
.ps-item-card{
  grid-column:2 !important;
  min-width:0;
  min-height:63px;
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:6px 10px 6px 0;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ps-topic-list a:hover .ps-item-card{
  background:#152d49;
}
.ps-topic-list a.active .ps-item-card{
  background:#16375d !important;
  box-shadow:none !important;
  padding-left:8px !important;
}

.ps-item-thumb{
  width:92px !important;
  height:51px !important;
  border-radius:7px !important;
}
.ps-item-copy b{
  font-size:12px !important;
  color:#fff !important;
}
.ps-item-copy small{
  font-size:11px !important;
  color:#fff !important;
}
.ps-topic-list a.active .ps-item-copy small{
  color:#fff !important;
}
.ps-item-copy em{
  color:#ffc42e !important;
  font-weight:900 !important;
  margin-top:4px !important;
}

@media(max-width:760px){
  .ps-topic-list a{
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:9px !important;
    min-height:70px !important;
  }
  .ps-topic-list a::before,
  .ps-topic-list a::after{left:14px !important;}
  .ps-item-num{width:28px !important;height:28px !important;font-size:11px !important;}
  .ps-item-card{grid-template-columns:88px minmax(0,1fr);gap:12px;min-height:60px;}
  .ps-item-thumb{width:88px !important;height:49px !important;}
}


/* ==========================================================
   V2.6.0 — SELECTOR DE ÍCONOS DE CURSO
   Añadido sobre el app.css personalizado del usuario.
   ========================================================== */
.ps-admin-course-icon{
  width:44px;height:44px;border-radius:10px;flex:0 0 auto;
  display:grid;place-items:center;
  background:var(--course,#2f80ed);
  color:#07182f;font-size:23px;font-weight:950;
}
.ps-icon-picker{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:3px;
}
.ps-icon-choice{
  min-width:0;min-height:70px;
  border:1px solid #315d89;
  border-radius:10px;
  background:#07172f;
  color:#dbeaff;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:5px;padding:8px 5px;
  cursor:pointer;
  transition:.16s ease;
}
.ps-icon-choice:hover{
  border-color:#58a9f5;
  background:#0b2347;
  transform:translateY(-1px);
}
.ps-icon-choice.selected{
  border-color:#f5c242;
  box-shadow:0 0 0 2px rgba(245,194,66,.16);
  background:#10294c;
}
.ps-icon-choice span{
  font-size:25px;font-weight:950;line-height:1;
}
.ps-icon-choice small{
  max-width:100%;
  color:#9eb4ca;
  font-size:8px;
  line-height:1.15;
  text-align:center;
  white-space:normal;
}
.ps-icon-choice.selected small{color:#f5c242}
@media(max-width:760px){
  .ps-icon-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* ==========================================================
   V2.6.1 — COMPLETAR CATÁLOGO SAN MARCOS
   ========================================================== */
.ps-course-page-actions{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;
}
.ps-course-page-actions form{margin:0}
.ps-san-marcos-summary{
  margin:-18px 0 20px;
  padding:12px 14px;
  border:1px solid #24476d;
  border-radius:10px;
  background:#081d3b;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.ps-san-marcos-summary b{
  color:#f5c242;
  font-size:12px;
}
.ps-san-marcos-summary span{
  color:#9eb4ca;
  font-size:10px;
  line-height:1.5;
}
@media(max-width:760px){
  .ps-page-title{gap:12px;flex-direction:column;align-items:stretch}
  .ps-course-page-actions{justify-content:flex-start}
  .ps-course-page-actions form,.ps-course-page-actions .ps-btn{width:100%}
  .ps-san-marcos-summary{margin-top:-10px}
}

/* ==========================================================
   V2.7.0 — VERSIONES DE CURSO POR UNIVERSIDAD
   Añadido sobre el app.css personalizado del usuario.
   ========================================================== */
.ps-course-program-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:20px;padding:0 7px;border-radius:999px;
  background:#0b2d55;border:1px solid #2a6196;color:#8fc9ff;
  font-size:9px;font-weight:900;letter-spacing:.05em;
}
.ps-program-note{
  padding:12px 14px;margin:0 0 17px;border:1px solid #24476d;border-radius:10px;
  background:#081d3b;color:#9eb4ca;font-size:11px;line-height:1.55;
}
.ps-program-note b{color:#f5c242}


/* ==========================================================
   V2.7.1 — VERSIONES: TEXTO COMPLETO + ELIMINACIÓN
   Mantiene intactos los bordes personalizados previos.
   ========================================================== */

/* El layout genérico de .ps-manager-card reservaba columnas para
   arrastre y número de orden. Las versiones no usan esas columnas,
   por eso el nombre quedaba comprimido y aparecía "Ari...". */
.ps-course-program-card{
  grid-template-columns:44px minmax(220px,1fr) auto !important;
  gap:14px !important;
  min-height:70px;
  align-items:center;
}

.ps-course-program-card .ps-admin-course-icon{
  grid-column:1;
}

.ps-course-program-copy{
  grid-column:2;
  min-width:0;
  overflow:visible;
}

/* Nombre completo: sin puntos suspensivos */
.ps-course-program-copy b{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.3;
  font-size:13px;
}

/* También mostramos completa la línea secundaria cuando hay espacio */
.ps-course-program-copy small{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  line-height:1.35;
}

.ps-course-program-actions{
  grid-column:3;
  min-width:max-content;
}

.ps-course-program-actions .ps-btn{
  white-space:nowrap;
}

/* Eliminar debe distinguirse claramente de Ocultar */
.ps-btn.danger{
  background:#431923;
  color:#ffb9c4;
  border:1px solid #743040;
}
.ps-btn.danger:hover{
  background:#5a1e2b;
  border-color:#a83c53;
  color:#fff;
}

@media(max-width:850px){
  .ps-course-program-card{
    grid-template-columns:44px minmax(0,1fr) !important;
  }
  .ps-course-program-actions{
    grid-column:2 !important;
    justify-content:flex-start !important;
    min-width:0;
  }
}

@media(max-width:520px){
  .ps-course-program-card{
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
    padding:10px !important;
  }
  .ps-course-program-card .ps-admin-course-icon{
    width:40px;height:40px;
  }
  .ps-course-program-actions{
    gap:6px;
  }
  .ps-course-program-actions form,
  .ps-course-program-actions button{
    flex:1 1 auto;
  }
}

/* ==========================================================
   V2.7.3 — BOTONES HORIZONTALES EN CURSOS BASE
   Versiones / Editar / Ocultar / Eliminar
   ========================================================== */
.ps-admin-sort-list .ps-manager-card .ps-manager-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:max-content;
}

.ps-admin-sort-list .ps-manager-card .ps-manager-actions form{
  margin:0;
  flex:0 0 auto;
}

.ps-admin-sort-list .ps-manager-card .ps-manager-actions .ps-btn,
.ps-admin-sort-list .ps-manager-card .ps-manager-actions a.ps-btn,
.ps-admin-sort-list .ps-manager-card .ps-manager-actions button.ps-btn{
  min-width:80px;
  white-space:nowrap;
}

@media(max-width:900px){
  .ps-admin-sort-list .ps-manager-card{
    grid-template-columns:22px 30px 44px minmax(180px,1fr) auto !important;
  }
}

@media(max-width:700px){
  .ps-admin-sort-list .ps-manager-card{
    grid-template-columns:22px 30px minmax(0,1fr) !important;
  }
  .ps-admin-sort-list .ps-manager-card .ps-manager-actions{
    grid-column:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    scrollbar-width:thin;
  }
  .ps-admin-sort-list .ps-manager-card .ps-manager-actions::-webkit-scrollbar{
    height:6px;
  }
  .ps-admin-sort-list .ps-manager-card .ps-manager-actions::-webkit-scrollbar-track{
    background:#0e1a2a;
    border-radius:999px;
  }
  .ps-admin-sort-list .ps-manager-card .ps-manager-actions::-webkit-scrollbar-thumb{
    background:#335579;
    border-radius:999px;
  }
}

/* ==========================================================
   V2.8.0 — ARRASTRE UNIVERSAL + ELIMINAR CLASES
   ========================================================== */
.ps-drag-handle{
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-user-drag:none !important;
  cursor:grab !important;
}
.ps-drag-handle:active{cursor:grabbing !important}
.ps-sorting-active,
.ps-sorting-active *{
  cursor:grabbing !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
[data-sort-item].dragging{
  opacity:.48 !important;
  transform:scale(.99);
  position:relative;
  z-index:30;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
[data-sort-list].drag-over{
  outline:1px dashed rgba(94,178,255,.55);
  outline-offset:3px;
}

/* Las acciones de cada clase pueden envolver en una segunda línea si
   la tarjeta es estrecha, manteniendo siempre visible Eliminar. */
.ps-day-board .ps-manager-actions{
  gap:7px;
}
.ps-day-board .ps-manager-actions form{margin:0}
.ps-day-board .ps-manager-actions .ps-btn{white-space:nowrap}

/* ==========================================================
   V2.8.1 — CLASES: NOMBRES COMPLETOS + ACCIONES EN 2ª FILA
   Mantiene el motor de arrastre V2.8.0 y los bordes actuales.
   ========================================================== */
.ps-day-board .ps-manager-card.compact{
  grid-template-columns:24px 34px minmax(0,1fr) !important;
  grid-template-rows:auto auto;
  column-gap:11px !important;
  row-gap:8px !important;
  align-items:center;
  min-height:92px;
  padding:11px 12px !important;
}

.ps-day-board .ps-manager-card.compact > .ps-drag-handle{
  grid-column:1;
  grid-row:1;
}

.ps-day-board .ps-manager-card.compact > .ps-content-order-number{
  grid-column:2;
  grid-row:1;
}

.ps-day-board .ps-manager-card.compact > .ps-manager-copy{
  grid-column:3;
  grid-row:1;
  min-width:0;
  width:100%;
  overflow:visible;
}

/* El tema ya no se corta con puntos suspensivos. */
.ps-day-board .ps-manager-card.compact > .ps-manager-copy b{
  display:block;
  width:100%;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  line-height:1.28;
  font-size:13px;
}

/* Curso / docente / estado también puede usar más de una línea. */
.ps-day-board .ps-manager-card.compact > .ps-manager-copy small{
  display:block;
  width:100%;
  margin-top:4px;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  line-height:1.3;
}

/* Los cuatro botones siguen juntos y horizontales, pero debajo del nombre. */
.ps-day-board .ps-manager-card.compact > .ps-manager-actions{
  grid-column:3 !important;
  grid-row:2;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  min-width:0;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 2px;
  scrollbar-width:thin;
  scrollbar-color:#335579 transparent;
}

.ps-day-board .ps-manager-card.compact > .ps-manager-actions form{
  margin:0;
  flex:0 0 auto;
}

.ps-day-board .ps-manager-card.compact > .ps-manager-actions .ps-btn{
  flex:0 0 auto;
  min-width:82px;
  white-space:nowrap;
}

.ps-day-board .ps-manager-card.compact > .ps-manager-actions::-webkit-scrollbar{
  height:5px;
}
.ps-day-board .ps-manager-card.compact > .ps-manager-actions::-webkit-scrollbar-track{
  background:transparent;
}
.ps-day-board .ps-manager-card.compact > .ps-manager-actions::-webkit-scrollbar-thumb{
  background:#335579;
  border-radius:999px;
}

@media(max-width:650px){
  .ps-day-board .ps-manager-card.compact{
    grid-template-columns:22px 30px minmax(0,1fr) !important;
  }
  .ps-day-board .ps-manager-card.compact > .ps-manager-actions{
    grid-column:3 !important;
  }
}


/* ===== PLATAFORMA SUPREMA V3.0 · CENTRO DE CONTROL ===== */
.ps-nav-label{display:block;padding:18px 14px 7px;color:#6f8cac;font-size:9px;font-weight:900;letter-spacing:.16em}
.ps-admin-hero-v3,.ps-student-hero-v3{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;margin-bottom:16px;border:1px solid #24476d;border-radius:18px;background:linear-gradient(135deg,#0c2b55,#0b1f3f);box-shadow:0 12px 32px rgba(0,0,0,.14)}
.ps-admin-hero-v3 h1,.ps-student-hero-v3 h1{margin:4px 0 5px;font-size:28px}.ps-admin-hero-v3 p,.ps-student-hero-v3 p{margin:0;color:#9eb4ca}.ps-kicker{color:#f5c242;font-size:10px;font-weight:900;letter-spacing:.12em}.ps-hero-date,.ps-streak-pill{padding:9px 13px;border:1px solid #315d89;border-radius:999px;color:#d9e9f7;font-weight:800;font-size:12px;white-space:nowrap}
.ps-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ps-kpi{display:flex;align-items:center;gap:13px;min-height:86px;padding:16px;border:1px solid #24476d;border-radius:15px;background:#0b2347;color:inherit;text-decoration:none}.ps-kpi:hover{transform:translateY(-2px);border-color:#356da4}.ps-kpi>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#12325d;font-size:20px}.ps-kpi b{display:block;color:#fff;font-size:24px;line-height:1}.ps-kpi small{display:block;margin-top:7px;color:#9eb4ca;font-size:11px}.ps-kpi.warn{border-color:#6e5824}.ps-kpi.danger{border-color:#71344a}
.ps-quick-panel,.ps-v3-panel{padding:19px;border:1px solid #24476d;border-radius:16px;background:#091d3b;margin-bottom:16px}.ps-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.ps-section-title h2{margin:3px 0 0;font-size:18px}.ps-section-title p{margin:5px 0 0;color:#8da8c1;font-size:12px}.ps-section-title>a{color:#8ec6ff;font-size:11px;font-weight:800;text-decoration:none}.ps-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.ps-quick-grid a{padding:13px;border:1px solid #24476d;border-radius:11px;background:#0b2347;text-decoration:none;color:#fff}.ps-quick-grid a:hover{border-color:#f5c242}.ps-quick-grid b,.ps-quick-grid small{display:block}.ps-quick-grid b{font-size:12px}.ps-quick-grid small{margin-top:5px;color:#7896b3;font-size:10px}.ps-admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ps-feed>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #17385e}.ps-feed>div:first-child{border-top:0}.ps-feed-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#12325d}.ps-feed p{margin:0;min-width:0}.ps-feed b,.ps-feed small{display:block}.ps-feed b{font-size:12px;color:#f5f9ff}.ps-feed small{margin-top:4px;color:#7896b3;font-size:10px}.ps-feed em{font-style:normal;font-size:9px;color:#f5c242;font-weight:900}.ps-v3-empty{padding:28px;text-align:center;color:#7896b3}.ps-student-watch>div{display:grid;grid-template-columns:34px minmax(170px,1.3fr) minmax(120px,1fr) 45px 110px;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #17385e}.ps-student-watch p{margin:0}.ps-student-watch b,.ps-student-watch small{display:block}.ps-student-watch small,.ps-student-watch em{color:#7896b3;font-size:10px;font-style:normal}.ps-avatar.mini{width:32px;height:32px;font-size:10px}.ps-mini-progress{height:7px;border-radius:10px;background:#07172f;overflow:hidden}.ps-mini-progress i,.ps-focus-progress i{display:block;height:100%;background:linear-gradient(90deg,#1f75b6,#f5c242);border-radius:inherit}
.ps-student-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.ps-student-kpis>div{padding:15px 17px;border:1px solid #24476d;border-radius:14px;background:#0b2347}.ps-student-kpis b{display:block;font-size:22px;color:#fff}.ps-student-kpis small{display:block;margin-top:4px;color:#8da8c1}.ps-student-focus{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:18px}.ps-continue-card,.ps-next-live{display:block;padding:20px;border:1px solid #315d89;border-radius:16px;background:linear-gradient(135deg,#0d2b55,#0a1e3d);color:inherit;text-decoration:none}.ps-continue-card h2,.ps-next-live h2{margin:7px 0 8px;font-size:17px}.ps-continue-card p,.ps-next-live p{margin:7px 0 0;color:#9eb4ca;font-size:11px}.ps-continue-card p strong{float:right;color:#f5c242}.ps-next-live b{display:block;margin-top:10px;color:#f5c242;font-size:11px}.ps-focus-progress{height:7px;margin-top:12px;border-radius:10px;background:#07172f;overflow:hidden}
@media(max-width:1100px){.ps-kpi-grid{grid-template-columns:repeat(2,1fr)}.ps-quick-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ps-admin-hero-v3,.ps-student-hero-v3{padding:18px;align-items:flex-start}.ps-admin-hero-v3 h1,.ps-student-hero-v3 h1{font-size:22px}.ps-kpi-grid,.ps-student-kpis{grid-template-columns:repeat(2,1fr)}.ps-kpi{min-height:76px;padding:12px}.ps-kpi b{font-size:20px}.ps-quick-grid{grid-template-columns:repeat(2,1fr)}.ps-admin-columns,.ps-student-focus{grid-template-columns:1fr}.ps-student-watch>div{grid-template-columns:34px 1fr 45px}.ps-student-watch .ps-mini-progress,.ps-student-watch em{display:none}.ps-hero-date{display:none}}

/* =========================================================
   PLATAFORMA SUPREMA V3.1 — CENTRO INTELIGENTE
   ========================================================= */
.ps-top-left{display:flex;align-items:center;min-width:0;flex:1}
.ps-top-search{width:min(520px,48vw);display:flex;align-items:center;gap:10px;background:#0b2347;border:1px solid #24476d;border-radius:12px;padding:0 13px;height:42px}
.ps-top-search span{font-size:21px;color:#f5c242}.ps-top-search input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;color:#edf6ff;padding:0!important;height:auto!important}.ps-top-search input::placeholder{color:#7997b3}
.ps-top-greeting{font-size:12px;color:#829fbb;font-weight:700}.ps-icon-btn{position:relative;text-decoration:none}.ps-icon-btn i.has-count{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#f5c242;color:#07172f;border:2px solid #081b36;font-size:9px;font-style:normal;font-weight:1000}
.ps-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.ps-page-head h1{margin:4px 0 5px;font-size:31px}.ps-page-head p{margin:0;color:#9eb4ca}.ps-page-head select{min-width:260px}
.ps-admin-columns-wide{grid-template-columns:minmax(330px,.75fr) minmax(520px,1.4fr)}
.ps-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ps-table-wrap{overflow:auto}.ps-table{width:100%;border-collapse:collapse;min-width:680px}.ps-table th{text-align:left;color:#7395b4;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:11px 12px;border-bottom:1px solid #24476d}.ps-table td{padding:13px 12px;border-bottom:1px solid rgba(49,93,137,.45);vertical-align:middle;color:#dce9f5;font-size:12px}.ps-table td>b,.ps-table td>small{display:block}.ps-table td>small{color:#7896b3;margin-top:4px}.ps-row-actions{display:flex;gap:7px;align-items:center}.ps-row-actions form{margin:0}
.ps-status{display:inline-flex;align-items:center;border:1px solid #315d89;background:#102c51;color:#9bc7eb;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em}.ps-status.important{background:#4a3a14;border-color:#7c6320;color:#f7d878}.ps-status.urgent{background:#4c2030;border-color:#713248;color:#ffadbb}.ps-status.normal{background:#123b37;border-color:#23655d;color:#86d4c8}
.ps-agenda-list{display:grid;gap:9px;max-height:620px;overflow:auto}.ps-agenda-list article{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:13px;border:1px solid #24476d;border-radius:12px;padding:11px;background:#0a203e}.ps-agenda-list time{width:54px;text-align:center;color:#87a8c5;text-transform:uppercase;font-size:10px}.ps-agenda-list time b{display:block;color:#f5c242;font-size:15px;margin-top:3px}.ps-agenda-list h3{font-size:13px;margin:5px 0 2px}.ps-agenda-list p{margin:0;color:#7896b3;font-size:11px}
.ps-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ps-sync-grid>div{border:1px solid #24476d;background:#081d39;border-radius:13px;padding:14px}.ps-sync-grid h3{margin:0 0 10px}.ps-sync-grid p{padding:10px 0;margin:0;border-bottom:1px solid rgba(49,93,137,.35)}.ps-sync-grid p:last-child{border-bottom:0}.ps-sync-grid p b,.ps-sync-grid p small{display:block}.ps-sync-grid p small{color:#7796b3;margin-top:4px}
.ps-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ps-filterbar{display:grid;grid-template-columns:1fr 220px auto;gap:10px;margin-bottom:18px}.ps-progress-cell{display:flex;align-items:center;gap:9px;min-width:140px}.ps-progress-cell>span{width:100px;height:7px;background:#07172f;border-radius:10px;overflow:hidden}.ps-progress-cell>span i{display:block;height:100%;background:linear-gradient(90deg,#327ed1,#f5c242);border-radius:inherit}.ps-risk{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900;text-transform:uppercase}.ps-risk.high{background:#4c2030;color:#ffadbb;border:1px solid #713248}.ps-risk.medium{background:#4a3a14;color:#f7d878;border:1px solid #7c6320}.ps-risk.good{background:#123b37;color:#86d4c8;border:1px solid #23655d}
.ps-report-bars{display:grid;gap:13px}.ps-report-bars>div{display:grid;grid-template-columns:150px 1fr 45px;gap:12px;align-items:center}.ps-report-bars p{margin:0}.ps-report-bars p b,.ps-report-bars p small{display:block}.ps-report-bars p small{color:#7896b3;margin-top:3px}.ps-report-bars span{height:9px;background:#07172f;border-radius:10px;overflow:hidden}.ps-report-bars span i{display:block;height:100%;background:linear-gradient(90deg,#327ed1,#f5c242);border-radius:inherit}.ps-report-bars strong{text-align:right;color:#f5c242}
.ps-global-search{display:grid;grid-template-columns:1fr auto;gap:10px}.ps-global-search input{font-size:16px}.ps-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.ps-search-results section>a{display:block;text-decoration:none;border:1px solid #24476d;border-radius:11px;padding:11px 12px;margin-top:8px;background:#081d39}.ps-search-results section>a:hover{border-color:#f5c242}.ps-search-results a b,.ps-search-results a small{display:block;color:#edf5fd}.ps-search-results a small{color:#7896b3;margin-top:3px}
.ps-notification-list{display:grid;gap:8px}.ps-notification-list>a{display:grid;grid-template-columns:34px 1fr;gap:10px;text-decoration:none;padding:13px;border:1px solid #24476d;border-radius:12px;background:#081d39}.ps-notification-list>a.unread{border-color:#4a77a8;background:#0c294e}.ps-notification-list a b{color:#eff7ff}.ps-notification-list a p{margin:4px 0;color:#a6bed3}.ps-notification-list a small{color:#6f91b1}
.ps-announcement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ps-announcement{border-left:3px solid #315d89}.ps-announcement.important{border-left-color:#f5c242}.ps-announcement.urgent{border-left-color:#ff6e86}.ps-announcement h2{margin:12px 0 8px}.ps-announcement>p{color:#b7cadb;line-height:1.65}.ps-announcement>small{color:#6f91b1}
.ps-student-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}.ps-mini-agenda{display:grid;gap:8px}.ps-mini-agenda>div{display:grid;grid-template-columns:55px 1fr;gap:11px;align-items:center;border:1px solid #24476d;border-radius:10px;padding:9px 11px;background:#081d39}.ps-mini-agenda time{color:#f5c242;font-weight:900}.ps-mini-agenda p{margin:0}.ps-mini-agenda p b,.ps-mini-agenda p small{display:block}.ps-mini-agenda p small{color:#7896b3;margin-top:2px}.ps-mini-announcements{display:grid;gap:8px}.ps-mini-announcements>a{display:grid;grid-template-columns:auto 1fr;gap:10px;text-decoration:none;align-items:start;border-bottom:1px solid rgba(49,93,137,.35);padding-bottom:9px}.ps-mini-announcements>a:last-child{border-bottom:0}.ps-mini-announcements p{margin:0}.ps-mini-announcements p b,.ps-mini-announcements p small{display:block}.ps-mini-announcements p b{color:#edf6ff}.ps-mini-announcements p small{color:#7896b3;margin-top:3px}
.ps-mobile-nav a small{display:block;font-size:9px;font-weight:800;margin-top:2px;color:inherit}
@media(max-width:1100px){.ps-admin-columns-wide{grid-template-columns:1fr}.ps-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-search-results{grid-template-columns:1fr}.ps-student-today-grid{grid-template-columns:1fr}.ps-top-search{width:40vw}}
@media(max-width:760px){.ps-top-search{display:none}.ps-top-greeting{display:none}.ps-page-head{align-items:stretch;flex-direction:column}.ps-page-head select{width:100%;min-width:0}.ps-form-grid,.ps-sync-grid{grid-template-columns:1fr}.ps-filterbar{grid-template-columns:1fr}.ps-kpi-grid-4{grid-template-columns:1fr 1fr}.ps-announcement-grid{grid-template-columns:1fr}.ps-report-bars>div{grid-template-columns:110px 1fr 40px}.ps-table{min-width:620px}.ps-mobile-nav{height:66px;padding-bottom:max(5px,env(safe-area-inset-bottom))}.ps-content{padding-bottom:84px}}

/* =========================================================
   V3.1.4 — TIPOGRAFÍA UNIFICADA EN ACCESO / REGISTRO
   Mantiene el diseño actual y corrige la herencia serif del navegador.
   ========================================================= */
.auth-body,
.auth-page-v17,
.auth-page-v17 input,
.auth-page-v17 button,
.auth-page-v17 select,
.auth-page-v17 textarea,
.auth-page-v17 a {
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.auth-heading-v17 h1,
.auth-heading-v17 p,
.auth-card-v17,
.auth-form-v17,
.auth-form-v17 label,
.auth-form-v17 input,
.auth-submit-v17,
.auth-switch-v17,
.auth-legal-v17,
.auth-divider-v17,
.google-gis-shell-v18,
.google-gis-disabled-v18,
.google-gis-message-v18 {
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}


/* =========================================================
   V4.2 — PERFIL ACADÉMICO + UNIVERSIDADES / CARRERAS
   ========================================================= */
.auth-form-v17 select{
  width:100%;height:45px;border:0;border-radius:12px;background:#20242c;color:#fff;
  padding:0 40px 0 14px;font-size:14px;box-shadow:none;outline:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#8da0b5 50%),linear-gradient(135deg,#8da0b5 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.auth-form-v17 select:focus{outline:2px solid rgba(105,183,255,.55);outline-offset:0}
.auth-form-v17 select:disabled{opacity:.55;cursor:not-allowed}
.academic-google-note{display:block;text-align:center;color:#7892ad;font-size:11px;line-height:1.45;padding:0 6px}
.academic-field-help{display:block;min-height:15px;color:#f5c242;font-size:10px;font-weight:750;line-height:1.4}
.academic-onboarding-kicker{display:block;margin:0 0 8px;color:#f5c242;font-size:10px;font-weight:950;letter-spacing:.14em}
.academic-auto-box{display:grid;gap:4px;padding:13px 14px;border:1px solid #2f5278;border-radius:12px;background:#0d294b;color:#dbeaff}
.academic-auto-box b{font-size:11px;color:#f5c242}.academic-auto-box span{font-size:10px;line-height:1.55;color:#96b0ca}
.academic-auto-box.compact{padding:11px 12px}.academic-auto-box.compact span{font-size:10px}

.academic-admin-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);gap:18px;align-items:start}
.academic-university-list,.academic-career-list{display:grid;gap:9px}
.academic-university-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;padding:13px 14px;border:1px solid #2d4563;border-radius:11px;background:#0a203e;color:#edf6ff;cursor:pointer}
.academic-university-row:hover,.academic-university-row.active{border-color:#f5c242;background:#102c51}
.academic-university-row b,.academic-university-row small{display:block}.academic-university-row small{margin-top:4px;color:#7f9cb9;font-size:10px}
.academic-university-row em{font-style:normal;align-self:center;color:#f5c242;font-size:10px;font-weight:900}
.academic-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.academic-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.academic-inline-form input,.academic-inline-form select{min-width:130px;flex:1}
.academic-career-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.academic-career-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,1fr) 90px auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid #2b4563;border-radius:10px;background:#091f3b}
.academic-career-row b{font-size:11px;color:#eef6ff}.academic-career-row small{display:block;color:#7391af;font-size:9px;margin-top:3px}
.academic-career-row input,.academic-career-row select{width:100%;background:#071a33;border:1px solid #315576;color:#fff;border-radius:8px;padding:8px 9px;font-size:10px}
.academic-career-row .ps-btn{white-space:nowrap}
.academic-career-row.is-hidden{opacity:.55;border-style:dashed}
.academic-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.academic-profile>div{padding:13px;border:1px solid #294767;border-radius:11px;background:#0a203e}
.academic-profile small,.academic-profile b{display:block}.academic-profile small{color:#7593af;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.academic-profile b{margin-top:5px;color:#eff7ff;font-size:12px}
@media(max-width:1050px){.academic-admin-grid{grid-template-columns:1fr}.academic-career-row{grid-template-columns:minmax(180px,1.5fr) minmax(140px,1fr) 80px auto}}
@media(max-width:760px){.academic-form-pair,.academic-profile{grid-template-columns:1fr}.academic-career-row{grid-template-columns:1fr}.academic-inline-form{align-items:stretch}.academic-inline-form>*{width:100%;flex:auto}}
