body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing-root{align-items:center;background:#000069;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:0 20px;width:100vw}.landing-header{margin-bottom:1.2rem;text-align:center}.landing-logo{margin-bottom:1rem;width:110px}.landing-title{color:#f2d919;font-size:3rem;font-weight:800;letter-spacing:3px;margin:0;text-shadow:0 2px 10px #0000002e}.landing-subtitle{color:#fff;font-size:1.15rem;letter-spacing:1px;margin-bottom:1.5rem;margin-top:.3rem}.landing-buttons{flex-direction:column;gap:1.2rem}.landing-btn,.landing-buttons{align-items:center;display:flex;max-width:520px;width:100%}.landing-btn{background:#fff;border:none;border-radius:50px;box-shadow:0 10px 30px #0003;color:#0b1a4a;cursor:pointer;font-size:1.4rem;font-weight:700;justify-content:flex-start;min-height:95px;overflow:hidden;padding:1.5rem 2.5rem 1.5rem 6.5rem;position:relative;transition:transform .12s ease,box-shadow .12s ease}.landing-btn:hover{background:#f2d919;box-shadow:0 15px 40px #0000004d;transform:translateY(-3px)}.landing-btn-icon-wrap{align-items:center;display:flex;height:70px;justify-content:center;left:20px;position:absolute;width:70px}.landing-btn-icon{height:65px;object-fit:contain;width:65px}.landing-btn-text{color:#0b1a4a;font-size:1.4rem;font-weight:700;margin-left:0;text-align:left}.landing-footer{color:#fff;font-size:1rem;letter-spacing:1px;margin-top:2rem;opacity:.85;text-align:center}.landing-footer a{color:#fff;text-decoration:none}.landing-footer a:hover{opacity:.7}.landing-signup-link{color:#f2d919;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;margin-top:-.25rem;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.landing-signup-link:hover{opacity:.8}.landing-schedules-link{align-items:center;background:#0000;border:1.5px solid #fff6;border-radius:999px;color:#ffffffd9;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;letter-spacing:.4px;margin-top:-.1rem;padding:8px 22px;transition:border-color .2s,color .2s,background .2s}.landing-schedules-link:hover{background:#f2d9190f;border-color:#f2d919;color:#f2d919}@media (max-width:900px){.landing-title{font-size:2.6rem}.landing-btn{font-size:1.2rem;min-height:75px;padding:1.2rem 2rem 1.2rem 5.5rem}.landing-btn-icon-wrap{height:48px;left:18px;width:48px}.landing-btn-icon{height:42px;width:42px}}@media (max-width:480px){.landing-title{font-size:2rem}.landing-btn{font-size:1rem;min-height:70px;padding:1rem 1.5rem 1rem 5rem}.landing-btn-icon-wrap{height:40px;left:15px;width:40px}.landing-btn-icon{height:35px;width:35px}}.login-root{align-items:center;background:#000069;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#f5f5f5;border-radius:25px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:2.5rem 3rem;position:relative;width:100%}.login-back-button{align-items:center;background:#0000;border:2.5px solid #000069;border-radius:50px;color:#000069;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:.4rem;left:2.5rem;padding:.6rem 1.25rem;position:absolute;top:2rem;transition:all .2s ease}.login-back-button:hover{background:#000069;color:#fff}.login-header{margin-bottom:1.5rem;margin-top:1.5rem;text-align:center}.login-logo{filter:drop-shadow(0 4px 10px rgba(0,0,0,.1));margin-bottom:1.25rem;width:100px}.login-title{color:#000069;font-size:2rem;font-weight:800;letter-spacing:1px;margin:0 0 .4rem}.login-subtitle{color:#666;font-size:.9rem;margin:0 0 1.5rem}.login-form{gap:1.25rem}.login-form,.login-form-group{display:flex;flex-direction:column}.login-form-group{gap:.5rem}.login-form-label{color:#000069;font-size:.95rem;font-weight:700;margin-bottom:.25rem}.login-form-input{border:2px solid #ddd;border-radius:10px;box-sizing:border-box;color:#333;font-size:.95rem;padding:.875rem 1.125rem;transition:border-color .2s ease;width:100%}.login-form-input::placeholder{color:#999}.login-form-input:focus{border-color:#000069;outline:none}.login-error{background:#fee2e2;border-radius:8px;color:#dc2626;font-size:.9rem;font-weight:600;margin-top:-.5rem;padding:.75rem;text-align:center}.login-submit-button{background:#000069;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:2px;margin-top:.75rem;padding:1rem;transition:all .2s ease;width:100%}.login-submit-button:hover:not(:disabled){background:#005;box-shadow:0 8px 20px #0000694d;transform:translateY(-2px)}.login-submit-button:disabled{cursor:not-allowed;opacity:.6}.login-forgot-password{display:flex;gap:1.5rem;justify-content:center;margin-top:1.25rem}.login-forgot-password a{color:#000069;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .2s ease}.login-forgot-password a:hover{opacity:.7}.login-footer{border-top:1px solid #ddd;color:#999;font-size:.8rem;margin-top:1.5rem;padding-top:1.25rem;text-align:center}.login-footer a{color:#000069;font-weight:600;text-decoration:none}.login-footer a:hover{opacity:.7}@media (max-width:768px){.login-container{border-radius:20px;padding:2.5rem 2rem}.login-back-button{font-size:.9rem;left:1.5rem;padding:.6rem 1.2rem;top:1.5rem}.login-logo{width:100px}.login-title{font-size:2rem}.login-subtitle{font-size:.9rem}.login-form-input{padding:.875rem 1rem}.login-submit-button{font-size:1.1rem;padding:1rem}}@media (max-width:480px){.login-container{padding:2rem 1.5rem}.login-back-button{font-size:.85rem;margin-bottom:1rem;padding:.6rem 1rem;position:static}.login-header{margin-top:1rem}.login-logo{width:80px}.login-title{font-size:1.75rem}}.login-divider{align-items:center;color:#666;display:flex;font-size:.9rem;font-weight:500;margin:1.5rem 0 1rem;text-align:center}.login-divider:after,.login-divider:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.login-divider span{padding:0 1rem}.google-login-wrapper{display:flex;justify-content:center;margin-bottom:1rem;width:100%}.google-login-wrapper iframe,.google-login-wrapper>div{width:100%!important}.dashboard-container{background:#f5f7fa;display:flex;min-height:100vh}.sidebar{background:#000069!important;color:#fff;display:flex!important;flex-direction:column;flex-shrink:0;left:0;overflow:hidden;position:relative;width:260px;z-index:100}.sidebar-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:2rem;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:40px}.sidebar-close:hover{background:#ffffff1a;color:var(--pntc-gold)}.sidebar-header{align-items:center;background:#000069!important;border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;gap:1rem;padding:2rem 1.5rem}.sidebar-logo{cursor:pointer;height:auto;transition:transform .3s ease,opacity .3s ease;width:140px}.sidebar-logo:hover{opacity:.9;transform:scale(1.05)}.user-type{color:#ffffffb3;font-size:.75rem;letter-spacing:1px;margin:0;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-x:hidden;overflow-y:auto;padding:1.5rem 0}.sidebar-nav::-webkit-scrollbar{display:none;width:0}.sidebar-nav{-ms-overflow-style:none;scrollbar-width:none}.sidebar-nav a,.sidebar-nav button{background:#0000;border:none;border-left:4px solid #0000;box-sizing:border-box;color:#fffc;cursor:pointer;display:block;font-size:1rem;padding:1rem 1.5rem;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.sidebar-nav a:hover,.sidebar-nav button:hover{background:#ffffff1a;border-left-color:#f2d919;color:#fff}.sidebar-nav a.active,.sidebar-nav button.active{background:#ffffff26;border-left-color:#f2d919;color:#f2d919;font-weight:600}.menu-with-submenu{align-items:center;display:flex;padding-right:3.25rem!important;position:relative;width:100%}.submenu-arrow{font-size:.75rem;margin-left:0;position:absolute;right:1.5rem;top:50%;transition:transform .3s ease}.menu-with-submenu.expanded .submenu-arrow,.submenu-arrow{transform:translateY(-50%)}.submenu{background:#0003;display:flex;flex-direction:column;margin:0;padding:0}.submenu a,.submenu button{border-left:4px solid #0000!important;font-size:.95rem;padding:.75rem 1.5rem .75rem 2.5rem!important}.submenu a:hover,.submenu button:hover{background:#ffffff26;border-left-color:#f2d919!important}.submenu a.active,.submenu button.active{background:#ffffff26!important;border-left-color:#f2d919!important;color:#f2d919!important;font-weight:500}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1.5rem}.logout-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.logout-btn:hover{background:#f003;border-color:#f006}.sidebar-overlay{background:#00000080;display:none;inset:0;position:fixed;z-index:999}.hamburger-menu{align-items:center;background:#000069;border:2px solid #000069;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:none;flex-direction:column;gap:5px;height:50px;justify-content:center;left:1rem;padding:0;position:fixed;top:1rem;transition:all .3s ease;width:50px;z-index:1001}.hamburger-menu:hover{background:#00004d;border-color:#00004d;transform:scale(1.05)}.hamburger-menu span{background:#fff;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:25px}.dashboard-main{display:flex;flex:1 1;flex-direction:column}.dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:2rem 3rem}.dashboard-header h1{color:var(--pntc-blue);font-size:2rem;font-weight:700;margin:0}.dashboard-subtitle{color:#6b7280;font-size:1rem;margin:.5rem 0 0}.help-center-btn{align-items:center;background:#0000;border:2px solid #000069;border-radius:8px;color:#000069;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.help-center-btn:hover{background:#000069;color:#fff}.help-center-btn svg{height:20px;width:20px}.header-actions,.notification-btn{align-items:center}.notification-btn{background:#fff;border:2px solid #000069;border-radius:50%;color:#000069;cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;transition:all .2s ease;width:44px}.notification-btn:hover{background:#000069;color:#fff}.notification-btn svg{height:20px;width:20px}.notification-badge{align-items:center;background:#dc2626;border:2px solid #fff;border-radius:10px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-4px;top:-4px}.header-icons-container{align-items:center;display:flex;gap:1rem}.help-center-label{color:var(--pntc-blue);font-size:1rem;font-weight:500}.icon-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;color:var(--pntc-blue);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .3s ease;width:44px}.icon-btn:hover{background:#f9fafb;border-color:var(--pntc-blue);transform:scale(1.05)}.icon-btn svg{height:22px;width:22px}.profile-dropdown-container{position:relative}.profile-avatar-btn{align-items:center;background:#fff;border:2px solid #000069;border-radius:50%;cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;padding:0;transition:all .3s ease;width:44px}.profile-avatar-btn:hover{transform:scale(1.05)}.profile-avatar-btn .profile-avatar{border:none;box-shadow:none;height:100%;width:100%}.profile-trigger:hover{background:#f9fafb;border-color:var(--pntc-blue)}.profile-avatar{align-items:center;background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:40px;justify-content:center;width:40px}.profile-avatar img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.profile-avatar-large{align-items:center;background:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#fff;display:flex;font-size:1.3rem;font-weight:600;height:60px;justify-content:center;width:60px}.profile-avatar-large img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.profile-name{color:var(--pntc-blue);font-size:.95rem;font-weight:500}.dropdown-arrow{color:#6b7280;font-size:.75rem;transition:transform .3s ease}.profile-trigger:hover .dropdown-arrow{transform:translateY(2px)}.profile-dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + .75rem);z-index:1000}.profile-dropdown-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1.5rem}.profile-user-info{flex:1 1}.profile-user-name{color:var(--pntc-blue);font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.profile-user-type{color:#6b7280;font-size:.85rem;text-transform:capitalize}.profile-dropdown-divider{background:#e5e7eb;height:1px;margin:0}.profile-dropdown-menu button{background:#fff;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-size:.95rem;padding:.875rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.profile-dropdown-menu button:last-child{border-bottom:none}.profile-dropdown-menu button:hover{background:var(--pntc-blue);color:#fff}.dashboard-content{flex:1 1;padding:2rem 3rem}.content-page{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin:0;max-width:100%;padding:2.5rem}.content-page h2{border-bottom:2px solid #f3f4f6;font-size:1.75rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:1rem}.content-page p{color:#374151;line-height:1.6;margin:0}.content-page h3{color:#000069;font-size:1.25rem;font-weight:600;margin:2rem 0 1rem}.content-page ol,.content-page ul{color:#374151;line-height:1.8;margin:1rem 0;padding-left:2rem}.content-page a{color:#000069;font-weight:500;text-decoration:none}.content-page a:hover{text-decoration:underline}.content-page h4{color:#1e293b;font-size:1.05rem;font-weight:600;margin:1.25rem 0 .5rem 1rem}.guidelines-page ol,.guidelines-page p,.guidelines-page ul{color:#000}.guidelines-page h3{background:#f5f6ff;border-left:4px solid #000069;border-radius:0 8px 8px 0;margin:2rem 0 1rem;padding:10px 14px}.guidelines-page h4{background:#eef0fb;border-radius:20px;color:#000069!important;display:inline-block;font-size:.85rem!important;font-weight:600;margin:1rem 0 .5rem!important;padding:4px 14px}.guidelines-page ul{list-style-type:disc}.guidelines-page ul li{margin-bottom:4px}@media (max-width:768px){.hamburger-menu{display:flex}.sidebar{height:100vh;left:-260px!important;position:fixed!important;top:0;transition:left .3s ease;z-index:1000}.sidebar.show{left:0!important}.sidebar-close{display:flex}.sidebar-overlay{display:block}.dashboard-main{width:100%}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:4rem 1rem 1rem}.dashboard-header h1{font-size:1.25rem}.dashboard-subtitle{font-size:.875rem}.header-content{width:100%}.header-icons-container{justify-content:flex-end;width:100%}.profile-dropdown-container{position:relative}.profile-trigger{justify-content:space-between;width:auto}.profile-dropdown-menu{left:auto;min-width:280px;right:0}.dashboard-content{padding:1rem}}@media (min-width:769px){.sidebar{display:flex!important;left:0!important;position:relative!important}.hamburger-menu,.sidebar-close{display:none!important}}.imtp-dashboard{gap:2rem}.imtp-alert-stack,.imtp-dashboard{display:flex;flex-direction:column}.imtp-alert-stack{gap:.75rem}.imtp-attendance-alert{background:#fef2f2;border:1px solid #fecaca;border-left:5px solid #dc2626;border-radius:10px;color:#991b1b;cursor:pointer;padding:.8rem .95rem;text-align:left;transition:box-shadow .15s ease,transform .15s ease;width:100%}.imtp-attendance-alert:hover{box-shadow:0 4px 14px #dc26263d;transform:translateY(-1px)}.imtp-stats-row{display:flex;flex-wrap:wrap;gap:1rem}.imtp-stat-card{align-items:center;background:#fff;border-left:4px solid #000069;border-radius:12px;box-shadow:0 2px 8px #00000012;display:flex;flex:1 1;gap:1rem;min-width:160px;padding:1.25rem 1.5rem}.imtp-stat-card.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.imtp-stat-card.clickable:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-2px)}.imtp-stat-card.assessor{border-left-color:#0e7490}.imtp-stat-card.calendar{border-left-color:#098034;transition:box-shadow .15s,transform .15s}.imtp-stat-card.calendar:hover{box-shadow:0 4px 14px #0980342e;transform:translateY(-2px)}.imtp-stat-card.assessor .imtp-stat-icon{background:#0e749014}.imtp-stat-card.calendar .imtp-stat-icon{background:#09803414}.imtp-stat-card.practical .imtp-stat-icon{background:#b4530914}.imtp-stat-card.practical-assessment .imtp-stat-icon{background:#7c3aed14}.imtp-stat-card.practical{border-left-color:#b45309}.imtp-stat-card.practical-assessment{border-left-color:#7c3aed}.imtp-stat-count.practical{color:#b45309}.imtp-stat-count.practical-assessment{color:#7c3aed}.imtp-stat-icon{align-items:center;background:#0000690f;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.imtp-stat-info{display:flex;flex-direction:column}.imtp-stat-count{color:#000069;font-size:1.75rem;font-weight:700;line-height:1}.imtp-stat-card.assessor .imtp-stat-count{color:#0e7490}.imtp-stat-label{color:#6b7280;font-size:.78rem;letter-spacing:.4px;margin-top:2px;text-transform:uppercase}.imtp-section{display:flex;flex-direction:column;gap:1rem}.imtp-section-header{align-items:center;display:flex;gap:.75rem}.imtp-section-title{color:#000069;font-size:1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.imtp-section-title.assessor{color:#0e7490}.imtp-section-count{background:#e0e7ff;border-radius:99px;color:#000069;font-size:.75rem;font-weight:600;padding:2px 8px}.imtp-section-count.assessor{background:#cffafe;color:#0e7490}.imtp-schedule-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.imtp-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #00000012;overflow:hidden;transition:box-shadow .15s}.imtp-card:hover{box-shadow:0 4px 16px #0000691a}.imtp-card-top{border-bottom:1px solid #f3f4f6;padding:1rem 1.1rem .75rem}.imtp-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.imtp-badge-status{border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase}.imtp-badge-status.ongoing{background:#dcfce7;color:#15803d}.imtp-badge-status.upcoming{background:#fef9c3;color:#a16207}.imtp-badge-mode{background:#ede9fe;border-radius:99px;color:#6d28d9;font-size:.7rem;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.imtp-card-course{color:#111827;font-size:.95rem;font-weight:700;line-height:1.35;margin-bottom:2px}.imtp-card-code{color:#9ca3af;font-size:.78rem}.imtp-card-datetime{border-bottom:1px solid #f3f4f6;display:flex;flex-direction:column;gap:3px;padding:.65rem 1.1rem}.imtp-card-date,.imtp-card-time{align-items:center;color:#374151;display:flex;font-size:.82rem;gap:6px}.imtp-dt-icon{flex-shrink:0;font-size:.85rem}.imtp-card-sections{padding:.65rem 1.1rem}.imtp-sections-label{color:#9ca3af;font-size:.7rem;font-weight:700;letter-spacing:.5px;margin-bottom:.4rem;text-transform:uppercase}.imtp-section-row{align-items:flex-start;display:flex;gap:.4rem;margin-bottom:.3rem}.imtp-section-row:last-child{margin-bottom:0}.imtp-section-type{border-radius:4px;font-size:.72rem;font-weight:600;margin-top:1px;padding:1px 6px;white-space:nowrap}.imtp-section-type.lecture{background:#dbeafe;color:#1d4ed8}.imtp-section-type.practicum{background:#fce7f3;color:#be185d}.imtp-section-room{color:#374151;font-size:.82rem;line-height:1.3}.imtp-section-room span{color:#9ca3af;font-size:.75rem}.imtp-empty{background:#fff;border:1px dashed #e5e7eb;border-radius:12px;color:#9ca3af;font-size:.9rem;padding:2rem 1rem;text-align:center}.imtp-loading{color:#6b7280;font-size:.95rem;padding:3rem;text-align:center}.imtp-badge-status.concluded{background:#f3f4f6;color:#6b7280}.imtp-table-wrapper{background:#fff;border:1px solid #f0f0f0;border-radius:10px;box-shadow:0 2px 8px #00000012;overflow-x:auto}.imtp-schedule-table{border-collapse:collapse;font-size:.86rem;width:100%}.imtp-schedule-table th{background:#f8f9fb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.5px;padding:.65rem .9rem;text-align:left;text-transform:uppercase;white-space:nowrap}.imtp-schedule-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.7rem .9rem;vertical-align:middle}.imtp-schedule-table tbody tr:last-child td{border-bottom:none}.imtp-schedule-table tbody tr:hover{background:#f9fafb}.imtp-tbl-num{width:36px}.imtp-tbl-code,.imtp-tbl-num{color:#9ca3af;font-size:.78rem}.imtp-tbl-code{white-space:nowrap}.imtp-tbl-course{color:#111827;font-weight:600;max-width:260px}.imtp-course-link{background:none;border:none;color:#2563eb;cursor:pointer;font:inherit;font-weight:600;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px;transition:all .15s}.imtp-course-link:hover{color:#1d4ed8}.imtp-tbl-date,.imtp-tbl-time{font-size:.83rem;white-space:nowrap}.imtp-tbl-count{text-align:center}.imtp-participant-count{align-items:center;background:#e0e7ff;border-radius:99px;color:#000069;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-width:32px;padding:2px 10px}.imtp-participant-none{color:#d1d5db;font-size:.78rem}.imtp-view-participants-btn{background:none;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.imtp-view-participants-btn:hover{background:#000069;border-color:#000069;color:#fff}.imtp-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9000}.imtp-modal{background:#fff;border:1px solid #dbe2ff;border-radius:14px;box-shadow:0 20px 45px #00006933;display:flex;flex-direction:column;max-height:80vh;max-width:640px;overflow:hidden;width:100%}.imtp-modal-header{align-items:flex-start;background:linear-gradient(180deg,#f4f7ff,#fff);border-bottom:1px solid #dce4ff;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.imtp-modal-title{color:#000069;font-size:1.02rem;font-weight:700}.imtp-modal-subtitle{color:#51608f;font-size:.82rem;margin-top:2px}.imtp-modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;margin-left:1rem;padding:0 4px}.imtp-modal-close:hover{color:#374151}.imtp-modal-body{flex:1 1;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.imtp-detail-grid{grid-gap:.65rem;display:grid;gap:.65rem;margin-bottom:1rem}.imtp-detail-row{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.imtp-detail-row-single{grid-template-columns:1fr}.imtp-detail-item{background:linear-gradient(180deg,#fbfcff,#f5f8ff);border:1px solid #dbe4ff;border-left:4px solid #000069;border-radius:10px;padding:.6rem .75rem}.imtp-detail-label{color:#506089;font-size:.72rem;font-weight:700;letter-spacing:.45px;margin-bottom:.2rem;text-transform:uppercase}.imtp-detail-value{color:#111827;font-size:.9rem;font-weight:600;line-height:1.35;word-break:break-word}.imtp-participants-title{color:#000069;font-size:.92rem;font-weight:700;margin:.15rem 0 .55rem}.imtp-participants-scroll{max-height:42vh;overflow-y:auto}.imtp-participants-table{border-collapse:collapse;font-size:.85rem;width:100%}.imtp-participants-table th{background:#f8f9fb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.5px;padding:.55rem .75rem;text-align:left;text-transform:uppercase}.imtp-participants-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.6rem .75rem}.imtp-participants-table tbody tr:last-child td{border-bottom:none}.imtp-participants-table td:first-child{color:#9ca3af;font-size:.78rem;width:36px}@media (max-width:768px){.imtp-stats-row{flex-direction:column}.imtp-schedule-grid{grid-template-columns:1fr}.imtp-modal{max-height:90vh}.imtp-detail-row{grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1024px){.sidebar{width:220px}.dashboard-header{padding:1.5rem 2rem}.dashboard-header h1{font-size:1.5rem}.dashboard-content{padding:1.5rem 2rem}}.role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;white-space:nowrap}.role-badge.role-instructor{background:#dbeafe;color:#1d4ed8}.role-badge.role-assessor{background:#fef3c7;color:#92400e}.role-badge.role-both{background:#ede9fe;color:#5b21b6}:root{--pntc-blue:#000069;--pntc-gold:#f2d919}.datatable-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.datatable-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.header-left h2{color:#000069;color:var(--pntc-blue);font-size:1.75rem;font-weight:700;margin:0}.header-left .subtitle{color:#6b7280;font-size:.95rem;margin:.5rem 0 0}.header-left .info-note{align-items:flex-start;background:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;color:#991b1b;display:flex;font-size:.875rem;line-height:1.5;margin:.75rem 0 0;padding:.625rem 1rem}.header-left .info-note svg{flex-shrink:0;margin-top:2px}.form-header .info-note{align-items:flex-start;background:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;color:#991b1b;display:flex;font-size:.875rem;line-height:1.5;margin:.75rem 0 0;padding:.625rem 1rem}.form-header .info-note svg{flex-shrink:0;margin-top:2px}.btn-default{align-items:center;background:#000069;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-default:hover{background:#000045;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.btn-green{align-items:center;background:#098034;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-green:hover{background:#076028;box-shadow:0 4px 8px #00000026}.btn-red{align-items:center;background:#dc2626;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-red:hover{background:#b91c1c;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.btn-primary{align-items:center;background:var(--pntc-blue);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{box-shadow:0 4px 8px #00000026}.btn-icon{font-size:1.25rem;font-weight:700}.datatable-controls{gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.datatable-controls,.entries-selector,.entries-selector label{align-items:center;display:flex}.entries-selector label{color:#6b7280;font-size:.9rem;gap:.5rem}.entries-selector select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem}.entries-selector select:focus{border-color:#000069;border-color:var(--pntc-blue);outline:none}.topic-filter select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;min-width:180px;padding:.5rem .75rem}.topic-filter select:focus{border-color:#000069;border-color:var(--pntc-blue);outline:none}.search-box{margin-right:35px}.search-box input{border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease}.search-box input:focus{border-color:#000069;border-color:var(--pntc-blue);box-shadow:0 0 0 3px #0000451a}.entries-info{color:#6b7280;font-size:.9rem}.datatable-footer{border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem}.datatable-footer,.pagination{align-items:center;display:flex}.pagination{gap:.5rem}.pagination-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.9rem;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.pagination-btn.active,.pagination-btn:hover:not(:disabled):not(.dots){background:#000069;background:var(--pntc-blue);border-color:#000069;border-color:var(--pntc-blue);color:#fff}.pagination-btn.active{font-weight:600}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.dots{border:none;cursor:default}.pagination-btn.dots,.pagination-btn.dots:hover{background:#0000;color:#9ca3af}.table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.data-table{background:#fff;border-collapse:collapse;width:100%}.data-table thead{background:linear-gradient(135deg,#000069,#000045);background:linear-gradient(135deg,var(--pntc-blue) 0,#000045 100%);color:#fff}.data-table thead th{border-bottom:2px solid #f2d919;border-bottom:2px solid var(--pntc-gold);font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.data-table thead th.sortable{cursor:pointer;transition:background .2s ease;-webkit-user-select:none;user-select:none}.data-table thead th.sortable:hover{background:#ffffff1a}.sort-indicator{font-size:.75rem;margin-left:.5rem}.data-table thead th:last-child{cursor:default;text-align:center;width:180px}.data-table thead th:last-child:hover{background:none}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody td{color:#374151;font-size:.95rem;padding:1rem;text-align:left;vertical-align:top}.data-table tbody td:last-child{text-align:center}.btn-action{background:#000069;background:var(--pntc-blue);border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.btn-action:hover{background:#000045;transform:scale(1.05)}.status-badge{font-size:.813rem;padding:.375rem .75rem}.status-active{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.status-inactive{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.no-data{color:#9ca3af;font-style:italic;padding:3rem 1rem!important;text-align:center!important}.loading{color:#6b7280;font-size:1.1rem;padding:3rem;text-align:center}.print-org-btn svg{margin-right:6px;vertical-align:middle}.btn-print-org,.print-org-btn{align-items:center;display:flex;gap:4px}.btn-print-org{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.btn-print-org:hover{background:#16a34a}.btn-print-org svg{stroke:#fff}@media (max-width:768px){.datatable-container{padding:1rem}.datatable-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-primary{justify-content:center;width:100%}.datatable-controls{align-items:stretch;flex-direction:column;gap:1rem}.entries-selector{width:100%}.search-box{max-width:100%}.datatable-footer{align-items:center;flex-direction:column;gap:1rem}.entries-info{text-align:center;width:100%}.pagination{flex-wrap:wrap;justify-content:center}.table-wrapper{overflow-x:auto}.data-table{min-width:600px}.data-table tbody td,.data-table thead th{font-size:.85rem;padding:.75rem .5rem}}.tabs-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;max-width:100%;overflow:visible;position:relative;width:100%}.tabs-header{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:flex;gap:0;max-width:100%;overflow-x:auto;width:100%}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:0 0 auto;font-size:.9rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:#f3f4f6;color:#000069;color:var(--pntc-blue)}.tab-button.active{background:#fff;border-bottom-color:#000069;border-bottom-color:var(--pntc-blue);color:#000069;color:var(--pntc-blue);font-weight:600}.tabs-content{min-height:400px;padding:0}.content-page{padding:2rem}.content-page h2{color:#000069;color:var(--pntc-blue);font-size:1.5rem;margin-bottom:1rem}.content-page p{color:#6b7280;font-size:1rem}@media (max-width:768px){.tabs-header{overflow-x:scroll}.tab-button{font-size:.85rem;padding:.75rem 1rem}.tabs-content{padding:1rem}}.question-management .header-actions{align-items:center;display:flex;gap:1rem}.large-modal{border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:920px;overflow-y:auto}.upload-mode-selector{border-bottom:2px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.mode-tabs{gap:1rem}.mode-tab,.mode-tabs{display:flex;justify-content:center}.mode-tab{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;color:#6b7280;cursor:pointer;flex:1 1;font-size:1.05rem;font-weight:600;gap:.75rem;max-width:280px;padding:1.25rem 1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.mode-tab:hover{background:#f9fafb;box-shadow:0 4px 12px #667eea26}.mode-tab.active,.mode-tab:hover{border-color:#667eea;transform:translateY(-2px)}.mode-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 16px #667eea4d;color:#fff}.tab-icon{font-size:1.75rem}.question-form{padding:.5rem 0}.choices-section{background:#fff!important;border:2px solid #e5e7eb!important}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.section-title{color:#1f2937;font-size:1.15rem;margin:0 0 1rem}.section-help{color:#6b7280;font-size:.875rem;margin:.5rem 0 1rem}.form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.9rem;font-weight:500}.required{color:#dc2626;font-weight:600}.optional{color:#9ca3af;font-size:.85rem;font-weight:400}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-textarea{font-family:inherit;min-height:80px;resize:vertical}.form-help{color:#6b7280;display:block;font-size:.85rem;font-style:italic;margin-top:.5rem}.file-upload-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.file-upload-btn{align-items:center;background:#fff;border:2px dashed #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s}.file-upload-btn:hover{background:#f0f4ff;border-color:#667eea;color:#667eea}.file-upload-btn.small{font-size:.875rem;padding:.5rem 1rem}.file-name{background:#f3f4f6;border-radius:6px;color:#4b5563;padding:.5rem 1rem}.file-name.success{background:#d1fae5;color:#059669;font-weight:500}.file-name.small{font-size:.8rem;padding:.375rem .75rem}.upload-icon{font-size:1.1rem}.choices-section{border-top:2px solid #f0f0f0;margin-top:2rem;padding-top:1.5rem}.choices-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.choices-header h4{color:#000069;color:var(--pntc-blue);font-size:1.1rem;margin:0}.choice-item{background:#fff;border:2px solid #e5e7eb;border-radius:10px;margin-bottom:1rem;padding:1.25rem;transition:all .2s}.choice-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.choice-item-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.choice-number{align-items:center;color:#1f2937;display:flex;font-size:.95rem;font-weight:600;gap:.5rem}.choice-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:inline-flex;font-weight:700;height:28px;justify-content:center;width:28px}.btn-remove-choice,.choice-badge{align-items:center;font-size:.85rem}.btn-remove-choice{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-weight:500;gap:.25rem;padding:.4rem .9rem;transition:all .2s}.btn-remove-choice:hover{background:#fecaca;border-color:#fca5a5;transform:scale(1.05)}.choice-content{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto;margin-bottom:.75rem}.choice-text-group{flex:1 1}.choice-input{margin:0}.choice-correct{align-items:center;display:flex}.checkbox-label{color:#374151;font-weight:500;-webkit-user-select:none;user-select:none}.checkbox-input{display:none}.checkbox-custom{background:#fff;border:2px solid #cbd5e1;border-radius:6px;height:22px;position:relative;transition:all .2s;width:22px}.checkbox-input:checked+.checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.checkbox-input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.choice-image-upload{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:.75rem;padding-top:.5rem}.batch-upload-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;box-shadow:0 2px 8px #38bdf81a;margin-bottom:2rem;padding:2rem}.info-card{margin-bottom:1.5rem}.info-card h4{color:#0c4a6e;font-size:1.15rem;font-weight:700;margin-bottom:1rem}.info-card ol{color:#0f172a;margin:0 0 1rem;padding-left:1.75rem}.info-card li{align-items:center;border:none;border-radius:10px;box-shadow:0 4px 12px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;line-height:linear-gradient(135deg,#10b981,#059669);margin-bottom:.75rem;padding:1rem 2rem;transition:all .3s}.btn-download:hover{box-shadow:0 6px 20px #10b98159;transform:translateY(-2px)}.btn-lg{font-size:1.05rem;padding:1rem 2rem}.btn-icon{color:inherit;font-size:.9rem}.note-icon{flex-shrink:0;font-size:1.25rem}.checkbox-text{font-size:.9rem}.choice-image-upload{background:#fff;border:3px dashed #cbd5e1;border-radius:16px;cursor:pointer;display:f.5rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.file-upload-area:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;transform:scale(1.01)}.upload-icon,.upload-label{display:block}.upload-icon{font-size:4rem;margin-bottom:1.5rem}.upload-text{color:#374151}.upload-text strong{color:#1f2937;display:block;font-size:1.1rem;margin-bottom:.5rem}.upload-text small{color:#9ca3af;display:block;font-size:.875rem;margin-top:.25rem}.flex-grow{flex:1 1}.checkbox-large{cursor:pointer;height:20px;width:20px}.file-upload-group{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.file-name{background:#d1fae5;border-radius:4px;color:#059669;font-size:.875rem;padding:.25rem .75rem}.batch-upload-section{padding:1rem 0}.batch-upload-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.info-card{margin-bottom:1rem}.info-card h4{align-items:center;color:#000069;color:var(--pntc-blue);display:flex;gap:.5rem;margin-bottom:.75rem}.info-card ol{color:#374151;margin:0;padding-left:1.5rem}.info-card li{margin-bottom:.5rem}.preview-title{color:#1f2937;font-size:1.15rem;justify-content:space-between;margin-bottom:1rem}.preview-count,.preview-title{align-items:center;display:flex}.preview-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:6005rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background .2s}.btn-download:hover{background:#059669}.file-upload-area{border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;margin:2rem 0;padding:3rem;text-align:center;transition:all .3s ease}.file-upload-area:hover{background:#f9fafb;border-color:#000069;border-color:var(--pntc-blue)}.upload-label{color:#374151;cursor:pointer;display:blo50px;line-height:1.5}.has-image{font-size:1.15rem;margin-left:.75rem;opacity:.8}.badge{border-radius:16px;font-weight:700;letter-spacing:.3px;padding:.375rem .875rem}.badge.mcq{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd}.badge.multiple_answer{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.data-table-filters{background:#fff;border:1px solid #f3f4f6;border-radius:10px;box-shadow:0 1px 3px #0000000d;margin-bottom:1.5rem;padding:1.25rem}.search-box{max-width:400px;position:relative}.search-icon{color:#9ca3af;font-size:1.1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;padding:.75rem 1rem .75rem 3rem;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-select.small{font-size:.9rem;padding:.5rem .75rem}.no-data-content{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.no-data-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-data-content p{color:#6b7280;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.no-data-content small{color:#9ca3af}.btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1.1rem;justify-content:center;padding:.5rem .75rem;transition:all .2s}.btn-action.btn-edit{background:#dbeafe;color:#1e40af}.btn-action.btn-edit:hover{background:#bfdbfe;transform:scale(1.1)}.btn-action.btn-delete{background:#fee2e2;color:#dc2626}.btn-action.btn-delete:hover{background:#fecaca;transform:scale(1.1)}.btn-primary{background:#000069;box-shadow:0 4px 12px #00006940;color:#fff;font-weight:600}.btn-primary:hover{background:#000045;box-shadow:0 6px 20px #00006959;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #e5e7eb;color:#374151}.btn-secondary:hover{background:#f9fafb;border-color:#cbd5e1}.btn-green{background:#10b981;border:2px solid #10b981;color:#fff;font-weight:600}.btn-green:hover{background:#059669;border-color:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98133;color:#fff;font-weight:600}.btn-success:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.preview-table-container{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;max-height:400px;overflow-y:auto}.preview-table{border-collapse:collapse;font-size:.875rem;width:100%}.preview-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:1}.preview-table td,.preview-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.preview-table th{color:#000069;color:var(--pntc-blue);font-weight:600}.preview-more{color:#6b7280;font-style:italic;padding:1rem;text-align:center}.question-text{line-height:1.4;max-width:300px}.has-image{font-size:1.1rem;margin-left:.5rem}.badge{font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.mcq{background:#dbeafe;color:#1e40af}.badge.multiple_answer{background:#fef3c7;color:#92400e}@media (max-width:768px){.large-modal{margin:1rem;max-width:95%;padding:1rem}.mode-tabs{flex-direction:column;gap:.75rem}.mode-tab{max-width:100%}.choice-content,.form-grid{grid-template-columns:1fr}.choice-content{gap:.75rem}.file-upload-area{padding:2rem 1rem}.question-management .header-actions{flex-direction:column;width:100%}.question-management .header-actions button{width:100%}.question-management .form-header h2{font-size:1.35rem}.data-table-filters .filter-left{flex-direction:column;gap:1rem}.search-box{max-width:100%}.form-section{padding:1rem}.batch-upload-info{padding:1.5rem 1rem}.btn-lg{font-size:.95rem;padding:.875rem 1.5rem}.choice-item{padding:1rem}.preview-title{align-items:flex-start;flex-direction:column;gap:.75rem}.preview-count{align-self:stretch;text-align:center}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions button{width:100%}}.trainee-preview-container{background:#f8f9fa;min-height:calc(100vh - 200px);padding:0}.trainee-preview-header{align-items:center;background:#fff;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem 2rem}.trainee-preview-title h2{color:#1e293b;font-size:1.25rem;margin:0 0 .2rem}.trainee-preview-title .subtitle{color:#64748b;font-size:.85rem;margin:0}.trainee-preview-body{display:flex;gap:0;min-height:calc(100vh - 280px)}.trainee-preview-sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;min-width:220px;padding:1.25rem 1rem;width:220px}.trainee-sidebar-title{color:#475569;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.trainee-q-nav{display:flex;flex-wrap:wrap;gap:.4rem}.trainee-q-btn{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.85rem;font-weight:600;height:36px;transition:all .15s;width:36px}.trainee-q-btn:hover{background:#f8fafc;border-color:#94a3b8}.trainee-q-btn.current{background:#000069;background:var(--pntc-blue,#2563eb);border-color:#000069;border-color:var(--pntc-blue,#2563eb);color:#fff}.trainee-q-btn.answered{background:#f5f3ff;border-color:#a78bfa;color:#7c3aed}.trainee-q-btn.correct{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.trainee-q-btn.wrong{background:#fef2f2;border-color:#ef4444;color:#dc2626}.trainee-score-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;padding:1rem;text-align:center}.trainee-score-label{color:#64748b;font-size:.75rem;letter-spacing:.5px;margin-bottom:.3rem;text-transform:uppercase}.trainee-score-value{color:#1e293b;font-size:1.5rem;font-weight:700}.trainee-score-pct{color:#000069;color:var(--pntc-blue,#2563eb);font-size:.9rem;font-weight:600}.trainee-finish-btn{margin-top:auto;width:100%}.trainee-preview-main{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;min-width:0;padding:2rem}.trainee-q-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:2rem}.trainee-q-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem;margin-bottom:1rem}.trainee-q-type{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .6rem}.trainee-q-type.mcq{background:#dbeafe;color:#2563eb}.trainee-q-type.multi{background:#fef3c7;color:#d97706}.trainee-q-topic{color:#94a3b8;font-size:.8rem;margin-bottom:.5rem}.trainee-q-text{color:#1e293b;font-size:1.1rem;font-weight:500;line-height:1.6;white-space:pre-line}.trainee-q-image,.trainee-q-text{margin-bottom:1.25rem}.trainee-q-image img{border:1px solid #e5e7eb;border-radius:8px;max-height:300px;max-width:100%}.trainee-choices{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.25rem}.trainee-choice{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;transition:all .15s}.trainee-choice:hover{background:#f8fafc;border-color:#94a3b8}.trainee-choice.selected{background:#eff6ff;border-color:#000069;border-color:var(--pntc-blue,#2563eb)}.trainee-choice.correct{background:#f0fdf4;border-color:#22c55e}.trainee-choice.wrong{background:#fef2f2;border-color:#ef4444}.trainee-choice-indicator{color:#94a3b8;flex-shrink:0;font-size:1.2rem;line-height:1}.trainee-choice.selected .trainee-choice-indicator{color:#000069;color:var(--pntc-blue,#2563eb)}.trainee-choice.correct .trainee-choice-indicator{color:#22c55e}.trainee-choice.wrong .trainee-choice-indicator{color:#ef4444}.trainee-choice-label{color:#64748b;flex-shrink:0;font-weight:600;min-width:1.2rem}.trainee-choice-text{color:#1e293b;flex:1 1;font-size:.95rem}.trainee-correct-mark{background:#dcfce7;border-radius:4px;color:#16a34a;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.trainee-check-btn{margin-top:.25rem}.trainee-explanation{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:.9rem;line-height:1.5;margin-top:1rem;padding:1rem 1.25rem}.trainee-q-nav-buttons{display:flex;justify-content:space-between}@media (max-width:768px){.trainee-preview-body{flex-direction:column}.trainee-preview-sidebar{align-items:center;border-bottom:1px solid #e5e7eb;border-right:none;flex-direction:row;flex-wrap:wrap;min-width:auto;padding:1rem;width:100%}.trainee-q-nav{flex:1 1}.trainee-score-card{flex-direction:row;gap:.75rem;width:auto}.trainee-finish-btn{margin-top:0;width:auto}.trainee-preview-main{padding:1rem}}.trainee-preview-container.formative-quiz-mode{min-height:100vh}.trainee-preview-container.formative-quiz-mode .trainee-preview-header{position:-webkit-sticky;position:sticky;top:0;z-index:100}.quiz-timer{background:#f1f5f9;color:#1e293b;font-size:1.1rem;padding:.5rem 1rem}.quiz-timer.warning{background:#fef3c7}.quiz-timer.danger{animation:pulse 1s ease-in-out infinite;background:#fef2f2;color:#dc2626}.trainee-progress-info{background:#f8fafc;border-radius:6px;color:#64748b;font-size:.85rem;padding:.5rem;text-align:center}.tab-warning-overlay{z-index:10000}.tab-warning-modal{box-shadow:0 20px 40px #0000004d;max-width:400px;padding:2rem}.tab-warning-modal .warning-icon{font-size:3rem}.tab-warning-modal h3{font-size:1.4rem}.tab-warning-modal p{line-height:1.5;margin:0 0 .75rem}.tab-warning-modal .warning-note{color:#6b7280;font-style:italic}.btn-acknowledge{background:#dc2626;padding:.75rem 2rem}.btn-acknowledge:hover{background:#b91c1c}.question-tos-alert{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:6px;color:#991b1b;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.question-tos-alert strong{font-weight:700}.question-tos-alert .tos-matched{background:#d1fae5;border-radius:4px;color:#059669;font-weight:700;padding:.1rem .5rem}.question-tos-alert .tos-not-matched{background:#fee2e2;border-radius:4px;color:#dc2626;font-weight:700;padding:.1rem .5rem}.question-list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.25rem}.question-list-summary{color:#374151;font-size:.95rem;font-weight:600}.question-list-summary .filter-note{color:#9ca3af;font-size:.85rem;font-weight:400}.question-list-filters{align-items:center;display:flex;gap:.75rem}.question-list-filters .topic-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.9rem;min-width:180px;padding:.5rem .75rem}.question-list-filters .search-box input{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;min-width:200px;padding:.5rem .75rem}.question-card-list{display:flex;flex-direction:column;gap:1rem}.question-card{padding:1.25rem;transition:box-shadow .2s,border-color .2s}.question-card:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #0000690f}.question-card-inactive{background:#f9fafb;opacity:.55}.question-card-top{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.question-card-number{align-items:center;background:#000069;background:var(--pntc-blue,#000069);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.question-card-meta{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.question-card-topic{background:#eef2ff;border-radius:20px;color:#000069;color:var(--pntc-blue,#000069);font-size:.8rem;font-weight:600;padding:.2rem .65rem}.question-card-type{border-radius:20px;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.question-card-type.type-mcq{background:#d1fae5;color:#065f46}.question-card-type.type-multi{background:#fef3c7;color:#92400e}.question-card-points{color:#6b7280;font-size:.8rem;font-weight:600}.question-card-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.toggle-switch{cursor:pointer;display:inline-block;height:20px;position:relative;width:38px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:#d1d5db;border-radius:20px;bottom:0;left:0;position:absolute;right:0;top:0;transition:background .25s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:2px;content:"";height:16px;left:2px;position:absolute;transition:transform .25s;width:16px}.toggle-switch input:checked+.toggle-slider{background:#000069;background:var(--pntc-blue,#000069)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}.question-card-text{color:#1f2937;font-size:.95rem;line-height:1.6;white-space:pre-line}.question-card-image,.question-card-text{margin-bottom:.85rem}.question-card-image img{border:1px solid #e5e7eb;border-radius:6px;max-height:180px;max-width:300px}.question-card-choices{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.question-choice-item{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;color:#374151;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem .75rem}.question-choice-item.choice-correct{background:#ecfdf5;border-color:#a7f3d0}.choice-letter{color:#6b7280;font-size:.85rem;font-weight:700;min-width:1.25rem}.choice-correct .choice-letter{color:#059669}.choice-text{flex:1 1}.choice-correct-badge{background:#d1fae5;border-radius:20px;color:#059669;flex-shrink:0;font-size:.75rem;font-weight:700;padding:.15rem .5rem}.question-card-explanation{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:.85rem;line-height:1.5;margin-top:.5rem;padding:.6rem .85rem}.ua-type-selector{align-items:center;display:flex;gap:.5rem}.ua-type-selector label{color:#374151;font-size:.875rem;font-weight:500}.ua-type-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:.875rem;min-width:130px;padding:.45rem .75rem}.ua-type-dropdown:focus{border-color:#000069;border-color:var(--pntc-blue);box-shadow:0 0 0 2px #0000691f;outline:none}.ua-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem}.ua-btn{border:none;border-radius:5px;cursor:pointer;font-size:.775rem;font-weight:500;padding:.3rem .65rem;transition:opacity .15s,filter .15s;white-space:nowrap}.ua-btn:disabled{cursor:not-allowed;opacity:.5}.ua-btn-primary{background:#000069;background:var(--pntc-blue);color:#fff}.ua-btn-primary:hover:not(:disabled){filter:brightness(1.15)}.ua-btn-secondary{background:#6b7280;color:#fff}.ua-btn-secondary:hover:not(:disabled){background:#4b5563}.ua-btn-warning{background:#d97706;color:#fff}.ua-btn-warning:hover:not(:disabled){background:#b45309}.ua-btn-danger{background:#dc2626;color:#fff}.ua-btn-danger:hover:not(:disabled){background:#b91c1c}.ua-btn-sending{align-items:center;display:inline-flex;gap:6px}.ua-spinner{animation:ua-spin .65s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:12px;width:12px}@keyframes ua-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.question-list-controls{align-items:stretch;flex-direction:column}.question-list-filters{flex-direction:column}.question-list-filters .search-box input,.question-list-filters .topic-filter select{min-width:0;min-width:auto;width:100%}.question-card-top{flex-wrap:wrap}.question-card-actions{justify-content:flex-end;width:100%}}.da-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.da-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.da-modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.da-modal-title{color:#000069;color:var(--pntc-blue,#000069);font-size:1.15rem;font-weight:700;margin:0 0 .25rem}.da-modal-subtitle{color:#6b7280;font-size:.875rem;margin:0}.da-modal-subtitle code{background:#f3f4f6;border-radius:4px;color:#374151;font-size:.8rem;padding:.1rem .4rem}.da-close-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:.2rem .4rem;transition:color .15s,background .15s}.da-close-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.da-menu-list{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.da-loading{color:#9ca3af;font-size:.9rem;padding:2rem 0;text-align:center}.da-menu-group{border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;margin-bottom:.5rem;overflow:hidden}.da-parent-label{align-items:center;background:#f0f4ff;border-bottom:1px solid #e5e7eb;color:#000069;color:var(--pntc-blue,#000069);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.65rem;padding:.65rem 1rem;-webkit-user-select:none;user-select:none}.da-parent-label:last-child{border-bottom:none}.da-parent-label input[type=checkbox]{accent-color:#000069;accent-color:var(--pntc-blue,#000069);cursor:pointer;flex-shrink:0;height:16px;width:16px}.da-item-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.5rem;justify-content:space-between;padding:.45rem .75rem .45rem 2rem;transition:background .1s}.da-item-row:last-child{border-bottom:none}.da-item-row:hover{background:#f9fafb}.da-item-check{align-items:center;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;gap:.6rem;min-width:0;-webkit-user-select:none;user-select:none}.da-item-check input[type=checkbox]{accent-color:#000069;accent-color:var(--pntc-blue,#000069);cursor:pointer;flex-shrink:0;height:15px;width:15px}.da-item-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-view-only-label{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:500;gap:.35rem;padding:.2rem .55rem;transition:background .15s,color .15s,border-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.da-view-only-label input[type=checkbox]{accent-color:#d97706;cursor:pointer;height:13px;width:13px}.da-view-only-label:hover{background:#fef9c3;border-color:#fde047;color:#92400e}.da-view-only-label.active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.da-modal-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.da-selection-count{color:#6b7280;font-size:.8rem;white-space:nowrap}.da-footer-actions{display:flex;gap:.5rem}@media (max-width:640px){.da-modal{border-radius:10px;max-height:95vh}.da-modal-footer{align-items:stretch;gap:.75rem}.da-footer-actions,.da-modal-footer{flex-direction:column}.da-footer-actions .ua-btn{justify-content:center;width:100%}}.apv-page{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.apv-page-header{align-items:stretch;background:#fff;border:1px solid #e8eaf6;border-radius:14px;box-shadow:0 2px 10px #00006912;display:flex;overflow:hidden}.apv-header-accent{background:linear-gradient(180deg,#000069,#3b4ac8);flex-shrink:0;width:6px}.apv-header-body{flex:1 1;padding:1.25rem 1.5rem}.apv-header-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.apv-header-title{color:#000069;font-size:1.4rem;font-weight:800;letter-spacing:-.3px;margin:0}.apv-header-count-badge{align-items:center;background:#000069;border-radius:9999px;color:#fff;display:inline-flex;font-size:.76rem;font-weight:700;letter-spacing:.3px;padding:.2rem .75rem;text-transform:uppercase}.apv-header-subtitle{color:#6b7280;font-size:.85rem;line-height:1.5;margin:.35rem 0 0}.apv-pill-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.apv-pill-tab{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:9999px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.4rem;padding:.55rem 1.1rem;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.apv-pill-tab:hover{border-color:#000069;box-shadow:0 0 0 3px #0000690f;color:#000069}.apv-pill-tab.active{background:#000069;border-color:#000069;box-shadow:0 3px 12px #00006940;color:#fff}.apv-pill-icon{align-items:center;display:flex}.apv-pill-badge{align-items:center;background:#ffffff40;border-radius:9999px;color:inherit;display:inline-flex;font-size:.7rem;font-weight:700;height:19px;justify-content:center;line-height:1;min-width:19px;padding:0 5px}.apv-pill-tab:not(.active) .apv-pill-badge{background:#fee2e2;color:#991b1b}.apv-card{background:#fff;border:1px solid #e8eaf6;border-radius:14px;box-shadow:0 2px 10px #00006912;overflow:hidden}.apv-bulk-bar{align-items:center;background:#fafbff;border-bottom:1px solid #f0f0f8;display:flex;gap:.75rem;justify-content:space-between;padding:.875rem 1.25rem;transition:background .2s}.apv-bulk-bar.has-selection{background:#eef2ff;border-bottom-color:#c7d2fe}.apv-bulk-left{align-items:center;display:flex;gap:.6rem}.apv-select-all-label{align-items:center;cursor:pointer;display:flex;gap:.55rem;-webkit-user-select:none;user-select:none}.apv-custom-check{flex-shrink:0}.apv-check-box,.apv-custom-check{height:18px;position:relative;width:18px}.apv-check-box{background:#fff;border:2px solid #d1d5db;border-radius:5px;display:block;transition:border-color .15s,background .15s}.apv-check-box.checked{background:#000069;border-color:#000069}.apv-check-box.checked:after{border:2px solid #fff;border-left:none;border-top:none;content:"";height:9px;left:3px;position:absolute;top:0;transform:rotate(45deg);width:5px}.apv-check-box.indeterminate{background:#000069;border-color:#000069}.apv-check-box.indeterminate:after{background:#fff;border-radius:1px;content:"";height:2px;left:2px;position:absolute;top:5px;width:10px}.apv-select-text{align-items:center;color:#6b7280;display:flex;font-size:.85rem}.apv-selection-chip{align-items:center;background:#000069;border-radius:9999px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;padding:.15rem .6rem}.apv-select-hint{color:#9ca3af;font-size:.83rem}.apv-bulk-actions{display:flex;flex-shrink:0;gap:.5rem}.apv-action-btn{align-items:center;border:1.5px solid #0000;border-radius:7px;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.35rem;padding:.45rem .9rem;transition:all .15s;white-space:nowrap}.apv-action-btn:disabled{cursor:not-allowed;opacity:.4}.apv-action-approve{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.apv-action-approve:not(:disabled):hover{background:#a7f3d0;box-shadow:0 2px 6px #065f4626}.apv-action-reject{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.apv-action-reject:not(:disabled):hover{background:#fecaca;box-shadow:0 2px 6px #991b1b26}.apv-table-outer{overflow-x:auto}.apv-table{border-collapse:collapse;font-size:.875rem;width:100%}.apv-table thead tr{background:linear-gradient(90deg,#000069,#1a1a8c)}.apv-table th{border:none;color:#ffffffd9;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.8rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.apv-table th.col-chk{text-align:center;width:44px}.apv-table th.col-seq{width:44px}.apv-table td{border-bottom:1px solid #f1f1f9;color:#374151;padding:.75rem 1rem;vertical-align:middle}.apv-table tbody tr:last-child td{border-bottom:none}.apv-table tbody tr:nth-child(2n){background:#fafbff}.apv-table tbody tr:hover{background:#f0f3ff}.apv-table tbody tr.apv-row-selected{background:#e8edf9}.col-chk{text-align:center;vertical-align:middle;width:44px}.col-seq{font-feature-settings:"tnum";color:#9ca3af;font-size:.8rem;font-variant-numeric:tabular-nums;width:44px}.col-num{text-align:center}.col-act{width:150px}.col-reason{color:#6b7280;font-size:.82rem;max-width:200px;white-space:normal;word-break:break-word}.apv-emp-cell{gap:.65rem}.apv-avatar,.apv-emp-cell{align-items:center;display:flex}.apv-avatar{border-radius:9px;flex-shrink:0;font-size:.75rem;font-weight:800;height:34px;justify-content:center;letter-spacing:.5px;width:34px}.apv-emp-info{display:flex;flex-direction:column;gap:.1rem;line-height:1.2}.apv-emp-name{color:#111827;font-size:.875rem;font-weight:700}.apv-emp-no{font-feature-settings:"tnum";color:#9ca3af;font-size:.73rem;font-variant-numeric:tabular-nums}.apv-chip{border-radius:9999px;display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.2px;padding:.2rem .6rem;white-space:nowrap}.apv-chip-blue{background:#e0e7ff;color:#3730a3}.apv-chip-amber{background:#fef3c7;color:#92400e}.apv-chip-green{background:#d1fae5;color:#065f46}.apv-type-label{color:#374151;font-size:.86rem;font-weight:500}.apv-days{color:#000069;font-weight:700}.apv-days,.apv-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apv-time{color:#4b5563;font-size:.84rem}.apv-filed-date{color:#6b7280;font-size:.82rem;white-space:nowrap}.apv-row-btns{display:flex;gap:.3rem}.apv-row-btn{border:1.5px solid #0000;border-radius:6px;cursor:pointer;font-size:.76rem;font-weight:700;padding:.28rem .65rem;transition:all .15s;white-space:nowrap}.apv-row-btn:disabled{cursor:not-allowed;opacity:.4}.apv-rb-approve{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.apv-rb-approve:not(:disabled):hover{background:#059669;border-color:#059669;color:#fff}.apv-rb-reject{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.apv-rb-reject:not(:disabled):hover{background:#dc2626;border-color:#dc2626;color:#fff}.apv-empty-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:4rem 2rem}.apv-empty-icon{align-items:center;background:linear-gradient(135deg,#e8eaf6,#c7d2fe);border-radius:50%;color:#000069;display:flex;height:72px;justify-content:center;margin-bottom:.25rem;width:72px}.apv-empty-msg{color:#374151;font-size:1rem;font-weight:700;margin:0}.apv-empty-sub{color:#9ca3af;font-size:.84rem}.apv-loading-state{align-items:center;color:#6b7280;display:flex;font-size:.9rem;gap:.75rem;justify-content:center;padding:3.5rem 1rem}.apv-spinner{animation:apv-spin .7s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#000069;height:22px;width:22px}@keyframes apv-spin{to{transform:rotate(1turn)}}.apv-table .col-chk input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:16px;position:relative;transition:border-color .15s,background .15s;vertical-align:middle;width:16px}.apv-table .col-chk input[type=checkbox]:checked{background:#000069;border-color:#000069}.apv-table .col-chk input[type=checkbox]:checked:after{border:2px solid #fff;border-left:none;border-top:none;content:"";height:8px;left:2px;position:absolute;top:-1px;transform:rotate(45deg);width:4px}@media (max-width:768px){.apv-page{gap:1rem;padding:1rem}.apv-pill-tabs{gap:.35rem}.apv-pill-tab{font-size:.82rem;padding:.45rem .85rem}.apv-bulk-bar{align-items:flex-start;flex-direction:column}.apv-header-title{font-size:1.15rem}}.apv-modal-overlay{align-items:center;animation:apv-fade-in .15s ease;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes apv-fade-in{0%{opacity:0}to{opacity:1}}.apv-modal{animation:apv-slide-up .18s ease;background:#fff;border-radius:14px;box-shadow:0 10px 48px #00004533;max-width:440px;overflow:hidden;width:100%}@keyframes apv-slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.apv-modal-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:12px;padding:20px 24px 16px}.apv-modal-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.apv-modal-icon.approve{background:#d1fae5;color:#065f46}.apv-modal-icon.reject{background:#fee2e2;color:#991b1b}.apv-modal-title{color:#000069;font-size:1rem;font-weight:700;margin:0}.apv-modal-body{padding:18px 24px 14px}.apv-modal-msg{color:#374151;font-size:.9rem;line-height:1.5;margin:0 0 4px}.apv-modal-sub{color:#6b7280;font-size:.82rem;margin:0}.apv-modal-label{color:#374151;display:block;font-size:.83rem;font-weight:600;margin-bottom:6px}.apv-modal-label span{color:#dc2626;margin-left:2px}.apv-modal-textarea{border:1.5px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:.88rem;line-height:1.5;min-height:100px;padding:10px 12px;resize:vertical;transition:border-color .15s;width:100%}.apv-modal-textarea:focus{border-color:#000069;box-shadow:0 0 0 3px #00006914;outline:none}.apv-modal-textarea.has-error{border-color:#dc2626}.apv-modal-error{color:#dc2626;font-size:.8rem;margin-top:5px}.apv-modal-footer{border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;padding:12px 24px 20px}.apv-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 22px;transition:all .15s}.apv-modal-btn.cancel{background:#f3f4f6;color:#374151}.apv-modal-btn.cancel:hover{background:#e5e7eb}.apv-modal-btn.approve{background:#000069;box-shadow:0 2px 8px #00004540;color:#fff}.apv-modal-btn.approve:hover:not(:disabled){background:#3b4ac8}.apv-modal-btn.reject{background:#dc2626;box-shadow:0 2px 8px #dc262640;color:#fff}.apv-modal-btn.reject:hover:not(:disabled){background:#b91c1c}.apv-modal-btn:disabled{cursor:not-allowed;opacity:.6}.form-group select.input-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-group select.input-select:focus{border-color:var(--pntc-blue);box-shadow:0 0 0 3px #0000451a;outline:none}.form-group select.input-select.error{border-color:#ef4444}.form-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.form-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.form-header h2{color:var(--pntc-blue);font-size:1.75rem;font-weight:700;margin:0}.form-header .subtitle{color:#6b7280;font-size:.95rem;margin:.5rem 0 0}.btn-secondary{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background:#4b5563}.alert-banner{animation:slideDown .3s ease;border-radius:8px;font-size:.95rem;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.status-badge{font-size:.8rem;letter-spacing:.5px;padding:.3rem .75rem}.status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.status-approved{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.status-rejected{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.status-cancelled{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.admin-leave-section{margin-bottom:1.75rem}.admin-leave-section-title{border-bottom:2px solid #000069;color:#000069;font-size:.95rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.4rem;text-transform:uppercase}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert-warning{background:#fff9c4;border:1px solid #f9a825;color:#7a5a00}.error-banner{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.95rem;margin-bottom:1.5rem;padding:1rem}.branch-form{max-width:800px}.form-grid,.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.branch-form{width:100%}.branch-form>.form-row{display:flex;flex-wrap:wrap;gap:2rem;grid-template-columns:none;margin-bottom:2rem}.branch-form>.form-row>.col-lg-6{flex:1 1;min-width:0}.branch-form>.form-row>.col-lg-12{width:100%}@media (max-width:991px){.branch-form>.form-row{flex-direction:column}.branch-form>.form-row>.col-lg-6{width:100%}}.form-group{margin-bottom:1.5rem}.form-group.col-3{grid-column:span 1}.form-group.col-6{grid-column:span 2}.form-group.col-12,.form-group.full-width{grid-column:span 4}.form-group label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.required{color:#ef4444;font-weight:700}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--pntc-blue);box-shadow:0 0 0 3px #0000451a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-group textarea{min-height:80px;resize:vertical}.error-message{color:#ef4444;display:block;font-size:.85rem;margin-top:.5rem}.form-actions{border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;width:100%}.btn-cancel{background:#fff;border:1px solid #e5e7eb;color:#6b7280;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#6b7280}.btn-submit{background:var(--pntc-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.btn-submit:hover:not(:disabled){background:#000045;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.btn-new{align-items:center;background:var(--pntc-gold);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:var(--pntc-blue);cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.5rem;padding:.75rem 2rem;transition:all .3s ease}.btn-new:hover{background:#e6cb15;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.btn-new .btn-icon{font-size:1.25rem;font-weight:700}.btn-delete{background:#0000;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-size:1rem;font-weight:600;margin-right:auto;padding:.75rem 1.5rem;transition:all .3s ease}.btn-delete:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 8px #dc26264d;color:#fff;transform:translateY(-2px)}.btn-delete:disabled{cursor:not-allowed;opacity:.6}.checkbox-label{font-weight:600}.checkbox-label input[type=checkbox]{height:1.25rem;width:1.25rem}.checkbox-label span{font-weight:600}.field-note{color:#6b7280;font-size:.85rem;font-style:italic;margin:.5rem 0 0}@media (max-width:768px){.form-container{padding:1rem}.form-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-secondary{width:100%}.form-row{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.topics-list{display:flex;flex-direction:column;gap:1.5rem}.topic-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.topic-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem}.topic-title{flex:1 1}.topic-title h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.topic-badges{display:flex;gap:.5rem;margin-top:.5rem}.badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.badge-blue{background:#dbeafe;color:#1e40af}.badge-orange{background:#fed7aa;color:#c2410c}.topic-actions{align-items:center;display:flex;gap:.5rem}.btn-icon-small{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:all .2s}.btn-icon-small:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-icon-small:disabled{cursor:not-allowed;opacity:.4}.btn-icon-small.btn-edit{color:#2563eb}.btn-icon-small.btn-edit:hover{background:#dbeafe;border-color:#2563eb}.btn-icon-small.btn-delete{color:#dc2626}.btn-icon-small.btn-delete:hover{background:#fee2e2;border-color:#dc2626}.topic-body{padding:1.25rem}.learning-outcomes h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.learning-outcomes ul{list-style:none;margin:0;padding:0}.learning-outcomes li{background:#f9fafb;border-left:3px solid var(--pntc-blue);border-radius:4px;color:#374151;margin-bottom:.5rem;padding:.75rem 1rem}.learning-outcomes li strong{color:var(--pntc-blue);margin-right:.5rem}.no-outcomes{color:#9ca3af;font-style:italic;margin:0}.empty-state{color:#6b7280}.section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin:2rem 0 1rem;padding-bottom:.75rem}.section-header h3{color:#374151;font-size:1.1rem;font-weight:600;margin:0}.learning-outcomes-list{display:flex;flex-direction:column;gap:1rem}.btn-small{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-small.btn-green{background:#10b981;color:#fff}.btn-small.btn-green:hover{background:#059669}.btn-small.btn-danger{background:#ef4444;color:#fff;width:auto}.btn-small.btn-danger:hover{background:#dc2626}.header-actions{display:flex;gap:1rem}.form-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.form-section-title{border-bottom:2px solid #e5e7eb;color:#6b7280;font-size:.8rem;font-weight:700;letter-spacing:.07em;margin:1.75rem 0 .75rem;padding-bottom:.4rem;text-transform:uppercase}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem;margin-bottom:0}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.checkbox-label span{-webkit-user-select:none;user-select:none}.materials-list{display:flex;flex-direction:column;gap:1rem}.material-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:all .2s ease}.material-card:hover{border-color:var(--pntc-blue);box-shadow:0 4px 12px #00000014}.material-header{justify-content:space-between}.material-header,.material-title{align-items:flex-start;display:flex;gap:1rem}.material-title{flex:1 1}.material-icon{flex-shrink:0;font-size:1.75rem}.material-title h3{color:var(--pntc-blue);font-size:1.1rem;margin:0 0 .5rem}.material-description{color:#6b7280;font-size:.9rem;margin:.25rem 0 .5rem}.material-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.tag-topic{background:#dbeafe;color:#1e40af}.tag-lo{background:#fef3c7;color:#92400e}.material-actions{display:flex;flex-shrink:0;gap:.5rem}.btn-view{background:#10b981;color:#fff}.btn-view:hover{background:#059669}.btn-order{background:#6366f1;color:#fff;font-size:1rem;font-weight:700}.btn-order:hover:not(:disabled){background:#4f46e5}.btn-order:disabled{background:#d1d5db;opacity:.5}.topic-group{margin-bottom:2rem}.topic-header{background:linear-gradient(135deg,#000069,#005);border-radius:8px 8px 0 0;margin-bottom:0;padding:1rem 1.5rem}.topic-header h4{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.lo-group{background:#f9fafb;border:1px solid #e5e7eb;border-top:none;padding:0}.lo-group:last-child{border-radius:0 0 8px 8px}.lo-subheader{background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:.75rem 1.5rem}.lo-subheader span{align-items:center;color:#374151;display:flex;font-size:.95rem;font-weight:600}.lo-subheader span:before{color:#000069;content:"→";font-weight:700;margin-right:.5rem}.lo-group .material-card{border-radius:6px;margin:1rem 1.5rem}.lo-group .material-card:last-child{margin-bottom:1rem}.photo-upload-section{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:1.5rem;text-align:center}.photo-upload-section label{color:#374151;display:block;font-size:1rem;font-weight:600;margin-bottom:1rem}.photo-preview-container{align-items:center;aspect-ratio:4/3;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:center;margin:0 auto 1rem;max-width:500px;overflow:hidden;position:relative;width:100%}.photo-preview{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:100%;justify-content:center}.photo-placeholder svg{margin-bottom:.5rem}.photo-placeholder p{font-size:.9rem;margin:0}.btn-remove-photo{align-items:center;background:#ef4444e6;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s ease;width:32px}.btn-remove-photo:hover{background:#dc2626;transform:scale(1.1)}.btn-upload-photo{background:var(--pntc-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.btn-upload-photo:hover{background:#005;box-shadow:0 4px 8px #00004533;transform:translateY(-1px)}.rubric-form{display:block!important;max-width:100%!important}.rubric-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding-bottom:0}.rubric-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;margin-bottom:-2px;padding:10px 18px;transition:all .2s ease;white-space:nowrap}.rubric-tab:hover{background:#f0f4ff;color:#000069}.rubric-tab.active{border-bottom-color:#000069;color:#000069;font-weight:600}.rubric-tab .tab-icon{align-items:center;color:#64748b;display:flex;font-size:1rem}.rubric-tab .tab-icon svg{stroke:#64748b}.rubric-tab.active .tab-icon{color:#000069}.rubric-tab.active .tab-icon svg,.rubric-tab:hover .tab-icon svg{stroke:#000069}.rubric-tab .tab-badge{background:#000069;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;min-width:20px;padding:1px 7px;text-align:center}.rubric-tab.active .tab-badge{background:#000069}.rubric-tab-content{min-height:200px}.rubric-type-selector{display:flex;flex-wrap:wrap;gap:12px}.rubric-type-btn{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:220px;padding:14px 18px;text-align:left;transition:all .2s ease}.rubric-type-btn svg{stroke:#94a3b8;flex-shrink:0;margin-top:2px}.rubric-type-btn div{display:flex;flex-direction:column;gap:2px}.rubric-type-btn strong{color:#334155;font-size:.9rem}.rubric-type-btn span{color:#94a3b8;font-size:.78rem;line-height:1.3}.rubric-type-btn:hover{background:#f8faff;border-color:#000069}.rubric-type-btn.active{background:#f0f4ff;border-color:#000069;box-shadow:0 0 0 1px #000069}.rubric-type-btn.active svg{stroke:#000069}.rubric-type-btn.active strong{color:#000069}.rubric-type-btn.active span{color:#334155}.rubric-template-section{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-top:20px;padding:16px}.btn-template{background:#fff;border:1px solid #000069;border-radius:6px;color:#000069;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-add-item,.btn-template:hover{background:#000069;color:#fff}.btn-add-item{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-add-item-floating{border-radius:50px;bottom:28px;box-shadow:0 4px 12px #00006959;font-size:.9rem;padding:12px 24px;position:fixed;right:40px;z-index:1000}.btn-add-item-floating:hover{box-shadow:0 6px 20px #00006980;transform:translateY(-2px)}.btn-add-item.btn-green{background:#16a34a}.btn-add-item.btn-green:hover{background:#15803d}.btn-add-item-floating.btn-green{box-shadow:0 4px 12px #16a34a59}.btn-add-item-floating.btn-green:hover{box-shadow:0 6px 20px #16a34a80}.btn-add-item:hover{background:#005}.rubric-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden;transition:box-shadow .2s ease}.rubric-item-card:hover{box-shadow:0 2px 8px #00000014}.rubric-item-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 12px}.rubric-item-order{align-items:center;display:flex;gap:8px}.btn-order{background:#fff;border:1px solid #cbd5e1;border-radius:4px;color:#64748b;cursor:pointer;font-size:.7rem;line-height:1;padding:2px 6px;transition:all .2s ease}.btn-order:hover:not(:disabled){background:#000069;border-color:#000069;color:#fff}.btn-order:disabled{cursor:not-allowed;opacity:.3}.order-number{color:#000069;font-size:.85rem;font-weight:600;min-width:20px;text-align:center}.btn-remove-item{background:#fff;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:all .2s ease}.btn-remove-item:hover{background:#ef4444;color:#fff}.rubric-item-body{padding:12px 16px}.rubric-item-row{display:flex;gap:12px;margin-bottom:8px}.rubric-item-row .form-group{margin-bottom:0}.rubric-item-body .form-group{margin-bottom:8px}.empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#94a3b8;padding:40px 20px}.empty-state p{font-size:.9rem}.inline-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#ef4444;font-size:.85rem;font-weight:500;padding:8px 12px}.rubric-grid-container{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.rubric-grid-table{border-collapse:collapse;min-width:600px;width:100%}.rubric-grid-table td,.rubric-grid-table th{border:1px solid #e2e8f0;padding:0}.rubric-grid-header-criteria{background:#000069;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;min-width:160px;padding:12px 16px!important;text-transform:uppercase;vertical-align:middle}.rubric-grid-header-level{background:#000069;color:#fff;min-width:180px;padding:10px 12px!important;text-align:center;vertical-align:middle}.level-header-name{font-size:.85rem;font-weight:600;margin-bottom:2px}.level-header-range{font-size:.75rem;opacity:.85}.rubric-grid-criteria-cell{background:#f0f4ff;font-weight:500;padding:12px 16px!important;vertical-align:top}.criteria-cell-name{color:#1e293b;font-size:.9rem;font-weight:600}.criteria-cell-points{color:#64748b;font-size:.75rem;margin-top:4px}.rubric-grid-cell{background:#fff;padding:8px!important;vertical-align:top}.grid-cell-description{border:1px solid #e2e8f0;border-radius:4px;font-family:inherit;font-size:.8rem;min-height:60px;padding:6px 8px;resize:vertical;transition:border-color .2s ease;width:100%}.grid-cell-description:focus{border-color:#000069;box-shadow:0 0 0 2px #0000691a;outline:none}.grid-cell-points{align-items:center;display:flex;gap:6px;margin-top:6px}.grid-cell-points label{color:#64748b;font-size:.75rem;font-weight:500;white-space:nowrap}.grid-cell-points input{border:1px solid #e2e8f0;border-radius:4px;font-size:.8rem;padding:4px 6px;text-align:center;width:70px}.grid-cell-points input:focus{border-color:#000069;outline:none}@media (max-width:768px){.rubric-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.rubric-tab{font-size:.8rem;padding:8px 12px}.rubric-item-row{flex-direction:column;gap:8px}.rubric-grid-container{border-radius:0;margin:0 -16px}}.admin-dashboard-home{margin:0 auto;max-width:1600px;padding:2rem}.admin-dashboard-loading{gap:1rem}.admin-dashboard-error,.admin-dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.admin-dashboard-error{padding:2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.admin-dashboard-error h2{color:#dc2626;margin-bottom:1rem}.error-message{line-height:1.6;margin-bottom:1.5rem;max-width:600px}.retry-button{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.retry-button:hover{background:#000050;box-shadow:0 4px 12px #00006933;transform:translateY(-2px)}.error-details{background:#f9fafb;border-radius:8px;color:#666;font-size:.875rem;margin-top:2rem;max-width:600px;padding:1rem;text-align:left}.error-details p{margin:.5rem 0}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#000069;height:50px;width:50px}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{color:#000069;font-size:2rem;font-weight:600;margin-bottom:.5rem}.dashboard-welcome p{color:#666;font-size:1rem}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card{align-items:flex-start;border-left:4px solid;box-shadow:0 2px 8px #00000014;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-4px)}.stat-card-blue{border-left-color:#000069}.stat-card-green{border-left-color:#098034}.stat-card-purple{border-left-color:#7c3aed}.stat-card-orange{border-left-color:#f97316}.stat-card-teal{border-left-color:#14b8a6}.stat-card-red{border-left-color:#dc2626}.stat-icon{flex-shrink:0;height:60px;width:60px}.stat-card-blue .stat-icon{background:#0000691a;color:#000069}.stat-card-green .stat-icon{background:#0980341a;color:#098034}.stat-card-purple .stat-icon{background:#7c3aed1a;color:#7c3aed}.stat-card-orange .stat-icon{background:#f973161a;color:#f97316}.stat-card-teal .stat-icon{background:#14b8a61a;color:#14b8a6}.stat-card-red .stat-icon{background:#dc26261a;color:#dc2626}.stat-content{flex:1 1}.stat-value{color:#1f2937;font-size:2rem;font-weight:700;margin:0 0 .25rem}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;margin:0}.stat-badge{background:#f3f4f6;border-radius:12px;color:#374151;font-size:.75rem;padding:.25rem .75rem}.stat-badge,.stat-badge-small{display:inline-block;font-weight:500;margin-top:.5rem}.stat-badge-small{background:#fef3c7;border-radius:8px;color:#92400e;font-size:.7rem;padding:.125rem .5rem}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.section-title{align-items:center;border-bottom:2px solid #f3f4f6;color:#000069;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem;padding-bottom:.75rem}.section-title svg{color:#000069}.quick-actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-card{align-items:center;background:#f9fafb;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:.75rem;justify-content:center;padding:1.5rem;transition:all .3s ease}.action-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.action-card svg{height:32px;width:32px}.action-card-primary{border-color:#000069;color:#000069}.action-card-primary:hover{background:#000069;color:#fff}.action-card-success{border-color:#098034;color:#098034}.action-card-success:hover{background:#098034;color:#fff}.action-card-info{border-color:#7c3aed;color:#7c3aed}.action-card-info:hover{background:#7c3aed;color:#fff}.action-card-warning{border-color:#f97316;color:#f97316}.action-card-warning:hover{background:#f97316;color:#fff}.action-card-secondary{border-color:#6b7280;color:#6b7280}.action-card-secondary:hover{background:#6b7280;color:#fff}.action-card-dark{border-color:#1f2937;color:#1f2937}.action-card-dark:hover{background:#1f2937;color:#fff}.dashboard-columns{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.dashboard-chart{min-height:400px}.chart-container{height:100%}.bar-chart,.chart-container{display:flex;flex-direction:column}.bar-chart{gap:1rem}.bar-item{display:flex;flex-direction:column;gap:.5rem}.bar-label{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.dept-name{color:#374151;font-weight:500}.dept-count{color:#000069;font-size:1rem;font-weight:700}.bar-wrapper{background:#f3f4f6;border-radius:8px;height:32px;overflow:hidden}.bar-fill{align-items:center;background:linear-gradient(90deg,#000069,#0000a0);border-radius:8px;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:flex-end;padding-right:.5rem;transition:width .5s ease}.dashboard-activity{min-height:400px}.activity-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.activity-item{background:#f9fafb;border-left:3px solid #000069;border-radius:8px;display:flex;gap:1rem;padding:1rem}.activity-icon{align-items:center;background:#e0e7ff;border-radius:50%;color:#000069;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.activity-content{flex:1 1}.activity-text{color:#374151;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.activity-time{color:#9ca3af;font-size:.75rem}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state p{font-size:.875rem}.dashboard-corners{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.corner-section{min-height:300px}.corner-section .section-title{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.corner-section .section-title svg{color:#000069}.corner-content{display:flex;flex-direction:column;height:calc(100% - 3rem)}.empty-state-corner{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:220px;padding:2rem 1rem;text-align:center}.empty-state-corner svg{color:#000069;margin-bottom:1rem;opacity:.4}.empty-state-corner p{color:#6b7280;font-size:.95rem;font-weight:500;margin:0 0 .5rem}.empty-subtext{color:#9ca3af;font-size:.813rem}.system-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-card{background:#f9fafb;border-left:4px solid #000069;border-radius:10px;padding:1.25rem}.info-card h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .5rem}.status-active{color:#098034}.status-active,.status-warning{font-size:.875rem;font-weight:600;margin:.25rem 0}.status-warning{color:#f97316}.info-text{color:#6b7280;font-size:.875rem;margin:.5rem 0 0}.pending-applications-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.pending-app-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .3s ease}.pending-app-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.app-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.app-type{color:#000069;font-size:1rem;font-weight:600}.app-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.app-status.status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.app-details{display:flex;flex-direction:column;gap:.75rem}.app-detail-item{align-items:center;display:flex;justify-content:space-between}.detail-label{font-size:.875rem;font-weight:500}.detail-value{color:#374151;font-size:.875rem;font-weight:600;text-align:right}@media (max-width:1200px){.dashboard-columns,.dashboard-corners{grid-template-columns:1fr}}@media (max-width:768px){.admin-dashboard-home{padding:1rem}.dashboard-welcome h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.dashboard-corners,.system-info-grid{grid-template-columns:1fr}.corner-section{min-height:250px}}@media (max-width:480px){.quick-actions-grid{grid-template-columns:1fr}}.leave-credits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.leave-credit-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:1.5rem;transition:all .3s ease}.leave-credit-card:hover{border-color:#000069;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.credit-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.credit-header h3{color:#111827;font-size:1rem;font-weight:600;margin:0}.credit-code{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.credit-body{display:flex;flex-direction:column;gap:1rem}.credit-main{background:linear-gradient(135deg,#000069,#0d47a1);border-radius:8px;color:#fff;padding:1rem;text-align:center}.credit-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.25rem}.credit-label{font-size:.875rem;font-weight:500;opacity:.9}.credit-details{display:flex;flex-direction:column;gap:.5rem}.credit-detail-item{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.credit-detail-item .detail-label{color:#6b7280;font-size:.875rem;font-weight:500}.credit-detail-item .detail-value{color:#111827;font-size:.875rem;font-weight:600}.empty-state{color:#9ca3af;padding:3rem 2rem;text-align:center}.empty-state p{font-size:1rem;margin:0}.training-overview-section{border-top:3px solid #000069}.training-kpi-row{display:flex;gap:1rem;margin:1rem 0 1.5rem}.training-kpi-card{align-items:center;border:1px solid #0000;border-radius:12px;display:flex;flex:1 1;gap:1rem;padding:1.1rem 1.25rem}.tko-active{background:#eff6ff;border-color:#bfdbfe}.tko-upcoming{background:#f0fdf4;border-color:#bbf7d0}.tko-enrolled{background:#fdf4ff;border-color:#e9d5ff}.tko-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.tko-active .tko-icon{background:#dbeafe;color:#1d4ed8}.tko-upcoming .tko-icon{background:#dcfce7;color:#15803d}.tko-enrolled .tko-icon{background:#f3e8ff;color:#7e22ce}.tko-body{display:flex;flex-direction:column;gap:.1rem}.tko-value{color:#111827;font-size:1.75rem;font-weight:700;line-height:1}.tko-label{color:#6b7280;font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.training-schedule-panel{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.tsp-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.tsp-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:-1px;padding:.7rem 1.25rem;transition:all .2s}.tsp-tab:hover{color:#000069}.tsp-tab.active{border-bottom-color:#000069;color:#000069;font-weight:600}.tsp-badge{background:#000069;border-radius:99px;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;padding:.1rem .45rem;text-align:center}.tsp-body{overflow-x:auto;padding:.25rem 0}.training-sched-table{border-collapse:collapse;font-size:.875rem;width:100%}.training-sched-table thead tr{background:#f3f4f6}.training-sched-table th{color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.07em;padding:.65rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.training-sched-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.75rem 1rem;vertical-align:middle}.training-sched-table tbody tr:last-child td{border-bottom:none}.training-sched-table tbody tr:hover td{background:#f9fafb}.sched-code{background:#eff6ff;color:#1d4ed8;font-weight:700;white-space:nowrap}.sched-code,.sched-mode{border-radius:6px;font-size:.78rem;padding:.2rem .55rem}.sched-mode{background:#f3f4f6;color:#6b7280;font-weight:500}.sched-enrolled{align-items:center;background:#f3e8ff;border-radius:8px;color:#7e22ce;display:inline-flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;min-width:32px;padding:0 .5rem}@media (max-width:768px){.training-kpi-row{flex-direction:column}}.leave-details-layout{display:flex;gap:2rem;margin-top:1rem}.leave-details-left{flex:1 1;min-width:0}.leave-details-right{flex:1.2 1;min-width:0}.leave-details-subtitle{color:#9ca3af;font-size:.7rem;font-weight:700;letter-spacing:.09em;margin:0 0 .75rem;text-transform:uppercase}.leave-pending-summary{display:flex;flex-direction:column;gap:.5rem}.leave-pending-item{align-items:center;border-left:4px solid #0000;border-radius:8px;display:flex;gap:1rem;padding:.65rem 1rem}.lpi-warning{background:#fffbeb;border-left-color:#f59e0b}.lpi-info{background:#eff6ff;border-left-color:#3b82f6}.lpi-purple{background:#f5f3ff;border-left-color:#7c3aed}.lpi-count{color:#111827;font-size:1.5rem;font-weight:700;line-height:1;min-width:2rem;text-align:center}.lpi-label{color:#6b7280;font-size:.875rem;font-weight:500}.leave-pending-details{display:flex;flex-direction:column;gap:.4rem}.leave-pending-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.65rem .9rem}.lpc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.lpc-type{color:#111827;font-size:.875rem;font-weight:600}.lpc-meta{color:#6b7280;display:flex;font-size:.78rem;gap:1rem}.leave-credits-list{display:flex;flex-direction:column}.leave-credit-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.85rem;padding:.7rem 0}.leave-credit-row:last-child{border-bottom:none}.lcr-info{display:flex;flex-direction:column;gap:.1rem;min-width:150px}.lcr-name{color:#111827;font-size:.875rem;font-weight:600}.lcr-code{color:#9ca3af;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.lcr-track{background:#e5e7eb;border-radius:99px;flex:1 1;height:6px;overflow:hidden}.lcr-fill{background:linear-gradient(90deg,#000069,#1a1a8f);border-radius:99px;height:100%;transition:width .5s ease}.lcr-numbers{align-items:baseline;display:flex;gap:.25rem;white-space:nowrap}.lcr-numbers strong{color:#000069;font-size:1rem;font-weight:700}.lcr-numbers span{color:#9ca3af;font-size:.78rem}@media (max-width:768px){.leave-details-layout{flex-direction:column}}.holidays-list{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.holiday-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:0;overflow:hidden;padding:.55rem .5rem .5rem;text-align:center;transition:box-shadow .2s ease,border-color .2s ease}.holiday-item:hover{border-color:#000069;box-shadow:0 3px 10px #0000691a}.holiday-item-today{border-color:#dc2626!important;box-shadow:0 0 0 2px #dc26262e}.holiday-item-today:hover{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc262659,0 3px 10px #dc262626}.holiday-date{align-items:baseline;background:linear-gradient(135deg,#000069,#0d47a1);border-radius:7px;color:#fff;display:flex;gap:3px;justify-content:center;margin-bottom:.4rem;padding:.3rem .6rem;width:100%}.holiday-day-num{font-size:1.15rem;font-weight:700;line-height:1}.holiday-month{font-size:.65rem;font-weight:600;letter-spacing:.4px;opacity:.9;text-transform:uppercase}.holiday-day-name{font-size:.6rem;font-weight:500;margin-left:3px;opacity:.75;text-transform:uppercase}.holiday-details{align-items:center;display:flex;flex-direction:column;gap:.3rem;padding:0 .15rem;width:100%}.holiday-name{color:#111827;font-size:.72rem;font-weight:600;line-height:1.3;word-break:break-word}.holiday-type{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.holiday-badge{border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.2px;padding:.1rem .45rem;text-transform:uppercase}.holiday-badge-regular{background:#dcfce7;border:1px solid #86efac;color:#15803d}.holiday-badge-special{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.holiday-badge-repeat{background:#e0e7ff;border:1px solid #a5b4fc;color:#3730a3}@media (max-width:768px){.holidays-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.approvals-overview-section{margin-bottom:1.5rem}.approvals-tiles-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem}.approvals-tile{align-items:center;border:1px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex:1 1;gap:1rem;min-width:200px;padding:1.25rem 1.5rem;transition:transform .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.approvals-tile:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.approvals-tile:focus{outline:2px solid #000069;outline-offset:2px}.approvals-tile-leaves{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.approvals-tile-ot{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d}.approvals-tile-ob{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.approvals-tile-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.approvals-tile-leaves .approvals-tile-icon{background:#2563eb;color:#fff}.approvals-tile-ot .approvals-tile-icon{background:#d97706;color:#fff}.approvals-tile-ob .approvals-tile-icon{background:#16a34a;color:#fff}.approvals-tile-body{display:flex;flex-direction:column;gap:.25rem}.approvals-tile-count{color:#000069;font-size:2rem;font-weight:800;line-height:1}.approvals-tile-label{color:#374151;font-size:.82rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}@media (max-width:768px){.approvals-tiles-row{flex-direction:column}.approvals-tile{min-width:0;min-width:auto}}.cert-layout-editor{padding:0;width:100%}.cert-layout-form-full{display:flex;flex-direction:column;gap:0;width:100%}.cert-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:0}.cert-section-heading{border-bottom:2px solid #e8eaf6;color:#000069;font-size:13px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;padding-bottom:6px;text-transform:uppercase}.cert-field-group{margin-bottom:14px}.cert-field-group label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.cert-optional{color:#9ca3af;font-size:12px;font-weight:400}.cert-field-group input[type=text],.cert-field-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-size:13px;padding:8px 12px;resize:vertical;transition:border-color .2s;width:100%}.cert-field-group input[type=text]:focus,.cert-field-group textarea:focus{border-color:#000069;box-shadow:0 0 0 3px #00006914;outline:none}.cert-toggles{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.cert-toggle{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.cert-toggle input[type=checkbox]{accent-color:#000069;cursor:pointer;height:15px;width:15px}.cert-note{color:#6b7280;font-size:12px;margin:0 0 12px}.cert-placeholder-hint{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:3px;color:#000069;font-family:monospace;font-size:11px;padding:1px 5px}.cert-signatories-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.cert-signatory-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:14px}.cert-signatory-card input[type=text]{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:12px;padding:7px 10px;width:100%}.cert-signatory-card input[type=text]:focus{border-color:#000069;outline:none}.cert-signatory-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:70px 1fr 1fr;margin-bottom:10px}.cert-sig-label{color:#6b7280;font-size:12px;font-weight:600;white-space:nowrap}.cert-signatory-row input[type=text]{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:12px;padding:7px 10px;width:100%}.cert-signatory-row input[type=text]:focus{border-color:#000069;outline:none}.cert-layout-actions{align-items:center;display:flex;gap:12px;margin-top:24px;padding-bottom:8px}.cert-btn-preview{align-items:center;background:#fff;border:2px solid #000069;border-radius:8px;color:#000069;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;padding:.75rem 1.25rem;transition:background .15s,color .15s}.cert-btn-preview:hover{background:#000069;color:#fff}.cert-layout-preview-wrap{position:-webkit-sticky;position:sticky;top:20px}.cert-preview-label{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:1px;margin:0 0 10px;text-align:center;text-transform:uppercase}.cert-preview-desk{align-items:flex-start;background:#b0b4bb;border-radius:8px;display:flex;justify-content:center;padding:20px}.cert-paper-scale-wrap{box-shadow:0 8px 32px #0006;flex-shrink:0;height:163.35mm;overflow:hidden;width:115.5mm}.cert-a4-paper{height:297mm;overflow:hidden;transform:scale(.55);transform-origin:top left;width:210mm}.cert-a4-paper,.cert-border-outer{background:#fff;box-sizing:border-box}.cert-border-outer{border:none;display:flex;flex-direction:column;height:100%;padding:8px;width:100%}.cert-border-inner{border:none;flex:1 1;gap:0;padding:22px 36px 18px;position:relative}.cert-border-inner,.cert-prev-iso-box{box-sizing:border-box;display:flex;flex-direction:column}.cert-prev-iso-box{align-items:center;border:4px double #000069;flex-shrink:0;height:110px;justify-content:center;padding:8px;text-align:center;width:150px}.cert-prev-iso-title{font-size:14px;font-weight:700;margin:0 0 4px}.cert-prev-iso-body,.cert-prev-iso-title{color:#000069;font-family:Arial,sans-serif}.cert-prev-iso-body{font-size:11px;font-weight:400;line-height:1.5;margin:0}.cert-prev-header{align-items:center;display:flex;gap:20px;margin-bottom:14px}.cert-prev-logo{flex-shrink:0;height:162px;object-fit:contain;width:174px}.cert-prev-org{flex:1 1;text-align:center}.cert-prev-org-name{letter-spacing:.5px}.cert-prev-org-name,.cert-prev-org-sub{color:#000069;font-family:Arial,sans-serif;font-size:25px;font-weight:800;margin:0 0 4px}.cert-prev-org-address{color:#000069;font-family:Arial,sans-serif;font-size:18px;font-weight:400;line-height:1;margin:0}.cert-prev-divider{display:none}.cert-prev-numbers-row{display:flex;justify-content:flex-end;margin-bottom:10px}.cert-prev-numbers-block{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.cert-prev-number-label{color:#000;font-family:Arial,sans-serif;font-size:20px;font-weight:700;margin:0;white-space:nowrap}.cert-prev-title-block{text-align:center}.cert-prev-title{color:#000;font-family:Arial,sans-serif;font-size:63px;font-weight:700;letter-spacing:1px;margin:0 0 6px}.cert-prev-subtitle{color:#555;font-size:16px;font-style:italic;margin-bottom:18px}.cert-prev-body{align-items:center;display:flex;flex:1 1;flex-direction:column;text-align:center}.cert-prev-intro{font-style:normal;margin:0 0 10px}.cert-prev-category-name,.cert-prev-intro{color:#000;font-family:Arial,sans-serif;font-size:29px}.cert-prev-category-name{font-weight:700;letter-spacing:0;line-height:1.2;margin:10px 0 0;text-transform:uppercase}.cert-prev-trainee-name{color:#000;font-family:Arial,sans-serif;font-size:48px;font-weight:900;letter-spacing:0;margin:35px 0 15px}.cert-prev-completion{font-style:normal;margin:0 0 20px}.cert-prev-completion,.cert-prev-course-name{color:#000;font-family:Arial,sans-serif;font-size:29px}.cert-prev-course-name{font-weight:400;letter-spacing:0;line-height:1.2;margin:2px 0 0}.cert-prev-course-hours{color:#000;font-family:Arial,sans-serif;font-size:29px;font-weight:700;margin:4px 0 8px}.cert-prev-course-code{color:#777;font-size:15px;margin:0 0 12px}.cert-prev-dates{color:#444;font-size:15px;margin:0 0 4px}.cert-prev-sched-code{color:#888;font-size:14px;margin:0 0 8px}.cert-prev-footer-text{color:#555;font-size:14px;font-style:italic;margin:10px 0 0}.cert-prev-body-paragraph{margin:28px 30px 0;text-align:justify}.cert-prev-body-paragraph,.cert-prev-issued-paragraph{color:#000;font-family:Arial,sans-serif;font-size:29px;line-height:1.6;width:calc(100% - 60px)}.cert-prev-issued-paragraph{align-self:flex-start;margin:20px 30px 0;text-align:left}.cert-prev-placeholder{color:#333;font-style:normal;font-weight:400}.cert-prev-signatories{display:flex;gap:20px;justify-content:space-evenly;margin-top:0;padding-top:0}.cert-prev-sig-block{flex:1 1;min-width:120px;text-align:center}.cert-prev-sig-line{background:#333;height:1px;margin-bottom:6px}.cert-prev-sig-name{margin:0 0 2px;text-transform:uppercase}.cert-prev-sig-name,.cert-prev-sig-title{color:#000;font-family:Arial,sans-serif;font-size:29px;font-weight:400}.cert-prev-sig-title{font-style:normal;margin:0}.cert-prev-cert-no{color:#aaa;font-family:Arial,sans-serif;font-size:24px;font-style:italic;margin:14px 0 0;text-align:left}.cert-prev-footer-row{align-items:flex-end;display:flex;justify-content:flex-start;margin-top:10px}.cert-prev-photo-row{display:flex;flex-shrink:0;justify-content:center;margin-top:20px}.cert-prev-photo-placeholder{align-items:center;background:#fff;border:2px solid #000;display:flex;height:8.2cm;justify-content:center;width:6.4cm}.cert-prev-photo-label{color:#aaa;font-family:Arial,sans-serif;font-size:22px;letter-spacing:1px;text-transform:uppercase}@media (max-width:1200px){.cert-paper-scale-wrap{height:124.74mm;width:88.2mm}.cert-a4-paper{transform:scale(.42)}}@media (max-width:1100px){.cert-layout-columns{grid-template-columns:1fr}.cert-layout-preview-wrap{position:static}.cert-paper-scale-wrap{height:163.35mm;width:115.5mm}.cert-a4-paper{transform:scale(.55)}}.cert-modal-overlay{align-items:center;background:#000000a6;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.cert-modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;max-height:94vh;min-width:320px;overflow:hidden;width:auto}.cert-modal-controls{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 20px}.cert-modal-title{color:#111827;font-size:14px;font-weight:700;letter-spacing:.2px}.cert-modal-close{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:7px 14px;transition:background .15s}.cert-modal-close:hover{background:#e5e7eb}.cert-modal-body{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:20px}@media (max-width:800px){.cert-form-row,.cert-signatories-grid{grid-template-columns:1fr}.cert-modal-container{border-radius:0;max-height:100vh;max-width:100%;width:100%}}*{box-sizing:border-box}.pcert-page{align-items:center;background:#e8e8e8;display:flex;flex-direction:column;font-family:Georgia,Times New Roman,serif;min-height:100vh;padding:24px 16px 40px}.pcert-controls{display:flex;gap:10px;justify-content:flex-end;margin-bottom:16px;max-width:794px;width:100%}.pcert-error,.pcert-loading{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#374151;font-size:14px;padding:16px 24px}.pcert-btn-close,.pcert-btn-print{align-items:center;border:none;border-radius:7px;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:600;padding:10px 22px;transition:background .2s}.pcert-btn-print{background:#000069;color:#fff}.pcert-btn-print:hover{background:#00008f}.pcert-btn-close{background:#6b7280;color:#fff}.pcert-btn-close:hover{background:#4b5563}.pcert-sheet{background:#fff;box-shadow:0 4px 24px #00000038;height:297mm;overflow:hidden;position:relative;width:210mm}.pcert-border-outer{padding:8px}.pcert-border-inner,.pcert-border-outer{border:none;box-sizing:border-box;height:100%;width:100%}.pcert-border-inner{display:flex;flex-direction:column;padding:22px 36px 18px;position:relative}.pcert-header{align-items:center;display:flex;gap:16px;margin-bottom:8px}.pcert-logo{flex-shrink:0;height:2.36cm;object-fit:contain;width:2.54cm}.pcert-org{flex:1 1;text-align:center}.pcert-org-name{letter-spacing:.5px;margin:0 0 1px}.pcert-org-name,.pcert-org-sub{color:#000069;font-family:Arial,sans-serif;font-size:18pt;font-weight:700}.pcert-org-sub{margin:0 0 2px}.pcert-org-address{color:#000;font-family:Arial,sans-serif;font-size:12pt;margin:0}.pcert-iso-box{align-items:center;border:3px double #000069;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding:6px 8px;text-align:center;width:110px}.pcert-iso-title{font-size:9pt;font-weight:700;margin:0 0 3px}.pcert-iso-body,.pcert-iso-title{color:#000069;font-family:Arial,sans-serif}.pcert-iso-body{font-size:7pt;font-weight:400;line-height:1.5;margin:0}.pcert-rule{background:linear-gradient(90deg,#000069,#b5951a 50%,#000069);flex-shrink:0;height:3px;margin:6px 0 10px}.pcert-numbers-row{display:flex;flex-shrink:0;justify-content:flex-end;margin-bottom:8px}.pcert-numbers-block{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.pcert-number-label{color:#000;font-family:Arial,sans-serif;font-size:12pt;font-weight:400;margin:0;white-space:nowrap}.pcert-title-block{flex-shrink:0;margin-bottom:8px;margin-top:24px;text-align:center}.pcert-title{color:#000;font-family:Arial,sans-serif;font-size:26pt;font-weight:700;letter-spacing:1px;margin:0 0 3px}.pcert-subtitle{color:#444;font-size:10pt;font-style:italic;letter-spacing:1px;margin:0}.pcert-body{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:0;justify-content:flex-start;text-align:center}.pcert-body-intro{font-size:12pt;font-style:normal;font-weight:400;margin:0 0 8px}.pcert-body-intro,.pcert-trainee-name{color:#000;font-family:Arial,sans-serif}.pcert-trainee-name{font-size:20pt;font-weight:900;letter-spacing:0;line-height:1.15;margin:14px 0 10px}.pcert-rank{color:#555;font-size:9pt;letter-spacing:2px;margin:0;text-transform:uppercase}.pcert-completion-text{color:#000;font-family:Arial,sans-serif;font-size:12pt;font-style:normal;margin:10px 0 14px}.pcert-category-name{font-weight:700;margin:0;text-transform:uppercase}.pcert-category-name,.pcert-course-name{color:#000;font-family:Arial,sans-serif;font-size:12pt;letter-spacing:0;line-height:1.2}.pcert-course-name{font-weight:400;margin:2px 0 0}.pcert-courses-list{margin:4px 0 0;text-align:center}.pcert-course-item{font-size:11pt;font-weight:400;letter-spacing:0;line-height:1.3;margin:2px 0}.pcert-course-hours,.pcert-course-item{color:#000;font-family:Arial,sans-serif}.pcert-course-hours{font-size:12pt;font-weight:700;margin:4px 0 2px}.pcert-course-code{color:#777;font-size:9pt;margin:0 0 3px}.pcert-dates{color:#333;font-size:9pt;margin:2px 0 0}.pcert-sched-code{color:#888;font-size:8pt;margin:0}.pcert-footer-text{align-self:center;color:#000;font-family:Arial,sans-serif;font-size:12pt;font-style:normal;font-weight:400;margin:10px 0 0;text-align:center}.pcert-body-paragraph{margin:24px 30px 0;text-align:justify}.pcert-body-paragraph,.pcert-issued-paragraph{color:#000;font-family:Arial,sans-serif;font-size:12pt;line-height:1.6}.pcert-issued-paragraph{align-self:flex-start;margin:14px 30px 0;text-align:left;width:calc(100% - 60px)}.pcert-signatories{grid-gap:24px;display:grid;flex-shrink:0;gap:24px;margin-top:8px}.pcert-sig-block{text-align:center}.pcert-sig-space{height:28px}.pcert-sig-line{background:#333;height:1px;margin:0 10px 3px}.pcert-sig-name{letter-spacing:.5px;margin:0 0 1px;text-transform:uppercase}.pcert-sig-name,.pcert-sig-title{color:#000;font-family:Arial,sans-serif;font-size:12pt;font-weight:400}.pcert-sig-title{font-style:normal;margin:0}.pcert-watermark{color:#00000012;font-family:Arial,sans-serif;font-size:14pt;font-weight:700;left:50%;letter-spacing:2px;line-height:1.8;pointer-events:none;position:absolute;text-align:center;text-transform:uppercase;top:50%;transform:translate(-50%,-50%) rotate(-45deg);white-space:normal;width:80%;word-break:break-word;z-index:0}.pcert-footer-row{align-items:flex-end;display:flex;flex-shrink:0;justify-content:space-between;margin-top:8px;position:relative}.pcert-photo-row{display:flex;flex-shrink:0;justify-content:center;margin-top:12px}.pcert-photo-placeholder{align-items:center;background:#fff;border:1.5px solid #000;display:flex;height:4.5cm;justify-content:center;width:3.5cm}.pcert-photo-placeholder-label{color:#aaa;font-family:Arial,sans-serif;font-size:9pt;letter-spacing:1px;text-transform:uppercase}.pcert-cert-no,.pcert-issue-date{color:#aaa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:7.5pt;font-style:italic}@media print{@page{size:A4 portrait;margin:0}body{margin:0}.pcert-page,body{background:#fff;padding:0}.pcert-page{display:block}.no-print,.pcert-controls{display:none!important}.pcert-sheet{box-shadow:none;height:297mm;margin:0;page-break-after:avoid;width:210mm}.pcert-border-outer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.course-learning-container{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.learning-header{background:#000069;border-bottom:1px solid #005;box-shadow:0 2px 4px #0003;justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-left,.learning-header{align-items:center;display:flex}.header-left{flex:1 1;gap:20px}.btn-back-course{align-items:center;background:#0000;border:1px solid #ffffff4d;border-radius:6px;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px}.btn-back-course:hover{background:#ffffff1a;border-color:#ffffff80}.header-course-info h2{color:#fff;font-size:16px;font-weight:600;line-height:1.4;margin:0}.current-lesson-title{color:#fffc;font-size:13px;font-weight:400;margin:4px 0 0}.header-right{align-items:center;display:flex;gap:12px}.user-name{color:#fff;font-size:14px;font-weight:500}.learning-content{display:flex;flex:1 1;overflow:hidden}.learning-content.theater-mode{flex-direction:column}.learning-content.theater-mode .content-panel{flex:0 0 auto;width:100%}.learning-content.theater-mode .curriculum-sidebar{border-left:none;border-top:1px solid #e5e5e5;flex:0 0 30%}.content-panel{background:#fff;display:flex;flex:0 0 75%;flex-direction:column;overflow-y:auto;position:relative}.theater-mode-btn{align-items:center;background:#000000b3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;opacity:.9;padding:10px;position:absolute;right:16px;top:16px;transition:all .2s;z-index:50}.theater-mode-btn:hover{background:#000000e6;opacity:1;transform:scale(1.05)}.theater-mode-btn svg{display:block}.video-frame{align-items:center;aspect-ratio:16/9;background:#000;display:flex;justify-content:center;position:relative;width:100%}.video-placeholder{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:16px}.video-placeholder svg{opacity:.5}.video-placeholder p{color:#d1d5db;font-size:18px;font-weight:500;margin:0}.placeholder-note{color:#6b7280;font-size:14px}.lesson-info{border-bottom:1px solid #e5e5e5;padding:24px}.lesson-info h3{color:#1f2937;font-size:22px;font-weight:600;margin:0 0 12px}.lesson-meta{gap:20px}.lesson-duration,.lesson-meta{align-items:center;display:flex}.lesson-duration{color:#6b7280;font-size:14px;gap:6px}.lesson-status{border-radius:12px;font-size:13px;font-weight:500;padding:4px 12px}.lesson-status.completed{background:#d1fae5;color:#065f46}.lesson-status.in-progress{background:#dbeafe;color:#1e40af}.lesson-actions{display:flex;gap:12px;padding:24px}.btn-mark-complete,.btn-next-lesson{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-mark-complete{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-mark-complete:hover{background:#f9fafb;border-color:#9ca3af}.btn-next-lesson{background:#2563eb;border:1px solid #2563eb;color:#fff}.btn-next-lesson:hover{background:#1d4ed8;border-color:#1d4ed8}.curriculum-sidebar{background:#fff;border-left:1px solid #e5e5e5;display:flex;flex:0 0 25%;flex-direction:column;overflow:hidden}.sidebar-header{background:#f9fafb;border-bottom:1px solid #e5e5e5;padding:20px}.sidebar-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.modules-list{flex:1 1;overflow-y:auto}.sidebar-module{border-bottom:1px solid #e5e5e5}.module-header-item{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s}.module-header-item:hover{background:#f9fafb}.module-header-left{align-items:center;display:flex;flex:1 1;gap:10px}.expand-icon{color:#6b7280;flex-shrink:0;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.module-title-text{color:#1f2937;font-size:14px;font-weight:600;line-height:1.4}.module-progress-count{color:#6b7280;font-size:12px;font-weight:500}.lessons-list-sidebar{background:#f9fafb}.lesson-item-sidebar{align-items:flex-start;border-left:3px solid #0000;cursor:pointer;display:flex;gap:12px;padding:12px 20px 12px 46px;transition:all .2s}.lesson-item-sidebar:hover{background:#f3f4f6}.lesson-item-sidebar.active{background:#eff6ff;border-left-color:#2563eb}.lesson-item-sidebar.completed .lesson-icon-sidebar{color:#10b981}.lesson-icon-sidebar{color:#9ca3af;flex-shrink:0;margin-top:2px}.lesson-item-sidebar.active .lesson-icon-sidebar{color:#2563eb}.lesson-text-sidebar{display:flex;flex:1 1;flex-direction:column;gap:4px}.lesson-title-sidebar{color:#374151;font-size:13px;font-weight:500;line-height:1.4}.lesson-item-sidebar.active .lesson-title-sidebar{color:#1f2937;font-weight:600}.lesson-duration-sidebar{color:#6b7280;font-size:12px}@media (max-width:1200px){.content-panel{flex:0 0 70%}.curriculum-sidebar{flex:0 0 30%}}@media (max-width:768px){.learning-header{padding:12px 16px}.header-left{align-items:flex-start;gap:12px}.header-left,.learning-content{flex-direction:column}.content-panel,.curriculum-sidebar{flex:1 1 auto}.curriculum-sidebar{border-left:none;border-top:1px solid #e5e5e5;max-height:400px}.lesson-info h3{font-size:18px}.lesson-actions{flex-direction:column}.btn-mark-complete,.btn-next-lesson{justify-content:center;width:100%}}.preview-badge{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px}.material-description-full{color:#666;font-size:14px;line-height:1.6;margin:10px 0}.material-tag{background:#f0f0f0;border-radius:4px;color:#666;font-size:12px;padding:4px 10px}.empty-sidebar{color:#999;font-size:14px;padding:20px;text-align:center}.lo-section{margin:8px 0}.lo-header{align-items:center;background:#f8f9fa;border-left:3px solid #000069;display:flex;justify-content:space-between;margin-bottom:4px;padding:8px 12px}.lo-title{color:#000069;flex:1 1;font-size:13px;font-weight:600}.lo-count{background:#e0e0e0;border-radius:10px;color:#666;font-size:11px;padding:2px 8px}.lo-section .lesson-item-sidebar{padding-left:24px}.loading-state{align-items:center;color:#666;display:flex;font-size:16px;height:100vh;justify-content:center}.pdf-viewer-container{display:flex;flex-direction:column;height:100%;width:100%}.pdf-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;gap:10px;justify-content:center;padding:10px}.pdf-scroll-container{background:#525659;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.pdf-scroll-container iframe{background:#fff;box-shadow:0 2px 8px #0003}.image-viewer-container{display:flex;flex-direction:column;height:100%;width:100%}.image-controls{background:#f8f9fa;border-bottom:1px solid #ddd;gap:10px;padding:10px}.image-controls,.image-scroll-container{align-items:center;display:flex;justify-content:center}.image-scroll-container{background:#f5f5f5;flex:1 1;overflow:auto;padding:20px}.image-scroll-container img{display:block;height:auto;max-width:100%;transition:transform .2s;user-select:none;-webkit-user-select:none;-moz-user-select:none}.ppt-viewer-container{display:flex;flex-direction:column;height:100%;width:100%}.ppt-controls{align-items:center;background:#f8f9fa;border-bottom:1px solid #ddd;display:flex;gap:15px;justify-content:center;padding:12px}.ppt-display{flex:1 1;overflow:hidden}.ppt-display iframe{height:100%;width:100%}.nav-btn,.zoom-btn{background:#000069;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:background .2s}.nav-btn:hover:not(:disabled),.zoom-btn:hover:not(:disabled){background:#005}.nav-btn:disabled,.zoom-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.zoom-level{min-width:60px}.slide-counter,.zoom-level{color:#333;font-weight:600;text-align:center}.slide-counter{min-width:100px}.external-link-display{display:flex;flex-direction:column;gap:10px;margin-top:20px;max-width:500px;width:100%}.link-input{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;color:#333;font-size:14px;padding:10px;width:100%}.file-name{color:#666;font-size:14px;margin:10px 0;word-break:break-all}.course-info-section{background:#f9f9f9;border-top:1px solid #e0e0e0;margin-top:20px;padding:20px}.info-block{margin-bottom:20px}.info-block h4{color:#000069;font-size:16px;font-weight:600;margin-bottom:10px}.info-content{font-size:14px;white-space:pre-wrap}.completion-overlay{align-items:center;animation:fadeInOverlay .25s ease;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.completion-modal{animation:slideUpModal .3s ease;background:#fff;border-radius:16px;box-shadow:0 24px 60px #0000004d;max-width:480px;padding:40px 36px;text-align:center;width:100%}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.completion-check-icon{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:700;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.completion-modal h2{color:#1a1a1a;font-size:22px;font-weight:700;margin:0 0 10px}.completion-modal>p{color:#555;font-size:14px;line-height:1.6;margin:0 0 20px}.completion-next-step{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;margin-bottom:28px;padding:16px 20px;text-align:left}.completion-next-step strong{color:#0c4a6e;display:block;font-size:13px;font-weight:700;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.completion-next-step span{color:#374151;font-size:13px;line-height:1.6}.completion-actions{display:flex;gap:12px;justify-content:center}.btn-completion-close{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 22px;transition:background .15s}.btn-completion-close:hover{background:#e5e7eb}.btn-completion-back{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:background .15s}.btn-completion-back:hover{background:#0000a0}.pdf-viewer-wrapper{background-color:#525252;display:flex;flex-direction:column;height:100%;width:100%}.pdf-toolbar{background-color:#323232;border-bottom:1px solid #4a4a4a;flex-shrink:0;gap:15px;padding:8px 15px}.pdf-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{gap:8px}.toolbar-btn{align-items:center;background-color:initial;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background-color .2s}.toolbar-btn:hover:not(:disabled){background-color:#4a4a4a}.toolbar-btn:disabled{cursor:not-allowed;opacity:.4}.toolbar-btn svg{display:block}.zoom-display{color:#fff;font-size:14px;min-width:50px;text-align:center}.page-controls{align-items:center;display:flex;gap:8px}.page-input-group{align-items:center;display:flex;gap:5px}.page-input{background-color:#424242;border:1px solid #5a5a5a;border-radius:3px;color:#fff;font-size:14px;padding:4px 8px;text-align:center;width:50px}.page-input:focus{border-color:#0078d4;outline:none}.page-total{color:#ccc;font-size:14px}.search-panel{align-items:center;border-left:1px solid #4a4a4a;display:flex;gap:8px;padding:0 10px}.search-input{background-color:#424242;border:1px solid #5a5a5a;border-radius:3px;color:#fff;font-size:13px;padding:4px 8px;width:150px}.search-input:focus{border-color:#0078d4;outline:none}.toolbar-btn-small{background-color:#0078d4;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:13px;padding:4px 10px;transition:background-color .2s}.toolbar-btn-small:hover{background-color:#005a9e}.search-results{color:#ccc;font-size:13px}.pdf-canvas-container{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.pdf-canvas{background-color:#fff;box-shadow:0 2px 8px #0000004d;display:block}.page-input::-webkit-inner-spin-button,.page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input[type=number]{-moz-appearance:textfield}.video-player-wrapper{display:flex;flex-direction:column;position:relative}.video-element,.video-player-wrapper{background-color:#000;height:100%;width:100%}.video-element{object-fit:contain}.video-controls{background:linear-gradient(0deg,#000c,#0000);bottom:0;left:0;opacity:0;padding:20px 15px 15px;position:absolute;right:0;transition:opacity .3s}.video-player-wrapper:hover .video-controls{opacity:1}.progress-bar-container{background-color:#ffffff4d;border-radius:2px;cursor:default;height:4px;margin-bottom:12px;pointer-events:none;width:100%}.progress-bar{background-color:#0078d4;border-radius:2px;height:100%;transition:width .1s linear}.controls-row{align-items:center;display:flex;justify-content:space-between}.controls-left,.controls-right{align-items:center;display:flex;gap:10px}.control-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background-color .2s}.control-btn:hover{background-color:#fff3}.control-btn svg{display:block}.volume-slider{-webkit-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;cursor:pointer;height:4px;outline:none;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:12px;width:12px}.volume-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.time-display{color:#fff;font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none}.speed-control{position:relative}.speed-menu{background-color:#1c1c1cf2;border-radius:6px;bottom:100%;box-shadow:0 4px 12px #00000080;display:flex;flex-direction:column;gap:2px;margin-bottom:8px;min-width:80px;padding:6px;position:absolute;right:0}.speed-option{background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 12px;text-align:left;transition:background-color .2s}.speed-option:hover{background-color:#ffffff26}.speed-option.active{background-color:#0078d4;font-weight:600}.video-player-wrapper *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.video-error{background-color:#000000b3;border-radius:8px;color:#fff;left:50%;max-width:400px;padding:30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.video-error svg{color:#f44;margin-bottom:15px}.video-error p{font-size:14px;line-height:1.5;margin:0}.video-loading{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.video-loading .spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#0078d4;height:50px;margin:0 auto 15px;width:50px}.video-loading p{font-size:14px;margin:0}.formative-quiz-container{background:#f8fafc;min-height:100vh;padding:1.5rem}.formative-quiz-error,.formative-quiz-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.formative-quiz-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--pntc-blue,#00008b);height:48px;margin-bottom:1rem;width:48px}.formative-quiz-loading p{color:#6b7280;font-size:1rem}.formative-quiz-loading .video-upload-note{color:#dc2626;font-size:.875rem;font-weight:500;margin-top:.5rem}.formative-quiz-error .error-icon{font-size:3rem;margin-bottom:1rem}.formative-quiz-error h3{color:#dc2626;margin-bottom:.5rem}.formative-quiz-error p{color:#6b7280;margin-bottom:1.5rem}.error-actions{display:flex;gap:1rem}.formative-quiz-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.quiz-title h2{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.5rem;margin:0}.quiz-context{color:#6b7280;font-size:.9rem;margin:.25rem 0 0}.quiz-timer{align-items:center;background:#f0f9ff;border-radius:8px;color:#00008b;color:var(--pntc-blue,#00008b);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem}.quiz-timer.warning{background:#fffbeb;color:#d97706}.quiz-timer.urgent{animation:pulse 1s ease-in-out infinite;background:#fef2f2;color:#dc2626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.timer-icon{font-size:1.1rem}.formative-quiz-body{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:180px 1fr}.quiz-sidebar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:1.25rem;position:-webkit-sticky;position:sticky;top:1.5rem}.sidebar-title{border-bottom:1px solid #e5e7eb;color:#00008b;color:var(--pntc-blue,#00008b);font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.question-nav{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem}.q-btn{background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;height:36px;transition:all .15s;width:36px}.q-btn.current,.q-btn:hover{border-color:#00008b;border-color:var(--pntc-blue,#00008b)}.q-btn.current{background:#00008b;background:var(--pntc-blue,#00008b);color:#fff}.q-btn.answered{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.q-btn.current.answered{background:#00008b;background:var(--pntc-blue,#00008b);color:#fff}.quiz-progress{border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;margin-bottom:1rem;padding:1rem 0;text-align:center}.progress-label{color:#6b7280;font-size:.8rem;margin-bottom:.25rem}.progress-value{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.25rem;font-weight:600}.btn-submit-quiz{background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:background .2s;width:100%}.btn-submit-quiz:hover:not(:disabled){background:#000070}.btn-submit-quiz:disabled{background:#9ca3af;cursor:not-allowed}.quiz-main{box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1;flex-direction:column;gap:1.25rem;min-width:0}.question-card,.quiz-main{background:#fff;border-radius:10px;padding:2rem}.question-card{border:1px solid #e5e7eb}.question-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.question-meta span{color:#64748b;font-size:.8rem}.question-type{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .6rem}.question-type.mcq{background:#dbeafe;color:#2563eb}.question-type.multi{background:#fef3c7;color:#d97706}.question-text{color:#1e293b;font-size:1.1rem;font-weight:500;line-height:1.6;white-space:pre-line;width:100%}.question-image,.question-text{margin-bottom:1.25rem}.question-image img{border:1px solid #e5e7eb;border-radius:8px;max-height:300px;max-width:100%}.question-choices{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.25rem}.choice-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1rem;transition:all .15s}.choice-option:hover{background:#f8fafc;border-color:#94a3b8}.choice-option.selected{background:#eff6ff;border-color:#2563eb;border-color:var(--pntc-blue,#2563eb)}.choice-indicator{color:#94a3b8;flex-shrink:0;font-size:1.2rem;line-height:1}.choice-option.selected .choice-indicator{color:#2563eb;color:var(--pntc-blue,#2563eb)}.choice-label{color:#64748b;flex-shrink:0;font-weight:600}.choice-text{color:#1f2937;line-height:1.5}.question-nav-buttons{border-top:1px solid #e5e7eb;justify-content:space-between;padding-top:1rem}.btn-nav{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .15s}.btn-nav:hover:not(:disabled){border-color:#00008b;border-color:var(--pntc-blue,#00008b);color:#00008b;color:var(--pntc-blue,#00008b)}.btn-nav:disabled{cursor:not-allowed;opacity:.5}.formative-quiz-result{margin:0 auto;max-width:600px;padding:2rem}.result-banner{border-radius:16px;margin-bottom:2rem;padding:2rem;text-align:center}.result-banner.passed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.result-banner.failed{background:linear-gradient(135deg,#f87171,#dc2626);color:#fff}.result-icon{font-size:4rem;margin-bottom:1rem}.result-banner h2{font-size:1.75rem;margin:0 0 .5rem}.result-subtitle{font-size:1rem;margin:0;opacity:.9}.result-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.result-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.25rem;text-align:center}.result-label{color:#6b7280;font-size:.85rem;margin-bottom:.5rem}.result-value{color:#1f2937;font-size:1.5rem;font-weight:700}.result-value.passed{color:#059669}.result-value.failed{color:#dc2626}.result-actions{display:flex;gap:1rem;justify-content:center}.btn-continue{background:#00008b;background:var(--pntc-blue,#00008b);border-radius:10px;font-size:1.1rem;padding:1rem 2rem}.btn-continue:hover{background:#000070}.btn-retry{background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.875rem 1.5rem;transition:background .2s}.btn-retry:hover{background:#000070}.btn-review{background:#fff;border:2px solid #00008b;border:2px solid var(--pntc-blue,#00008b);border-radius:8px;color:#00008b;color:var(--pntc-blue,#00008b);cursor:pointer;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.btn-review:hover{background:#eff6ff}.btn-cancel{background:#f3f4f6;border:none;border-radius:8px;color:#4b5563;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.btn-cancel:hover{background:#e5e7eb}.formative-quiz-review{margin:0 auto;max-width:800px}.review-header{margin-bottom:2rem;text-align:center}.review-header h2{color:#00008b;color:var(--pntc-blue,#00008b);margin-bottom:.5rem}.review-header p{color:#6b7280}.review-questions{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.review-question{background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.review-question.correct{border-left-color:#10b981}.review-question.incorrect{border-left-color:#ef4444}.review-q-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.review-q-number{color:#6b7280;font-weight:600}.review-q-status{border-radius:12px;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.review-q-status.correct{background:#d1fae5;color:#059669}.review-q-status.incorrect{background:#fee2e2;color:#dc2626}.review-q-text{color:#1f2937;font-size:1rem;line-height:1.6;margin-bottom:1rem}.review-q-image{margin:1rem 0;text-align:center}.review-q-image img{border-radius:8px;max-height:200px;max-width:100%}.review-choices{display:flex;flex-direction:column;gap:.5rem}.review-choice{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.5rem;padding:.75rem 1rem}.review-choice.correct{background:#d1fae5;border-color:#10b981}.review-choice.wrong{background:#fee2e2;border-color:#ef4444}.review-choice.selected{font-weight:500}.correct-mark{color:#059669}.correct-mark,.wrong-mark{font-size:.85rem;font-weight:500;margin-left:auto}.wrong-mark{color:#dc2626}.review-explanation{background:#f0f9ff;border-radius:8px;color:#0369a1;font-size:.9rem;line-height:1.5;margin-top:1rem;padding:1rem}.review-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}.btn-back-course{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:1rem;font-weight:600;padding:.85rem 1.5rem;transition:all .2s}.btn-back-course:hover{background:#e5e7eb;border-color:#d1d5db}.review-details-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.review-details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.review-detail-item{display:flex;flex-direction:column;gap:.25rem}.review-detail-item .detail-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.review-detail-item .detail-value{color:#1e293b;font-size:.95rem;font-weight:500}.review-detail-item .detail-value.warning{color:#d97706}@media (max-width:768px){.formative-quiz-body{grid-template-columns:1fr}.quiz-sidebar{order:2;position:static}.quiz-main{order:1}.question-nav{grid-template-columns:repeat(6,1fr)}.result-details{grid-template-columns:1fr}.result-actions,.review-actions{flex-direction:column}.btn-back-course,.btn-continue,.btn-retry,.btn-review{width:100%}.review-details-grid{grid-template-columns:1fr 1fr}}.formative-quiz-container.fullwidth{background:linear-gradient(135deg,#f8fafc,#e2e8f0);box-sizing:border-box;max-width:100%;min-height:100vh;padding:1rem 2rem;width:100%}.formative-quiz-body.fullwidth-body{display:block;max-width:100%}.quiz-main.fullwidth-main{margin:0;max-width:100%;width:100%}.question-card.fullwidth-card{max-width:100%;padding:2rem;width:100%}.question-text.fullwidth-text{font-size:1.25rem;line-height:1.8;margin-bottom:2rem;width:100%}.question-choices.fullwidth-choices{display:flex;flex-direction:column;gap:1rem;max-width:100%}.question-choices.fullwidth-choices .choice-option{font-size:1.1rem;padding:1.25rem 1.5rem}.quiz-header-right{align-items:center;display:flex;gap:1rem}.tab-switch-indicator{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#d97706;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.question-nav-horizontal{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1.5rem 0;padding:1rem 1.5rem}.nav-questions{display:flex;flex-wrap:wrap;gap:.5rem}.nav-questions .q-btn{font-size:.9rem;height:40px;width:40px}.nav-progress{align-items:center;display:flex;gap:1rem}.progress-text{color:#6b7280;font-size:.95rem;font-weight:500}.question-nav-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.question-nav-buttons .btn-submit-quiz{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.875rem 2rem;transition:all .2s}.question-nav-buttons .btn-submit-quiz:hover:not(:disabled){background:#047857}.question-nav-buttons .btn-submit-quiz:disabled{background:#d1d5db;cursor:not-allowed}.tab-warning-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.tab-warning-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:450px;padding:2.5rem;text-align:center;width:90%}.tab-warning-modal .warning-icon{font-size:4rem;margin-bottom:1rem}.tab-warning-modal h3{color:#dc2626;font-size:1.5rem;margin:0 0 1rem}.tab-warning-modal p{color:#4b5563;font-size:1rem;line-height:1.6;margin:0 0 .5rem}.tab-warning-modal .warning-note{color:#9ca3af;font-size:.9rem;margin-top:1rem}.btn-acknowledge{background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1.5rem;padding:.875rem 2rem;transition:background .2s}.btn-acknowledge:hover{background:#000070}.tab-switch-warning-result{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-weight:500;margin:1.5rem 0;padding:1rem 1.5rem;text-align:center}.webcam-notice-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin:2rem auto;max-width:600px;padding:2.5rem;text-align:center}.webcam-notice-icon{font-size:4rem;margin-bottom:1rem}.webcam-notice-modal h2{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.75rem;margin-bottom:1.5rem}.webcam-notice-content{margin-bottom:1.5rem;text-align:left}.webcam-notice-main{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;color:#374151;font-size:1.1rem;margin-bottom:1.5rem;padding:1rem}.webcam-notice-details{background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.webcam-notice-details h4{color:#374151;font-size:1rem;margin:0 0 .75rem}.webcam-notice-details ul{color:#4b5563;margin:0;padding-left:1.25rem}.webcam-notice-details li{line-height:1.5;margin-bottom:.5rem}.webcam-notice-assurance{background:#ecfdf5;border-left:4px solid #10b981;border-radius:8px;color:#065f46;font-size:.95rem;padding:1rem}.webcam-error-message{align-items:center;background:#fee2e2;border-radius:8px;color:#dc2626;display:flex;font-weight:500;gap:.5rem;justify-content:center;margin:1.5rem 0;padding:1rem}.webcam-notice-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-start-webcam{background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.btn-start-webcam:hover:not(:disabled){background:#000070;transform:translateY(-1px)}.btn-start-webcam:disabled{background:#9ca3af;cursor:not-allowed}.webcam-notice-modal.webcam-unavailable{border:2px solid #fecaca}.webcam-notice-modal.webcam-unavailable .webcam-notice-icon{color:#dc2626}.webcam-unavailable-content{text-align:left}.webcam-error-message.large{flex-direction:column;font-size:1.05rem;margin-bottom:1.5rem;padding:1.5rem}.webcam-error-message.large .error-icon{font-size:2rem;margin-bottom:.5rem}.webcam-requirement-notice{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.webcam-requirement-notice h4{color:#92400e;font-size:1rem;margin:0 0 .5rem}.webcam-requirement-notice p{color:#78350f;line-height:1.5;margin:0}.webcam-troubleshoot{background:#f8fafc;border-radius:8px;padding:1.25rem}.webcam-troubleshoot h4{color:#374151;font-size:1rem;margin:0 0 .75rem}.webcam-troubleshoot ul{color:#4b5563;margin:0;padding-left:1.25rem}.webcam-troubleshoot li{line-height:1.5;margin-bottom:.5rem}.webcam-recording-indicator{align-items:center;display:flex;flex-direction:column;gap:.5rem;position:fixed;right:20px;top:100px;z-index:1000}.webcam-preview{border:3px solid #dc2626;border-radius:8px;box-shadow:0 4px 12px #0003;height:120px;object-fit:cover;transform:scaleX(-1);width:160px}.recording-badge{align-items:center;background:#dc2626;border-radius:4px;color:#fff;display:flex;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.05em;padding:.375rem .75rem}.recording-dot{animation:pulse-recording 1s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.4}}.video-upload-indicator{align-items:center;background:#eff6ff;border-radius:8px;color:#1d4ed8;display:flex;font-size:.95rem;gap:.75rem;justify-content:center;margin:1rem 0;padding:1rem 1.5rem}.upload-spinner{animation:spin 1s linear infinite;border:3px solid #dbeafe;border-radius:50%;border-top-color:#1d4ed8;height:20px;width:20px}@media (max-width:768px){.formative-quiz-container.fullwidth{padding:1rem}.formative-quiz-header{align-items:flex-start;flex-direction:column;gap:1rem}.quiz-header-right{justify-content:space-between;width:100%}.question-nav-horizontal{align-items:stretch;flex-direction:column}.nav-questions{justify-content:center}.question-nav-buttons{flex-direction:column}.question-nav-buttons .btn-submit-quiz{order:-1}.webcam-notice-modal{margin:1rem;padding:1.5rem}.webcam-recording-indicator{right:10px;top:80px}.webcam-preview{height:90px;width:120px}}.fa-embed-center{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:360px;padding:40px 20px}.fa-loading-spinner{animation:fa-spin .8s linear infinite;border:4px solid #00006926;border-radius:50%;border-top-color:#000069;height:44px;margin-bottom:14px;width:44px}@keyframes fa-spin{to{transform:rotate(1turn)}}.fa-loading-text{color:#6b7280;font-size:15px;font-weight:500}.fa-error-card{background:#fff;border-radius:14px;box-shadow:0 4px 20px #00000017;max-width:400px;padding:36px 32px;text-align:center}.fa-error-icon{font-size:44px;margin-bottom:10px}.fa-error-card h2{color:#1f2937;font-size:18px;font-weight:700;margin:0 0 8px}.fa-error-card p{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 20px}.fa-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 22px;transition:all .15s ease}.fa-btn-primary{background:#000069;color:#fff}.fa-btn-primary:hover{background:#0000a0}.fa-btn-retake{background:#fff;border:2px solid #000069;color:#000069}.fa-btn-retake:hover{background:#f0f2f8}.fa-result-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:4px}.fa-btn-nav{background:#000069;color:#fff;padding:9px 20px}.fa-btn-nav:hover:not(:disabled){background:#0000a0}.fa-btn-nav:disabled{cursor:not-allowed;opacity:.35}.fa-btn-submit-side{background:#000069;color:#fff;font-size:13px;justify-content:center;margin-top:4px;padding:11px 16px;width:100%}.fa-btn-submit-side:hover{background:#0000a0}.fa-btn-submit-side.disabled,.fa-btn-submit-side:disabled{background:#9ca3af;cursor:not-allowed;opacity:.65}.fa-btn-submit-side.disabled:hover,.fa-btn-submit-side:disabled:hover{background:#9ca3af}.fa-tab-warning{align-items:center;animation:fa-slide-down .22s ease;background:#dc2626;border-radius:8px;color:#fff;display:flex;font-size:13px;font-weight:500;justify-content:space-between;margin-bottom:14px;padding:10px 16px}@keyframes fa-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fa-tab-warning-close{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;margin-left:12px;padding:3px 9px}.fa-tab-warning-close:hover{background:#ffffff59}.fa-quiz-container{display:flex;flex-direction:column;gap:0;padding:0}.fa-quiz-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000f;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:16px 22px}.fa-quiz-title{color:#000069;font-size:18px;font-weight:800;margin:0 0 2px}.fa-quiz-subtitle{color:#6b7280;font-size:13px;margin:0}.fa-header-cam-col{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.fa-cam-preview-wrap{line-height:0;position:relative}.fa-cam-preview{border:2px solid #22c55e;border-radius:8px;box-shadow:0 4px 12px #0003;display:block;height:105px;object-fit:cover;width:140px}.fa-rec-badge{align-items:center;background:#dc2626e0;border-radius:4px;bottom:6px;color:#fff;display:flex;font-size:10px;font-weight:700;gap:5px;left:6px;letter-spacing:.06em;padding:2px 7px;position:absolute}.fa-rec-dot{animation:fa-blink 1s infinite;background:#fff;border-radius:50%;flex-shrink:0;height:7px;width:7px}.fa-timer-badge{align-items:center;background:#000069;border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-family:Courier New,monospace;font-size:22px;font-weight:800;gap:6px;letter-spacing:2px;padding:8px 18px}.fa-timer-badge.warning{background:#d97706}.fa-timer-badge.urgent{animation:fa-pulse-timer 1s infinite;background:#dc2626}@keyframes fa-pulse-timer{0%,to{opacity:1}50%{opacity:.65}}.fa-quiz-body{align-items:flex-start;display:flex;gap:18px}.fa-quiz-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000f;display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:18px 14px;position:-webkit-sticky;position:sticky;top:16px;width:180px}.fa-sidebar-label{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.fa-q-nav-grid{display:flex;flex-wrap:wrap;gap:6px}.fa-q-nav-btn{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;transition:all .12s;width:32px}.fa-q-nav-btn:hover{border-color:#000069;color:#000069}.fa-q-nav-btn.current{background:#000069;border-color:#000069;color:#fff}.fa-q-nav-btn.answered{background:#e8eaf5;border-color:#000069;color:#000069}.fa-sidebar-progress{font-size:12px;font-weight:600;text-align:center}.fa-unanswered-warning{color:#d97706}.fa-all-answered{color:#16a34a}.fa-quiz-main{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.fa-question-card{background:#fff;border:2px solid #0000;border-radius:14px;box-shadow:0 2px 12px #00000012;padding:26px 28px;transition:border-color .2s}.fa-question-card.answered{border-color:#000069}.fa-q-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.fa-q-number-label{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.fa-q-points{background:#f0f2f8;color:#000069}.fa-q-points,.fa-q-type-hint{border-radius:20px;font-size:11px;font-weight:700;padding:2px 8px}.fa-q-type-hint{background:#e0e7ff;color:#3730a3}.fa-q-text{color:#1f2937;font-size:16px;font-weight:600;line-height:1.65;margin-bottom:18px;white-space:pre-wrap}.fa-q-image{border-radius:8px;display:block;image-rendering:-webkit-optimize-contrast;margin-bottom:16px;max-height:240px;max-width:min(100%,360px);object-fit:contain;width:auto}.fa-choices{display:flex;flex-direction:column;gap:10px}.fa-choice{align-items:center;background:#fafafa;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:all .12s}.fa-choice:hover{background:#f0f2f8;border-color:#000069}.fa-choice.selected{background:#e8eaf5;border-color:#000069}.fa-choice-indicator{color:#9ca3af;flex-shrink:0;font-size:16px;line-height:1}.fa-choice.selected .fa-choice-indicator{color:#000069}.fa-choice-letter{color:#6b7280;flex-shrink:0;font-size:13px;font-weight:700}.fa-choice.selected .fa-choice-letter{color:#000069}.fa-choice-text{color:#374151;flex:1 1;font-size:14px;line-height:1.5}.fa-choice.selected .fa-choice-text{color:#000069;font-weight:500}.fa-q-nav-buttons{display:flex;gap:10px;justify-content:flex-end}.fa-result-view{display:flex;justify-content:center;padding:32px 16px}.fa-result-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000017;max-width:480px;padding:40px 44px;text-align:center;width:100%}.fa-result-badge{border-radius:24px;display:inline-block;font-size:16px;font-weight:800;letter-spacing:.5px;margin-bottom:12px;padding:7px 22px}.fa-result-badge.passed{background:#dcfce7;border:2px solid #86efac;color:#15803d}.fa-result-badge.failed{background:#fee2e2;border:2px solid #fca5a5;color:#b91c1c}.fa-result-title{color:#1f2937;font-size:20px;font-weight:700;margin:0 0 4px}.fa-result-course{color:#6b7280;font-size:13px;margin:0 0 20px}.fa-result-score-main{align-items:center;display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.fa-result-pct{font-size:56px;font-weight:900;line-height:1}.fa-result-pts{color:#6b7280;font-size:14px;font-weight:500}.fa-result-warning{background:#fff3cd;border:1px solid #f59e0b;border-radius:8px;color:#92400e;font-size:13px;font-weight:500;margin-bottom:14px;padding:10px 14px}.fa-result-message{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:22px}@media (max-width:640px){.fa-quiz-body{flex-direction:column}.fa-quiz-sidebar{position:static;width:100%}.fa-q-nav-grid{flex-direction:row}.fa-question-card{padding:18px 16px}.fa-quiz-header{padding:14px 16px}.fa-timer-badge{font-size:18px;padding:7px 14px}.fa-result-card{padding:28px 20px}.fa-result-pct{font-size:44px}}.fa-webcam-notice-modal{background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000001f;max-width:580px;padding:36px 40px;text-align:center;width:100%}.fa-webcam-notice-modal.fa-webcam-notice-modal-wide{max-width:680px}.fa-webcam-notice-modal.fa-webcam-unavailable{border:2px solid #dc2626}.fa-notice-icon-wrap{align-items:center;background:linear-gradient(135deg,#000069,#0000c8);border-radius:50%;box-shadow:0 8px 24px #00006947;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.fa-webcam-notice-modal h2{color:#000;font-size:22px;font-weight:700;margin:0 0 8px}.fa-webcam-course-name{color:#000069;font-size:15px;font-weight:600;margin:0 0 20px}.fa-webcam-notice-content{margin-bottom:24px;text-align:left}.fa-webcam-notice-main{color:#000;font-size:15px;line-height:1.6;margin-bottom:20px}.fa-webcam-notice-details{background:#f3f4f6;border-radius:10px;margin-bottom:16px;padding:16px 20px}.fa-webcam-notice-details.fa-assessment-rules{background:#f8fafc;border:1px solid #e2e8f0}.fa-webcam-notice-details.fa-assessment-rules ul li{margin-bottom:8px}.fa-webcam-notice-details.fa-assessment-rules ul li:last-child{margin-bottom:0}.fa-webcam-notice-details h4{color:#000;font-size:14px;font-weight:600;margin:0 0 10px}.fa-webcam-notice-details ul{color:#000;font-size:13px;line-height:1.8;margin:0;padding-left:20px}.fa-webcam-notice-assurance{background:#e0f2fe;border-left:4px solid #0284c7;border-radius:4px;color:#0369a1;font-size:13px;padding:12px 16px;text-align:left}.fa-webcam-notice-actions{display:flex;gap:14px;justify-content:center;margin-top:24px}.fa-btn-cancel{background:#fff;border:2px solid #e5e7eb;color:#6b7280;padding:12px 24px}.fa-btn-cancel:hover{background:#f9fafb;border-color:#d1d5db}.fa-btn-start-webcam{background:linear-gradient(135deg,#000069,#0000c8);border-radius:10px;box-shadow:0 4px 16px #00006959;color:#fff;font-size:15px;gap:10px;padding:14px 32px;transition:all .2s ease}.fa-btn-start-webcam:hover{background:linear-gradient(135deg,#0000a0,#0000e0);box-shadow:0 6px 20px #00006973;transform:translateY(-1px)}.fa-btn-start-webcam:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.fa-webcam-unavailable-content{text-align:left}.fa-webcam-error-message{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:10px;line-height:1.5;margin-bottom:20px;padding:14px 16px}.fa-webcam-error-message.large{font-size:15px;padding:18px 20px}.fa-webcam-error-message .error-icon{flex-shrink:0;font-size:18px}.fa-webcam-requirement-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-bottom:16px;padding:16px 20px}.fa-webcam-requirement-notice h4{color:#c2410c;font-size:14px;font-weight:700;margin:0 0 8px}.fa-webcam-requirement-notice p{color:#9a3412;font-size:13px;line-height:1.6;margin:0}.fa-webcam-troubleshoot{background:#f9fafb;border-radius:8px;padding:16px 20px}.fa-webcam-troubleshoot h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 10px}.fa-webcam-troubleshoot ul{color:#6b7280;font-size:13px;line-height:1.8;margin:0;padding-left:20px}.fa-video-upload-note{color:#f59e0b;font-size:13px;font-weight:500;margin-top:10px}.fa-video-upload-indicator{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:14px;font-weight:500;gap:10px;justify-content:center;margin:16px 0;padding:12px 20px}.fa-upload-spinner{animation:fa-spin .8s linear infinite;border:2px solid #92400e4d;border-radius:50%;border-top-color:#92400e;height:18px;width:18px}@keyframes fa-blink{0%,50%{opacity:1}51%,to{opacity:.3}}.fa-mandatory-notice{color:#dc2626;letter-spacing:.03em}.fa-btn-exit-exam{background:#fff;border:2px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:13px;gap:7px;justify-content:center;margin-top:8px;padding:10px 16px;transition:all .15s ease;width:100%}.fa-btn-exit-exam:hover{background:#fef2f2;border-color:#dc2626}.fa-exit-overlay{align-items:center;animation:fa-fade-in .15s ease;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.fa-exit-modal{animation:fa-slide-up .2s ease;background:#fff;border-radius:16px;box-shadow:0 12px 48px #0000002e;max-width:440px;padding:36px 40px;text-align:center;width:90%}.fa-exit-icon{align-items:center;background:#fef2f2;border-radius:50%;color:#dc2626;display:flex;height:64px;justify-content:center;margin:0 auto 18px;width:64px}.fa-exit-modal h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 10px}.fa-exit-modal p{color:#6b7280;font-size:14px;line-height:1.65;margin:0 0 24px}.fa-exit-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.fa-btn-exit-confirm{background:#dc2626;border-radius:8px;color:#fff;font-size:14px;padding:11px 24px;transition:all .15s ease}.fa-btn-exit-confirm:hover{background:#b91c1c;box-shadow:0 4px 12px #dc262659;transform:translateY(-1px)}.ss-btn-stats{background:#0369a1;border-color:#0369a1;color:#fff}.ss-btn-stats:hover{background:#0284c7;border-color:#0284c7}.ss-form-section-title{color:#000069;font-size:16px;font-weight:700}.ss-form-section-title,.ss-sections-header{border-bottom:2px solid #e5e7eb;margin:24px 0 12px;padding-bottom:8px}.ss-btn-add-section{font-size:13px;padding:7px 16px}.ss-add-question-btn,.ss-btn-add-option{font-size:13px;margin-top:4px;padding:6px 14px}.ss-section-card{margin-bottom:16px}.ss-question-header{padding-bottom:4px;-webkit-user-select:none;user-select:none}.ss-question-header:hover{opacity:.85}.ss-question-preview{color:#374151;font-size:13px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-collapse-icon{color:#7c3aed;font-size:14px;line-height:1}.ss-question-body{gap:6px;padding-top:6px}.ss-question-meta{align-items:flex-end}.ss-question-meta .form-group{flex:1 1;min-width:140px}.ss-options-block{margin-top:4px}.ss-rating-hint{font-size:13px}.ss-btn-remove{font-size:18px}.ss-question-card .checkbox-label{gap:10px}.ss-question-card .checkbox-label input[type=checkbox]{flex-shrink:0;margin:0}.ss-btn-preview{align-items:center;background:#000069;border:2px solid #000069;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;padding:calc(.75rem - 2px) 1.5rem;transition:background .15s,border-color .15s}.ss-btn-preview:hover{background:#00005a;border-color:#00005a}.ss-preview-overlay{align-items:center;background:#000000a6;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.ss-preview-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;max-height:90vh;max-width:100%;overflow:hidden;width:640px}.ss-preview-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 20px}.ss-preview-modal-title{color:#111827;font-size:14px;font-weight:700}.ss-preview-modal-body{flex:1 1;overflow-y:auto;padding:24px}.ss-preview-survey{display:flex;flex-direction:column;gap:20px}.ss-preview-title{border-bottom:2px solid #000069;color:#000069;font-size:20px;font-weight:700;margin:0;padding-bottom:8px}.ss-preview-desc{color:#6b7280;font-size:14px;margin:-12px 0 0}.ss-preview-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:14px;padding:16px 18px}.ss-preview-section-title{color:#111827;display:flex;flex-direction:column;font-size:15px;font-weight:700;gap:2px;margin:0 0 4px}.ss-preview-section-num{color:#000069;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.ss-preview-question{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.ss-preview-question-text{color:#1f2937;font-size:14px;font-weight:600;line-height:1.5;margin:0}.ss-preview-q-num{color:#000069;margin-right:6px}.ss-preview-required{color:#dc2626}.ss-preview-rating{display:flex;flex-wrap:wrap;gap:6px}.ss-preview-star{background:#f9fafb;border:1.5px solid #d1d5db;border-radius:6px;color:#374151;cursor:default;font-size:13px;font-weight:600;padding:6px 14px}.ss-preview-input{background:#f9fafb;border:1.5px solid #d1d5db;border-radius:7px;box-sizing:border-box;color:#9ca3af;font-size:14px;padding:9px 12px;width:100%}.ss-preview-textarea{resize:none}.ss-preview-options{display:flex;flex-direction:column;gap:8px}.ss-preview-option{align-items:center;color:#374151;cursor:default;display:flex;font-size:14px;gap:8px}.ss-preview-remarks{display:flex;flex-direction:column;gap:4px}.ss-preview-remarks-label{color:#6b7280;font-size:12px;font-weight:600}.ss-preview-submit-row{display:flex;justify-content:flex-end;padding-top:8px}.ss-form{margin-top:16px}.ss-container{font-family:inherit;max-width:960px;padding:24px 28px}.ss-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.ss-title{color:#000069;font-size:20px;font-weight:700;margin:0 0 4px}.ss-subtitle{color:#6b7280;font-size:13px;margin:0}.ss-toast{animation:ss-slide-in .2s ease;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:600;padding:12px 20px;position:fixed;right:24px;top:20px;z-index:9999}.ss-toast-success{background:#166534;color:#fff}.ss-toast-error{background:#991b1b;color:#fff}@keyframes ss-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ss-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:background .15s,opacity .15s}.ss-btn:disabled{cursor:not-allowed;opacity:.5}.ss-btn-primary{background:#000069;color:#fff}.ss-btn-primary:hover:not(:disabled){background:#0000a0}.ss-btn-secondary{background:#f0f2f8;color:#1f2937}.ss-btn-secondary:hover{background:#e2e6f0}.ss-btn-info{background:#0369a1;color:#fff}.ss-btn-info:hover{background:#0284c7}.ss-btn-danger{background:#dc2626;color:#fff}.ss-btn-danger:hover{background:#b91c1c}.ss-btn-outline{background:#0000;border:1.5px solid #000069;color:#000069}.ss-btn-outline:hover{background:#f0f2f8}.ss-btn-sm{font-size:12px;padding:5px 12px}.ss-btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;line-height:1;padding:4px}.ss-btn-remove{color:#dc2626;font-size:16px}.ss-btn-remove:hover{background:#fee2e2}.ss-btn-remove-sm{color:#dc2626}.ss-btn-remove-sm:hover{background:#fee2e2}.ss-table-wrap{overflow-x:auto}.ss-table{border-collapse:collapse;font-size:13px;width:100%}.ss-table th{background:#000069;color:#fff;font-weight:600;padding:10px 14px;text-align:left}.ss-table td{border-bottom:1px solid #e5e7eb;padding:10px 14px;vertical-align:middle}.ss-table tr:hover td{background:#f8f9fb}.ss-survey-name{color:#1f2937;font-weight:600}.ss-survey-desc{color:#6b7280;font-size:12px;margin-top:2px}.ss-actions{display:flex;flex-wrap:wrap;gap:6px}.ss-badge{border:none;border-radius:12px;cursor:pointer;display:inline-block;font-size:11px;font-weight:700;padding:3px 10px}.ss-badge-active{background:#dcfce7;color:#166534}.ss-badge-active:hover{background:#bbf7d0}.ss-badge-inactive{background:#f3f4f6;color:#6b7280}.ss-badge-inactive:hover{background:#e5e7eb}.ss-loading{padding:40px}.ss-empty,.ss-loading{color:#6b7280;text-align:center}.ss-empty{padding:48px 24px}.ss-empty-icon{font-size:48px;margin-bottom:12px}.ss-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ss-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;padding:28px}.ss-modal-sm{max-width:420px;width:90%}.ss-modal h3{color:#1f2937;font-size:17px;margin:0 0 12px}.ss-modal p{color:#6b7280;font-size:13px;margin:0 0 20px}.ss-modal-footer{display:flex;gap:10px;justify-content:flex-end}.ss-form{display:flex;flex-direction:column;gap:20px}.ss-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.ss-card-header{background:#000069;color:#fff;font-size:14px;font-weight:600;padding:10px 18px}.ss-card-body{gap:14px;padding:18px}.ss-card-body,.ss-field{display:flex;flex-direction:column}.ss-field{gap:4px}.ss-field label{color:#374151;font-size:12px;font-weight:600}.ss-field-inline{align-items:center;flex-direction:row;gap:10px}.ss-required{color:#dc2626}.ss-input,.ss-select{border:1.5px solid #d1d5db;border-radius:7px;box-sizing:border-box;color:#1f2937;font-size:13px;padding:8px 12px;transition:border-color .15s;width:100%}.ss-input:focus,.ss-select:focus{border-color:#000069;outline:none}textarea.ss-input{resize:vertical}.ss-sections-header{align-items:center;border-bottom:2px solid #000069;color:#000069;display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-bottom:4px;padding:6px 0}.ss-section-card{background:#f8f9fb;border:1.5px solid #d1d5db;border-left:4px solid #000069;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:16px}.ss-section-title-row{align-items:center;display:flex;gap:10px}.ss-section-title-input{font-size:14px;font-weight:700}.ss-question-card{background:#fff;border:1px solid #e5e7eb;border-left:3px solid #7c3aed;border-radius:8px;padding:14px}.ss-question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ss-question-num{background:#ede9fe;border-radius:10px;color:#7c3aed;font-size:12px;font-weight:700;padding:2px 8px}.ss-question-body{display:flex;flex-direction:column;gap:10px}.ss-question-meta{display:flex;flex-wrap:wrap;gap:16px}.ss-question-meta .ss-field{flex:1 1;min-width:140px}.ss-options-block{display:flex;flex-direction:column;gap:6px}.ss-option-row{align-items:center;display:flex;gap:6px}.ss-option-input{flex:1 1}.ss-rating-preview{background:#fffbeb;border-radius:6px;font-size:12px;padding:8px 12px}.ss-rating-hint{color:#92400e}.ss-add-question-btn{align-self:flex-start}.ss-form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.ss-stats-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.ss-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;border-top:3px solid #000069;flex:1 1;min-width:120px;padding:16px 20px;text-align:center}.ss-stat-num{color:#000069;font-size:28px;font-weight:800}.ss-stat-label{color:#6b7280;font-size:12px;margin-top:4px}.ss-stats-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;overflow:hidden}.ss-stats-section-header{background:#000069;color:#fff;font-size:14px;font-weight:600;padding:10px 18px}.ss-stats-question{border-bottom:1px solid #f3f4f6;padding:16px 18px}.ss-stats-question:last-child{border-bottom:none}.ss-stats-q-text{align-items:baseline;color:#1f2937;display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:6px;margin-bottom:12px}.ss-stats-q-num{color:#000069;font-size:13px}.ss-stats-q-type{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:11px;font-weight:400;margin-left:auto;padding:2px 8px}.ss-option-bars,.ss-rating-bars{display:flex;flex-direction:column;gap:6px}.ss-rating-row{align-items:center;display:flex;gap:10px}.ss-rating-label{color:#d97706;font-size:13px;width:80px}.ss-option-label{color:#374151;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:160px}.ss-bar-track{background:#e5e7eb;border-radius:999px;flex:1 1;height:10px;overflow:hidden}.ss-bar-fill{background:#000069;border-radius:999px;height:100%;min-width:0;transition:width .4s ease}.ss-bar-option{background:#0369a1}.ss-rating-count{color:#6b7280;font-size:12px;white-space:nowrap}.ss-text-answers{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.ss-text-answer-row{background:#f9fafb;border-radius:6px;display:flex;font-size:13px;gap:10px;padding:8px 12px}.ss-answer-name{color:#000069;font-weight:600;min-width:100px;white-space:nowrap}.ss-answer-text{color:#374151}.ss-no-answers{color:#9ca3af;font-size:13px}.calendar-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.calendar-modal{animation:slideUp .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:92vh;max-width:1000px;overflow-y:auto;width:95%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar-modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.calendar-modal-header h2{color:#000069;font-size:1.5rem;font-weight:700;margin:0}.calendar-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:1.75rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-close-btn:hover{background:#f3f4f6;color:#1f2937}.calendar-legend{background:#f9fafb;border-bottom:1px solid #f0f0f0;display:flex;gap:1.5rem;padding:1rem 2rem}.legend-item{align-items:center;color:#4b5563;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-past{background:#9ca3af}.legend-current{background:#059669}.legend-future{background:#2563eb}.calendar-nav{justify-content:space-between;padding:1rem 2rem}.calendar-nav,.nav-btn{align-items:center;display:flex}.nav-btn{background:none;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:1.5rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.nav-btn:hover{background:#f3f4f6;border-color:#d1d5db}.nav-center{align-items:center;display:flex;gap:1rem}.nav-center h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0;min-width:200px;text-align:center}.today-btn{background:#000069;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem 1rem;transition:all .2s ease}.today-btn:hover{background:#000045}.calendar-grid{padding:0 2rem 2rem}.calendar-header-row{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.calendar-day-name{color:#6b7280;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.75rem 0;text-align:center;text-transform:uppercase}.calendar-body{grid-gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day{background:#fff;min-height:100px;padding:.5rem;position:relative;transition:background .15s ease}.calendar-day:hover:not(.empty){background:#f9fafb}.calendar-day.empty{background:#fafafa}.calendar-day.today{background:#eff6ff}.calendar-day.today .day-number{background:#000069;border-radius:50%;color:#fff}.calendar-day.today .day-number,.day-number{align-items:center;display:flex;height:28px;justify-content:center;width:28px}.day-number{color:#374151;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:2px}.calendar-event{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.7rem;font-weight:500;gap:4px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;transition:all .15s ease;white-space:nowrap}.calendar-event:hover{box-shadow:0 1px 4px #00000026;transform:scale(1.02)}.event-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.event-past{background:#f3f4f6;color:#6b7280}.event-past .event-dot{background:#9ca3af}.event-current{background:#d1fae5;color:#065f46}.event-current .event-dot{background:#059669}.event-future{background:#dbeafe;color:#1e40af}.event-future .event-dot{background:#2563eb}.calendar-event-more{color:#6b7280;font-size:.7rem;font-weight:600;padding:1px 6px}.clickable-day{cursor:pointer}.event-course-type.event-past{background:#f3e8ff;color:#6b21a8}.event-course-type.event-past .event-dot{background:#9333ea}.event-course-type.event-current{background:#ede9fe;color:#5b21b6}.event-course-type.event-current .event-dot{background:#7c3aed}.event-course-type.event-future{background:#e0e7ff;color:#3730a3}.event-course-type.event-future .event-dot{background:#4f46e5}.day-detail-overlay{align-items:center;animation:fadeIn .18s ease;background:#0000008c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.day-detail-modal{animation:slideUp .2s ease;background:#fff;border-radius:14px;box-shadow:0 24px 64px #0000004d;max-height:88vh;max-width:680px;overflow-y:auto;width:95%}.day-detail-header{align-items:flex-start;background:#fff;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.day-detail-date{color:#000069;font-size:1.1rem;font-weight:700;margin:0 0 .2rem}.day-detail-count{color:#6b7280;font-size:.8rem;margin:0}.day-detail-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:1.75rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.day-detail-close-btn:hover{background:#f3f4f6;color:#1f2937}.day-detail-body{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem 1.5rem}.day-detail-empty{color:#9ca3af;font-size:.9rem;padding:2rem 0;text-align:center}.day-detail-card{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.card-schedule{border-left:4px solid #2563eb}.card-course{border-left:4px solid #7c3aed}.day-detail-card-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #f0f0f0;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1rem}.day-detail-card-title{display:flex;flex-direction:column;gap:.2rem}.card-type-badge{border-radius:4px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.badge-schedule{background:#dbeafe;color:#1e40af}.badge-course{background:#ede9fe;color:#5b21b6}.card-type-row{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.2rem}.card-category-tag{background:#fef3c7;border-radius:4px;color:#92400e;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.card-main-title{color:#111827;font-size:.95rem;font-weight:600}.status-badge{font-size:.7rem;font-weight:700;padding:3px 8px;white-space:nowrap}.status-past{background:#f3f4f6;color:#6b7280}.status-current{background:#d1fae5;color:#065f46}.status-future{background:#dbeafe;color:#1e40af}.btn-view-schedule{background:#000069;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.72rem;font-weight:600;padding:4px 10px;transition:background .2s ease;white-space:nowrap}.btn-view-schedule:hover{background:#000045}.day-detail-card-body{display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem}.detail-row{display:flex;font-size:.83rem;gap:.5rem;line-height:1.5}.detail-label{color:#6b7280;flex-shrink:0;font-weight:600;min-width:120px}.detail-value{color:#1f2937;word-break:break-word}.detail-remarks .detail-value{color:#4b5563;font-style:italic}@media (max-width:768px){.calendar-modal{border-radius:12px;max-height:95vh;width:98%}.calendar-modal-header{padding:1rem 1.25rem}.calendar-modal-header h2{font-size:1.2rem}.calendar-legend{flex-wrap:wrap;gap:1rem}.calendar-legend,.calendar-nav{padding:.75rem 1.25rem}.nav-center h3{font-size:1rem;min-width:160px}.calendar-grid{padding:0 1.25rem 1.25rem}.calendar-day{min-height:70px;padding:.35rem}.day-number{font-size:.75rem;height:22px;width:22px}.calendar-event{font-size:.6rem;padding:1px 4px}.event-dot{height:5px;width:5px}.day-detail-modal{border-radius:10px;max-height:92vh;width:98%}.day-detail-header{padding:1rem}.day-detail-body{padding:.75rem 1rem 1rem}.detail-label{min-width:100px}}.ta-loading-full{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:center;min-height:240px}.ta-form-page{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1100px;padding:24px}.ta-form-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:16px}.ta-form-header-left{align-items:flex-start;display:flex;gap:14px}.ta-form-title-block h2{color:#111827;font-size:20px;font-weight:700;margin:0 0 2px}.ta-form-subtitle{color:#6b7280;font-size:13px;margin:0}.ta-back-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:7px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:5px;margin-top:2px;padding:7px 14px;transition:background .15s,border-color .15s;white-space:nowrap}.ta-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.ta-form-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ta-alert{align-items:center;border-radius:8px;display:flex;font-size:13.5px;font-weight:500;gap:8px;padding:11px 16px}.ta-alert-success{background:#dcfce7;border:1px solid #86efac;color:#15803d}.ta-alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626}.ta-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.ta-card-header{flex-wrap:wrap;gap:10px;justify-content:space-between}.ta-card-header,.ta-card-title{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;padding:14px 20px 12px}.ta-card-title{color:#1f2937;font-size:14px;font-weight:700;gap:7px;letter-spacing:.01em}.ta-card-header .ta-card-title{border:none;padding:0}.ta-count-badge{background:#e5e7eb;border-radius:999px;color:#6b7280;font-size:11.5px;font-weight:600;margin-left:6px;padding:2px 9px}.ta-bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.ta-bulk-label{color:#6b7280;font-size:12.5px;font-weight:500;margin-right:2px}.ta-mark-btn{border:1.5px solid #0000;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:opacity .15s}.ta-mark-btn:hover{opacity:.8}.ta-mark-present{background:#dcfce7;border-color:#86efac;color:#16a34a}.ta-mark-late{background:#fef3c7;border-color:#fcd34d;color:#d97706}.ta-mark-excused{background:#dbeafe;border-color:#93c5fd;color:#2563eb}.ta-mark-absent{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.ta-form-grid{grid-gap:18px 24px;display:grid;gap:18px 24px;grid-template-columns:1fr 1fr;padding:20px}.ta-span-2{grid-column:1/-1}.ta-form-group{display:flex;flex-direction:column;gap:5px}.ta-form-group label{color:#374151;font-size:13px;font-weight:600}.ta-req{color:#dc2626}.ta-hint{color:#9ca3af;font-size:11.5px;margin-top:2px}.ta-input,.ta-select,.ta-textarea{background:#fff;border:1px solid #d1d5db;border-radius:7px;box-sizing:border-box;color:#1f2937;font-size:13.5px;padding:8px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.ta-input:focus,.ta-select:focus,.ta-textarea:focus{border-color:#2f6ea0;box-shadow:0 0 0 3px #2f6ea01f;outline:none}.ta-input:disabled,.ta-select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.ta-input-readonly{background:#f9fafb;color:#374151;cursor:default}.ta-textarea{min-height:72px;resize:vertical}.ta-stats-bar{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:0;gap:12px;padding:16px 24px}.ta-stat-divider{background:#e5e7eb;height:40px;margin:0 8px;width:1px}.ta-stat-item{flex:1 1;flex-direction:column;min-width:70px}.ta-stat-item,.ta-stat-rate{align-items:center;display:flex;padding:0 16px}.ta-stat-rate{flex-direction:column;margin-left:auto}.ta-stat-num{font-size:26px;font-weight:800;line-height:1}.ta-stat-rate-val{color:#2f6ea0;font-size:22px;font-weight:800;line-height:1}.ta-stat-lbl{color:#9ca3af;font-size:11.5px;font-weight:500;letter-spacing:.03em;margin-top:3px;text-transform:uppercase}.ta-stat-total .ta-stat-num{color:#374151}.ta-stat-present .ta-stat-num{color:#16a34a}.ta-stat-late .ta-stat-num{color:#d97706}.ta-stat-excused .ta-stat-num{color:#2563eb}.ta-stat-absent .ta-stat-num{color:#dc2626}.ta-trainee-search{align-items:center;background:#fafafa;border-bottom:1px solid #f3f4f6;display:flex;gap:8px;padding:10px 20px}.ta-trainee-search input{border:1px solid #d1d5db;border-radius:7px;flex:1 1;font-size:13px;padding:7px 12px}.ta-trainee-search input:focus{border-color:#2f6ea0;box-shadow:0 0 0 3px #2f6ea01a;outline:none}.ta-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.ta-search-clear:hover{color:#374151}.ta-loading{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:10px;justify-content:center;padding:40px}.ta-spinner{animation:ta-spin .7s linear infinite;border:2.5px solid #e5e7eb;border-radius:50%;border-top-color:#2f6ea0;height:18px;width:18px}@keyframes ta-spin{to{transform:rotate(1turn)}}.ta-empty-state{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.ta-empty-icon{font-size:36px;margin-bottom:10px}.ta-empty-state p{color:#6b7280;font-size:14px;margin:0}.ta-trainee-table-wrap{overflow-x:auto}.ta-trainee-table{border-collapse:collapse;font-size:13.5px;width:100%}.ta-trainee-table thead th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.ta-trainee-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.ta-trainee-table tbody tr:last-child{border-bottom:none}.ta-trainee-table tbody td{padding:9px 14px;vertical-align:middle}.ta-row-present{background:#fafffe}.ta-row-present:hover{background:#f0fdf4}.ta-row-late{background:#fffdf5}.ta-row-late:hover{background:#fffbeb}.ta-row-excused{background:#f8faff}.ta-row-excused:hover{background:#eff6ff}.ta-row-absent{background:snow}.ta-row-absent:hover{background:#fef2f2}.ta-col-num{text-align:center;width:44px}.ta-row-num{color:#9ca3af;font-size:12px;font-weight:600}.ta-col-id{white-space:nowrap;width:120px}.ta-col-status{width:280px}.ta-col-remarks{min-width:150px}.ta-trainee-name{color:#1f2937;font-weight:600;white-space:nowrap}.ta-trainee-no{color:#6b7280;font-family:monospace;font-size:12.5px}.ta-status-toggle{border:1px solid #e5e7eb;border-radius:7px;display:inline-flex;overflow:hidden}.ta-status-btn{background:#f9fafb;border:none;border-right:1px solid #e5e7eb;color:#9ca3af;cursor:pointer;font-size:11.5px;font-weight:600;padding:5px 11px;transition:background .12s,color .12s;white-space:nowrap}.ta-status-btn:last-child{border-right:none}.ta-status-btn:hover{background:#f3f4f6}.ta-status-present.active{background:#dcfce7;border-right-color:#86efac;color:#16a34a}.ta-status-late.active{background:#fef3c7;border-right-color:#fcd34d;color:#d97706}.ta-status-excused.active{background:#dbeafe;border-right-color:#93c5fd;color:#2563eb}.ta-status-absent.active{background:#fee2e2;border-right-color:#fca5a5;color:#dc2626}.ta-remarks-input{background:#0000;border:1px solid #0000;border-radius:5px;box-sizing:border-box;color:#374151;font-size:13px;padding:5px 8px;width:100%}.ta-remarks-input:hover{background:#fff;border-color:#d1d5db}.ta-remarks-input:focus{background:#fff;border-color:#2f6ea0;box-shadow:0 0 0 2px #2f6ea01a;outline:none}.ta-remarks-input::placeholder{color:#d1d5db}.ta-form-bottom-bar{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:4px;padding:16px 0 8px}.ta-btn-save{background:#2f6ea0;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 24px;transition:background .15s}.ta-btn-save:hover:not(:disabled){background:#265c86}.ta-btn-save:disabled{background:#9ca3af;cursor:not-allowed}.ta-btn-cancel{background:#fff;border:1.5px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 20px;transition:background .15s}.ta-btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.ta-btn-delete{background:#fff;border:1.5px solid #fca5a5;border-radius:8px;color:#dc2626;cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 20px;transition:background .15s}.ta-btn-delete:hover{background:#fff1f1;border-color:#dc2626}.ta-trainee-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:1.5rem;overflow:hidden}.ta-trainee-section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:14px 20px 12px}.ta-trainee-section-title{align-items:center;color:#1f2937;display:flex;font-size:14px;font-weight:700;gap:8px}.ta-col-center{text-align:center}.ta-code-badge{background:#e8f0f9;border-radius:5px;color:#2f6ea0;display:inline-block;font-family:monospace;font-size:12.5px;font-weight:700;letter-spacing:.02em;padding:2px 9px}.ta-course-cell{display:flex;flex-direction:column;gap:2px}.ta-course-name{color:#1f2937;font-weight:600}.ta-course-code{color:#9ca3af;font-family:monospace;font-size:11.5px}.ta-count-present{color:#16a34a;font-size:14px;font-weight:700}.ta-count-absent{color:#dc2626;font-size:14px;font-weight:700}.ta-count-excused{color:#d97706;font-size:14px;font-weight:700}.ta-count-zero{color:#d1d5db;font-size:14px}.ta-rate-badge{border-radius:999px;display:inline-block;font-size:12.5px;font-weight:700;padding:3px 10px}.ta-rate-good{background:#dcfce7;color:#16a34a}.ta-rate-ok{background:#fef3c7;color:#d97706}.ta-rate-low{background:#fee2e2;color:#dc2626}@media (max-width:768px){.ta-form-page{padding:16px}.ta-form-grid{grid-template-columns:1fr}.ta-span-2{grid-column:1}.ta-form-header{flex-direction:column}.ta-form-header-actions{justify-content:flex-end;width:100%}.ta-stats-bar{gap:8px}.ta-stat-item{min-width:60px}.ta-form-bottom-bar,.ta-status-toggle{flex-wrap:wrap}}.ta-selector-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.ta-selector-row .form-group{flex:1 1;margin-bottom:0;min-width:160px}.ta-selector-btn-wrap{align-items:flex-end;display:flex;flex-shrink:0;padding-bottom:2px}.ta-see-btn{align-items:center;background:#2f6ea0;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:6px;padding:8px 18px;transition:background .15s,opacity .15s;white-space:nowrap}.ta-see-btn:hover:not(:disabled){background:#265c86}.ta-see-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.7}.ta-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.ta-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:88vh;max-width:720px;overflow:hidden;width:100%}.ta-modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:18px 22px 14px}.ta-modal-title-block{display:flex;flex-direction:column;gap:3px}.ta-modal-title{color:#111827;font-size:17px;font-weight:700;margin:0}.ta-modal-subtitle{color:#6b7280;font-size:12.5px;margin:0}.ta-modal-close{background:none;border:none;border-radius:5px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:2px 6px;transition:color .12s,background .12s}.ta-modal-close:hover{background:#f3f4f6;color:#374151}.ta-modal-body{flex:1 1;overflow-y:auto}.ta-modal-table{border-collapse:collapse;font-size:13.5px;width:100%}.ta-modal-table thead th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.05em;padding:10px 14px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.ta-modal-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.ta-modal-table tbody tr:last-child{border-bottom:none}.ta-modal-table tbody td{padding:9px 14px;vertical-align:middle}.ta-modal-table tbody tr:hover{background:#f9fafb}.ta-radio-col{text-align:center;width:76px}.ta-radio-col input[type=radio]{accent-color:#2f6ea0;cursor:pointer;height:16px;width:16px}.ta-modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 22px}@media (max-width:640px){.ta-selector-row{flex-direction:column}.ta-selector-row .form-group{min-width:100%}.ta-selector-btn-wrap{width:100%}.ta-see-btn{justify-content:center;width:100%}.ta-modal{max-height:95vh}}.trainee-activities-container{max-width:100%;padding:1.5rem}.trainee-activities-container .page-header{margin-bottom:1.5rem}.trainee-activities-container .page-header h2{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.75rem;margin:0 0 .5rem}.trainee-activities-container .page-header p{color:#6b7280;margin:0}.trainee-activities-container .filter-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:1.5rem;padding:1.25rem}.trainee-activities-container .filter-row{display:flex;flex-wrap:wrap;gap:1.5rem}.trainee-activities-container .filter-row.secondary-filter{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.trainee-activities-container .filter-item{flex:1 1;min-width:220px}.trainee-activities-container .filter-item label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.trainee-activities-container .filter-item select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.75rem;width:100%}.trainee-activities-container .filter-item select:focus{border-color:#00008b;border-color:var(--pntc-blue,#00008b);box-shadow:0 0 0 3px #00008b1a;outline:none}.trainee-activities-container .error-message{align-items:center;background:#fee2e2;border-radius:8px;color:#dc2626;display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem}.trainee-activities-container .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.trainee-activities-container .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--pntc-blue,#00008b);height:40px;margin-bottom:1rem;width:40px}.trainee-activities-container .no-selection{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:3rem;text-align:center}.trainee-activities-container .no-selection-icon{font-size:4rem;margin-bottom:1rem}.trainee-activities-container .no-selection h3{color:#374151;margin:0 0 .5rem}.trainee-activities-container .no-selection p{color:#6b7280;margin:0}.trainee-activities-container .trainees-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.trainee-activities-container .trainees-table{border-collapse:collapse;width:100%}.trainee-activities-container .trainees-table td,.trainee-activities-container .trainees-table th{border-bottom:1px solid #e5e7eb;padding:1rem;text-align:left}.trainee-activities-container .trainees-table th{background:#f8fafc;color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.trainee-activities-container .trainees-table tbody tr:hover{background:#f8fafc}.trainee-activities-container .course-badge{background:#e0e7ff;border-radius:20px;color:#3730a3;display:inline-block;font-size:.85rem;padding:.25rem .75rem}.trainee-activities-container .actions-cell{display:flex;flex-wrap:wrap;gap:.5rem}.trainee-activities-container .action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.trainee-activities-container .action-btn:disabled{cursor:not-allowed;opacity:.6}.trainee-activities-container .action-btn.formative{background:#dbeafe;color:#1e40af}.trainee-activities-container .action-btn.formative:hover:not(:disabled){background:#bfdbfe}.trainee-activities-container .action-btn.final{background:#dcfce7;color:#166534}.trainee-activities-container .action-btn.final:hover:not(:disabled){background:#bbf7d0}.trainee-activities-container .action-btn.videos{background:#fef3c7;color:#92400e}.trainee-activities-container .action-btn.videos:hover:not(:disabled){background:#fde68a}.trainee-activities-container .action-btn.activities{background:#f3e8ff;color:#7c3aed}.trainee-activities-container .action-btn.activities:hover:not(:disabled){background:#e9d5ff}.trainee-activities-container .action-btn.exercises{background:#fff7ed;color:#c2410c}.trainee-activities-container .action-btn.exercises:hover:not(:disabled){background:#fed7aa}.trainee-activities-container .action-btn.practicals{background:#f0fdfa;color:#0f766e}.trainee-activities-container .action-btn.practicals:hover:not(:disabled){background:#99f6e4}.trainee-activities-container .no-data{color:#6b7280;padding:2rem;text-align:center}.trainee-activities-container .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.trainee-activities-container .modal-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%}.trainee-activities-container .modal-content.video-modal{max-width:900px}.trainee-activities-container .modal-content.activity-modal{max-width:800px}.trainee-activities-container .modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.trainee-activities-container .modal-header h3{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.1rem;margin:0}.trainee-activities-container .close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.trainee-activities-container .close-btn:hover{color:#374151}.trainee-activities-container .modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.trainee-activities-container .video-player-container{background:#000;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.trainee-activities-container .video-player-header{align-items:center;background:#1f2937;color:#fff;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem 1rem}.trainee-activities-container .video-player-header button{background:#4b5563;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.trainee-activities-container .video-player-header button:hover{background:#6b7280}.trainee-activities-container .video-player{display:block;max-height:400px;width:100%}.trainee-activities-container .video-section{margin-bottom:2rem}.trainee-activities-container .video-section:last-child{margin-bottom:0}.trainee-activities-container .section-title{border-bottom:2px solid #e5e7eb;color:#00008b;color:var(--pntc-blue,#00008b);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.trainee-activities-container .no-items{background:#f8fafc;border-radius:6px;color:#6b7280;font-style:italic;padding:1rem;text-align:center}.trainee-activities-container .activities-table,.trainee-activities-container .videos-table{border-collapse:collapse;width:100%}.trainee-activities-container .activities-table td,.trainee-activities-container .activities-table th,.trainee-activities-container .videos-table td,.trainee-activities-container .videos-table th{border-bottom:1px solid #e5e7eb;font-size:.9rem;padding:.75rem;text-align:left}.trainee-activities-container .activities-table th,.trainee-activities-container .videos-table th{background:#f8fafc;color:#374151;font-weight:600}.trainee-activities-container .videos-table tr.playing{background:#eff6ff}.trainee-activities-container .status-badge{border-radius:4px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.trainee-activities-container .status-badge.passed{background:#dcfce7;color:#166534}.trainee-activities-container .status-badge.failed{background:#fee2e2;color:#dc2626}.trainee-activities-container .play-btn{background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.375rem .75rem}.trainee-activities-container .play-btn:hover{background:#000070}.trainee-activities-container .no-video{color:#9ca3af;font-size:.85rem;font-style:italic}.trainee-activities-container .activity-type{background:#f3f4f6;border-radius:4px;color:#374151;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.trainee-activities-container .activity-type.login{background:#dbeafe;color:#1e40af}.trainee-activities-container .activity-type.logout{background:#fee2e2;color:#dc2626}.trainee-activities-container .activity-type.course-access,.trainee-activities-container .activity-type.material-view{background:#dcfce7;color:#166534}.trainee-activities-container .activity-type.quiz-attempt,.trainee-activities-container .activity-type.quiz-submit{background:#fef3c7;color:#92400e}@media (max-width:1024px){.trainee-activities-container .actions-cell{flex-direction:column;gap:.25rem}.trainee-activities-container .action-btn{justify-content:center;width:100%}}.trainee-activities-container .modal-header-actions{align-items:center;display:flex;gap:.75rem}.trainee-activities-container .download-pdf-btn{align-items:center;background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:background .2s}.trainee-activities-container .download-pdf-btn:hover{background:#000070}.trainee-activities-container .download-pdf-btn:disabled{background:#9ca3af;cursor:not-allowed}.trainee-activities-container .activity-note{align-items:flex-start;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.trainee-activities-container .activity-note .note-icon{flex-shrink:0}@media (max-width:768px){.trainee-activities-container{padding:1rem}.trainee-activities-container .filter-row{flex-direction:column;gap:1rem}.trainee-activities-container .filter-item{min-width:100%}.trainee-activities-container .trainees-table{display:block;overflow-x:auto}.trainee-activities-container .modal-content{border-radius:0;height:100vh;margin:0;max-height:100vh}}.tcroa-container{max-width:100%;padding:1.5rem}.tcroa-container .page-header{margin-bottom:1.5rem}.tcroa-container .page-header h2{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.75rem;margin:0 0 .5rem}.tcroa-container .page-header p{color:#6b7280;margin:0}.tcroa-container .filter-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:1.5rem;padding:1.25rem}.tcroa-container .filter-row{display:flex;flex-wrap:wrap;gap:1.5rem}.tcroa-container .filter-item{flex:1 1;min-width:220px}.tcroa-container .filter-item label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.tcroa-container .filter-item select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.95rem;padding:.75rem;width:100%}.tcroa-container .filter-item select:focus{border-color:#00008b;border-color:var(--pntc-blue,#00008b);box-shadow:0 0 0 3px #00008b1a;outline:none}.tcroa-container .action-row{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.25rem}.tcroa-container .generate-btn{align-items:center;background:#00008b;background:var(--pntc-blue,#00008b);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.tcroa-container .generate-btn:hover:not(:disabled){background:#000070;box-shadow:0 4px 12px #00008b4d;transform:translateY(-1px)}.tcroa-container .generate-btn:disabled{background:#9ca3af;cursor:not-allowed}.tcroa-container .generate-btn svg{flex-shrink:0}.tcroa-container .btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.tcroa-container .error-message{align-items:center;background:#fee2e2;border-radius:8px;color:#dc2626;display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem}.tcroa-container .notice-message{align-items:flex-start;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.tcroa-container .notice-message svg{flex-shrink:0;margin-top:.125rem}.tcroa-container .notice-message span{line-height:1.5}.tcroa-container .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.tcroa-container .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--pntc-blue,#00008b);height:40px;width:40px}.tcroa-container .loading-container p{color:#6b7280;margin-top:1rem}.tcroa-container .info-message{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e40af;display:flex;gap:1rem;padding:1.5rem}.tcroa-container .info-message svg{flex-shrink:0;margin-top:.25rem}.tcroa-container .info-message strong{display:block;font-size:1rem;margin-bottom:.25rem}.tcroa-container .info-message p{color:#3b82f6;font-size:.9rem;margin:0}.tcroa-container .schedule-info-card{background:#fff;border-left:4px solid #00008b;border-left:4px solid var(--pntc-blue,#00008b);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:1.5rem}.tcroa-container .schedule-info-card h3{color:#00008b;color:var(--pntc-blue,#00008b);font-size:1.1rem;margin:0 0 1rem}.tcroa-container .schedule-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tcroa-container .detail-item{display:flex;flex-direction:column;gap:.25rem}.tcroa-container .detail-item label{color:#6b7280;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.tcroa-container .detail-item span{color:#1f2937;font-size:.95rem;font-weight:500}@media (max-width:768px){.tcroa-container{padding:1rem}.tcroa-container .filter-row{flex-direction:column;gap:1rem}.tcroa-container .filter-item{min-width:100%}.tcroa-container .action-row{justify-content:stretch}.tcroa-container .generate-btn{justify-content:center;width:100%}.tcroa-container .schedule-details{grid-template-columns:1fr}}.lms-dashboard{max-width:100%;overflow-x:hidden;padding:0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:56px;justify-content:center;width:56px}.stat-info h3{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 4px}.stat-info p{color:#666;font-size:14px;margin:0}.section-header h2{font-weight:700;margin:0 0 4px}.section-header p{margin:0}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));margin-bottom:40px}.course-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.course-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.course-thumbnail{height:180px;overflow:hidden;position:relative;width:100%}.course-thumbnail img{height:100%;object-fit:cover;width:100%}.course-category{background:#fffffff2;border-radius:20px;color:#333;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:12px;top:12px}.course-content{display:flex;flex:1 1;flex-direction:column;padding:20px}.course-content h3{color:#1a1a1a;font-size:18px;font-weight:700;line-height:1.4;margin:0 0 8px}.course-instructor{align-items:center;color:#666;display:flex;font-size:14px;gap:6px;margin:0 0 16px}.course-instructor svg{flex-shrink:0}.course-progress{margin-bottom:16px}.progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-info span{color:#666;font-size:13px}.progress-percent{color:#4a90e2;font-weight:700}.progress-bar{border-radius:4px;height:8px}.progress-fill{background:linear-gradient(90deg,#4a90e2,#357abd)}.lessons-count{color:#999;font-size:12px;margin:6px 0 0}.course-next{background:#f8fafb;border-radius:8px;margin-bottom:16px;padding:12px}.next-lesson-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.next-lesson-title{color:#1a1a1a;font-size:14px;font-weight:500;margin:0}.course-footer{border-top:1px solid #e8eaed;justify-content:space-between;margin-top:auto;padding-top:16px}.course-footer,.due-date{align-items:center;display:flex}.due-date{color:#666;font-size:13px;gap:6px}.due-date svg{flex-shrink:0}.btn-continue{background:#000069;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:background .2s}.btn-continue:hover{background:#005}.deadlines-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px}.deadline-item{align-items:center;background:#f8fafb;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:background .2s}.deadline-item:last-child{margin-bottom:0}.deadline-item:hover{background:#f0f4f8}.deadline-item.urgent{background:#fff5f5;border-left:4px solid #ff6b6b}.deadline-icon{align-items:center;background:#fff;border-radius:8px;color:#4a90e2;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.deadline-item.urgent .deadline-icon{color:#ff6b6b}.deadline-info{flex:1 1}.deadline-info h4{color:#1a1a1a;font-size:15px;font-weight:600;margin:0 0 4px}.deadline-info p{color:#666;font-size:13px;margin:0}.deadline-badge{background:#e8f4ff;border-radius:20px;color:#4a90e2;font-size:12px;font-weight:600;padding:4px 12px}.deadline-badge.urgent{background:#ffe5e5;color:#ff6b6b}.placeholder-text{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#999;font-size:16px;padding:60px 20px;text-align:center}.schedules-banner{align-items:center;background:linear-gradient(135deg,#000069,#1a1a8e);border-radius:14px;box-shadow:0 4px 16px #00006940;color:#fff;display:flex;gap:16px;margin-bottom:24px;padding:20px 28px}.schedules-banner-icon{align-items:center;background:#ffffff26;border-radius:12px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.schedules-banner-text{flex:1 1}.schedules-banner-text h2{font-size:18px;font-weight:700;margin:0 0 4px}.schedules-banner-text p{font-size:13px;margin:0;opacity:.8}.schedules-banner-count{background:#fff3;border-radius:20px;font-size:13px;font-weight:600;padding:6px 16px;white-space:nowrap}.schedule-filters{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;padding:18px 22px}.schedule-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px}.schedule-filter-field{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:180px}.schedule-filter-field label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.schedule-filter-field input,.schedule-filter-field select{background:#fafbfc;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1a1a1a;font-size:13px;min-width:0;padding:9px 12px;transition:border-color .2s;width:100%}.schedule-filter-field input:focus,.schedule-filter-field select:focus{background:#fff;border-color:#000069;outline:none}.schedule-filter-field select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.schedule-filter-clear{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:background .2s;white-space:nowrap}.schedule-filter-clear:hover{background:#e5e7eb}.schedule-table-wrap{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:10px;overflow-x:auto}.schedule-table{border-collapse:collapse;font-size:13px;width:100%}.schedule-table thead th{background:#f8f9fc;border-bottom:2px solid #e5e7eb;color:#374151;font-size:11.5px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.schedule-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s}.schedule-table tbody tr:last-child{border-bottom:none}.schedule-table tbody tr:hover{background:#f8f9fc}.schedule-table tbody td{color:#374151;padding:12px 14px;vertical-align:middle}.sched-code-cell{color:#000069;font-size:12px;font-weight:600}.sched-course-cell{line-height:1.5}.sched-course-cell strong{color:#1a1a1a;display:block;font-size:13px}.sched-course-code{color:#9ca3af;font-size:11px}.sched-date-cell{white-space:nowrap}.sched-slots-cell{color:#000069;font-weight:600;text-align:center}.schedules-loading{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:10px;padding:48px 20px;text-align:center}.schedules-loading-spinner{animation:sched-spin .7s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#000069;height:36px;margin:0 auto 12px;width:36px}@keyframes sched-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.schedules-loading p{color:#6b7280;font-size:14px;margin:0}.enrolled-empty,.schedules-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:10px;padding:48px 20px;text-align:center}.enrolled-empty p,.schedules-empty p{color:#374151;font-size:15px;font-weight:600;margin:16px 0 4px}.enrolled-empty span,.schedules-empty span{color:#9ca3af;font-size:13px}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.courses-grid{grid-template-columns:1fr}.schedule-filter-row{align-items:stretch;flex-direction:column}.schedule-filter-field{min-width:0}.schedule-table{font-size:12px}.schedule-table tbody td,.schedule-table thead th{padding:10px}.schedules-banner{flex-direction:column;gap:12px;text-align:center}.schedules-banner-count{align-self:center}.deadline-item{align-items:flex-start;flex-direction:column;gap:12px}.deadline-badge{align-self:flex-start}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{height:48px;width:48px}.stat-info h3{font-size:24px}.section-header h2{font-size:20px}.course-footer{align-items:flex-start;flex-direction:column;gap:12px}.btn-continue{width:100%}}.trainee-missing-docs-alert{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;cursor:pointer;display:flex;gap:14px;margin-bottom:24px;padding:16px 20px;transition:background .2s,box-shadow .2s}.trainee-missing-docs-alert:hover{background:#fee2e2;box-shadow:0 2px 8px #ef444426}.missing-docs-icon{align-items:center;background:#fee2e2;border-radius:50%;color:#dc2626;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.missing-docs-text{flex:1 1}.missing-docs-text strong{color:#991b1b;display:block;font-size:.95rem;margin-bottom:4px}.missing-docs-items{display:flex;flex-wrap:wrap;gap:8px}.missing-doc-item{align-items:center;background:#fecaca;border-radius:12px;color:#b91c1c;display:inline-flex;font-size:.85rem;gap:4px;padding:2px 10px}.missing-docs-action{color:#dc2626;flex-shrink:0;font-size:.9rem;font-weight:600;white-space:nowrap}@media (max-width:640px){.trainee-missing-docs-alert{align-items:flex-start;flex-direction:column;gap:10px}.missing-docs-action{align-self:flex-end}}.practical-exercise-card{background:#fff;border-left:4px solid #000069;border-radius:12px;box-shadow:0 2px 8px #0000000f;box-sizing:border-box;margin-bottom:16px;max-width:100%;min-width:0;padding:24px}.practical-exercise-header{border-bottom:1px solid #f0f0f0;margin-bottom:18px;padding-bottom:14px}.practical-course-badge{background:#d1fae5;border-radius:20px;color:#065f46;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;margin-bottom:6px;padding:3px 10px;text-transform:uppercase}.practical-exercise-header h3{color:#1a1a1a;font-size:16px;font-weight:700;margin:4px 0 2px}.practical-course-meta{color:#9ca3af;font-size:12px}.assessment-ready-alert{align-items:flex-start;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #f59e0b;border-radius:10px;display:flex;gap:14px;margin-bottom:18px;padding:16px 20px}.assessment-alert-icon{flex-shrink:0;font-size:26px;line-height:1;margin-top:2px}.assessment-alert-text strong{color:#92400e;display:block;font-size:14px;margin-bottom:4px}.assessment-alert-text p{color:#78350f;font-size:13px;line-height:1.5;margin:0}.assessment-ready-banner{align-items:center;background:linear-gradient(135deg,#000069,#1a1a8c);border-radius:12px;box-shadow:0 4px 16px #00006959;color:#fff;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:16px 20px}.arb-icon{flex-shrink:0;font-size:30px;line-height:1}.arb-body{flex:1 1;min-width:160px}.arb-body strong{display:block;font-size:14px;font-weight:700;margin-bottom:3px}.arb-body p{font-size:12px;line-height:1.5;margin:0;opacity:.85}.arb-start-btn{background:#fff;border:none;border-radius:8px;color:#000069;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:9px 18px;transition:background .15s,transform .15s;white-space:nowrap}.arb-start-btn:hover{background:#f0f2f8;transform:translateY(-1px)}.assessment-passed-banner{background:linear-gradient(135deg,#166534,#15803d);box-shadow:0 4px 16px #15803d4d}.assessment-failed-banner,.assessment-passed-banner{align-items:center;border-radius:12px;color:#fff;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:16px 20px}.assessment-failed-banner{background:linear-gradient(135deg,#7f1d1d,#991b1b);box-shadow:0 4px 16px #991b1b59}.arb-start-btn-disabled{background:#d1d5db;border:none;border-radius:8px;color:#6b7280;cursor:not-allowed;flex-shrink:0;font-size:13px;font-weight:700;opacity:.7;padding:9px 18px;white-space:nowrap}.assess-modal-overlay{align-items:center;animation:fa-fade-in .2s ease;background:#0000008c;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:9999}@keyframes fa-fade-in{0%{opacity:0}to{opacity:1}}.assess-confirm-modal{animation:fa-slide-up .22s ease;background:#fff;border-radius:18px;box-shadow:0 24px 60px #0000004d;max-width:480px;padding:36px 32px;text-align:center;width:100%}@keyframes fa-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.assess-confirm-icon{align-items:center;display:flex;justify-content:center;margin-bottom:12px}.assess-confirm-title{color:#000069;font-size:20px;font-weight:800;margin:0 0 4px}.assess-confirm-course{color:#6b7280;font-size:13px;margin:0 0 20px}.assess-rules-box{background:#fff8db;border:1px solid #f59e0b;border-radius:10px;margin-bottom:22px;padding:14px 18px;text-align:left}.assess-rules-heading{color:#92400e;font-size:13px;font-weight:700;margin:0 0 8px}.assess-rules-list{margin:0;padding-left:16px}.assess-rules-list li{color:#78350f;font-size:12.5px;line-height:1.75}.assess-rule-danger{color:#dc2626}.assess-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.assess-btn-cancel{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:background .15s}.assess-btn-cancel:hover{background:#e5e7eb}.assess-btn-start{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 22px;transition:background .15s,transform .15s}.assess-btn-start:hover{background:#0000a0;transform:translateY(-1px)}.exercises-list{display:flex;flex-direction:column;gap:8px}.exercise-item{align-items:center;background:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;display:flex;justify-content:space-between;padding:12px 14px;transition:background .15s,border-color .15s}.exercise-item.done{background:#f0fdf4;border-color:#bbf7d0}.exercise-item-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.exercise-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;transition:background .15s,color .15s;width:28px}.exercise-item.done .exercise-number{background:#22c55e;color:#fff}.exercise-details{display:flex;flex-direction:column;gap:2px;min-width:0}.exercise-title{color:#1a1a1a;font-size:14px;font-weight:600;overflow-wrap:break-word;word-break:break-word}.exercise-item.done .exercise-title{color:#166534}.exercise-desc{color:#9ca3af;font-size:12px;overflow-wrap:break-word;word-break:break-word}.exercise-item-right{flex-shrink:0;margin-left:14px}.exercise-status-pending{background:#fef9c3;border:1px solid #fde047;border-radius:6px;color:#854d0e}.exercise-status-done,.exercise-status-pending{font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.exercise-status-done{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#16a34a}.exercise-item.graded{background:#f0f9ff;border-color:#bae6fd}.exercise-item.graded .exercise-number{background:#000069;color:#fff}.exercise-item.graded .exercise-title{color:#000069}.exercise-score-info{color:#000069;font-size:12px;font-weight:600;margin-top:2px}.exercise-status-graded{background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;color:#000069}.exercise-status-all-done,.exercise-status-graded{font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.exercise-status-all-done{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#16a34a}.exercise-status-has-issues{background:#fff7ed;border:1px solid #fdba74;border-radius:6px;color:#c2410c}.exercise-status-awaiting,.exercise-status-has-issues{font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.exercise-status-awaiting{background:#faf5ff;border:1px solid #c4b5fd;border-radius:6px;color:#7c3aed}.exercise-notice{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px;padding:12px 0 4px}.exercise-loading{color:#9ca3af;font-size:13px;padding:12px 0 4px}@media (max-width:768px){.practical-exercise-card{padding:18px}.assessment-ready-alert{flex-wrap:wrap;gap:10px}.exercise-item{flex-wrap:wrap;gap:8px}.exercise-item-left{flex:1 1;min-width:0}}@media (max-width:480px){.practical-exercise-card{padding:14px}.exercise-item{align-items:flex-start;flex-direction:column;gap:8px}.exercise-item-right{align-self:flex-end;margin-left:0}.assessment-ready-alert{flex-direction:column;gap:10px}}.cert-loading{align-items:center;color:#666;display:flex;flex-direction:column;font-size:14px;gap:14px;justify-content:center;padding:80px 20px}.cert-spinner{animation:certSpin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#000069;height:36px;width:36px}@keyframes certSpin{to{transform:rotate(1turn)}}.cert-empty{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px;text-align:center}.cert-empty-icon{opacity:.7}.cert-empty h3{color:#374151;font-size:20px;font-weight:700;margin:0}.cert-empty p{color:#6b7280;font-size:14px;line-height:1.6;margin:0;max-width:380px}.cert-list{display:flex;flex-direction:column;gap:16px}.cert-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000a;display:flex;gap:20px;padding:20px 24px;transition:box-shadow .2s,transform .2s}.cert-card:hover{box-shadow:0 6px 20px #00006b1a;transform:translateY(-2px)}.cert-card-badge{align-items:center;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cert-card-info{flex:1 1;min-width:0}.cert-course-code{background:#e8eaf6;border-radius:20px;color:#000069;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;padding:2px 10px;text-transform:uppercase}.cert-course-name{color:#1a1a2e;font-size:16px;font-weight:700;line-height:1.4;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-meta{display:flex;flex-wrap:wrap;gap:10px 20px}.cert-meta-item{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:5px}.cert-meta-item svg{color:#9ca3af;flex-shrink:0}.cert-completed,.cert-completed svg,.cert-score strong{color:#059669}.cert-card-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:10px}.cert-passed-badge{align-items:center;background:#d1fae5;border-radius:20px;color:#059669;display:inline-flex;font-size:11px;font-weight:800;gap:4px;letter-spacing:.8px;padding:3px 10px}.cert-view-btn{align-items:center;background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:background .2s,opacity .2s;white-space:nowrap}.cert-view-btn:hover:not(:disabled){background:#0000a0}.cert-view-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.7}@media (max-width:640px){.cert-card{flex-wrap:wrap;gap:14px}.cert-card-actions{align-items:center;flex-direction:row;justify-content:flex-end;width:100%}.cert-course-name{white-space:normal}}.profile-loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.profile-message{border-radius:8px;font-size:14px;font-weight:500;margin-bottom:24px;padding:14px 18px}.profile-message.success{background:#d1fae5;border:1px solid #34d399;color:#065f46}.profile-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.profile-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:32px}.profile-photo-section{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:28px;margin-bottom:28px;padding-bottom:28px}.profile-photo-wrapper{align-items:center;display:flex;flex-direction:column;gap:12px}.profile-photo{border:4px solid #0000a0;border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-photo-placeholder{align-items:center;background:linear-gradient(135deg,#0000a0,#33c);border-radius:50%;color:#fff;display:flex;font-size:40px;font-weight:700;height:120px;justify-content:center;width:120px}.photo-upload-btn{background:#0000a0;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.photo-upload-btn:hover{background:#00008b}.profile-name-info h3{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.profile-trainee-no{color:#6b7280;font-size:15px;margin:0 0 4px}.profile-srn{color:#9ca3af;font-size:14px;margin:0 0 4px}.profile-email{color:#0000a0;font-size:14px;margin:0}.profile-form{margin-bottom:32px}.profile-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}.profile-form-group{display:flex;flex-direction:column;gap:6px}.profile-form-group label{color:#374151;font-size:14px;font-weight:600}.profile-form-group input,.profile-form-group select{border:1px solid #d1d5db;border-radius:8px;color:#1f2937;font-size:15px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.profile-form-group input:focus,.profile-form-group select:focus{border-color:#0000a0;box-shadow:0 0 0 3px #0000a01a;outline:none}.profile-form-group select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.profile-form-actions{display:flex;justify-content:flex-end}.btn-save-profile{background:#0000a0;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:background .2s,transform .1s}.btn-save-profile:hover:not(:disabled){background:#00008b;transform:translateY(-1px)}.btn-save-profile:disabled{background:#9ca3af;cursor:not-allowed}.profile-readonly-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.profile-readonly-section h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 18px}.profile-readonly-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.profile-readonly-item{display:flex;flex-direction:column;gap:4px}.profile-readonly-item .label{color:#6b7280;font-size:13px;font-weight:500}.profile-readonly-item .value{color:#1f2937;font-size:15px}.acct-google-linked{align-items:center;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;display:flex;gap:1rem;padding:1rem 1.25rem}.acct-google-icon{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.acct-google-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.acct-google-label{color:#16a34a;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.acct-google-email{color:#1f2937;font-size:.95rem;font-weight:500}.acct-unlink-btn{background:#fff;border:1.5px solid #dc2626;border-radius:7px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:8px 18px;transition:all .2s}.acct-unlink-btn:hover:not(:disabled){background:#dc2626;color:#fff}.acct-unlink-btn:disabled{cursor:not-allowed;opacity:.5}.acct-link-google-btn{align-items:center;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;box-shadow:0 1px 3px #00000014;color:#374151;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;padding:11px 28px;transition:all .2s}.acct-link-google-btn:hover:not(:disabled){background:#f9fafb;border-color:#4285f4;box-shadow:0 2px 6px #4285f426;color:#4285f4}.acct-link-google-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.profile-container{padding:20px}.profile-photo-section{flex-direction:column;gap:16px;text-align:center}.profile-form-grid,.profile-readonly-grid{grid-template-columns:1fr}}@media (max-width:480px){.profile-photo{height:100px;width:100px}.profile-photo-placeholder{font-size:32px;height:100px;width:100px}.profile-name-info h3{font-size:20px}}.enrolled-courses-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.section-header{margin-bottom:24px}.section-header h2{color:#1a1a1a;font-size:24px;margin-bottom:8px}.section-header p{color:#666;font-size:14px}.table-controls{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.search-box{flex:1 1;max-width:500px}.search-box input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 16px;transition:border-color .2s;width:100%}.search-box input:focus{border-color:#06c;outline:none}.results-info{color:#666;font-size:14px;white-space:nowrap}.loading-spinner{color:#666;font-size:16px}.loading-spinner,.no-data{padding:60px 20px;text-align:center}.no-data{background:#f9f9f9;border:1px dashed #ddd;border-radius:8px;color:#999;font-size:15px}.table-responsive{margin-top:16px;overflow-x:auto}.enrollments-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.enrollment-card{border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.enrollment-card-header{align-items:center;background:#f5f7fa;border-bottom:1px solid #e1e4e8;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 18px}.enrollment-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.enr-code{color:#000069;font-size:15px;font-weight:700}.enr-date{color:#555;font-size:13px}.enr-count{background:#e8eaf0;border-radius:10px;color:#444;font-size:12px;font-weight:600;padding:2px 10px}.enrollment-header-right{flex-shrink:0}.enrollment-courses-list{overflow-x:auto}.venue-cell{color:#333;font-size:13px}.venue-sub{color:#666;font-size:12px;margin-top:2px}.enrolled-courses-table{border-collapse:collapse;font-size:14px;width:100%}.enrolled-courses-table thead{background:#f5f7fa;border-bottom:2px solid #e1e4e8}.enrolled-courses-table th{color:#1a1a1a;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.enrolled-courses-table tbody tr{border-bottom:1px solid #e1e4e8;transition:background-color .2s}.enrolled-courses-table tbody tr:hover{background-color:#f9fafb}.enrolled-courses-table td{color:#333;padding:14px 16px}.course-name-cell{color:#06c;font-weight:500;max-width:300px}.status-badge{border-radius:12px;display:inline-block;letter-spacing:.3px;padding:4px 12px;text-transform:uppercase}.status-enrolled{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-completed{background:#d1ecf1;color:#0c5460}.status-refunded{background:#f8d7da;color:#721c24}.btn-print-cap{background:#000069;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-print-cap:hover:not(:disabled){background:#000050;box-shadow:0 2px 4px #0000694d;transform:translateY(-1px)}.btn-print-cap:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.btn-print-cap:active:not(:disabled){transform:translateY(0)}@media (max-width:1024px){.enrolled-courses-table{font-size:13px}.enrolled-courses-table td,.enrolled-courses-table th{padding:10px 12px}}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column}.search-box{max-width:100%}.results-info{text-align:center}.enrolled-courses-table{display:block;overflow-x:auto;white-space:nowrap}}.course-detail-content{background:#0000;padding:0}.course-detail-header{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:24px;padding:20px 24px}.btn-back{align-items:center;background:#0000;border:none;color:#000069;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;transition:color .2s}.btn-back:hover{color:#005}.course-hero{grid-gap:40px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:grid;gap:40px;grid-template-columns:400px 1fr;margin-bottom:24px;padding:40px}.course-hero-image-col{display:flex;flex-direction:column;gap:0}.course-hero-image{border-radius:8px 8px 0 0;height:260px;overflow:hidden;width:100%}.course-hero-image img{height:100%;object-fit:cover;width:100%}.course-hero-image-col .overall-progress{border-radius:0 0 8px 8px;border-top:1px solid #e8edf2;margin-top:0}.course-hero-content{display:flex;flex-direction:column;gap:16px}.course-hero-content .btn-continue-learning{margin-top:8px}.course-category-badge{background:#e8f4ff;border-radius:20px;color:#000069;display:inline-block;font-size:13px;font-weight:600;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.course-hero-content h1{color:#1a1a1a;font-size:32px;font-weight:700;line-height:1.3;margin:0}.course-meta{display:flex;flex-wrap:wrap;gap:24px}.meta-item{align-items:center;color:#666;display:flex;font-size:14px;gap:6px}.meta-item svg{flex-shrink:0}.person-chip-btn{background:none;border:none;color:#000069;cursor:pointer;font-size:14px;font-weight:600;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.person-chip-btn:hover{color:#0000a0;text-decoration:underline}.schedule-info-card{grid-gap:10px;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #bfdbfe;border-radius:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:16px;padding:16px}.schedule-info-item{display:flex;flex-direction:column;gap:4px}.schedule-info-label{align-items:center;color:#3b82f6;display:flex;font-size:11px;font-weight:600;gap:5px;letter-spacing:.5px;text-transform:uppercase}.schedule-info-label svg{color:#3b82f6;flex-shrink:0}.schedule-info-value{color:#1e3a5f;font-size:13px;font-weight:600;padding-left:19px}.overall-progress{background:#f8fafb;border-radius:8px;margin-top:20px;padding:20px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.progress-header span{color:#333;font-size:14px;font-weight:600}.progress-percent{color:#000069;font-size:18px}.progress-bar{background:#e8f4ff;border-radius:5px;height:10px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#000069,#005);height:100%;transition:width .3s ease}.progress-text{color:#666;font-size:13px;margin:0}.course-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:0;margin-bottom:24px;padding:8px}.course-tabs button{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.course-tabs button.active{background:#000069;color:#fff}.course-content{margin-bottom:40px}.overview-tab{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px 40px 40px}.overview-section{margin-bottom:40px}.overview-section:last-child{margin-bottom:0}.overview-section h2{color:#1a1a1a;font-size:20px;font-weight:700;margin:0 0 16px}.overview-section p{color:#444;font-size:15px;line-height:1.7;margin:0}.course-info-section{background:#0000;padding:0 24px 24px}.info-block{margin-bottom:32px;padding:0}.info-block:last-child{margin-bottom:0}.info-block h4{border-bottom:2px solid #000069;color:#1a1a1a;font-size:18px;font-weight:700;margin-bottom:12px;padding-bottom:8px}.info-content{word-wrap:break-word;color:#444;font-size:15px;line-height:1.8;padding:8px 0;white-space:pre-line}.learning-outcomes{list-style:none;margin:0;padding:0}.learning-outcomes li{align-items:flex-start;color:#444;display:flex;font-size:15px;gap:12px;line-height:1.6;padding:12px 0}.learning-outcomes li svg{color:#50c878;flex-shrink:0;margin-top:2px}.certificate-info{align-items:center;background:#fff9e6;border-left:4px solid gold;border-radius:8px;display:flex;gap:16px;padding:20px}.certificate-info svg{color:gold;flex-shrink:0}.btn-continue-learning{align-items:center;background:linear-gradient(135deg,#000069,#005);border:none;border-radius:8px;box-shadow:0 4px 12px #0000694d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px 32px;transition:all .3s;width:100%}.btn-continue-learning:hover{background:linear-gradient(135deg,#005,#000040);box-shadow:0 6px 16px #00006966;transform:translateY(-2px)}.btn-continue-learning svg{flex-shrink:0}.certificate-info h3{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 4px}.certificate-info p{color:#666;font-size:14px;margin:0}.curriculum-tab{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:40px}.curriculum-tab h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0 0 24px}.modules-list{display:flex;flex-direction:column;gap:20px}.module-card{border:2px solid #e8eaed;border-radius:12px;padding:24px;transition:border-color .2s}.module-card:hover{border-color:#000069}.module-card.completed{background:#f8fff9;border-color:#50c878}.module-card.in-progress{background:#f8fbff;border-color:#000069}.module-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.module-info h3{color:#1a1a1a;font-size:18px;font-weight:700;margin:0 0 4px}.module-duration{color:#666;font-size:14px;margin:0}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.status-badge.completed{background:#d4edda;color:#28a745}.status-badge.in-progress{background:#d1ecf1;color:#0c5460}.status-badge.not-started{background:#f8d7da;color:#721c24}.module-progress{align-items:center;display:flex;gap:12px;margin-bottom:16px}.module-progress .progress-bar{flex:1 1;height:8px;margin:0}.module-progress .progress-text{color:#000069;font-size:13px;font-weight:600;white-space:nowrap}.lessons-list{display:flex;flex-direction:column;gap:8px}.lesson-item{align-items:center;background:#fff;border-radius:8px;display:flex;gap:12px;padding:12px;transition:background .2s}.lesson-item:hover{background:#f8fafb}.lesson-item.completed{background:#f0fff4}.lesson-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.lesson-item.completed .lesson-icon{color:#50c878}.lesson-item:not(.completed) .lesson-icon{color:#ccc}.lesson-title{color:#333;flex:1 1;font-size:14px;font-weight:500}.lesson-duration{color:#999;font-size:13px}.error-message{color:#666;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:1024px){.course-hero{grid-template-columns:1fr;margin-bottom:20px;padding:30px}.course-detail-header{padding:15px 20px}.course-tabs{margin-bottom:20px}.course-content{margin-bottom:40px}.curriculum-tab,.overview-tab{padding:30px}}@media (max-width:768px){.course-hero{padding:20px}.course-hero-image{height:200px}.course-hero-content h1{font-size:24px}.course-meta{flex-direction:column;gap:12px}.schedule-info-card{grid-template-columns:1fr}.curriculum-tab,.overview-tab{padding:20px}.module-header{flex-direction:column;gap:12px}.module-status{align-self:flex-start}}@media (max-width:480px){.course-detail-header{padding:12px 16px}.course-hero,.course-tabs{margin-bottom:16px}.course-hero-content h1{font-size:20px}.btn-back{font-size:14px}}.course-package-list{display:flex;flex-direction:column;gap:8px}.course-package-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:14px;padding:14px 16px;transition:all .2s}.course-package-item:hover{background:#f0f7ff;border-color:#3b82f6;box-shadow:0 1px 4px #3b82f61f}.course-package-icon{align-items:center;background:#fef2f2;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.course-package-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.course-package-title{color:#1e3a5f;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-package-type{color:#9ca3af;font-size:12px}.course-package-action{align-items:center;display:flex;flex-shrink:0;opacity:.5;transition:opacity .2s}.course-package-item:hover .course-package-action{opacity:1}.pdf-viewer-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none;z-index:10000}.pdf-viewer-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1000px;overflow:hidden;width:90vw}.pdf-viewer-header{align-items:center;background:#1e3a5f;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 20px}.pdf-viewer-header h3{font-size:15px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer-close{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;line-height:1;opacity:.8;padding:0 4px;transition:opacity .2s}.pdf-viewer-close:hover{opacity:1}.pdf-viewer-body{background:#525659;display:flex;flex:1 1;justify-content:center;overflow:auto;position:relative;-webkit-user-select:none;user-select:none}.pdf-viewer-body canvas{display:block;max-width:none}.pdf-custom-toolbar{background:#f3f4f6;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:6px;padding:8px 16px}.pdf-custom-toolbar,.pdf-custom-toolbar button{align-items:center;display:flex;justify-content:center}.pdf-custom-toolbar button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:16px;font-weight:600;height:32px;transition:all .15s;width:32px}.pdf-custom-toolbar button:hover:not(:disabled){background:#e5e7eb}.pdf-custom-toolbar button:disabled{cursor:default;opacity:.35}.pdf-page-info{align-items:center;color:#374151;display:flex;font-size:13px;gap:6px}.pdf-page-input{-moz-appearance:textfield;border:1px solid #d1d5db;border-radius:4px;font-size:13px;padding:4px 6px;text-align:center;width:42px}.pdf-page-input::-webkit-inner-spin-button,.pdf-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdf-toolbar-divider{background:#d1d5db;height:20px;margin:0 6px;width:1px}.pdf-zoom-label{color:#374151;font-size:13px;min-width:42px;text-align:center}.elibrary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.elibrary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s}.elibrary-card:hover{border-color:#93c5fd;box-shadow:0 4px 14px #3b82f624;transform:translateY(-1px)}.elibrary-card.is-link{background:linear-gradient(180deg,#fff,#f8fbff)}.elibrary-card-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.elibrary-source-badge{align-items:center;background:#dbeafe;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.2px;padding:4px 10px}.elibrary-date{color:#6b7280;font-size:12px}.elibrary-card h3{color:#1f2937;font-size:16px;line-height:1.4;margin:0}.elibrary-remarks{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4b5563;display:-webkit-box;font-size:13px;line-height:1.6;margin:0;overflow:hidden}.elibrary-card-footer{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:auto}.elibrary-file-meta{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elibrary-open-btn{background:#2563eb;border:1px solid #2563eb;border-radius:7px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:7px 10px;transition:background .2s,border-color .2s}.elibrary-open-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.elibrary-open-btn:disabled{cursor:not-allowed;opacity:.5}.elibrary-viewer-modal{max-width:1100px}.elibrary-viewer-body{align-items:center}.elibrary-image-preview{-webkit-user-drag:none;max-height:95%;max-width:95%;object-fit:contain;-webkit-user-select:none;user-select:none}@media (max-width:768px){.elibrary-grid{grid-template-columns:1fr}}.trainee-uploads-page{margin:0 auto;max-width:900px;padding:40px 24px}.trainee-uploads-header{align-items:center;display:flex;gap:20px;margin-bottom:24px}.trainee-uploads-header h1{color:#1a1a2e;font-size:1.6rem;margin:0}.uploads-subtitle{color:#666;font-size:.95rem;margin:4px 0 0}.uploads-logo{cursor:pointer;height:auto;width:50px}.trainee-uploads-header .btn-secondary{margin-left:auto}.uploads-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-top:24px}.upload-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px;transition:border-color .2s,box-shadow .2s}.upload-card.upload-missing{background:#fffbeb;border-color:#fbbf24}.upload-card.upload-complete{background:#f0fdf4;border-color:#22c55e}.upload-card-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.upload-card-icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#475569;display:flex;height:48px;justify-content:center;width:48px}.upload-card.upload-missing .upload-card-icon{background:#fef3c7;color:#d97706}.upload-card.upload-complete .upload-card-icon{background:#dcfce7;color:#16a34a}.upload-card-header h3{color:#1a1a2e;font-size:1.1rem;margin:0}.upload-status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;margin-top:4px;padding:2px 10px}.upload-status-badge.status-missing{background:#fef3c7;color:#92400e}.upload-status-badge.status-uploaded{background:#dcfce7;color:#166534}.upload-preview-area{align-items:center;background:#f8fafc;border:2px dashed #d1d5db;border-radius:8px;display:flex;justify-content:center;margin-bottom:16px;min-height:180px;overflow:hidden;width:100%}.upload-card.upload-complete .upload-preview-area{border-color:#bbf7d0}.upload-preview-img{border-radius:4px;max-height:220px;max-width:100%;object-fit:contain}.upload-placeholder{padding:20px;text-align:center}.upload-placeholder p{color:#9ca3af;font-size:.9rem;margin-top:10px}.upload-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.upload-card-actions .btn-primary{flex:1 1;font-size:.9rem;padding:8px 16px}.trainee-uploads-page .info-note{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:.85rem;margin-bottom:8px;padding:12px 16px}.trainee-uploads-page .alert-banner{align-items:center;border-radius:8px;display:flex;font-size:.9rem;padding:12px 16px}.trainee-uploads-page .alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.trainee-uploads-page .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}@media (max-width:768px){.trainee-uploads-header{flex-wrap:wrap}.trainee-uploads-header .btn-secondary{margin-left:0;width:100%}.uploads-grid{grid-template-columns:1fr}.signature-pad-modal{margin:20px;width:95vw}.signature-pad-canvas{height:200px}}.btn-draw-signature{align-items:center;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:8px;color:#4f46e5;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-draw-signature:hover{background:#e0e7ff;border-color:#a5b4fc;color:#4338ca}.btn-draw-signature:disabled{cursor:not-allowed;opacity:.5}.signature-pad-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.signature-pad-modal{animation:sigPadSlideIn .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:95vw;padding:28px;width:560px}@keyframes sigPadSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.signature-pad-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.signature-pad-header h3{color:#1a1a2e;font-size:1.2rem;margin:0}.signature-pad-close{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:all .15s}.signature-pad-close:hover{background:#f3f4f6;color:#374151}.signature-pad-hint{color:#6b7280;font-size:.85rem;margin:0 0 16px}.signature-pad-canvas-wrapper{background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;margin-bottom:16px;overflow:hidden;position:relative}.signature-pad-canvas-wrapper:after{background:#e5e7eb;bottom:40px;content:"";height:1px;left:10%;pointer-events:none;position:absolute;right:10%}.signature-pad-canvas{cursor:crosshair;display:block;height:250px;touch-action:none;width:100%}.signature-pad-actions{display:flex;gap:12px;justify-content:flex-end}.signature-pad-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 24px;transition:all .15s}.signature-pad-actions .btn-secondary:hover{background:#e5e7eb}.signature-pad-actions .btn-primary{border-radius:8px;font-size:.9rem;font-weight:500;padding:10px 24px}.signature-pad-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5}.trainee-enrollment-page{margin:0 auto;max-width:900px;padding:0 8px}.enr-steps{gap:0;justify-content:center;margin:24px 0 32px}.enr-steps,.enr-steps>div{align-items:center;display:flex;position:relative}.enr-steps>div{flex:1 1;flex-direction:column;max-width:160px}.enr-step-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#9ca3af;display:flex;font-size:14px;font-weight:700;height:36px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:36px;z-index:2}.enr-steps>div.active .enr-step-number{background:#000069;box-shadow:0 0 0 4px #2563eb26;color:#fff}.enr-steps>div.completed .enr-step-number{background:#16a34a;color:#fff}.enr-steps>div span:last-child{color:#9ca3af;font-size:12px;font-weight:500;text-align:center}.enr-steps>div.active span:last-child{color:#000069;font-weight:600}.enr-steps>div.completed span:last-child{color:#16a34a}.enr-steps>div:not(:last-child):after{background:#e5e7eb;content:"";height:2px;left:calc(50% + 24px);position:absolute;top:18px;width:calc(100% - 48px);z-index:1}.enr-steps>div.completed:not(:last-child):after{background:#16a34a}.enr-courses-summary{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:16px}.enr-courses-summary h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.enr-course-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:10px 0}.enr-course-row:last-of-type{border-bottom:none}.enr-course-info{display:flex;flex-direction:column;gap:2px}.enr-course-info strong{color:#1a1a2e;font-size:14px}.enr-course-code{color:#9ca3af;font-size:12px}.enr-course-schedule{color:#6b7280;font-size:12px}.enr-course-price{color:#000069;font-size:15px;font-weight:700}.enr-total-row{align-items:center;border-top:2px solid #d1d5db;color:#1a1a2e;display:flex;font-size:16px;font-weight:700;justify-content:space-between;margin-top:8px;padding:12px 0 0}.enr-docs-section,.enr-form-section,.enr-payment-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 3px #0000000a;padding:28px}.enr-docs-section h3,.enr-form-section h3,.enr-payment-section h3{color:#1a1a2e;font-size:18px;font-weight:700;margin:0 0 20px}.enr-form-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.enr-field{display:flex;flex-direction:column;gap:6px}.enr-field.full-width{grid-column:1/-1}.enr-field label{color:#374151;font-size:13px;font-weight:600}.enr-field .required{color:#ef4444}.enr-field input[type=file],.enr-field input[type=number],.enr-field input[type=text],.enr-field select,.enr-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1a1a2e;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.enr-field input:focus,.enr-field select:focus,.enr-field textarea:focus{border-color:#000069;box-shadow:0 0 0 3px #2563eb1a}.enr-field textarea{min-height:80px;resize:vertical}.enr-form-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:24px}.enr-form-actions .btn-primary{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 28px;transition:background-color .2s}.enr-form-actions .btn-primary:hover{background:#000050}.enr-form-actions .btn-primary:disabled{background:#6666a3;cursor:not-allowed}.enr-form-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 28px;transition:background-color .2s}.enr-form-actions .btn-secondary:hover{background:#e5e7eb}.enr-info-note{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;display:flex;font-size:13px;gap:10px;margin-bottom:20px;padding:14px 18px}.enr-info-note svg{flex-shrink:0;margin-top:2px}.enr-no-docs{color:#9ca3af;font-size:14px;padding:32px;text-align:center}.enr-docs-list{display:flex;flex-direction:column;gap:14px}.enr-docs-list>div{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;justify-content:space-between;padding:14px 18px;transition:border-color .2s}.enr-docs-list>div:hover{border-color:#d1d5db}.enr-doc-info{display:flex;flex-direction:column;gap:4px}.enr-doc-info .enr-doc-course{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.enr-doc-name{color:#1a1a2e;font-size:14px;font-weight:600}.enr-doc-actions{align-items:center;display:flex;gap:10px}.enr-doc-filename{color:#16a34a;font-size:12px;font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enr-doc-actions .btn-sm{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background-color .2s}.enr-doc-actions .btn-sm:not(:disabled){background:#000069;color:#fff}.enr-doc-actions .btn-sm:not(:disabled):hover{background:#000050}.enr-doc-actions .btn-sm:disabled{background:#d1d5db;color:#6b7280;cursor:not-allowed}.enr-warning-note{align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;display:flex;font-size:13px;gap:10px;margin-top:20px;padding:14px 18px}.enr-payment-summary{margin-bottom:24px}.enr-payment-summary h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.enr-payment-summary-table{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.enr-pay-row{align-items:center;color:#374151;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.enr-pay-row+.enr-pay-row{border-top:1px solid #eee}.enr-pay-row.total{border-top:2px solid #d1d5db;color:#1a1a2e;font-size:15px;font-weight:700;margin-top:4px;padding-top:12px}.enr-pay-row.paid{color:#16a34a;font-weight:600}.enr-pay-row.balance{border-top:2px solid #d1d5db;color:#dc2626;font-size:16px;font-weight:700;margin-top:4px;padding-top:12px}.enr-success-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 3px #0000000a;padding:48px 24px;text-align:center}.enr-success-icon{animation:enrSuccessBounce .6s ease-out;margin-bottom:20px}@keyframes enrSuccessBounce{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.enr-success-section h2{color:#16a34a;font-size:24px;font-weight:700;margin:0 0 12px}.enr-success-code{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#374151;display:inline-block;font-size:16px;margin-bottom:12px;padding:8px 20px}.enr-success-code strong{color:#16a34a;font-size:18px;letter-spacing:1px}.enr-success-section p{color:#6b7280;font-size:14px;margin:8px auto 0;max-width:480px}.enr-success-section .btn-primary{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:background-color .2s}.enr-success-section .btn-primary:hover{background:#000050}.alert-banner{align-items:center;border-radius:10px;display:flex;font-size:14px;justify-content:space-between;padding:12px 18px}.alert-banner.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-banner.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.alert-banner.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.enr-payment-methods-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.enr-payment-method-card{align-items:center;background:#f9fafb;background:var(--method-bg,#f9fafb);border:2px solid #e5e7eb;border:2px solid var(--method-border,#e5e7eb);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:10px;justify-content:center;padding:24px 12px;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.enr-payment-method-card:hover{border-color:#000069;border-color:var(--method-color,#000069);box-shadow:0 6px 16px #0000001a;transform:translateY(-3px)}.enr-pm-logo{align-items:center;background:#fff;border:1px solid #94a3b840;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;padding:8px 10px;width:96px}.enr-pm-logo-image{height:100%;object-fit:contain;width:100%}.enr-pm-name{font-size:15px;font-weight:700}.enr-pm-tagline{color:#6b7280;font-size:11px;min-height:16px}.enr-pm-powered-by{align-items:center;color:#94a3b8;display:flex;font-size:12px;gap:6px;justify-content:center;margin-bottom:8px}.enr-pm-powered-by strong{color:#64748b}.enr-selected-method-bar{align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;color:#374151;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:12px 16px}.enr-pm-logo-sm{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;padding:4px 6px;width:52px}.enr-pm-logo-image-sm{height:100%;object-fit:contain;width:100%}.enr-selected-method-bar span{flex:1 1}.enr-change-method-btn{background:#0000;border:1px solid #000069;border-radius:6px;color:#000069;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:background-color .2s,color .2s;white-space:nowrap}.enr-change-method-btn:hover{background:#000069;color:#fff}.enr-qrph-container{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:32px 16px}.enr-qrph-image{border-radius:8px;height:auto;max-width:280px;width:100%}.enr-qrph-hint{color:#64748b;font-size:13px;margin-top:16px;text-align:center}@media (max-width:640px){.enr-form-grid{grid-template-columns:1fr}.enr-form-actions{flex-direction:column}.enr-form-actions .btn-primary,.enr-form-actions .btn-secondary{text-align:center;width:100%}.enr-steps{gap:4px}.enr-steps>div span:last-child{font-size:10px}.enr-docs-list>div{align-items:stretch;flex-direction:column;gap:10px}.enr-doc-actions{justify-content:flex-end}.enr-payment-methods-grid{grid-template-columns:repeat(2,1fr)}}.trainee-elibrary-page{padding:0}.trainee-elibrary-page .section-header{margin-bottom:20px}.trainee-elibrary-page .section-header h2{color:#1f2937;font-size:22px;font-weight:700;margin:0 0 4px}.trainee-elibrary-page .section-header p{color:#6b7280;font-size:14px;margin:0}.trainee-elibrary-page .table-controls{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.trainee-elibrary-page .search-box input{border:1px solid #d1d5db;border-radius:8px;font-size:13px;max-width:100%;outline:none;padding:9px 12px;transition:border-color .2s,box-shadow .2s;width:320px}.trainee-elibrary-page .search-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.trainee-elibrary-page .results-info{color:#6b7280;font-size:13px}.elibrary-empty-state{background:#fff;border:1px dashed #e5e7eb;border-radius:10px;color:#6b7280;font-size:14px;padding:48px 20px;text-align:center}.elibrary-course-list{display:flex;flex-direction:column;gap:10px}.elibrary-course-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s}.elibrary-course-row:hover{border-color:#93c5fd;box-shadow:0 4px 14px #3b82f61f;transform:translateY(-1px)}.elibrary-course-icon{align-items:center;background:#eff6ff;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.elibrary-course-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.elibrary-course-name{background:#0000;border:none;color:#1d4ed8;cursor:pointer;font-size:15px;font-weight:700;margin:0;padding:0;text-align:left;text-decoration:none;transition:color .15s,-webkit-text-decoration .15s;transition:color .15s,text-decoration .15s;transition:color .15s,text-decoration .15s,-webkit-text-decoration .15s}.elibrary-course-name:hover{color:#1e3a8a;text-decoration:underline}.elibrary-course-code{color:#6b7280;font-size:12px}.elibrary-course-action{align-items:center;color:#2563eb;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px}.elibrary-detail-header{align-items:center;display:flex;gap:14px}.elibrary-back-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:background .2s,border-color .2s}.elibrary-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.elibrary-subtle{color:#6b7280;font-size:13px;margin:2px 0 0}@media (max-width:768px){.trainee-elibrary-page .table-controls{align-items:stretch;flex-direction:column}.trainee-elibrary-page .search-box input{width:100%}.elibrary-course-row{flex-wrap:wrap}}.forums-page{padding:0}.forums-page .section-header{margin-bottom:1.25rem}.forums-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.forums-search{background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1 1 280px;font-size:.9rem;min-width:220px;padding:.6rem .85rem}.forums-search:focus{border-color:#000069;box-shadow:0 0 0 3px #0000691f;outline:none}.forums-filter{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.6rem .85rem}.primary-btn{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.6rem 1.1rem;transition:background .15s}.primary-btn:hover:not(:disabled){background:#1a1a8f}.primary-btn:disabled{cursor:not-allowed;opacity:.55}.secondary-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.88rem;font-weight:600;padding:.6rem 1.1rem}.secondary-btn:hover:not(:disabled){background:#f3f4f6}.link-btn{background:none;border:none;color:#000069;cursor:pointer;font-size:.88rem;font-weight:600;padding:0}.link-btn:hover{text-decoration:underline}.forums-breadcrumb{margin-bottom:.75rem}.forums-empty{background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;font-size:.92rem;padding:2rem 1.25rem;text-align:center}.forums-empty.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.forums-empty.small{font-size:.86rem;padding:1rem}.forums-empty .empty-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:.35rem}.forums-empty .empty-sub{color:#6b7280;margin-bottom:1rem}.forum-status-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.forum-status-badge.status-open{background:#dcfce7;color:#166534}.forum-status-badge.status-not-yet-open{background:#fef3c7;color:#92400e}.forum-status-badge.status-closed{background:#fee2e2;color:#991b1b}.forums-layout{grid-gap:1rem;align-items:flex-start;display:grid;gap:1rem;grid-template-columns:minmax(0,4fr) minmax(220px,1fr)}.forums-main{min-width:0}.forum-table{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.forum-table-headers{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#6b7280;display:grid;font-size:.72rem;font-weight:700;grid-template-columns:44px 1fr 80px 110px 160px;letter-spacing:.04em;padding:.55rem .85rem;text-transform:uppercase}.forum-table-headers .col-replies,.forum-table-headers .col-status{text-align:center}.forum-group+.forum-group{border-top:1px solid #e5e7eb}.forum-group-header{align-items:center;background:linear-gradient(180deg,#7cb342,#689f38);color:#fff;display:flex;gap:.75rem;justify-content:space-between;padding:.6rem .95rem}.group-title{align-items:center;display:flex;font-size:.85rem;font-weight:700;gap:.5rem;letter-spacing:.02em;min-width:0;text-transform:uppercase}.group-icon{font-size:1rem;line-height:1}.group-code{font-weight:800}.group-sep{opacity:.7}.group-course{font-weight:600;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.group-meta{font-size:.75rem;opacity:.92;white-space:nowrap}.forum-row{align-items:center;background:#fff;border:none;border-bottom:1px solid #f3f4f6;color:inherit;cursor:pointer;display:grid;font:inherit;grid-template-columns:44px 1fr 80px 110px 160px;padding:.85rem;text-align:left;transition:background .12s;width:100%}.forum-row:hover{background:#f9fafb}.forum-row:last-child{border-bottom:none}.col-icon{display:flex}.col-icon,.row-icon{align-items:center;justify-content:center}.row-icon{background:#2196f3;border-radius:8px;color:#fff;display:inline-flex;font-size:1.1rem;height:36px;width:36px}.col-subject{min-width:0}.row-subject{color:#1e88e5;font-size:.95rem;font-weight:600;line-height:1.35;margin-bottom:.15rem}.row-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.82rem;margin-bottom:.3rem;overflow:hidden}.row-author{color:#6b7280;font-size:.78rem}.col-replies,.row-author strong{color:#111827;font-weight:600}.col-replies{font-size:.95rem}.col-replies,.col-status{text-align:center}.col-last{color:#6b7280;font-size:.78rem;text-align:right}.role-tag{background:#eef0fb;border-radius:4px;color:#000069;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-left:.4rem;padding:1px 6px}.forums-sidebar{display:flex;flex-direction:column;gap:.85rem;position:-webkit-sticky;position:sticky;top:1rem}.sidebar-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.sidebar-card-head{align-items:center;background:#2196f3;color:#fff;display:flex;font-size:.82rem;font-weight:700;gap:.5rem;letter-spacing:.02em;padding:.6rem .85rem;text-transform:uppercase}.sidebar-card-head-alt{background:#4caf50}.sidebar-icon{font-size:1rem;line-height:1}.course-filter-list{list-style:none;margin:0;max-height:460px;overflow-y:auto;padding:.35rem 0}.course-filter-list li{margin:0}.course-empty{color:#6b7280;font-size:.82rem;padding:.85rem;text-align:center}.course-filter-btn{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#374151;cursor:pointer;display:flex;font:inherit;font-size:.85rem;gap:.5rem;justify-content:space-between;padding:.55rem .85rem;text-align:left;transition:background .12s,border-color .12s,color .12s;width:100%}.course-filter-btn:hover{background:#f3f4f6;color:#000069}.course-filter-btn.active{background:#eef0fb;border-left-color:#000069;color:#000069;font-weight:600}.course-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-count{background:#e5e7eb;border-radius:999px;color:#374151;flex-shrink:0;font-size:.7rem;font-weight:700;min-width:22px;padding:1px 8px;text-align:center}.course-filter-btn.active .course-count{background:#000069;color:#fff}.sidebar-info-body{color:#374151;display:flex;flex-direction:column;font-size:.82rem;gap:.4rem;padding:.75rem .85rem}.info-course-name{color:#111827;font-weight:600}.info-course-code{color:#6b7280;font-size:.78rem}.forum-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.4rem}.forum-detail-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.forum-detail-head h3{color:#000069;font-size:1.1rem;line-height:1.4;margin:0}.forum-detail-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.82rem;gap:1rem;margin-bottom:.75rem}.forum-detail-desc{color:#374151;font-size:.92rem;line-height:1.6;margin:0;white-space:pre-wrap}.comments-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.1rem 1.4rem}.comments-section h4{color:#111827;font-size:.95rem;margin:0 0 .85rem}.comments-list{display:flex;flex-direction:column;gap:.7rem;list-style:none;margin:0 0 1rem;padding:0}.comment-item{background:#f9fafb;border-left:3px solid #c5caf0;border-radius:0 8px 8px 0;padding:.6rem .85rem}.comment-head{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.5rem;margin-bottom:.25rem}.comment-date{color:#6b7280;font-size:.75rem;margin-left:auto}.comment-text{color:#374151;font-size:.88rem;line-height:1.55;white-space:pre-wrap}.comment-form{display:flex;flex-direction:column;gap:.5rem}.comment-form textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.88rem;padding:.6rem .85rem;resize:vertical;width:100%}.comment-form textarea:focus{border-color:#000069;box-shadow:0 0 0 3px #0000691f;outline:none}.comment-form-actions{display:flex;justify-content:flex-end}.form-error{color:#b91c1c;font-size:.82rem}.forum-modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9000}.forum-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}.forum-modal-head{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.forum-modal-head h3{color:#000069;font-size:1.05rem;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.6rem;height:32px;line-height:1;padding:0;width:32px}.modal-close:hover{color:#000069}.forum-modal-body{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem 1.25rem}.forum-modal-body label{color:#374151;display:flex;flex-direction:column;font-size:.83rem;font-weight:600;gap:.35rem}.forum-modal-body input,.forum-modal-body select,.forum-modal-body textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:.9rem;font-weight:400;padding:.55rem .75rem}.forum-modal-body input:focus,.forum-modal-body select:focus,.forum-modal-body textarea:focus{border-color:#000069;box-shadow:0 0 0 3px #0000691f;outline:none}.forum-modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}@media (max-width:960px){.forums-layout{grid-template-columns:1fr}.forums-sidebar{position:static}.course-filter-list{max-height:280px}}@media (max-width:720px){.forum-table-headers{display:none}.forum-row{grid-template-areas:"icon subject" "icon meta";grid-template-columns:44px 1fr;row-gap:.4rem}.col-icon{align-self:flex-start;grid-area:icon}.col-subject{grid-area:subject}.col-last,.col-replies,.col-status{color:#6b7280;display:inline-block;font-size:.78rem;grid-area:meta;margin-right:.85rem;text-align:left}.col-replies:before{content:"💬 "}.col-last:before{content:"🕒 "}.forum-detail-head{flex-direction:column}.comment-date{margin-left:0}}.forums-page .forums-section-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.forums-page .forums-header-text{flex:1 1;min-width:0}.forums-page .forums-back-btn{flex-shrink:0;white-space:nowrap}.messenger-root{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #00000014;display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 220px);min-height:520px;overflow:hidden}.messenger-sidebar{background:#fafafa;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;min-width:0}.messenger-sidebar-head{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 16px}.messenger-sidebar-head h3{color:#1a1a1a;font-size:18px;margin:0}.messenger-new-btn{align-items:center;background:#000069;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.messenger-new-btn:hover{background:#0a0a8c}.messenger-convs{flex:1 1;overflow-y:auto}.messenger-conv-item{align-items:center;background:#0000;border:none;border-bottom:1px solid #eee;cursor:pointer;display:flex;gap:10px;min-width:0;padding:10px 12px;text-align:left;width:100%}.messenger-conv-item:hover{background:#f1f5f9}.messenger-conv-item.active{background:#e0e7ff}.messenger-conv-item.unread .name,.messenger-conv-item.unread .preview{color:#111;font-weight:700}.messenger-conv-item.inactive .name{color:#9ca3af}.messenger-conv-item .meta{flex:1 1;min-width:0}.messenger-conv-item .row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.messenger-conv-item .name{color:#1f2937;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-conv-item .time{color:#6b7280;flex-shrink:0;font-size:11px}.messenger-conv-item .preview{color:#6b7280;flex:1 1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-conv-item .unread-dot{background:#2563eb;border-radius:50%;flex-shrink:0;height:10px;width:10px}.avatar{align-items:center;background:#dbeafe;border-radius:50%;color:#1e3a8a;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;overflow:hidden;width:40px}.avatar img{height:100%;object-fit:cover;width:100%}.messenger-chat{background:#fff;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}.messenger-placeholder{align-items:center;color:#6b7280;display:flex;flex:1 1;justify-content:center;text-align:center}.messenger-placeholder h3{color:#374151;margin-bottom:8px}.messenger-chat-head{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;padding:12px 16px}.chat-name{align-items:center;color:#111;display:flex;font-weight:700;gap:8px}.chat-name.inactive-name{color:#9ca3af}.inactive-tag{background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:10px;font-weight:600;padding:2px 6px}.chat-sub{color:#6b7280;font-size:12px}.messenger-messages{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.day-divider{color:#6b7280;font-size:11px;margin:12px 0 4px;position:relative;text-align:center}.day-divider span{background:#f8fafc;padding:0 12px}.bubble-row{display:flex;width:100%}.bubble-row.me{justify-content:flex-end}.bubble-row.them{justify-content:flex-start}.bubble{border-radius:18px;font-size:14px;line-height:1.35;max-width:70%;padding:8px 12px;position:relative;white-space:pre-wrap;word-break:break-word}.bubble-row.me .bubble{background:#2563eb;border-bottom-right-radius:4px;color:#fff}.bubble-row.them .bubble{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#1f2937}.bubble-time{display:block;font-size:10px;margin-top:4px;opacity:.8;text-align:right}.bubble-row.them .bubble-time{color:#6b7280}.seen-indicator{align-self:flex-end;color:#6b7280;font-size:11px;font-style:italic;padding:2px 4px 6px}.messenger-composer{background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:8px;padding:10px 12px}.composer-emoji-wrap{align-items:center;display:flex;position:relative}.emoji-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:background .15s ease;width:36px}.emoji-btn:hover:not(:disabled){background:#f3f4f6}.emoji-btn:disabled{cursor:not-allowed;opacity:.5}.emoji-backdrop{background:#0000;inset:0;position:fixed;z-index:40}.emoji-panel{grid-gap:2px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;bottom:calc(100% + 8px);box-shadow:0 6px 20px #0000001f;display:grid;gap:2px;grid-template-columns:repeat(10,1fr);left:0;max-height:220px;overflow-y:auto;padding:8px;position:absolute;width:280px;z-index:50}.emoji-cell{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:18px;line-height:1;padding:4px 0}.emoji-cell:hover{background:#f3f4f6}.messenger-composer input{border:1px solid #d1d5db;border-radius:999px;flex:1 1;font-size:14px;outline:none;padding:10px 14px}.messenger-composer input:focus{border-color:#2563eb}.messenger-composer .primary-btn{border-radius:999px;padding:8px 18px}.messenger-error{background:#fee2e2;border-radius:6px;color:#991b1b;font-size:13px;margin:6px 12px;padding:8px 12px}.messenger-empty,.messenger-loading{color:#6b7280;font-size:13px;padding:20px;text-align:center}.messenger-empty.small{padding:12px}.messenger-empty .primary-btn{margin-top:10px}.messenger-modal-backdrop{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.messenger-modal{background:#fff;border-radius:10px;display:flex;flex-direction:column;max-height:80vh;max-width:92vw;overflow:hidden;width:440px}.messenger-modal>header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.messenger-modal>header h3{font-size:16px;margin:0}.messenger-modal>header .close{background:#0000;border:none;color:#6b7280;cursor:pointer;font-size:16px}.messenger-modal>input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin:12px 16px 8px;padding:10px 14px}.contacts-list{flex:1 1;overflow-y:auto;padding-bottom:8px}.contact-row{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:10px;padding:8px 16px;text-align:left;width:100%}.contact-row:hover:not(:disabled){background:#f1f5f9}.contact-row:disabled{cursor:not-allowed}.contact-row.inactive .name{color:#9ca3af}.contact-row .meta{min-width:0}.contact-row .name{color:#1f2937;font-size:14px;font-weight:600}.contact-row.inactive .role{color:#9ca3af}.contact-row .role{color:#6b7280;font-size:12px}.message-btn{align-items:center;background:#fff;border:2px solid #000069;border-radius:50%;color:#000069;cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;transition:all .2s ease;width:44px}.message-btn:hover{background:#000069;color:#fff}.message-btn svg{height:20px;width:20px}.message-badge{align-items:center;background:#dc2626;border:2px solid #fff;border-radius:10px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-4px;top:-4px}@media (max-width:820px){.messenger-root{grid-template-columns:1fr;height:calc(100vh - 180px)}.messenger-sidebar{display:none}.messenger-root.show-sidebar .messenger-sidebar{display:flex}.messenger-root.show-sidebar .messenger-chat{display:none}}.tour-backdrop{background:#0009;inset:0;z-index:10000}.tour-backdrop,.tour-spotlight{pointer-events:none;position:fixed}.tour-spotlight{background:#0000;border-radius:8px;box-shadow:0 0 0 9999px #0009;outline:2px solid #ffffff59;outline-offset:0;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease;z-index:10001}.tour-tooltip{animation:tour-tooltip-in .22s ease;background:#fff;border-radius:14px;box-shadow:0 4px 6px #00000012,0 10px 30px #0000002e;min-width:280px;overflow:hidden;position:fixed;z-index:10002}@keyframes tour-tooltip-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-tooltip--centered{text-align:center}.tour-tooltip--centered .tour-tooltip-title{font-size:1.25rem;padding-top:.5rem}.tour-tooltip--centered .tour-tooltip-content{color:#4b5563;font-size:.95rem;line-height:1.65}.tour-tooltip--centered .tour-tooltip-footer{justify-content:center}.tour-tooltip-header{align-items:center;display:flex;justify-content:space-between;padding:.75rem 1rem 0}.tour-step-badge{background:#000069;border-radius:20px;color:#fff;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2rem .65rem}.tour-close-btn{background:none;border:none;border-radius:5px;color:#9ca3af;cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .4rem;transition:color .15s,background .15s}.tour-close-btn:hover{background:#f3f4f6;color:#374151}.tour-tooltip-title{color:#000069;font-size:1rem;font-weight:700;line-height:1.35;padding:.45rem 1rem 0}.tour-tooltip-content{color:#374151;font-size:.875rem;line-height:1.65;padding:.45rem 1rem .85rem}.tour-tooltip-footer{background:#f9fafb;border-top:1px solid #f0f0f0;justify-content:space-between;padding:.65rem 1rem}.tour-footer-right,.tour-tooltip-footer{align-items:center;display:flex;gap:.5rem}.tour-btn{border:none;border-radius:7px;cursor:pointer;font-size:.85rem;font-weight:600;line-height:1;padding:.5rem 1.05rem;transition:background .15s,color .15s,transform .1s;white-space:nowrap}.tour-btn:active{transform:scale(.97)}.tour-btn-next{background:#000069;color:#fff}.tour-btn-next:hover{background:#000045}.tour-btn-prev{background:#fff;border:1px solid #d1d5db;color:#374151}.tour-btn-prev:hover{background:#f3f4f6}.tour-btn-skip{background:#0000;border:none;color:#9ca3af;font-size:.8rem;font-weight:500;padding:.4rem .5rem}.tour-btn-skip:hover{color:#6b7280}.tour-start-link{background:none;border:none;color:#000069;cursor:pointer;display:block;font-size:.9rem;font-weight:600;padding:.65rem 1rem .65rem 1.75rem;text-align:left;text-decoration:none;transition:background .15s;width:100%}.tour-start-link:hover{background:#0000690f}.signup-root{align-items:center;background:#000069;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:20px}.signup-container{background:#f5f5f5;border-radius:25px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:2.5rem 3rem;position:relative;width:100%}.signup-back-button{align-items:center;background:#0000;border:2.5px solid #000069;border-radius:50px;color:#000069;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:.4rem;left:2.5rem;padding:.6rem 1.25rem;position:absolute;top:2rem;transition:all .2s ease}.signup-back-button:hover{background:#000069;color:#fff}.signup-header{margin-bottom:1.25rem;margin-top:1.5rem;text-align:center}.signup-logo{filter:drop-shadow(0 4px 10px rgba(0,0,0,.1));margin-bottom:.75rem;width:80px}.signup-title{color:#000069;font-size:1.75rem;font-weight:800;letter-spacing:1px;margin:0 0 .3rem}.signup-subtitle{color:#666;font-size:.9rem;margin:0 0 .5rem}.signup-alert{border-radius:10px;font-size:.9rem;font-weight:600;margin-bottom:1rem;padding:.75rem 1rem;text-align:center}.signup-notice{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:8px;color:#1e40af;display:flex;flex-direction:column;font-size:.85rem;gap:.4rem;margin-bottom:1.2rem;padding:.75rem 1rem}.signup-notice-title{color:#1d4ed8;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.signup-notice-text ul{line-height:1.75;margin:0 0 .25rem;padding-left:1.2rem}.signup-notice-text ul li{margin-bottom:.15rem}.signup-reminder-link{background:#fff1f1;border:1.5px solid #fca5a5;border-left:4px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;display:block;font-size:.82rem;font-weight:700;letter-spacing:.01em;margin-bottom:1.2rem;padding:.6rem 1rem;text-align:left;transition:background .15s;width:100%}.signup-reminder-link:hover{background:#fee2e2}.signup-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.signup-modal{background:#fff;border-radius:14px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.signup-modal-header{align-items:center;background:#000069;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:800;letter-spacing:.04em;padding:1rem 1.25rem;text-transform:uppercase}.signup-modal-body{color:#111;flex:1 1;font-size:.92rem;line-height:1.8;overflow-y:auto;padding:1.25rem 1.5rem}.signup-modal-body ul{margin:0 0 .5rem;padding-left:1.2rem}.signup-modal-body ul li{color:#111;margin-bottom:.3rem}.signup-modal-section{align-items:center;color:#000069;display:flex;font-size:.95rem;font-weight:700;gap:6px;margin:1rem 0 .5rem}.signup-modal-section:first-child{margin-top:0}.signup-modal-icon{flex-shrink:0;height:16px;width:16px}.signup-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0;padding:1rem 1.5rem}.signup-modal-acknowledge{background:#000069;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.75rem 1rem;transition:background .2s;width:100%}.signup-modal-acknowledge:hover{background:#00004d}.signup-alert-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.signup-alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.signup-form{display:flex;flex-direction:column;gap:.85rem}.signup-section-label{border-bottom:2px solid #e5e7eb;color:#000069;font-size:.85rem;font-weight:700;letter-spacing:1px;margin-bottom:-.25rem;padding-bottom:.35rem;text-transform:uppercase}.signup-row{display:flex;gap:1rem}.signup-row>.signup-field{flex:1 1;min-width:0}.signup-row>.signup-field-small{flex:0 0 100px}.signup-field{display:flex;flex-direction:column;gap:.3rem}.signup-field label{color:#374151;font-size:.85rem;font-weight:600}.signup-field label .required{color:#dc2626}.signup-field input,.signup-field select{background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#1f2937;font-size:.95rem;overflow:hidden;padding:.7rem 1rem;text-overflow:ellipsis;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.signup-field input:focus,.signup-field select:focus{border-color:#000069;box-shadow:0 0 0 3px #0000691a;outline:none}.signup-field input::placeholder{color:#9ca3af}.signup-error{color:#dc2626;font-size:.78rem;font-weight:500}.signup-submit-btn{background:#000069;border:none;border-radius:50px;box-shadow:0 4px 15px #0000694d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:.5rem;padding:.9rem;transition:all .2s ease}.signup-submit-btn:hover:not(:disabled){background:#000045;box-shadow:0 6px 20px #00006966;transform:translateY(-2px)}.signup-submit-btn:disabled{cursor:not-allowed;opacity:.6}.signup-login-link{color:#6b7280;font-size:.9rem;margin:0;text-align:center}.signup-login-link span{color:#000069;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:2px}.signup-login-link span:hover{opacity:.7}.signup-loading-overlay{align-items:center;background:#ffffffd9;border-radius:25px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.signup-loading-content{text-align:center}.signup-loading-content p{color:#000069;font-size:1rem;font-weight:600;margin-top:1rem}.signup-loading-spinner{border:5px solid #e0e0e0;border-radius:50%;border-top-color:#000069;height:48px;margin:0 auto;width:48px}.signup-loading-spinner,.signup-spinner{animation:signup-spin .8s linear infinite}.signup-spinner{border:2.5px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:6px;vertical-align:middle;width:16px}@keyframes signup-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:600px){.signup-container{border-radius:18px;padding:2rem 1.5rem}.signup-back-button{font-size:.8rem;left:1.5rem;padding:.5rem 1rem;top:1.25rem}.signup-row{flex-direction:column;gap:.85rem}.signup-row>.signup-field-small{flex:1 1}.signup-title{font-size:1.4rem}}.imtp-cp-page{padding:0}.imtp-cp-header{margin-bottom:20px}.imtp-cp-back-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:6px;padding:10px 20px;transition:all .15s}.imtp-cp-back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.imtp-cp-title-section{background:#fff;border:1px solid #e5e7eb;gap:16px;margin-bottom:24px;padding:24px}.imtp-cp-icon,.imtp-cp-title-section{align-items:center;border-radius:12px;display:flex}.imtp-cp-icon{background:#eef2f7;flex-shrink:0;height:56px;justify-content:center;width:56px}.imtp-cp-course-name{color:#1e3a5f;font-size:20px;font-weight:700;line-height:1.3;margin:0}.imtp-cp-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.imtp-cp-loading{color:#6b7280;font-size:16px}.imtp-cp-empty,.imtp-cp-loading{padding:60px 20px;text-align:center}.imtp-cp-empty{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column}.imtp-cp-empty-title{color:#374151;font-size:17px;font-weight:600;margin:0}.imtp-cp-empty-desc{color:#9ca3af;font-size:14px;margin:6px 0 0;max-width:360px}.imtp-cp-list-hint{color:#6b7280;font-size:14px;margin:0 0 14px}.imtp-cp-list{display:flex;flex-direction:column}.imtp-cp-item{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:14px;margin-bottom:8px;padding:18px 20px;text-align:left;transition:all .2s;width:100%}.imtp-cp-item:hover{background:#f0f5ff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61f}.imtp-cp-item:active{transform:scale(.995)}.imtp-cp-item-number{background:#eef2f7;border-radius:50%;color:#1e3a5f;font-size:14px;font-weight:700;height:32px;width:32px}.imtp-cp-item-icon,.imtp-cp-item-number{align-items:center;display:flex;flex-shrink:0;justify-content:center}.imtp-cp-item-icon{background:#fef2f2;border-radius:10px;height:48px;width:48px}.imtp-cp-item-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.imtp-cp-item-title{color:#1e3a5f;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imtp-cp-item-type{color:#9ca3af;font-size:13px}.imtp-cp-item-arrow{flex-shrink:0;opacity:.4;transition:opacity .2s}.imtp-cp-item:hover .imtp-cp-item-arrow{opacity:1}.imtp-cp-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none;z-index:10000}.imtp-cp-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:92vh;max-width:1000px;overflow:hidden;width:92vw}.imtp-cp-modal-header{align-items:center;background:#1e3a5f;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 22px}.imtp-cp-modal-header h3{font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imtp-cp-modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:28px;line-height:1;opacity:.8;padding:0 6px;transition:opacity .2s}.imtp-cp-modal-close:hover{opacity:1}.imtp-cp-toolbar{background:#f3f4f6;border-bottom:1px solid #e5e7eb;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:10px 18px}.imtp-cp-toolbar,.imtp-cp-toolbar button{align-items:center;display:flex;justify-content:center}.imtp-cp-toolbar button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;height:36px;transition:all .15s;width:36px}.imtp-cp-toolbar button:hover:not(:disabled){background:#e5e7eb}.imtp-cp-toolbar button:disabled{cursor:default;opacity:.3}.imtp-cp-page-info{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:8px}.imtp-cp-page-input{-moz-appearance:textfield;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;padding:6px 8px;text-align:center;width:48px}.imtp-cp-page-input::-webkit-inner-spin-button,.imtp-cp-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.imtp-cp-toolbar-divider{background:#d1d5db;height:22px;margin:0 4px;width:1px}.imtp-cp-zoom-label{color:#374151;font-size:14px;font-weight:600;min-width:48px;text-align:center}.imtp-cp-modal-body{background:#525659;display:flex;flex:1 1;justify-content:center;overflow:auto;-webkit-user-select:none;user-select:none}.imtp-cp-modal-body canvas{display:block;max-width:none}.imtp-cp-pdf-loading{color:#ccc}.imtp-cp-pdf-error,.imtp-cp-pdf-loading{font-size:16px;padding:60px;text-align:center}.imtp-cp-pdf-error{color:#e74c3c}@media (max-width:768px){.imtp-cp-title-section{align-items:flex-start;flex-direction:column;gap:12px;padding:18px}.imtp-cp-course-name{font-size:17px}.imtp-cp-item{gap:10px;padding:14px 16px}.imtp-cp-item-title{font-size:14px}.imtp-cp-item-icon{height:40px;width:40px}.imtp-cp-modal{border-radius:8px;height:95vh;width:98vw}.imtp-cp-toolbar{gap:6px;padding:8px 12px}}.imtp-tr-page{display:flex;flex-direction:column;gap:16px}.imtp-tr-header{background:linear-gradient(135deg,#f4f8ff,#eef5ff);border:1px solid #d9e6ff;border-radius:12px;padding:16px 18px}.imtp-tr-header h2{color:#0f2f5f;font-size:1.35rem;margin:0}.imtp-tr-header p{color:#486080;font-size:.95rem;margin:6px 0 0}.imtp-tr-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1.3fr}.imtp-tr-panel{background:#fff;border:1px solid #dce5f3;border-radius:12px;min-height:420px;padding:12px}.imtp-tr-panel-title{color:#163865;font-size:1rem;font-weight:700;margin-bottom:10px}.imtp-tr-course-list,.imtp-tr-package-list{display:flex;flex-direction:column;gap:8px}.imtp-tr-course-item,.imtp-tr-package-item{align-items:center;background:#f9fbff;border:1px solid #d9e5f6;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:.2s ease}.imtp-tr-course-item:hover,.imtp-tr-package-item:hover{background:#f0f6ff;border-color:#b9d2fb}.imtp-tr-course-item.active{background:#e8f1ff;border-color:#8db2ee}.imtp-tr-course-num,.imtp-tr-package-num{align-items:center;background:#e6eefc;border-radius:50%;color:#24497f;display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.imtp-tr-course-meta{display:flex;flex-direction:column;min-width:0}.imtp-tr-course-name,.imtp-tr-package-title{color:#183a6c;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imtp-tr-course-code{color:#5f7393;font-size:.82rem;margin-top:2px}.imtp-tr-package-action{color:#0f4fa8;flex-shrink:0;font-size:.85rem;font-weight:600;margin-left:auto}.imtp-tr-empty,.imtp-tr-loading{background:#f8fafc;border:1px dashed #cad6ea;border-radius:10px;color:#52617a;font-size:.93rem;padding:18px}.imtp-tr-overlay{align-items:center;background:#0e213db3;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.imtp-tr-modal{background:#fff;border-radius:12px;display:flex;flex-direction:column;height:min(90vh,840px);overflow:hidden;width:min(95vw,1000px)}.imtp-tr-modal-header{align-items:center;background:#0f2f5f;color:#fff;display:flex;gap:10px;justify-content:space-between;padding:12px 16px}.imtp-tr-modal-header h3{font-size:1rem;font-weight:600;margin:0}.imtp-tr-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.6rem;line-height:1}.imtp-tr-toolbar{align-items:center;background:#f5f8fc;border-bottom:1px solid #dde6f3;display:flex;gap:8px;padding:10px 12px}.imtp-tr-toolbar button{background:#fff;border:1px solid #c9d7eb;border-radius:6px;color:#234778;cursor:pointer;height:30px;min-width:30px}.imtp-tr-toolbar button:disabled{cursor:not-allowed;opacity:.45}.imtp-tr-page-info{align-items:center;color:#314f75;display:inline-flex;font-size:.9rem;gap:6px}.imtp-tr-page-info input{border:1px solid #c6d4ea;border-radius:6px;height:28px;text-align:center;width:58px}.imtp-tr-divider{background:#cfdced;height:22px;width:1px}.imtp-tr-zoom{color:#314f75;font-weight:600;min-width:46px;text-align:center}.imtp-tr-modal-body{background:#f2f6fb;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:18px}@media (max-width:980px){.imtp-tr-grid{grid-template-columns:1fr}.imtp-tr-panel{min-height:280px}.imtp-tr-modal{height:min(94vh,840px);width:min(98vw,1000px)}}.imtp-lp-page{display:flex;flex-direction:column;gap:16px}.imtp-lp-header{background:linear-gradient(135deg,#f4f8ff,#eef5ff);border:1px solid #d9e6ff;border-radius:12px;padding:16px 18px}.imtp-lp-header h2{color:#0f2f5f;font-size:1.35rem;margin:0}.imtp-lp-header p{color:#486080;font-size:.95rem;margin:6px 0 0}.imtp-lp-grid{grid-gap:14px;align-items:flex-start;display:grid;gap:14px;grid-template-columns:1fr 1.6fr}.imtp-lp-panel{background:#fff;border:1px solid #dce5f3;border-radius:12px;min-height:420px;padding:14px}.imtp-lp-panel-title{color:#163865;font-size:1rem;font-weight:700;margin-bottom:12px}.imtp-lp-empty,.imtp-lp-loading{background:#f8fafc;border:1px dashed #cad6ea;border-radius:10px;color:#52617a;font-size:.93rem;padding:18px}.imtp-lp-course-list{display:flex;flex-direction:column;gap:8px}.imtp-lp-course-item{align-items:center;background:#f9fbff;border:1px solid #d9e5f6;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:background .15s,border-color .15s;width:100%}.imtp-lp-course-item:hover{background:#f0f6ff;border-color:#b9d2fb}.imtp-lp-course-item.active{background:#e8f1ff;border-color:#8db2ee}.imtp-lp-course-num{align-items:center;background:#e6eefc;border-radius:50%;color:#24497f;display:inline-flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.imtp-lp-course-meta{display:flex;flex-direction:column;min-width:0}.imtp-lp-course-name{color:#183a6c;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imtp-lp-course-code{color:#5f7393;font-size:.82rem;margin-top:2px}.imtp-lp-journal{display:flex;flex-direction:column;gap:18px}.imtp-lp-day-block{border:1px solid #dce8fb;border-radius:10px;overflow:hidden}.imtp-lp-day-header{align-items:center;background:linear-gradient(90deg,#1a3d7c,#2358b5);display:flex;padding:7px 14px}.imtp-lp-day-label{color:#fff;font-size:.88rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.imtp-lp-topic-row{background:#fff;border-top:1px solid #eaf0fb;display:flex;gap:0}.imtp-lp-topic-row:first-of-type{border-top:none}.imtp-lp-time-col{align-items:flex-start;background:#f7faff;border-right:1px solid #eaf0fb;display:flex;flex-shrink:0;min-width:130px;padding:12px 10px 10px 14px;width:130px}.imtp-lp-time-badge{align-items:center;background:#e6eefc;border-radius:7px;color:#1a3d7c;display:flex;flex-direction:column;font-size:.75rem;font-weight:700;line-height:1.4;padding:4px 8px;text-align:center;white-space:nowrap;width:100%}.imtp-lp-time-sep{color:#6b8ab5;font-size:.7rem;font-weight:400}.imtp-lp-time-blank{color:#b0bec5;font-size:.85rem;margin:auto}.imtp-lp-content-col{flex:1 1;min-width:0;padding:10px 14px}.imtp-lp-topic-name{align-items:baseline;color:#163865;display:flex;font-size:.92rem;font-weight:700;gap:5px;margin-bottom:6px}.imtp-lp-topic-index{color:#8aaad4;flex-shrink:0;font-size:.82rem;font-weight:600}.imtp-lp-lo-list{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:0}.imtp-lp-lo-item{align-items:baseline;border-top:1px dashed #e9eff7;color:#374151;display:flex;font-size:.84rem;gap:6px;padding:3px 0}.imtp-lp-lo-index{color:#5a7fad;flex-shrink:0;font-size:.78rem;font-weight:700;min-width:28px}.imtp-lp-lo-name{flex:1 1;line-height:1.4}.imtp-lp-mode-badge{border-radius:20px;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.2px;padding:2px 9px;white-space:nowrap}.imtp-lp-mode-sync{background:#dcfce7;color:#16a34a}.imtp-lp-mode-async{background:#fef3c7;color:#b45309}@media (max-width:700px){.imtp-lp-grid{grid-template-columns:1fr}.imtp-lp-time-col{min-width:110px;width:110px}}.ieg-page{background:#f4f6fb;display:flex;flex-direction:column;min-height:100vh;padding:0}.ieg-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000f;display:flex;gap:1.2rem;padding:1rem 1.5rem}.ieg-back-btn{background:none;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;font-size:.85rem;padding:.4rem .9rem;transition:background .15s,color .15s;white-space:nowrap}.ieg-back-btn:hover{background:#f1f5f9;color:#1e293b}.ieg-header-info{flex:1 1}.ieg-title{color:#1e293b;font-size:1.15rem;font-weight:700;margin:0 0 .15rem}.ieg-subtitle{color:#64748b;font-size:.83rem;margin:0}.ieg-trainee-tag{background:#f0f9ff;border:1px solid #bae6fd;border-radius:5px;color:#475569;display:inline-block;font-size:.82rem;margin:.2rem 0 0;padding:2px 10px}.ieg-content{flex:1 1;padding:1.5rem 0}.ieg-empty,.ieg-loading{color:#94a3b8;font-size:.92rem;padding:3rem 1rem;text-align:center}.ieg-table-wrapper{background:#fff;border-radius:10px;box-shadow:0 1px 6px #00000012;overflow-x:auto}.ieg-table{border-collapse:collapse;font-size:.88rem;width:100%}.ieg-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.7rem 1rem;text-align:left;white-space:nowrap}.ieg-table tbody tr{border-bottom:1px solid #f1f5f9}.ieg-table tbody tr:last-child{border-bottom:none}.ieg-table tbody td{color:#334155;padding:.7rem 1rem;vertical-align:middle}.ieg-td-num{color:#94a3b8;width:36px}.ieg-td-code{font-family:monospace;font-size:.82rem;white-space:nowrap}.ieg-td-title{min-width:180px}.ieg-ex-title{color:#1e293b;font-weight:600}.ieg-ex-desc{color:#64748b;font-size:.8rem;margin-top:2px}.ieg-no-rubric-badge{background:#f1f5f9;border-radius:4px;color:#94a3b8;font-size:.78rem;padding:2px 6px}.ieg-status-badge{border-radius:20px;display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px}.ieg-status-badge.graded{background:#dcfce7;color:#16a34a}.ieg-status-badge.pending{background:#fef9c3;color:#a16207}.ieg-status-badge.not-graded{background:#fee2e2;color:#dc2626}.ieg-badge-graded{background:#dbeafe;border-radius:20px;color:#1d4ed8;display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px}.ieg-grade-btn{background:#000069;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;padding:.38rem .85rem;transition:background .15s;white-space:nowrap}.ieg-grade-btn:hover{background:#00004d}.ieg-grade-btn.re-grade{background:#1a1a8c}.ieg-grade-btn.re-grade:hover{background:#000069}.ieg-grade-btn:disabled{cursor:not-allowed;opacity:.6}.ieg-file-btn,.ieg-td-file{white-space:nowrap}.ieg-file-btn{align-items:center;background:#e8eaf6;border:1px solid #9fa8da;border-radius:5px;color:#000069;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:5px;padding:.22rem .65rem;text-decoration:none;transition:background .15s,border-color .15s}.ieg-file-btn:hover{background:#c5cae9;border-color:#7986cb}.ieg-file-icon{flex-shrink:0;height:14px;width:14px}.ieg-no-file{color:#cbd5e1;font-size:.82rem}.ieg-modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1200}.ieg-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:860px;overflow:hidden;position:relative;width:100%}.ieg-modal-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.4rem .8rem}.ieg-modal-title{color:#1e293b;font-size:1.05rem;font-weight:700}.ieg-modal-subtitle{color:#64748b;font-size:.82rem;margin-top:2px}.ieg-modal-desc{color:#475569;font-size:.84rem;margin-top:4px}.ieg-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.4rem;line-height:1;padding:0 4px}.ieg-modal-close:hover{color:#334155}.ieg-modal-body{flex:1 1;overflow-y:auto;padding:1.1rem 1.4rem 1.4rem}.ieg-no-rubric{color:#94a3b8;font-size:.92rem;padding:2rem;text-align:center}.ieg-rubric-name{color:#1d4ed8;font-size:.9rem;font-weight:700;letter-spacing:.03em;margin-bottom:.8rem;text-transform:uppercase}.ieg-score-progress{align-items:center;display:flex;gap:.75rem;margin-bottom:.85rem}.ieg-progress-txt{color:#64748b;font-size:.8rem;min-width:150px;white-space:nowrap}.ieg-progress-txt.done{color:#16a34a;font-weight:600}.ieg-progress-bar-wrap{background:#e2e8f0;border-radius:10px;flex:1 1;height:7px;overflow:hidden}.ieg-progress-bar-fill{background:#1d4ed8;border-radius:10px;height:100%;transition:width .3s ease}.ieg-section-row td.ieg-section-name{background:#1e3a5f;border:1px solid #1e3a5f;color:#e2e8f0;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.45rem .75rem;text-transform:uppercase}.ieg-rubric-scroll{overflow-x:auto}.ieg-rubric-table{border-collapse:collapse;font-size:.83rem;min-width:560px;width:100%}.ieg-rubric-table thead th{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.55rem .75rem;text-align:center}.ieg-criteria-col{min-width:160px;text-align:left!important}.ieg-level-col{min-width:130px}.ieg-score-col{min-width:70px;text-align:center!important}.ieg-level-name{color:#1e293b;font-weight:700}.ieg-level-range{color:#64748b;font-size:.76rem;margin-top:2px}.ieg-criteria-cell{background:#f8fafc;border:1px solid #e2e8f0;padding:.6rem .75rem;vertical-align:top}.ieg-criteria-name{color:#1e293b;font-weight:600}.ieg-criteria-desc{color:#64748b;font-size:.78rem;margin-top:2px}.ieg-criteria-max{color:#94a3b8;font-size:.75rem;margin-top:4px}.ieg-desc-cell{border:1px solid #e2e8f0;cursor:pointer;padding:.6rem .75rem;text-align:center;transition:background .12s;vertical-align:top}.ieg-desc-cell:hover{background:#eff6ff}.ieg-desc-cell.selected{background:#dbeafe;border-color:#93c5fd}.ieg-desc-text{color:#334155;font-size:.82rem;line-height:1.4}.ieg-desc-pts{color:#1d4ed8;font-size:.8rem;font-weight:700;margin-top:4px}.ieg-desc-empty{color:#cbd5e1}.ieg-score-cell{background:#f8fafc;border:1px solid #e2e8f0;text-align:center;vertical-align:middle}.ieg-score-val{color:#1d4ed8;font-size:.9rem;font-weight:700}.ieg-score-empty{color:#cbd5e1}.ieg-rubric-table tfoot td{background:#f0f9ff;border:1px solid #e2e8f0;font-weight:600;padding:.5rem .75rem}.ieg-rating-label,.ieg-total-label{color:#475569;text-align:right}.ieg-total-val{color:#1d4ed8;font-size:.9rem;text-align:center}.ieg-pct{color:#64748b;font-size:.8rem}.ieg-rating-val{color:#16a34a;text-align:center}.ieg-remarks-row{margin-top:1rem}.ieg-remarks-label{color:#475569;display:block;font-size:.83rem;font-weight:600;margin-bottom:.3rem}.ieg-remarks-input{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#334155;font-size:.85rem;padding:.5rem .75rem;resize:vertical;width:100%}.ieg-remarks-input:focus{border-color:#93c5fd;outline:none}.ieg-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;font-size:.84rem;margin-top:.6rem;padding:.5rem .75rem}.ieg-modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.ieg-btn-cancel{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:7px;color:#475569;cursor:pointer;font-size:.87rem;padding:.45rem 1.1rem;transition:background .15s}.ieg-btn-cancel:hover{background:#e2e8f0}.ieg-btn-submit{background:#1d4ed8;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.87rem;font-weight:600;padding:.45rem 1.2rem;transition:background .15s}.ieg-btn-submit:hover{background:#1e40af}.ieg-btn-submit:disabled{cursor:not-allowed;opacity:.6}.ieg-confirm-overlay{align-items:center;background:#0f172a80;border-radius:12px;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.ieg-confirm-box{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;margin:1rem;max-width:420px;padding:1.6rem 1.8rem;width:100%}.ieg-confirm-title{color:#1e293b;font-size:1rem;font-weight:700;margin-bottom:.6rem}.ieg-confirm-msg{color:#475569;font-size:.88rem;line-height:1.6;margin-bottom:1.2rem}.ieg-confirm-actions{display:flex;gap:.6rem;justify-content:flex-end}.imtp-section-title.practical{color:#7c3aed}.imtp-section-count.practical{background:#ede9fe;color:#7c3aed}.imtp-view-participants-btn.practical{background:#7c3aed;color:#fff;font-size:.8rem;white-space:nowrap}.imtp-view-participants-btn.practical:hover{background:#6d28d9}.imtp-view-participants-btn.practical.all-graded{background:#059669;color:#fff}.imtp-view-participants-btn.practical.all-graded:hover{background:#047857}.imtp-tbl-date-sub{color:#94a3b8;font-size:.78rem}.ieg-pdf-overlay{align-items:center;background:#0f172aa6;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1300}.ieg-pdf-modal{background:#1e293b;border-radius:12px;box-shadow:0 24px 64px #00000073;display:flex;flex-direction:column;height:90vh;max-width:860px;overflow:hidden;width:100%}.ieg-pdf-header{align-items:center;background:#0f172a;border-bottom:1px solid #334155;display:flex;flex-shrink:0;gap:.6rem;padding:.75rem 1.1rem}.ieg-pdf-icon{color:#818cf8;flex-shrink:0;height:16px;width:16px}.ieg-pdf-title{color:#e2e8f0;flex:1 1;font-size:.88rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ieg-pdf-badge{background:#7c3aed;border-radius:4px;color:#fff;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.ieg-pdf-close{background:none;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.5rem;line-height:1;padding:0 4px;transition:color .15s}.ieg-pdf-close:hover{color:#fff}.ieg-pdf-body{flex:1 1;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.ieg-pdf-frame-wrap{inset:0;position:absolute}.ieg-pdf-toolbar-shield{cursor:default;height:52px;left:0;position:absolute;right:0;top:0;z-index:2}.ieg-pdf-frame{border:none;display:block;height:100%;width:100%}.ieg-checklist-wrap{margin-bottom:.25rem;overflow-x:auto}.ieg-checklist-table{border-collapse:collapse;font-size:.86rem;min-width:420px;width:100%}.ieg-checklist-table thead th{background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.55rem 1rem;text-align:center}.ieg-cl-th-criteria{min-width:200px;text-align:left!important}.ieg-cl-th-check{min-width:110px}.ieg-cl-row{border-bottom:1px solid #f1f5f9;transition:background .12s}.ieg-cl-row:hover{background:#f8fafc}.ieg-cl-row.has-sel{background:#fafffe}.ieg-cl-criteria-cell{background:#f8fafc;padding:.55rem .85rem}.ieg-cl-check-cell,.ieg-cl-criteria-cell{border:1px solid #e2e8f0;vertical-align:middle}.ieg-cl-check-cell{cursor:pointer;padding:.4rem;text-align:center}.ieg-cl-check-cell:hover{background:#f1f5f9}.ieg-cl-label{align-items:center;border:2px solid #0000;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;justify-content:center;padding:.35rem .7rem;transition:background .12s,border-color .12s;-webkit-user-select:none;user-select:none;width:100%}.ieg-cl-label input[type=radio]{display:none}.ieg-cl-label.done-opt{background:#f0fdf4;color:#15803d}.ieg-cl-label.done-opt:hover{background:#dcfce7;border-color:#86efac}.ieg-cl-label.done-opt.active{background:#22c55e;border-color:#16a34a;color:#fff}.ieg-cl-label.not-done-opt{background:#fff1f2;color:#b91c1c}.ieg-cl-label.not-done-opt:hover{background:#ffe4e6;border-color:#fca5a5}.ieg-cl-label.not-done-opt.active{background:#ef4444;border-color:#dc2626;color:#fff}.ieg-cl-icon{font-size:1rem;font-weight:700}.ieg-checklist-table tfoot td{background:#f8fafc;border:1px solid #e2e8f0;font-size:.83rem;font-weight:700;padding:.45rem .85rem;text-align:center}.ieg-cl-summary-label{color:#475569;text-align:left!important}.ieg-cl-summary-done{color:#16a34a}.ieg-cl-summary-not{color:#dc2626}.ieg-status-badge.done{background:#dcfce7;color:#16a34a}.ieg-status-badge.not-done{background:#fff7ed;color:#c2410c}.print-cap-wrapper{background:#f5f5f5;min-height:100vh;padding:20px}.print-cap-controls{display:flex;gap:12px;justify-content:flex-end;margin:0 auto 20px;max-width:8.5in}.print-cap-controls .btn-close,.print-cap-controls .btn-print{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.print-cap-controls .btn-print{background:#000069;color:#fff}.print-cap-controls .btn-print:hover{background:#000050}.print-cap-controls .btn-close{background:#6c757d;color:#fff}.print-cap-controls .btn-close:hover{background:#5a6268}.print-cap-error,.print-cap-loading{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:100px auto;max-width:8.5in;padding:40px;text-align:center}.print-cap-container{background:#fff;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;margin:0 auto;min-height:297mm;padding:.5in;position:relative;width:210mm}.cap-content{margin-left:0}.cap-header{border-bottom:2px solid #000;margin-bottom:16px;padding-bottom:8px;text-align:left}.cap-header h1{color:#555;font-size:16px;letter-spacing:.5px;margin:0 0 4px}.cap-header h1,.cap-header h2{font-weight:700;text-transform:uppercase}.cap-header h2{color:#333;font-size:18px;letter-spacing:1px;margin:0}.cap-info-section{display:flex;justify-content:space-between;margin-bottom:20px}.cap-instructor-note{border:2px solid #000;flex:1 1;max-width:300px;padding:8px 12px}.cap-instructor-note p{color:#333;font-size:11px;line-height:1.4;margin:0}.cap-instructor-note strong{font-weight:700}.cap-enrollment-info{align-items:flex-end;display:flex;flex:1 1;flex-direction:column;gap:4px}.info-row{align-items:baseline;display:flex;gap:12px}.info-label{color:#333;font-size:12px;font-weight:600}.info-value{border-bottom:1px solid #000;color:#000;font-size:12px;min-width:180px;padding-bottom:2px;text-align:left}.cap-trainee-info{border-bottom:2px solid #000;margin-bottom:16px;padding-bottom:12px}.trainee-name{color:#000;font-size:16px;font-weight:700;margin:0 0 8px}.trainee-details{display:flex;flex-direction:column;gap:2px}.detail-item{color:#333;font-size:11px}.detail-item span:first-child{font-weight:600}.cap-courses-table{margin-bottom:16px}.cap-courses-table table{border:1px solid #000;border-collapse:collapse;width:100%}.cap-courses-table th{background:#f0f0f0;color:#333;font-weight:700}.cap-courses-table td,.cap-courses-table th{border:1px solid #000;font-size:11px;padding:6px 8px;text-align:center}.cap-courses-table td{color:#000}.cap-courses-table td:first-child{text-align:left}.cap-course-name{font-size:11px;font-weight:700}.cap-course-subname{color:#555;font-size:10px;margin-top:2px}.cap-category-tag{background:#fef3c7;border:1px solid #fde68a;border-radius:3px;color:#92400e;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.03em;margin-top:3px;padding:1px 5px;text-transform:uppercase}.cap-date-main{font-size:11px}.cap-date-sub{color:#555;font-size:9px;margin-top:2px}.cap-person-name{font-size:11px}.cap-person-sub{color:#555;font-size:9px;margin-top:2px}.cap-venue-name{font-size:11px;text-align:left}.cap-venue-sub{color:#555;font-size:9px;margin-top:2px}.cap-courses-table td:last-child,.cap-venue-sub{text-align:left}.cap-reminders{border:1px solid #000;margin-bottom:16px;padding:12px}.cap-reminders h4{color:#000;font-size:12px;font-weight:700;margin:0 0 8px}.cap-reminders ol{margin:0;padding-left:20px}.cap-reminders li{color:#333;font-size:10px;line-height:1.5;margin-bottom:4px}.cap-footer{align-items:flex-end;border-top:1px solid #ddd;color:#333;display:flex;font-size:10px;justify-content:space-between;padding-top:8px}.cap-footer p{margin:2px 0}.cap-footer strong{font-weight:700}.print-timestamp-footer{border-top:1px solid #ddd;margin-top:20px;padding-top:12px;text-align:center}.print-timestamp-footer p{color:#666;font-size:9px;font-style:italic;margin:0}@media print{.no-print{display:none!important}.print-cap-wrapper{background:#fff;padding:0}.print-cap-container{box-shadow:none;margin:0;min-height:297mm;page-break-after:avoid;width:210mm}body{margin:0;padding:0}@page{size:A4 portrait;margin:0}}.ps-root{background:#f4f6fa;display:flex;flex-direction:column;font-family:Segoe UI,system-ui,-apple-system,sans-serif;min-height:100vh}.ps-nav{background:#000069;box-shadow:0 2px 8px #0000002e;height:60px;justify-content:space-between;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.ps-nav,.ps-nav-brand{align-items:center;display:flex}.ps-nav-brand{gap:.75rem}.ps-nav-logo{height:34px;object-fit:contain;width:34px}.ps-nav-title{color:#f2d919;font-size:1.25rem;font-weight:800;letter-spacing:2px}.ps-nav-actions{align-items:center;display:flex;gap:.6rem}.ps-nav-btn-outline{background:#0000;border:1.5px solid #ffffff80;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;padding:6px 16px;transition:border-color .2s,background .2s}.ps-nav-btn-outline:hover{background:#ffffff14;border-color:#fff}.ps-nav-btn-primary{background:#f2d919;border:none;border-radius:6px;color:#000069;cursor:pointer;font-size:.88rem;font-weight:700;padding:6px 18px;transition:opacity .2s}.ps-nav-btn-primary:hover{opacity:.88}.ps-hero{background:linear-gradient(135deg,#000069 60%,#0a0a9e);color:#fff;padding:3rem 2rem 2.5rem}.ps-hero-inner{margin:0 auto;max-width:860px}.ps-hero-eyebrow{color:#f2d919;font-size:.82rem;font-weight:600;letter-spacing:1.5px;margin:0 0 .4rem}.ps-hero-title{font-size:2rem;font-weight:800;letter-spacing:.5px;margin:0 0 .6rem}.ps-hero-sub{font-size:1rem;line-height:1.6;margin:0;opacity:.88}.ps-hero-link{color:#f2d919;cursor:pointer;font-weight:600;text-decoration:underline}.ps-hero-link:hover{opacity:.85}.ps-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem 1.5rem 3rem;width:100%}.ps-filters{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1.2rem 1.4rem}.ps-filter-field{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:180px}.ps-filter-field label{color:#475569;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ps-filter-field input,.ps-filter-field select{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:7px;color:#1e293b;font-size:.9rem;outline:none;padding:8px 12px;transition:border-color .2s}.ps-filter-field input:focus,.ps-filter-field select:focus{background:#fff;border-color:#000069}.ps-filter-clear{align-self:flex-end;background:#fee2e2;border:1px solid #fca5a5;border-radius:7px;color:#991b1b;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px;transition:background .2s;white-space:nowrap}.ps-filter-clear:hover{background:#fecaca}.ps-empty-state{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:.8rem;padding:4rem 2rem;text-align:center}.ps-empty-state p{color:#64748b;font-size:1rem;font-weight:600;margin:0}.ps-empty-state span{font-size:.88rem}.ps-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:1rem;padding:3rem}.ps-spinner{animation:ps-spin .75s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#000069;height:36px;width:36px}@keyframes ps-spin{to{transform:rotate(1turn)}}.ps-result-count{color:#64748b;font-size:.88rem;margin-bottom:.75rem}.ps-table-wrap{border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 6px #00000014;overflow-x:auto}.ps-table{background:#fff;border-collapse:collapse;font-size:.9rem;width:100%}.ps-table thead tr{background:#000069;color:#fff}.ps-table th{font-size:.78rem;font-weight:700;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.ps-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.ps-table tbody tr:hover{background:#f8faff}.ps-table tbody tr:last-child{border-bottom:none}.ps-table td{color:#1e293b;padding:11px 14px;vertical-align:middle}.ps-code-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;color:#1d4ed8;font-size:.8rem;font-weight:700;padding:2px 9px;white-space:nowrap}.ps-course-cell{display:flex;flex-direction:column;gap:2px}.ps-table td.ps-course-cell{display:table-cell}.ps-table td.ps-course-cell strong{display:block}.ps-course-sub{color:#6b7280;font-size:.8rem}.ps-mode-badge{border-radius:999px;font-size:.75rem;font-weight:700;padding:3px 10px;white-space:nowrap}.ps-mode-badge.f2f{background:#dbeafe;color:#1d4ed8}.ps-mode-badge.blended{background:#dcfce7;color:#15803d}.ps-date-cell,.ps-reserve-btn{white-space:nowrap}.ps-reserve-btn{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 18px;transition:background .2s}.ps-reserve-btn:hover{background:#15803d}.ps-reserve-btn.ps-reserved{color:#fff;cursor:default;opacity:1}.ps-reserve-btn.ps-reserved,.ps-reserve-btn.ps-reserved:hover{background:#94a3b8!important}.ps-cta-banner{align-items:center;background:linear-gradient(135deg,#000069,#0a0a9e);border-radius:12px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-top:2rem;padding:1.5rem 2rem}.ps-cta-text{color:#fff;display:flex;flex-direction:column;gap:4px}.ps-cta-text strong{font-size:1.05rem}.ps-cta-text span{font-size:.88rem;opacity:.85}.ps-cta-btn{background:#f2d919;border:none;border-radius:8px;color:#000069;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:800;padding:10px 28px;transition:opacity .2s;white-space:nowrap}.ps-cta-btn:hover{opacity:.88}.ps-footer{background:#000069;color:#ffffffa6;font-size:.82rem;padding:1rem 2rem;text-align:center}.ps-footer-link{background:none;border:none;color:#f2d919;cursor:pointer;font-size:.82rem;padding:0;text-decoration:underline}.ps-footer-link:hover{opacity:.8}.ps-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00002899;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.ps-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000324d;display:flex;flex-direction:column;max-height:88vh;max-width:620px;overflow:hidden;width:100%}.ps-modal-header{align-items:center;background:#000069;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;gap:.7rem;padding:1rem 1.5rem}.ps-modal-body{color:#1e293b;font-size:.88rem;line-height:1.65;overflow-y:auto;padding:1.4rem 1.5rem}.ps-modal-section{color:#000069;font-size:.9rem;font-weight:700;margin:1rem 0 .4rem}.ps-modal-section:first-child{margin-top:0}.ps-modal-body ul{margin:0 0 .5rem 1.2rem;padding:0}.ps-modal-body ul li{margin-bottom:4px}.ps-required{color:#dc2626;font-weight:700}.ps-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.ps-modal-cancel{background:#fff;border:1.5px solid #cbd5e1;border-radius:7px;color:#64748b;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 20px;transition:background .2s}.ps-modal-cancel:hover{background:#f1f5f9}.ps-modal-proceed{background:#000069;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:8px 22px;transition:opacity .2s}.ps-modal-proceed:hover{opacity:.88}@media (max-width:640px){.ps-hero-title{font-size:1.45rem}.ps-nav{padding:0 1rem}.ps-content{padding:1.2rem 1rem 2rem}.ps-cta-banner{text-align:center}.ps-cta-banner,.ps-modal-footer{flex-direction:column}.ps-modal-cancel,.ps-modal-proceed{text-align:center;width:100%}.ps-nav-actions{gap:.4rem}.ps-nav-btn-outline,.ps-nav-btn-primary{font-size:.8rem;padding:5px 10px}}.session-modal-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.session-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:480px;overflow:hidden;width:90%}.session-modal-header{border-bottom:1px solid #e5e7eb;padding:24px;text-align:center}.session-modal-header.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom-color:#fbbf24}.session-modal-header.expired{background:linear-gradient(135deg,#fee2e2,#fecaca);border-bottom-color:#f87171}.session-modal-icon{display:block;height:64px;margin:0 auto 16px;width:64px}.session-modal-header.warning .session-modal-icon{color:#f59e0b}.session-modal-header.expired .session-modal-icon{color:#ef4444}.session-modal-header h2{color:#1f2937;font-size:24px;font-weight:600;margin:0}.session-modal-body{padding:32px 24px;text-align:center}.session-modal-message{color:#374151;font-size:16px;line-height:1.6;margin:0 0 24px}.session-modal-subtext{color:#6b7280;font-size:14px;line-height:1.5;margin:16px 0 0}.session-modal-countdown{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:8px;margin:24px 0;padding:24px}.countdown-display{align-items:center;color:#1f2937;display:flex;font-family:Courier New,monospace;font-size:48px;font-weight:700;gap:8px;justify-content:center}.countdown-number{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:inline-block;min-width:80px;padding:8px 16px}.countdown-separator{color:#6b7280}.countdown-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:1px;margin:12px 0 0;text-transform:uppercase}.session-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:center;padding:24px}.session-modal-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;min-width:140px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.session-modal-button.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #2563eb4d;color:#fff}.session-modal-button.primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb66;transform:translateY(-1px)}.session-modal-button.secondary{background:#fff;border:2px solid #d1d5db;color:#374151}.session-modal-button.secondary:hover{background:#f3f4f6;border-color:#9ca3af}.session-modal-button.full-width{min-width:auto;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.session-modal{max-width:95%}.session-modal-header h2{font-size:20px}.countdown-display{font-size:36px}.countdown-number{min-width:60px;padding:6px 12px}.session-modal-footer{flex-direction:column}.session-modal-button{width:100%}}