:root{--primary-color:#1F274B;--primary-hover:#161b36;--secondary-color:#2559A4;--secondary-hover:#1c4580;--accent-color:#00A49F;--bg-color:#f0f7ff;--text-color:#1F274B;--text-light:#64748b;--card-bg:#FFFFFF;--border-color:#e2e8f0;--radius:12px;--shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--glass-bg:rgba(255,255,255,0.7);--glass-border:rgba(255,255,255,0.3);--success:#00A49F;--success-hover:#008a85;--info:#2559A4;--info-hover:#1c4580;--warning:#F1C40F;--warning-hover:#d4ac0d;--danger:#E72F3D;--danger-hover:#c42733;--slate:#64748b;--bs-primary:#1F274B;--bs-primary-rgb:31,39,75;--bs-secondary:#2559A4;--bs-secondary-rgb:37,89,164;--bs-success:#00A49F;--bs-success-rgb:0,164,159;--bs-danger:#E72F3D;--bs-danger-rgb:231,47,61;--bs-warning:#F1C40F;--bs-warning-rgb:241,196,15;--font-base:14px;--font-body:'Poppins',system-ui,-apple-system,sans-serif;--font-brand:'Pacifico',cursive}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-body)}html{font-size:var(--font-base)}body{background-color:var(--bg-color);color:var(--text-color);line-height:1.5;min-height:100vh;display:flex;margin:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-none{display:none !important}.flex-column{flex-direction:column !important}.flex-wrap{flex-wrap:wrap !important}.align-center{align-items:center !important}.align-start{align-items:flex-start !important}.justify-center{justify-content:center !important}.justify-between{justify-content:space-between !important}.justify-end{justify-content:flex-end !important}.flex-grow{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.gap-xs{gap:0.25rem !important}.gap-sm{gap:0.5rem !important}.gap-md{gap:1rem !important}.gap-lg{gap:1.5rem !important}.gap-xl{gap:2rem !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-left{text-align:left !important}.text-muted{color:var(--text-light)!important}.text-white{color:#fff !important}.text-xs{font-size:0.65rem !important}.text-sm{font-size:0.75rem !important}.text-md{font-size:0.85rem !important}.fw-600{font-weight:600 !important}.fw-700{font-weight:700 !important}.fw-800{font-weight:800 !important}.ttu{text-transform:uppercase !important}.ls-1{letter-spacing:0.05em !important}.p-0{padding:0 !important}.p-1{padding:0.25rem !important}.p-2{padding:0.5rem !important}.p-3{padding:0.75rem !important}.p-4{padding:1rem !important}.p-5{padding:1.25rem !important}.p-6{padding:1.5rem !important}.p-8{padding:2rem !important}.px-2{padding-left:0.5rem !important;padding-right:0.5rem !important}.px-3{padding-left:0.75rem !important;padding-right:0.75rem !important}.px-4{padding-left:1rem !important;padding-right:1rem !important}.px-6{padding-left:1.5rem !important;padding-right:1.5rem !important}.py-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-3{padding-top:0.75rem !important;padding-bottom:0.75rem !important}.py-4{padding-top:1rem !important;padding-bottom:1rem !important}.pl-2{padding-left:0.5rem !important}.pl-3{padding-left:0.75rem !important}.pl-4{padding-left:1rem !important}.pl-5{padding-left:1.25rem !important}.pl-6{padding-left:1.5rem !important}.pl-8{padding-left:2rem !important}.pl-12{padding-left:3rem !important}.pr-4{padding-right:1rem !important}.pr-6{padding-right:1.5rem !important}.m-0{margin:0 !important}.mt-1{margin-top:0.25rem !important}.mt-2{margin-top:0.5rem !important}.mt-3{margin-top:0.75rem !important}.mt-4{margin-top:1rem !important}.mt-6{margin-top:1.5rem !important}.mt-8{margin-top:2rem !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:0.25rem !important}.mb-2{margin-bottom:0.5rem !important}.mb-3{margin-bottom:0.75rem !important}.mb-4{margin-bottom:1rem !important}.mb-6{margin-bottom:1.5rem !important}.bg-white{background:#fff !important}.bg-light{background:#f8fafc !important}.bg-muted{background:#f1f5f9 !important}.bg-transparent{background:transparent !important}.border{border:1px solid var(--border-color)!important}.border-0{border:none !important}.border-top{border-top:1px solid var(--border-color)!important}.border-bottom{border-bottom:1px solid var(--border-color)!important}.rounded{border-radius:8px !important}.rounded-lg{border-radius:12px !important}.rounded-full{border-radius:9999px !important}.w-100{width:100% !important}.h-100{height:100% !important}.cursor-pointer{cursor:pointer !important}.text-deco-none{text-decoration:none !important}.pos-relative{position:relative !important}.pos-absolute{position:absolute !important}.ws-nowrap{white-space:nowrap !important}.page-description{font-size:0.9rem;color:var(--text-light);margin-top:0.25rem;max-width:800px}.btn-container{display:flex;flex-direction:column;align-items:center;gap:0.2rem}.btn-legend{font-size:0.7rem;color:#64748b;font-weight:500;text-align:center}.grad-materia-1{background:linear-gradient(135deg,var(--primary-color)0%,var(--secondary-color)100%)}.grad-materia-2{background:linear-gradient(135deg,var(--secondary-color)0%,var(--accent-color)100%)}.grad-materia-3{background:linear-gradient(135deg,var(--primary-color)0%,var(--accent-color)100%)}.course-card-gradient{border-radius:16px;padding:0.9rem 1rem;box-shadow:0 4px 10px rgba(0,0,0,0.1);display:flex;align-items:center;gap:0.75rem;color:white;text-decoration:none;border:none;position:relative;overflow:hidden}.course-card-gradient:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.15)}.icon-box-glass{background:rgba(255,255,255,0.2);width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-box-glass-sm{width:32px;height:32px;border-radius:8px}.icon-box-glass-lg{width:42px;height:42px;border-radius:12px}.deco-circle{position:absolute;border-radius:50%;pointer-events:none}.deco-circle-sm{width:80px;height:80px;background:rgba(255,255,255,0.08)}.deco-circle-md{width:150px;height:150px;background:rgba(255,255,255,0.05)}.deco-circle-lg{width:200px;height:200px;background:rgba(255,255,255,0.05)}.btn-quick-action{border:none;box-shadow:0 1px 3px rgba(0,0,0,0.08);border-radius:12px;padding:0.5rem 0.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;cursor:pointer;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s}.btn-quick-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.12)}.btn-quick-action .icon-wrapper{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.btn-quick-action .icon-wrapper.amber{background:#fffbeb;color:#d97706}.btn-quick-action .icon-wrapper.blue{background:#eff6ff;color:var(--secondary-color)}.btn-quick-action .icon-wrapper.green{background:#e6fffa;color:var(--accent-color)}.btn-quick-action .icon-wrapper.gray{background:#f8fafc;color:var(--secondary-color)}.btn-quick-action .label{font-size:0.75rem;font-weight:700;color:#64748b}.sticky-save-bar{position:sticky;bottom:1.5rem;z-index:100;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:16px;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);margin-top:1.5rem}.attd-cell{text-align:center;font-weight:700;font-size:0.85rem}.attd-p{color:#059669;background:#f0fdf4}.attd-a{color:#dc2626;background:#fff1f2}.attd-t{color:#d97706;background:#fffbeb}.attd-ra{color:#7e22ce;background:#f5f3ff}.alert-card-warning{background:#fffbeb;border:2px solid #fde68a;border-radius:18px;color:#92400e}.alert-card-danger{background:#fff1f2;border:2px solid #fda4af;border-radius:18px;color:#9f1239}.nico-hero{position:absolute;right:10px;bottom:-15px;width:150px;z-index:1;pointer-events:none}.nico-hero img{width:100%;height:auto;filter:drop-shadow(0 10px 15px rgba(0,0,0,0.3))}@media(max-width:768px){.nico-hero{display:none !important}}.alert-toggle summary::-webkit-details-marker{display:none}.alert-toggle summary{list-style:none;cursor:pointer}.alert-toggle summary:focus{outline:none}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%}.btn-hero{display:inline-flex;align-items:center;gap:8px;padding:0.75rem 1.5rem;border-radius:12px;font-weight:700;border:none;text-decoration:none;transition:all 0.2s}.btn-hero-amber{background:#fffbeb;color:#b45309 !important;border:1px solid #fde68a;backdrop-filter:blur(4px)}.btn-hero-amber:hover{background:#fef3c7;color:#78350f !important}.btn-hero-accent{background:var(--accent-color);color:white !important;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.btn-hero-accent:hover{opacity:0.9;color:white !important}.btn-hero-ghost{background:rgba(255,255,255,0.1);color:white !important;border:1px solid rgba(255,255,255,0.2)}.btn-hero-ghost:hover{background:rgba(255,255,255,0.2);color:white !important}.form-section-danger{margin-bottom:1.5rem;background:#fff1f2;padding:1rem;border-radius:8px;border:1px solid #fee2e2}.form-section-purple{background:#faf5ff;padding:1rem;border-radius:8px;border:1px solid #e9d5ff}.form-section-purple >:first-child{color:#7e22ce}.form-section-blue{background:#f0f9ff;padding:1rem;border-radius:8px;border:1px solid #bae6fd}.form-section-blue >:first-child{color:#0369a1}.btn-rite-action{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.btn-rite-action:hover{background:#fef3c7;color:#b45309;border-color:#fcd34d}.legend-box{background:white;padding:0.75rem 1.25rem;border-radius:12px;border:1px solid #e2e8f0;display:flex;gap:1.5rem;font-size:0.75rem;align-items:center}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.btn-icon-table{width:40px;height:40px;border-radius:10px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-whatsapp-sm{background:#25d366;color:white;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 6px rgba(37,211,102,0.2);text-decoration:none}.btn-whatsapp-sm:hover{background:#1da851;color:white}.text-check{color:var(--check-color)}.materia-card-link{text-decoration:none;display:block}.materia-card-link .card{border-bottom:4px solid var(--primary-color)!important;transition:all 0.3s ease}.materia-card-link:hover .card{transform:translateY(-10px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)!important;border-bottom-color:var(--secondary-color)!important}.font-btn{flex:1;padding:3px;border:1px solid #e2e8f0;border-radius:4px;background:white;font-size:11px;font-weight:bold;height:30px;cursor:pointer}.form-label{font-weight:700;font-size:0.9rem;margin-bottom:0.5rem;display:block}.input-rounded{border-radius:12px;padding:0.75rem;border:1px solid #e2e8f0;width:100%}.flex-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-close-round{background:#f1f5f9;border-radius:50%;width:32px;height:32px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#64748b;transition:background 0.2s}.btn-close-round:hover{background:#e2e8f0}.btn-icon-table{padding:0.4rem;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.hero-header{background:linear-gradient(135deg,var(--primary-color)0%,var(--secondary-color)100%);margin:-1.5rem -2rem 2rem -2rem;padding:2.5rem 2rem 3.5rem 2rem;color:white;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-header-rounded{border-radius:0 0 30px 30px}.hero-header-flush{margin-bottom:0}.hero-header-compact{padding:3rem 2rem;text-align:center}.hero-header-archived{background:linear-gradient(135deg,#475569 0%,#1e293b 100%)!important}.hero-header-inline{border-radius:20px;padding:1.5rem 2rem;margin:1rem 0 2rem 0;display:flex;align-items:center;justify-content:space-between}.hero-header h1{margin:0;font-size:2.2rem;font-weight:800;color:white;letter-spacing:-0.5px}.hero-header a{color:rgba(255,255,255,0.8)}.hero-header a:hover{color:white}.hero-header a.btn-light,.hero-header .btn-light{color:var(--primary-color)!important}.hero-header a.btn-light:hover,.hero-header .btn-light:hover{color:var(--primary-hover)!important}.hero-header-content{padding-right:140px}@media(max-width:768px){.hero-header-content{padding-right:0 !important}}.table-header th{background:#f8fafc;font-weight:600;color:var(--text-light);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;padding:1rem;text-align:left}.table-header th:first-child{padding-left:1.5rem}.table-header th:last-child{padding-right:1.5rem}.stat-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card-clickable{cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;border:none;box-shadow:0 4px 6px -1px rgba(0,0,0,0.05)}.stat-card-clickable:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1)}.course-card-link{text-decoration:none;border-radius:20px;padding:2rem;display:flex;align-items:center;justify-content:space-between;overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;flex-direction:row !important}.course-card-link:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.15)}.consent-card{background:#fffbeb;padding:1rem;border-radius:12px;border:1px solid #fde68a}.consent-label{display:flex;align-items:flex-start;gap:0.75rem;font-weight:500;cursor:pointer;color:#92400e;font-size:0.85rem}.checkbox-auto{width:auto;margin:0}.badge-recursa{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.flag-badge{display:inline-block;font-size:0.65rem;padding:1px 6px;border-radius:4px;vertical-align:middle}.flag-badge-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.flag-badge-error{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.alert-success-box{background:#dcfce7;color:#166534;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.card-form{border:1px solid var(--primary-color);border-radius:16px;box-shadow:var(--shadow)}.grid-2-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.grid-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.sidebar{width:280px;background:#ffffff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:1000;transition:width 0.3s cubic-bezier(0.4,0,0.2,1)}.sidebar.collapsed{width:70px;min-width:70px}.sidebar.collapsed .sidebar-header .sidebar-title,.sidebar.collapsed .sidebar-nav .sidebar-link span,.sidebar.collapsed .sidebar-nav .course-title span,.sidebar.collapsed .sidebar-nav .course-title .chevron,.sidebar.collapsed .font-size-ctrl,.sidebar.collapsed .sidebar-nav .module-label{display:none !important}.sidebar.collapsed .sidebar-nav .sidebar-link,.sidebar.collapsed .sidebar-nav .course-title{justify-content:center;padding:0.75rem 0 !important}.sidebar.collapsed .sidebar-nav i{margin:0 !important;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sidebar.collapsed .course-group .course-items{display:none}.sidebar.collapsed .desktop-toggle-row{justify-content:center !important;margin-right:0 !important}.sidebar-header{padding:1.5rem 2rem;border-bottom:1px solid #f1f5f9}.mobile-close-btn{display:none}.sidebar-nav{flex-grow:1;overflow-y:auto;padding:1rem 0}.sidebar-section{margin-top:1rem;border-top:1px solid #f1f5f9;padding-top:1rem}.sidebar-section-lg{margin-top:1.5rem;border-top:1px solid #f1f5f9;padding-top:1rem}.module-label{color:#94a3b8;font-size:0.7rem;text-transform:uppercase;font-weight:700;margin-bottom:0.5rem;padding-left:1rem}.module-label-sm{color:#94a3b8;font-size:0.65rem;text-transform:uppercase;font-weight:800;margin-bottom:0.5rem;padding-left:1rem;letter-spacing:0.05em}.sidebar-link-materia{padding-left:3rem;font-size:0.8rem;padding-top:0.4rem;padding-bottom:0.4rem}.sidebar-link{padding:0.75rem 1.5rem;display:flex;align-items:center;gap:0.75rem;color:#475569;text-decoration:none;font-size:0.9rem;transition:all 0.2s;border-left:3px solid transparent;overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{background:#f8fafc;color:var(--primary-color)}.sidebar-link.active{background:#eef2ff;color:var(--primary-color);border-left-color:var(--primary-color);font-weight:600}.sidebar-link i,.course-title i{width:20px;height:20px;min-width:20px;display:flex;align-items:center;justify-content:center}.course-group{margin-bottom:0.5rem}.course-title{padding:0.75rem 2rem;font-size:0.9rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:0.75rem;justify-content:space-between;cursor:pointer;transition:all 0.2s;border-left:3px solid transparent;line-height:normal}.course-title span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-title:hover{background:#f8fafc;color:var(--primary-color)}.course-title .chevron{transition:transform 0.3s ease}.course-group.collapsed .chevron{transform:rotate(-90deg)}.course-items{max-height:1000px;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1)}.course-group.collapsed .course-items{max-height:0}.main-content{flex:1;min-width:0;padding:1.5rem 2rem;overflow-y:auto;background:var(--bg-color)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.card{background:#ffffff;padding:2rem;border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow);transition:transform 0.3s ease,box-shadow 0.3s ease}.card.border-primary:not(.border-start),.card.border-secondary:not(.border-start),.card.border-info:not(.border-start),.card.border-success:not(.border-start),.card.border-warning:not(.border-start),.card.border-danger:not(.border-start){border:1px solid var(--border-color)!important}.card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.3s ease;border:none;gap:0.5rem;font-size:0.95rem;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:white}.btn-primary:hover{background-color:var(--primary-hover)}.btn-success{background-color:var(--success);color:white}.btn-success:hover{background-color:var(--success-hover)}.btn-danger{background-color:var(--danger);color:white}.btn-danger:hover{background-color:var(--danger-hover)}.btn-warning{background-color:var(--warning);color:white}.btn-warning:hover{background-color:var(--warning-hover)}.btn-secondary{background-color:#ffffff;color:var(--slate);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#f1f5f9;color:var(--text-color)}.btn-icon{padding:0.5rem;min-width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b;border:1px solid transparent;transition:all 0.2s}.btn-icon:hover{background:#e2e8f0;color:var(--primary-color);border-color:var(--border-color)}.btn-back{display:inline-flex;align-items:center;gap:0.5rem;background:transparent;color:var(--text-light);padding:0.5rem 0;font-size:0.9rem;text-decoration:none;font-weight:500;border:none;cursor:pointer}.btn-back:hover{color:var(--primary-color)}.icon-sm{width:14px;height:14px}.icon-md{width:18px;height:18px}.icon-lg{width:24px;height:24px}.form-group{margin-bottom:1.25rem}label{display:block;margin-bottom:0.5rem;font-size:0.875rem;font-weight:600;color:var(--text-light)}input,select,textarea{width:100%;padding:0.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color 0.3s ease,box-shadow 0.3s ease;background:#ffffff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(79,70,229,0.1)}.table-container{overflow-x:auto;background:white;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:600;color:var(--text-light);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;background:#f8fafc}tbody tr:hover{background-color:#f1f5f9}.table-container table tbody tr:nth-child(even)td,table.zebra tbody tr:nth-child(even)td,.table-zebra tbody tr:nth-child(even)td,.responsive-table tbody tr:nth-child(even)td{background-image:linear-gradient(rgba(0,0,0,0.025),rgba(0,0,0,0.025))}.table-container table tbody tr:hover td,table.zebra tbody tr:hover td,.table-zebra tbody tr:hover td,.responsive-table tbody tr:hover td{background-image:linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05))!important}.table-container table td.sticky-col,table.zebra td.sticky-col,.table-zebra td.sticky-col,.responsive-table td.sticky-col{background-image:none}.table-container table tr:nth-child(even)td.sticky-col,table.zebra tr:nth-child(even)td.sticky-col,.table-zebra tr:nth-child(even)td.sticky-col,.responsive-table tr:nth-child(even)td.sticky-col{background-image:linear-gradient(rgba(0,0,0,0.025),rgba(0,0,0,0.025))}.sticky-col{position:sticky;left:0;background-color:#ffffff;z-index:20;border-right:2px solid #e2e8f0;box-shadow:5px 0 5px -3px rgba(0,0,0,0.1)}.zebra tbody tr:nth-child(even).sticky-col{background-color:#f8fafc !important}.zebra tbody tr:hover .sticky-col{background-color:#f1f5f9 !important}th.sticky-col{background-color:#f1f5f9;z-index:11}@media(max-width:768px){.table-container{border-radius:0;margin:0 -1.5rem;box-shadow:none;overflow-x:auto;-webkit-overflow-scrolling:touch}th:first-child,td:first-child{padding-left:2.5rem !important}}.badge{padding:0.25rem 0.6rem;border-radius:9999px;font-size:0.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.badge-success{background:#dcfce7;color:#15803d}.badge-danger{background:#fef2f2;color:#b91c1c}.badge-warning{background:#fef9c3;color:#854d0e}.badge-info{background:#eff6ff;color:#1d4ed8}.badge-admin{background:#ede9fe;color:#6d28d9}.badge-user{background:#f1f5f9;color:#475569}.page-header{margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}.page-header h2{margin:0;font-size:1.75rem;font-weight:800;color:var(--text-color)}.page-header p{color:var(--text-light);margin:0.25rem 0 0}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn 0.3s ease-out forwards}@keyframes slideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.obs-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.7);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:2000;padding:2rem}.obs-modal{background:white;padding:2.5rem;border-radius:20px;width:100%;max-width:500px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);position:relative;animation:slideDown 0.3s ease-out}.obs-modal h3{margin-bottom:1.5rem;color:var(--primary-color);display:flex;align-items:center;gap:0.75rem}.btn-close{margin-top:1.5rem;padding:0.6rem 1.25rem;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-weight:600;cursor:pointer;width:100%;transition:all 0.2s}.btn-close:hover{background:#e2e8f0;color:var(--text-color)}.inline-form-container{display:none;background:#ffffff;padding:3rem;border-radius:20px;border:1px solid var(--border-color);box-shadow:0 20px 25px -5px rgba(0,0,0,0.05);animation:slideDown 0.3s ease-out;margin-bottom:2rem;position:relative;overflow:hidden}.inline-form-container::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color)}#sidebar-toggle{display:none;position:fixed;bottom:24px;right:24px;z-index:1001;background:var(--primary-color);color:white;border:none;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 15px rgba(79,70,229,0.4);cursor:pointer}@media(max-width:768px){body{flex-direction:column}.sidebar{position:fixed;left:-280px;transition:left 0.3s ease}.sidebar.active{left:0}.main-content{padding:1.5rem;width:100%}#sidebar-toggle{display:block;bottom:90px !important}.mobile-close-btn{display:block;position:absolute;top:1rem;right:1rem}.table-container{border-radius:0;margin:0 -1.5rem;box-shadow:none}}.stat-card{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;height:100%}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon i{width:24px;height:24px}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:0.8rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:0.025em;margin-bottom:0.25rem}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-color);line-height:1}.animate-up{transition:transform 0.3s ease,box-shadow 0.3s ease}.animate-up:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.user-name{font-weight:600;color:#1e293b}.user-email{font-size:0.85rem;color:#64748b}.inline-form-row td{padding:2rem !important;background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:2px solid #cbd5e1}.inline-form-container .form-title{margin-top:0;margin-bottom:2rem;color:var(--primary-color);font-weight:800;display:flex;align-items:center;gap:0.5rem;font-size:1.1rem}.form-actions{margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.alumnos-global-card{padding:0;overflow:hidden}.alumno-contacto{font-size:0.85rem;color:#475569;display:flex;align-items:center;gap:0.5rem;justify-content:flex-end}.exceso-alert{display:inline-flex;align-items:center;gap:0.25rem;background:#fee2e2;color:#991b1b;font-size:0.65rem;padding:1px 6px;border-radius:4px;border:1px solid #fecaca;font-weight:700}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.subscription-container{max-width:900px;margin:0 auto;padding:2rem}.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.subscription-card{background:white;border-radius:16px;padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;transition:transform 0.2s}.subscription-card:hover{transform:translateY(-5px)}.subscription-card.featured{border:2px solid var(--primary-color);position:relative}.subscription-card .price{font-size:2.5rem;font-weight:800;margin:1rem 0;color:var(--text-color)}.subscription-card .price span{font-size:1rem;color:var(--text-light);font-weight:400}.subscription-features{list-style:none;padding:0;margin:1.5rem 0;flex-grow:1}.subscription-features li{padding:0.5rem 0;display:flex;align-items:center;gap:0.75rem;font-size:0.95rem}.contact-card{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:white;padding:2rem;border-radius:16px;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-info h3{color:white;margin-bottom:0.5rem}.contact-info p{color:#cbd5e1;margin:0}@media(max-width:768px){.contact-card{flex-direction:column;text-align:center}}.rich-content{line-height:1.6;color:var(--text-color);font-size:1rem}.rich-content p{margin-bottom:1rem}.rich-content ul,.rich-content ol{margin-bottom:1rem;padding-left:2rem}.rich-content ul{list-style-type:disc !important}.rich-content ol{list-style-type:decimal !important}.rich-content li{margin-bottom:0.5rem}.rich-content h1,.rich-content h2,.rich-content h3,.rich-content h4,.rich-content h5,.rich-content h6{margin-top:1.5rem;margin-bottom:0.75rem;font-weight:700;line-height:1.2;color:var(--text-color)}.rich-content strong{font-weight:700}.rich-content em{font-style:italic}.rich-content blockquote{border-left:4px solid var(--border-color);padding-left:1rem;margin-left:0;margin-bottom:1rem;font-style:italic;color:var(--text-light)}.rich-content table{width:100% !important;border-collapse:collapse;margin-bottom:1rem}.rich-content table td,.rich-content table th{border:1px solid var(--border-color)!important;padding:0.5rem !important}.rich-content img{max-width:100%;height:auto}.app-footer{margin:3rem -2rem -1.5rem -2rem;padding:2rem 2rem 1.5rem;border-top:1px solid #e2e8f0;text-align:center;color:#94a3b8;font-size:0.8rem;background:#f8fafc}@media print{.no-print{display:none !important}body{background:white !important}.card{border:none !important;box-shadow:none !important;padding:0 !important}}.pagination{display:flex;justify-content:center;gap:0.5rem;padding:1rem 0;align-items:center;flex-wrap:wrap}.pagination a{text-decoration:none}.html2pdf__page-break{display:block;height:0;page-break-after:always}.pdf-avoid-break{page-break-inside:avoid !important;break-inside:avoid !important}.tp-rich-content{background:white !important;color:black !important;width:100% !important;max-width:100% !important;overflow:visible !important;height:auto !important}.tp-rich-content *{max-width:100% !important;overflow:visible !important}.pdf-export-container{width:800px !important;max-width:800px !important;margin:0 auto !important;background:white !important;padding:2.5rem !important;box-shadow:none !important;border:none !important;overflow:visible !important}@media(max-width:800px){.pdf-export-container{width:100% !important}}.btn-check:checked + .btn-outline-success{background-color:#e6f4ea !important;border-color:#a3cfbb !important;color:#146c43 !important;font-weight:700 !important}.btn-check:checked + .btn-outline-danger{background-color:#fce8e6 !important;border-color:#f1aeb5 !important;color:#b02a37 !important;font-weight:700 !important}.btn-check:checked + .btn-outline-warning{background-color:#fef7e0 !important;border-color:#ffe69c !important;color:#997404 !important;font-weight:700 !important}.card-alert-info{background:#e0f2fe !important;border:1px solid #bae6fd !important;color:#0369a1 !important;border-radius:var(--radius)!important;padding:1rem !important;display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.75rem !important;box-shadow:var(--shadow)!important}.card-alert-warning{background:#fffbeb !important;border:1px solid #fef3c7 !important;color:#b45309 !important;border-radius:var(--radius)!important;padding:1rem !important;display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.75rem !important;box-shadow:var(--shadow)!important}.card-alert-success{background:#f0fdf4 !important;border:1px solid #dcfce7 !important;color:#166534 !important;border-radius:var(--radius)!important;padding:1rem !important;display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.75rem !important;box-shadow:var(--shadow)!important}.card-alert-danger{background:#fef2f2 !important;border:1px solid #fee2e2 !important;color:#991b1b !important;border-radius:var(--radius)!important;padding:1rem !important;display:flex !important;flex-direction:row !important;align-items:center !important;gap:0.75rem !important;box-shadow:var(--shadow)!important}/* PTA-Deploy-Force-Sync-2026-08-07 */
/* Sidebar Collapse Fixes & Modern Styling Overrides */
.sidebar {
    overflow: visible !important;
    z-index: 1030 !important;
}
.sidebar-nav {
    overflow-x: hidden !important;
}
/* Sleek custom scrollbars for sidebar menu to prevent icon misalignment */
.sidebar-nav::-webkit-scrollbar {
    width: 4px !important;
}
.sidebar-nav::-webkit-scrollbar-track {
    background: transparent !important;
}
.sidebar-nav::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}
.sidebar-nav::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

/* Floating Desktop Toggle Button */
.desktop-toggle-btn {
    position: absolute !important;
    top: 1.5rem !important;
    right: -15px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 1px solid var(--border-color) !important;
    background: #ffffff !important;
    color: #64748b !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 1001 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 0 !important;
}
.desktop-toggle-btn:hover {
    background: var(--bg-color) !important;
    color: var(--primary-color) !important;
    transform: scale(1.1) !important;
}

/* Collapsed Sidebar Layout Adjustment */
.sidebar.collapsed .sidebar-header {
    padding: 1.5rem 0.5rem !important;
}

/* Logo Switching */
.logo-collapsed {
    display: none !important;
}
.sidebar.collapsed .logo-expanded {
    display: none !important;
}
.sidebar.collapsed .logo-collapsed {
    display: block !important;
}

/* Version & Connection status in Collapsed Sidebar */
.sidebar-status {
    flex-direction: row;
    justify-content: center;
    width: 100%;
}
.sidebar.collapsed .sidebar-status {
    flex-direction: column !important;
    gap: 0.25rem !important;
}
.sidebar.collapsed .sidebar-status .conn-text {
    display: none !important;
}

/* Centering collapsed sidebar items & handling dropdown menu icons */
.sidebar.collapsed .sidebar-nav .sidebar-link,
.sidebar.collapsed .sidebar-nav .course-title {
    justify-content: center !important;
    padding: 0.75rem 0 !important;
}
.sidebar.collapsed .sidebar-nav .sidebar-link div {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
}
.sidebar.collapsed .sidebar-nav .sidebar-link .chevron {
    display: none !important;
}

/* Hide other text contents in collapsed sidebar */
.sidebar.collapsed .sidebar-nav .module-label-sm,
.sidebar.collapsed .sidebar-footer-links {
    display: none !important;
}
