@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display&display=swap";:root{--theme-name:"Skillstride Academy";--theme-mode:"light";--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--color-primary:#1a3654;--color-primary-light:#eaf0f5;--color-primary-dark:#12263c;--color-secondary:#ffdbb8;--color-accent:#206582;--color-background:#fdfdfd;--color-surface:#fff;--text-primary:#1a3654;--text-secondary:#206582;--text-muted:#64748b;--text-white:#fdfdfd;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-border:#e2e8f0;--progress-completed:#10b981;--progress-inprogress:#206582;--progress-pending:#cbd5e1;--progress-missed:#ef4444;--font-family:"DM Sans", sans-serif;--font-heading:"DM Serif Display", serif;--font-size-h1:40px;--font-weight-h1:400;--font-size-h2:32px;--font-weight-h2:400;--font-size-h3:24px;--font-weight-h3:400;--font-size-h4:20px;--font-weight-h4:400;--font-size-body:16px;--font-weight-body:400;--font-size-caption:14px;--font-weight-caption:400;--btn-height:48px;--btn-radius:12px;--card-bg:#fff;--card-radius:20px;--card-padding:24px;--card-shadow:0 4px 20px #0000000f;--card-hover-shadow:0 12px 40px #00000014;--layout-max-width:1440px;--layout-container-padding:32px;--layout-header-height:80px;--layout-footer-height:280px;--layout-sidebar-width:280px;--level-operational-color:#206582;--level-operational-bg:#e8f4f8;--level-management-color:#1a3654;--level-management-bg:#eaf0f5;--level-strategic-color:#dc2626;--level-strategic-bg:#fee2e2;--ring-size:180px;--ring-stroke-width:12px;--ring-color-complete:#10b981;--ring-color-partial:#206582;--ring-color-empty:#e2e8f0;--planner-completed-bg:#dcfce7;--planner-completed-text:#166534;--planner-pending-bg:#eaf0f5;--planner-pending-text:#1a3654;--planner-missed-bg:#fee2e2;--planner-missed-text:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary)}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1);margin-bottom:var(--spacing-md)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2);margin-bottom:var(--spacing-sm)}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);margin-bottom:var(--spacing-sm)}h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-h4)}p{font-size:var(--font-size-body);font-weight:var(--font-weight-body);color:var(--text-secondary)}.caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);color:var(--text-muted)}.btn{height:var(--btn-height);border-radius:var(--btn-radius);padding:0 var(--spacing-lg);font-size:var(--font-size-body);cursor:pointer;border:none;justify-content:center;align-items:center;font-family:inherit;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--text-white)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-accent);color:var(--text-white)}.btn-secondary:hover{opacity:.9}.btn-outline{border:1px solid var(--color-border);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--color-surface)}.card{background:var(--card-bg);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);border:1px solid var(--color-border);transition:box-shadow .2s}.card:hover{box-shadow:var(--card-hover-shadow)}.container{max-width:var(--layout-max-width);padding:0 var(--layout-container-padding);margin:0 auto}.app-header{border-bottom:1px solid var(--color-border);z-index:100;background:#fff;align-items:center;height:80px;display:flex;position:fixed;top:0;left:0;right:0}.app-header-container{width:100%;max-width:var(--layout-max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.header-left{align-items:center;display:flex}.header-logo{display:block}.header-center{align-items:center;gap:var(--spacing-xs);display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.nav-link.active{color:var(--color-primary);background:var(--color-primary-light)}.nav-icon{width:18px;height:18px}.header-right{align-items:center;gap:var(--spacing-md);display:flex}.sub-badge{color:#166534;background:#dcfce7;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.sub-badge svg{width:14px;height:14px}.notification-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background .2s;display:flex;position:relative}.notification-btn:hover{background:var(--color-surface);color:var(--color-secondary)}.notification-badge{background:var(--color-danger);color:#fff;border:2px solid #fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.profile-btn{cursor:pointer;align-items:center;gap:var(--spacing-sm);background:0 0;border:1px solid #0000;border-radius:200px;padding:4px 12px 4px 4px;transition:background .2s;display:flex}.profile-btn:hover{background:var(--color-surface);border-color:var(--color-border)}.profile-img{object-fit:cover;border:2px solid var(--color-background);width:36px;height:36px;box-shadow:0 0 0 1px var(--color-border);border-radius:50%}.profile-name{color:var(--text-primary);font-size:14px;font-weight:600}.mobile-menu-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;padding:8px;display:none}@media (width<=1024px){.header-center{display:none}.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.sub-badge,.profile-name{display:none}.profile-btn{padding:4px}}.student-footer{border-top:1px solid var(--color-border);background:#fff;align-items:center;height:72px;display:flex}.student-footer-container{width:100%;max-width:var(--layout-max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.footer-copyright{color:var(--text-secondary);font-size:14px}.footer-links{align-items:center;gap:var(--spacing-lg);display:flex}.footer-link{color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--color-primary)}@media (width<=640px){.student-footer{height:auto;padding:var(--spacing-md) 0}.student-footer-container{gap:var(--spacing-md);text-align:center;flex-direction:column}.footer-links{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}}.login-page{width:100%;min-height:100vh;display:flex}.login-left{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);color:var(--text-white);flex-direction:column;flex:1;justify-content:space-between;padding:64px;display:flex}.login-logo{margin-bottom:30px}.login-logo img{filter:brightness(0)invert()}.login-left-content{max-width:520px}.login-headline{margin-bottom:var(--spacing-md);color:var(--text-white);font-size:48px;font-weight:700;line-height:1.1}.login-subheadline{color:var(--color-primary-light);opacity:.9;margin-bottom:48px;font-size:18px;line-height:1.5}.login-features{gap:var(--spacing-lg);flex-direction:column;margin-bottom:64px;display:flex}.feature-item{align-items:center;gap:var(--spacing-md);display:flex}.feature-icon-wrapper{border-radius:var(--radius-sm);background:#ffffff1a;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.feature-title{font-size:16px;font-weight:500}.login-testimonial{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff1a;padding:32px}.testimonial-text{margin-bottom:16px;font-size:18px;font-style:italic;line-height:1.5;color:#fff!important}.testimonial-name{color:var(--color-primary-light);font-size:14px;font-weight:600}.login-right{background:var(--color-background);flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.login-form-container{width:100%;max-width:480px}.login-form-title{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:32px;font-weight:700}.login-form-title h1{margin:0;font-size:32px}.login-form-subtitle{color:var(--text-secondary);margin-bottom:48px;font-size:16px}.form-group{margin-bottom:var(--spacing-lg)}.form-label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input-wrapper{position:relative}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:48px;padding:0 16px;font-family:inherit;font-size:15px;transition:all .2s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-secondary)}.form-options{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.remember-me{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.forgot-password{color:var(--color-primary);font-size:14px;font-weight:500;text-decoration:none}.forgot-password:hover{text-decoration:underline}.login-btn{width:100%;margin-bottom:32px}.login-footer{text-align:center;color:var(--text-secondary);font-size:14px}.login-footer a{color:var(--color-primary);margin-left:6px;font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}@media (width<=1024px){.login-left{display:none}}.mobile-only-logo{margin-bottom:24px;display:none}@media (width<=1024px){.mobile-only-logo{display:block}}.register-form-container{width:100%;max-width:480px}.step-indicator{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex;position:relative}.step-indicator:before{content:"";background:var(--color-border);z-index:1;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.step-progress-line{background:var(--color-primary);z-index:2;height:2px;transition:width .3s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.step-dot{background:var(--color-background);border:2px solid var(--color-border);width:32px;height:32px;color:var(--text-muted);z-index:3;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .3s;display:flex;position:relative}.step-dot.active{border-color:var(--color-primary);color:var(--color-primary)}.step-dot.completed{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-white)}.register-form-title{color:var(--text-primary);margin-bottom:var(--spacing-xl);font-size:28px;font-weight:700}.form-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);width:100%;height:48px;color:var(--text-primary);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding:0 16px;font-family:inherit;font-size:15px;transition:all .2s}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.password-strength{margin-top:8px}.strength-bars{gap:4px;margin-bottom:4px;display:flex}.strength-bar{background:var(--color-border);border-radius:2px;flex:1;height:4px;transition:background .3s}.strength-bar.weak{background:var(--color-danger)}.strength-bar.fair{background:var(--color-warning)}.strength-bar.good,.strength-bar.strong{background:var(--color-success)}.strength-text{color:var(--text-secondary);font-size:12px;font-weight:500}.checkbox-wrapper{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.checkbox-wrapper input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin-top:4px}.checkbox-wrapper label{color:var(--text-secondary);cursor:pointer;font-size:15px;line-height:1.5}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);display:flex}.form-actions .btn{flex:1}.success-container{text-align:center;padding:40px 0}.success-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:28px;font-weight:700}.success-description{color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-size:16px;line-height:1.5}.success-actions{gap:var(--spacing-md);flex-direction:column;display:flex}.back-to-login{text-align:center;margin-top:var(--spacing-xl);color:var(--text-secondary);font-size:14px}.back-to-login a{color:var(--color-primary);margin-left:4px;font-weight:600;text-decoration:none}.back-to-login a:hover{text-decoration:underline}.otp-input-container{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);justify-content:center;display:flex}.otp-input-box{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;width:48px;height:56px;color:var(--text-primary);background:var(--color-background);font-family:inherit;font-size:24px;font-weight:600;transition:all .2s}.otp-input-box:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.otp-input-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-input-box::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-input-box[type=number]{-moz-appearance:textfield}.resend-container{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-size:14px}.resend-btn{color:var(--color-primary);cursor:pointer;font-family:inherit;font-weight:600;font-size:inherit;background:0 0;border:none;margin-left:6px;padding:0}.resend-btn:hover:not(:disabled){text-decoration:underline}.resend-btn:disabled{color:var(--text-muted);cursor:not-allowed}.otp-center-form{flex-direction:column;align-items:center;display:flex}.login-form-subtitle.center{text-align:center}.welcome-hero{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);border-radius:var(--card-radius);color:var(--text-white);justify-content:space-between;align-items:center;padding:40px;display:flex;box-shadow:0 10px 30px #4f46e533}.welcome-content{flex:1}.welcome-title{margin-bottom:8px;font-size:32px;font-weight:700;color:#fff!important}.welcome-subtitle{color:var(--color-primary-light);opacity:.9;margin-bottom:24px;font-size:16px}.welcome-stats{gap:32px;margin-bottom:32px;display:flex}.stat-item{flex-direction:column;display:flex}.stat-label{color:var(--color-primary-light);opacity:.8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:13px;font-weight:600}.stat-value{font-size:24px;font-weight:700}.welcome-actions{gap:16px;display:flex}.btn-white{color:var(--color-primary-dark);background:#fff}.btn-white:hover{background:var(--color-surface)}.welcome-countdown{-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-width:220px;padding:28px 36px;display:flex;transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.countdown-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:600}.countdown-value{text-shadow:0 2px 10px #0000001a;justify-content:center;align-items:baseline;font-size:52px;font-weight:800;line-height:1;display:flex}.countdown-value span{opacity:.9;text-transform:uppercase;letter-spacing:.02em;margin-left:6px;font-size:18px;font-weight:600}@media (width<=768px){.welcome-hero{flex-direction:column;align-items:flex-start;gap:32px;padding:32px 24px}.welcome-stats{flex-wrap:wrap;gap:24px}.welcome-countdown{border-radius:var(--radius-md);width:100%}}.progress-ring-container{margin-bottom:var(--spacing-xl);flex-direction:column;align-items:center;display:flex}.circular-progress{width:180px;height:180px;position:relative}.circular-progress svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:var(--color-border);stroke-width:12px}.progress-circle-bar{fill:none;stroke:var(--color-success);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.progress-value{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-value-text{color:var(--text-primary);font-size:36px;font-weight:700;line-height:1}.progress-value-label{color:var(--text-secondary);margin-top:4px;font-size:13px;font-weight:500}.progress-breakdown{flex-direction:column;gap:16px;display:flex}.breakdown-item{justify-content:space-between;align-items:center;display:flex}.breakdown-label{color:var(--text-primary);align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}.status-dot{border-radius:50%;width:10px;height:10px}.status-dot.completed{background:var(--color-success)}.status-dot.in_progress{background:var(--color-primary)}.status-dot.pending{background:var(--color-border)}.breakdown-status{text-transform:capitalize;font-size:12px;font-weight:600}.breakdown-status.completed{color:var(--color-success)}.breakdown-status.in_progress{color:var(--color-primary)}.breakdown-status.pending{color:var(--text-muted)}.task-list{gap:var(--spacing-md);margin-top:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.task-item:hover{border-color:var(--color-primary-light);background:#fff;box-shadow:0 4px 12px #00000008}.task-meta svg{color:var(--text-muted)}.continue-learning-content{flex-direction:column;flex:1;display:flex}.course-thumbnail{background:var(--color-surface);border-radius:var(--radius-sm);width:100%;height:160px;margin-bottom:var(--spacing-md);border:1px solid var(--color-border);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.course-thumbnail-placeholder{background:linear-gradient(135deg, var(--color-primary-light), #e0e7ff);width:100%;height:100%;color:var(--color-primary);justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex}.play-overlay{width:48px;height:48px;color:var(--color-primary);cursor:pointer;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0000001a}.play-overlay:hover{transform:translate(-50%,-50%)scale(1.1)}.course-meta{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.course-subject{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.course-last-watched{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.course-chapter-title{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:18px;font-weight:700}.course-progress-bar{background:var(--color-border);width:100%;height:6px;margin-bottom:var(--spacing-sm);border-radius:3px;overflow:hidden}.course-progress-fill{background:var(--color-primary);border-radius:3px;height:100%}.course-progress-text{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:13px;font-weight:500}.continue-learning-content .btn{width:100%;margin-top:auto}.study-plan-summary-grid{gap:var(--spacing-md);margin-top:var(--spacing-sm);flex:1;grid-template-columns:repeat(4,1fr);display:grid}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:transform .2s;display:flex}.summary-card:hover{border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #00000008}.summary-card-value{color:var(--color-primary);margin-bottom:8px;font-size:36px;font-weight:700;line-height:1}.summary-card-label{color:var(--text-secondary);font-size:14px;font-weight:600}@media (width<=768px){.study-plan-summary-grid{grid-template-columns:repeat(2,1fr)}}.calendar-preview-content{flex-direction:column;flex:1;display:flex}.calendar-header{margin-bottom:var(--spacing-md);margin-top:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.calendar-month{color:var(--text-primary);font-weight:600}.calendar-nav{gap:8px;display:flex}.calendar-nav button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.calendar-nav button:hover{background:var(--color-surface);color:var(--color-primary)}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-header{color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.calendar-day{aspect-ratio:1;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex;position:relative}.calendar-day:hover:not(.empty){background:var(--color-surface);color:var(--color-primary)}.calendar-day.empty{cursor:default}.calendar-day.completed{background:var(--planner-completed-bg);color:var(--planner-completed-text);font-weight:600}.calendar-day.missed{background:var(--planner-missed-bg);color:var(--planner-missed-text);font-weight:600}.calendar-day.today{border:2px solid var(--color-primary);font-weight:700}.calendar-day.selected{background:var(--color-primary);color:#fff;font-weight:700;box-shadow:0 4px 12px #4f46e54d}.calendar-day.selected.completed,.calendar-day.selected.missed{background:var(--color-primary);color:#fff}.journey-pipeline{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);padding:0 var(--spacing-2xl);justify-content:space-between;align-items:center;display:flex;position:relative}.journey-pipeline:before{content:"";background:var(--color-border);z-index:1;height:4px;position:absolute;top:50%;left:64px;right:64px;transform:translateY(-50%)}.journey-step{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.journey-icon{background:var(--color-background);border:4px solid var(--color-border);width:64px;height:64px;margin-bottom:var(--spacing-md);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.journey-icon svg{color:var(--text-muted)}.journey-step.completed .journey-icon{border-color:var(--color-success);background:var(--color-success)}.journey-step.completed .journey-icon svg{color:#fff}.journey-step.active .journey-icon{border-color:var(--color-primary);box-shadow:0 0 0 8px var(--color-primary-light)}.journey-step.active .journey-icon svg{color:var(--color-primary)}.journey-name{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.journey-status{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:600}.journey-step.completed .journey-status{color:var(--color-success)}.journey-step.active .journey-status{color:var(--color-primary)}@media (width<=768px){.journey-pipeline{flex-direction:column;gap:48px;padding:0}.journey-pipeline:before{width:4px;height:auto;inset:0 auto 0 50%;transform:translate(-50%)}}.mock-list{gap:var(--spacing-md);margin-top:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.mock-item{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.mock-info{flex-direction:column;gap:4px;display:flex}.mock-name{color:var(--text-primary);font-size:15px;font-weight:600}.mock-date{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.mock-status-icon{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mock-item.scheduled .mock-status-icon{background:var(--color-primary-light);color:var(--color-primary)}.mock-item.locked{opacity:.7;background:0 0}.mock-item.locked .mock-status-icon{background:var(--color-surface);color:var(--text-muted)}.mock-feedback-table-wrapper{margin-top:var(--spacing-sm);flex:1;overflow-x:auto}.mock-feedback-table{border-collapse:collapse;width:100%}.mock-feedback-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;font-size:13px;font-weight:600}.mock-feedback-table td{border-bottom:1px solid var(--color-border);color:var(--text-primary);padding:16px;font-size:14px;font-weight:500}.mock-feedback-table tr:last-child td{border-bottom:none}.mock-result-badge{border-radius:100px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mock-result-badge.pass{background:var(--color-success);color:#fff}.mock-result-badge.fail{background:var(--color-danger);color:#fff}.report-link{color:var(--color-primary);align-items:center;gap:6px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.report-link:hover{opacity:.8;text-decoration:underline}.no-feedback{color:var(--text-muted);font-style:italic;font-weight:400}.planner-alert-banner{background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--card-radius);margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 4px 12px #4f46e51a}.planner-alert-content{align-items:center;gap:16px;display:flex}.planner-alert-icon{width:40px;height:40px;color:var(--color-primary);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.planner-alert-text h4{color:var(--color-primary-dark);margin-bottom:2px;font-size:15px;font-weight:700}.planner-alert-text p{color:var(--text-primary);opacity:.9;font-size:13px}.planner-alert-actions{gap:12px;display:flex}@media (width<=768px){.planner-alert-banner{flex-direction:column;align-items:stretch;gap:16px}.planner-alert-actions{width:100%}.planner-alert-actions button{flex:1}}.empty-dashboard{border-radius:var(--card-radius);text-align:center;border:1px dashed var(--color-border);background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:80px 32px;display:flex}.empty-illustration{background:var(--color-surface);width:240px;height:240px;margin-bottom:var(--spacing-xl);color:var(--color-primary-light);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:28px;font-weight:700}.empty-description{color:var(--text-secondary);max-width:480px;margin-bottom:var(--spacing-xl);font-size:16px;line-height:1.5}.dashboard-container{width:100%;max-width:var(--layout-max-width);padding:var(--spacing-xl) 32px;margin:0 auto;position:relative}.dashboard-header-actions{margin-bottom:var(--spacing-md);justify-content:flex-end;display:flex}.dashboard-grid{gap:var(--spacing-lg);grid-template-columns:repeat(12,1fr);display:grid}@media (width<=1024px){.span-8,.span-6,.span-4{grid-column:span 12}}.widget-card{background:var(--card-bg);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);border:1px solid var(--color-border);flex-direction:column;height:100%;display:flex}.widget-title{margin-bottom:var(--spacing-md);color:var(--text-primary);justify-content:space-between;align-items:center;font-size:18px;font-weight:700;display:flex}.planner-container{width:100%;max-width:1400px;padding:var(--spacing-xl) 32px;margin:0 auto;position:relative}.planner-page-header{margin-bottom:var(--spacing-2xl)}.planner-page-title{color:var(--text-primary);margin-bottom:8px;font-size:32px;font-weight:700}.planner-page-subtitle{color:var(--text-secondary);max-width:600px;font-size:16px}.planner-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl);grid-template-columns:repeat(12,1fr);display:grid}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}@media (width<=1024px){.span-8,.span-6,.span-4{grid-column:span 12}}.planner-widget{background:var(--card-bg);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);border:1px solid var(--color-border);flex-direction:column;display:flex}.planner-widget-title{margin-bottom:var(--spacing-lg);color:var(--text-primary);justify-content:space-between;align-items:center;font-size:18px;font-weight:700;display:flex}.empty-planner{border-radius:var(--card-radius);text-align:center;border:1px dashed var(--color-border);background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:100px 32px;display:flex}.empty-planner-illustration{background:var(--color-surface);width:200px;height:200px;margin-bottom:var(--spacing-xl);color:var(--color-primary-light);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-planner-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:28px;font-weight:700}.empty-planner-desc{color:var(--text-secondary);max-width:480px;margin-bottom:var(--spacing-xl);font-size:16px;line-height:1.5}.wizard-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;padding:var(--spacing-xl);background:#0f172ab3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-modal{border-radius:var(--card-radius);background:#fff;flex-direction:column;width:100%;max-width:600px;display:flex;overflow:hidden;box-shadow:0 24px 64px #0003}.wizard-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.wizard-title{color:var(--text-primary);font-size:20px;font-weight:700}.wizard-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.wizard-close:hover{background:var(--color-surface);color:var(--color-danger)}.wizard-body{padding:var(--spacing-xl);min-height:300px}.wizard-step-title{color:var(--text-primary);margin-bottom:var(--spacing-xl);text-align:center;font-size:24px;font-weight:700}.exam-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.exam-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);text-align:center;cursor:pointer;font-weight:600;transition:all .2s}.exam-card:hover{border-color:var(--color-primary-light);background:var(--color-surface)}.exam-card.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.hours-container{text-align:center;padding:var(--spacing-xl) 0}.hours-value{color:var(--color-primary);margin-bottom:var(--spacing-lg);font-size:48px;font-weight:800;line-height:1}.hours-value span{color:var(--text-secondary);font-size:16px;font-weight:500}.hours-slider{-webkit-appearance:none;background:var(--color-border);border-radius:4px;outline:none;width:100%;height:8px}.hours-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);cursor:pointer;border:4px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #0003}.date-picker-container{padding:var(--spacing-xl) 0;justify-content:center;display:flex}.date-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:16px 24px;font-family:inherit;font-size:18px}.date-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.summary-container{background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--spacing-xl);border:1px solid var(--color-border)}.summary-item{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:12px 0;display:flex}.summary-item:last-child{border-bottom:none}.summary-label{color:var(--text-secondary);font-weight:500}.summary-val{color:var(--text-primary);font-weight:700}.wizard-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;display:flex}.wizard-dots{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.dot{background:var(--color-border);border-radius:50%;width:8px;height:8px}.dot.active{background:var(--color-primary)}.plan-hero{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);padding:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-2xl);background:#fff;display:flex}.plan-hero-left{align-items:center;gap:var(--spacing-xl);flex:1;display:flex}.plan-hero-info{flex-direction:column;display:flex}.plan-hero-exam{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:14px;font-weight:700}.plan-hero-countdown{color:var(--text-primary);margin-bottom:4px;font-size:42px;font-weight:800;line-height:1}.plan-hero-countdown span{color:var(--text-secondary);text-transform:uppercase;margin-left:6px;font-size:16px;font-weight:600}.plan-hero-date{color:var(--text-secondary);align-items:center;gap:6px;margin-top:8px;font-size:14px;display:flex}.plan-hero-stats{gap:var(--spacing-lg);flex:2;grid-template-columns:repeat(4,1fr);display:grid}.plan-stat-card{background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--spacing-md);border:1px solid var(--color-border)}.plan-stat-val{color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:700}.plan-stat-label{color:var(--text-secondary);font-size:13px;font-weight:500}.plan-hero .progress-ring-container{margin-bottom:0}.plan-hero .circular-progress{width:140px;height:140px}.plan-hero .progress-value-text{font-size:28px}@media (width<=1024px){.plan-hero{flex-direction:column;align-items:flex-start}.plan-hero-stats{grid-template-columns:repeat(2,1fr);width:100%}}.study-timeline-wrapper{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);padding:0 var(--spacing-md)}.study-timeline-track{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.study-timeline-track:before{content:"";background:var(--color-border);z-index:1;height:4px;position:absolute;top:16px;left:0;right:0}.timeline-node{z-index:2;text-align:center;flex-direction:column;align-items:center;width:120px;display:flex;position:relative}.timeline-dot{background:var(--color-background);border:4px solid var(--color-border);width:36px;height:36px;margin-bottom:var(--spacing-sm);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.timeline-dot svg{color:var(--text-muted)}.timeline-node.completed .timeline-dot{border-color:var(--color-success);background:var(--color-success)}.timeline-node.completed .timeline-dot svg{color:#fff}.timeline-node.active .timeline-dot{border-color:var(--color-primary);box-shadow:0 0 0 6px var(--color-primary-light)}.timeline-node.active .timeline-dot svg{color:var(--color-primary)}.timeline-title{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.2}.timeline-duration{color:var(--text-muted);font-size:12px;font-weight:600}.timeline-node.completed .timeline-duration{color:var(--color-success)}.timeline-node.active .timeline-duration{color:var(--color-primary)}@media (width<=768px){.study-timeline-track{flex-direction:column;gap:32px;padding-left:16px}.study-timeline-track:before{width:4px;height:auto;top:0;bottom:0;left:34px}.timeline-node{text-align:left;flex-direction:row;align-items:flex-start;width:100%}.timeline-dot{flex-shrink:0;margin-bottom:0;margin-right:16px}.timeline-info{margin-top:6px}}.plan-summary-grid{gap:var(--spacing-md);margin-top:var(--spacing-sm);grid-template-columns:repeat(6,1fr);display:grid}.plan-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);flex-direction:column;justify-content:center;transition:transform .2s;display:flex}.plan-summary-card:hover{border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #00000008}.plan-summary-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:600}.plan-summary-value{color:var(--color-primary);font-size:28px;font-weight:700;line-height:1}@media (width<=1024px){.plan-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.plan-summary-grid{grid-template-columns:repeat(2,1fr)}}.daily-task-board{gap:var(--spacing-xl);flex-direction:column;display:flex}.task-date-group{gap:var(--spacing-md);flex-direction:column;display:flex}.task-date-header{color:var(--text-primary);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding-bottom:8px;font-size:14px;font-weight:700;display:flex}.task-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.task-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:all .2s;display:flex}.task-item:hover{border-color:var(--color-primary-light);background:#fff}.task-item.missed{background:#ef444405;border-color:#ef44444d}.task-item.missed .task-title{color:var(--color-danger)}.task-item.missed .task-meta{color:var(--color-danger);opacity:.8}.task-item.missed .task-checkbox{border-color:#ef444480}.task-checkbox{border:2px solid var(--color-border);background:var(--color-background);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:all .2s;display:flex}.task-item.completed .task-checkbox{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.task-content{flex:1}.task-chapter{color:var(--color-primary);margin-bottom:4px;font-size:12px;font-weight:600}.task-title{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:600}.task-item.completed .task-title{color:var(--text-muted);text-decoration:line-through}.task-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.planner-alert-engine{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.alert-banner{border-radius:var(--card-radius);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.alert-banner-content{align-items:center;gap:16px;display:flex}.alert-icon-wrapper{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.alert-text h4{margin-bottom:2px;font-size:15px;font-weight:700}.alert-text p{opacity:.9;font-size:13px}.alert-actions{gap:12px;display:flex}.alert-banner.warning{background:#fef3c7;border:1px solid #f59e0b}.alert-banner.warning .alert-text h4{color:#92400e}.alert-banner.warning .alert-text p{color:#b45309}.alert-banner.warning .alert-icon-wrapper{color:#f59e0b}.alert-banner.info{background:var(--color-primary-light);border:1px solid var(--color-primary)}.alert-banner.info .alert-text h4{color:var(--color-primary-dark)}.alert-banner.info .alert-text p{color:var(--text-primary)}.alert-banner.info .alert-icon-wrapper{color:var(--color-primary)}@media (width<=768px){.alert-banner{flex-direction:column;align-items:stretch;gap:16px}}.planner-action-bar{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);padding:var(--spacing-lg) 32px;justify-content:space-between;align-items:center;gap:var(--spacing-md);z-index:100;margin:0 -32px calc(var(--spacing-xl) * -1) -32px;background:#ffffffe6;display:flex;position:sticky;bottom:0}@media (width<=768px){.planner-action-bar{flex-direction:column}.planner-action-bar button{width:100%}}.full-calendar-view{border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex}.full-calendar-grid{flex-grow:1;grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.full-calendar-day-header{text-align:center;color:var(--color-text-light);padding-bottom:10px;font-size:14px;font-weight:600}.full-calendar-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;min-height:100px;padding:8px;transition:all .2s;display:flex}.full-calendar-cell:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.full-calendar-cell.today{border-color:var(--color-primary);background:#6366f108}.full-calendar-cell.today .cell-date{color:var(--color-primary);font-weight:700}.full-calendar-cell.empty{background:0 0;border:none}.cell-date{color:var(--color-text);text-align:right;margin-bottom:8px;font-size:14px;font-weight:500}.cell-tasks{flex-direction:column;flex-grow:1;gap:4px;max-height:80px;display:flex;overflow-y:auto}.cell-tasks::-webkit-scrollbar{width:2px}.cell-tasks::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.calendar-task-badge{color:var(--color-text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #e2e8f0;border-radius:4px;align-items:center;padding:4px 6px;font-size:10px;transition:all .2s;display:flex;overflow:hidden}.calendar-task-badge:hover{background:#f1f5f9}.calendar-task-badge.completed{color:#166534;background:#22c55e1a;border-color:#22c55e4d;text-decoration:line-through}.calendar-task-badge.pending{border-left:3px solid var(--color-primary)}.course-overview-container{gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);grid-column:span 12;grid-template-columns:repeat(4,1fr);display:grid}.course-metric-card{border-radius:var(--card-radius);padding:var(--spacing-lg);box-shadow:var(--card-shadow);border:1px solid var(--color-border);align-items:center;gap:var(--spacing-lg);background:#fff;transition:transform .2s;display:flex}.course-metric-card:hover{border-color:var(--color-primary-light);transform:translateY(-2px)}.course-metric-icon{background:var(--color-surface);width:48px;height:48px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.course-metric-info{flex-direction:column;display:flex}.course-metric-val{color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.2}.course-metric-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}@media (width<=1024px){.course-overview-container{grid-template-columns:repeat(2,1fr)}}.course-card{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);background:#fff;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.course-card:hover{border-color:var(--color-primary-light);transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.course-card-top{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);flex:1}.course-card-code{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:800}.course-card-title{color:var(--text-secondary);margin-bottom:var(--spacing-xl);min-height:44px;font-size:16px;font-weight:600;line-height:1.4}.course-card-meta{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.course-meta-item{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.course-progress-container{margin-top:auto}.course-progress-header{color:var(--text-primary);justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.course-progress-bar-bg{background:var(--color-border);border-radius:3px;width:100%;height:6px;overflow:hidden}.course-progress-bar-fill{background:var(--color-primary);border-radius:3px;height:100%}.course-card-bottom{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-surface);justify-content:center;display:flex}.course-card.locked{background:var(--color-surface);border-color:var(--color-border);box-shadow:none}.course-card.locked:hover{box-shadow:none;transform:none}.course-card.locked .course-card-code{color:var(--text-muted)}.course-card-locked-content{padding:var(--spacing-2xl) var(--spacing-md);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.course-locked-icon{width:48px;height:48px;color:var(--text-muted);margin-bottom:var(--spacing-md);border:1px solid var(--color-border);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.course-locked-message{color:var(--text-secondary);font-size:14px;font-weight:500}.course-level-section{margin-bottom:var(--spacing-2xl);grid-column:span 12}.course-level-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);display:flex}.course-level-indicator{border-radius:50%;width:12px;height:12px}.course-level-title{color:var(--text-primary);font-size:24px;font-weight:700}.course-cards-grid{gap:var(--spacing-xl);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1200px){.course-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.course-cards-grid{grid-template-columns:1fr}}.courses-container{width:100%;max-width:1440px;padding:var(--spacing-xl) 32px;margin:0 auto}.courses-header{margin-bottom:var(--spacing-2xl);justify-content:space-between;align-items:flex-end;display:flex}.courses-title-section h1{color:var(--text-primary);margin-bottom:8px;font-size:36px;font-weight:800}.courses-title-section p{color:var(--text-secondary);max-width:600px;font-size:16px}.courses-search{width:320px;position:relative}.courses-search input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;outline:none;width:100%;padding:12px 16px 12px 42px;font-size:15px;transition:all .2s}.courses-search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.courses-search svg{color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.courses-grid{gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl);grid-template-columns:repeat(12,1fr);display:grid}@media (width<=768px){.courses-header{align-items:stretch;gap:var(--spacing-lg);flex-direction:column}.courses-search{width:100%}}.video-player-wrapper{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);margin-bottom:var(--spacing-xl);background:#fff;overflow:hidden}.video-screen{aspect-ratio:16/9;cursor:pointer;background:#0f172a;width:100%;position:relative}.video-placeholder{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.video-play-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:background .2s;display:flex}.video-screen:hover .video-play-overlay{background:#ffffff40}.video-course-badge{background:var(--color-primary);color:#fff;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:700;position:absolute;top:16px;left:16px}.video-controls{padding:12px var(--spacing-lg);background:#1e293b}.video-progress-bar{cursor:pointer;background:#fff3;border-radius:2px;width:100%;height:4px;margin-bottom:12px;position:relative}.video-progress-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .1s}.video-progress-thumb{background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #0006}.video-controls-row{justify-content:space-between;align-items:center;display:flex}.video-controls-left,.video-controls-right{align-items:center;gap:4px;display:flex}.video-btn{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .2s,background .2s;display:flex}.video-btn:hover{color:#fff;background:#ffffff1a}.video-time{color:#ffffffb3;font-variant-numeric:tabular-nums;margin-left:8px;font-size:13px}.video-info{padding:var(--spacing-lg) var(--spacing-xl)}.video-chapter-label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;font-weight:600}.video-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.video-watermark{color:#ffffff26;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:9;white-space:nowrap;letter-spacing:1px;font-size:14px;font-weight:600;position:absolute;top:12%;left:8%}.video-next-popup{background:var(--color-primary,#2563eb);color:#fff;cursor:pointer;z-index:2147483647;border:none;border-radius:30px;align-items:center;gap:8px;padding:12px 22px;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:absolute;bottom:80px;right:24px;box-shadow:0 4px 15px #2563eb73}.video-next-popup:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 20px #1d4ed88c}.video-next-popup:active{transform:translateY(0)}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.session-sidebar{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);height:fit-content;top:calc(var(--layout-header-height) + 24px);background:#fff;position:sticky;overflow:hidden}.session-sidebar-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.session-sidebar-header h3{color:var(--text-primary);margin-bottom:10px;font-size:16px;font-weight:700}.session-progress-mini{flex-direction:column;gap:6px;display:flex}.session-progress-bar-bg{background:var(--color-border);border-radius:3px;width:100%;height:5px;overflow:hidden}.session-progress-bar-fill{background:var(--color-primary);border-radius:3px;height:100%}.session-progress-text{color:var(--text-muted);font-size:12px;font-weight:500}.session-chapter-list{max-height:520px;overflow-y:auto}.session-chapter{border-bottom:1px solid var(--color-border)}.session-chapter:last-child{border-bottom:none}.session-chapter.active>.session-chapter-header{background:var(--color-primary-light)}.session-chapter-header{width:100%;padding:14px var(--spacing-xl);cursor:pointer;text-align:left;color:var(--text-secondary);background:0 0;border:none;justify-content:space-between;align-items:center;transition:background .15s;display:flex}.session-chapter-header:hover{background:var(--color-surface)}.session-chapter-left{align-items:center;gap:10px;display:flex}.chapter-icon.completed{color:var(--color-success)}.chapter-dot{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:16px;height:16px}.chapter-dot.active{border-color:var(--color-primary);background:var(--color-primary)}.session-chapter-title{color:var(--text-primary);font-size:14px;font-weight:600}.session-video-list{background:var(--color-surface);padding:4px 0 8px}.session-video-item{padding:10px var(--spacing-xl) 10px 48px;cursor:pointer;align-items:center;gap:10px;transition:background .15s;display:flex}.session-video-item:hover{background:var(--color-primary-light)}.session-video-icon{color:var(--text-muted);flex-shrink:0}.session-video-item.completed .session-video-icon{color:var(--color-success)}.session-video-info{flex-direction:column;gap:2px;display:flex}.session-video-title{color:var(--text-primary);font-size:13px;font-weight:500}.session-video-duration{color:var(--text-muted);font-size:11px}.course-tabs-wrapper{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);background:#fff;margin-bottom:80px;overflow:hidden}.course-tabs-nav{border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex}.course-tab-btn{padding:14px var(--spacing-md);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;font-size:14px;font-weight:600;transition:all .2s}.course-tab-btn:hover{color:var(--text-primary);background:#fff}.course-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:#fff}.course-tab-content{padding:var(--spacing-xl)}.tab-panel h4{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:16px;font-weight:700}.tab-panel p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:14px;line-height:1.7}.tab-list{flex-direction:column;gap:8px;list-style:none;display:flex}.tab-list li{color:var(--text-secondary);padding-left:20px;font-size:14px;position:relative}.tab-list li:before{content:"✓";color:var(--color-success);font-weight:700;position:absolute;left:0}.trainer-panel{gap:var(--spacing-xl);align-items:flex-start;display:flex}.trainer-avatar{flex-shrink:0}.trainer-avatar img{object-fit:cover;border-radius:50%;width:80px;height:80px}.trainer-avatar-placeholder{background:var(--color-primary-light);width:80px;height:80px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.trainer-info{flex-direction:column;gap:4px;display:flex}.trainer-info h4{margin-bottom:0}.trainer-designation{color:var(--color-primary);font-size:13px;font-weight:600}.trainer-experience{color:var(--text-muted);margin-bottom:8px;font-size:13px}.duration-stats{gap:var(--spacing-xl);display:flex}.duration-stat{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;align-items:center;gap:4px;min-width:100px;display:flex}.duration-stat-value{color:var(--text-primary);font-size:24px;font-weight:800}.duration-stat-label{color:var(--text-muted);font-size:12px;font-weight:500}.feedback-rating{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.feedback-score{color:var(--text-primary);font-size:36px;font-weight:800}.feedback-stars{color:#f59e0b;font-size:20px}.feedback-count{color:var(--text-muted);font-size:13px}.feedback-list{gap:var(--spacing-md);flex-direction:column;display:flex}.feedback-item{gap:var(--spacing-md);align-items:flex-start;display:flex}.feedback-avatar{background:var(--color-primary-light);width:36px;height:36px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.feedback-name{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.feedback-text{color:var(--text-secondary);font-size:13px}.trainer-expert-label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.trainer-subtitle{color:var(--text-muted);margin-top:-2px;font-size:13px;font-weight:600}.trainer-bio-list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.trainer-bio-list li{color:var(--text-secondary);padding-left:20px;font-size:14px;position:relative}.trainer-bio-list li:before{content:"•";color:var(--color-primary);font-size:20px;position:absolute;top:-2px;left:0}.assets-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.asset-item{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--color-surface,#f8fafc);justify-content:space-between;align-items:center;padding:16px;transition:border-color .2s;display:flex}.asset-item:hover{border-color:var(--color-primary)}.asset-info{align-items:center;gap:16px;display:flex}.asset-icon-wrapper{background:var(--color-primary-light,#eff6ff);width:40px;height:40px;color:var(--color-primary,#2563eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.asset-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.asset-type-badge{color:#fff;background:var(--color-primary);text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.asset-download-btn{background:var(--color-primary);color:#fff;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.asset-download-btn:hover{background:var(--color-primary-dark,#1d4ed8)}.course-progress-widget{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);padding:var(--spacing-lg);align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);background:#fff;display:flex}.cpw-ring-wrap{flex-shrink:0;position:relative}.cpw-ring-wrap svg{transform:rotate(-90deg)}.cpw-ring-bg{fill:none;stroke:var(--color-border);stroke-width:10px}.cpw-ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.cpw-ring-label{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cpw-percent{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1}.cpw-label{color:var(--text-muted);font-size:11px;font-weight:500}.cpw-stats{align-items:center;gap:var(--spacing-lg);flex:1;display:flex}.cpw-stat{flex-direction:column;gap:2px;display:flex}.cpw-stat-val{color:var(--text-primary);font-size:22px;font-weight:800}.cpw-stat-label{color:var(--text-muted);font-size:12px;font-weight:500}.cpw-divider{background:var(--color-border);width:1px;height:36px}.learning-bar{border-top:1px solid var(--color-border);z-index:100;padding:12px var(--layout-container-padding);background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}.learning-bar-inner{max-width:var(--layout-max-width);justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:0 auto;display:flex}.learning-bar-btn{align-items:center;gap:8px;min-width:160px;display:flex}.learning-bar-complete{align-items:center;gap:8px;min-width:180px;display:flex}.learning-bar-complete.completed{color:#166534;cursor:default;background:#dcfce7;border:1px solid #bbf7d0}.course-detail-page{max-width:var(--layout-max-width);padding:var(--spacing-xl) var(--layout-container-padding);margin:0 auto;padding-bottom:100px}.course-detail-header{align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);display:flex}.course-back-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.course-back-btn:hover{background:var(--color-surface);color:var(--text-primary)}.course-detail-breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.course-detail-layout{gap:var(--spacing-xl);grid-template-columns:70% 30%;align-items:start;display:grid}.course-detail-main,.course-detail-sidebar{min-width:0}.course-detail-not-found{justify-content:center;align-items:center;gap:var(--spacing-lg);flex-direction:column;min-height:60vh;display:flex}@media (width<=1024px){.course-detail-layout{grid-template-columns:1fr}.course-detail-sidebar{order:-1}}@media (width<=768px){.course-detail-header{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}}.mock-section{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);padding:var(--spacing-xl);background:#fff;margin-bottom:80px}.mock-section-header{margin-bottom:var(--spacing-xl)}.mock-section-header h3{color:var(--text-primary);margin-bottom:6px;font-size:20px;font-weight:700}.mock-section-header p{color:var(--text-secondary);font-size:14px}.mock-cards-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.mock-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all .2s}.mock-card:hover:not(.locked){border-color:var(--color-primary);box-shadow:0 4px 16px #4f46e514}.mock-card.locked{background:var(--color-surface);opacity:.7}.mock-card.submitted{border-color:var(--color-success);background:#f0fdf4}.mock-card-top{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.mock-card-icon{background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mock-card.locked .mock-card-icon{background:var(--color-border);color:var(--text-muted)}.mock-card.submitted .mock-card-icon{color:var(--color-success);background:#dcfce7}.mock-card-info{flex:1}.mock-card-info h4{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.mock-deadline,.mock-submitted,.mock-locked-msg{color:var(--text-muted);font-size:12px}.mock-status-badge{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.mock-status-badge.available{background:var(--color-primary-light);color:var(--color-primary)}.mock-status-badge.locked{background:var(--color-border);color:var(--text-muted)}.mock-status-badge.submitted{color:#166534;background:#dcfce7}.mock-status-badge.feedback_ready{color:#92400e;background:#fef3c7}.mock-card-actions{gap:var(--spacing-md);display:flex}.mock-card-actions .btn{gap:6px;height:40px;font-size:14px}.cs-detail-page{max-width:var(--layout-max-width);padding:var(--spacing-xl) var(--layout-container-padding);margin:0 auto;padding-bottom:100px}.cs-detail-header{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.cs-badge{color:#fff;letter-spacing:.04em;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.cs-detail-layout{gap:var(--spacing-xl);grid-template-columns:70% 30%;align-items:start;display:grid}.cs-detail-main,.cs-detail-sidebar{min-width:0}.cs-detail-not-found{justify-content:center;align-items:center;gap:var(--spacing-lg);flex-direction:column;min-height:60vh;display:flex}@media (width<=1024px){.cs-detail-layout{grid-template-columns:1fr}.cs-detail-sidebar{order:-1}}.mock-inst-page-new{background-color:var(--color-bg-light,#f8fafc);min-height:90vh;padding:40px var(--layout-container-padding);color:var(--text-primary);flex-direction:column;display:flex}.inst-header{margin-bottom:var(--spacing-xl);align-items:center;gap:20px;display:flex}.inst-header h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:700}.inst-card-new{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);width:100%;max-width:900px;padding:var(--spacing-xl);background:#fff;flex-direction:column;margin:0 auto;display:flex}.inst-meta-banner{background:var(--color-primary-light,#eff6ff);color:var(--color-primary,#2563eb);border-radius:var(--radius-md,8px);align-self:flex-start;align-items:center;gap:8px;margin-bottom:24px;padding:12px 20px;font-size:14px;font-weight:500;display:inline-flex}.inst-table-wrap{width:100%;margin-bottom:28px;overflow-x:auto}.inst-table-new{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.inst-table-new th{background:var(--color-surface,#f8fafc);color:var(--text-primary);border-bottom:2px solid var(--color-border);padding:14px 20px;font-weight:700}.inst-table-new td{border-bottom:1px solid var(--color-border);color:var(--text-secondary);vertical-align:middle;padding:16px 20px}.inst-table-new tbody tr:hover{background-color:var(--color-bg-light,#f8fafc)}.bullet{margin-bottom:4px;font-weight:500;display:block}.inst-footer{justify-content:center;margin-top:12px;display:flex}.start-btn-new{background:var(--color-primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:14px 44px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #2563eb59}.start-btn-new:hover{background:var(--color-primary-dark,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 20px #1d4ed873}.cima-exam-room{color:#0f172a;background-color:#f1f5f9;flex-direction:column;height:100vh;font-family:Inter,sans-serif;display:flex;overflow:hidden}.cima-exam-topbar{background-color:#fff;border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.cima-logo-wrap{flex-direction:column;display:flex}.logo-brand{color:#1e293b;letter-spacing:-.5px;font-size:18px;font-weight:800}.exam-tag{color:#64748b;text-transform:uppercase;margin-top:1px;font-size:11px;font-weight:600}.cima-controls-right{align-items:center;gap:20px;display:flex}.cima-countdown{color:#1e293b;font-size:14px;font-weight:700}.btn-cima-preseen{color:#fff;cursor:pointer;background-color:#1e3a5f;border:none;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:700;transition:background-color .2s}.btn-cima-preseen:hover{background-color:#162a45}.cima-references-subbar{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;min-height:48px;padding:8px 24px;display:flex}.section-label{color:#475569;font-size:13px;font-weight:700}.ref-buttons-group{gap:10px;display:flex}.btn-cima-ref{color:#fff;cursor:pointer;background-color:#1e3a5f;border:none;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:700}.btn-cima-ref:hover{background-color:#162a45}.cima-split-workspace{flex:1;display:flex;overflow:hidden}.cima-left-panel{background:#fff;border-right:2px solid #cbd5e1;flex-direction:column;width:50%;display:flex}.cima-right-panel{background:#fff;flex-direction:column;width:50%;display:flex}.panel-header-bar{color:#475569;background:#f8fafc;border-bottom:1px solid #cbd5e1;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;display:flex}.cima-question-card{color:#334155;flex:1;padding:24px;font-size:14px;line-height:1.65;overflow-y:auto}.cima-question-html h3{color:#1e293b;border-bottom:1px solid #e2e8f0;margin-top:20px;margin-bottom:12px;padding-bottom:6px;font-size:18px;font-weight:800}.cima-question-html h3:first-of-type{margin-top:0}.cima-question-html p{margin-bottom:14px}.cima-question-html ul{margin-bottom:16px;padding-left:20px}.cima-question-html li{margin-bottom:8px}.editor-header-bar{justify-content:space-between}.editor-word-count{color:#64748b;font-weight:600}.cima-editor-toolbar{background:#f8fafc;border-bottom:1px solid #cbd5e1;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px;display:flex}.tool-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.tool-btn:hover{color:#0f172a;background:#e2e8f0}.tool-divider{background:#cbd5e1;width:1px;height:16px;margin:0 4px}.tool-select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;padding:2px 6px;font-size:12px}.cima-textarea{resize:none;color:#334155;border:none;outline:none;flex:1;padding:24px;font-family:inherit;font-size:14px;line-height:1.6}.cima-editor-footer{background:#f8fafc;border-top:1px solid #cbd5e1;justify-content:center;padding:12px 18px;display:flex}.btn-cima-submit{color:#fff;cursor:pointer;background-color:#1e3a5f;border:none;border-radius:20px;padding:8px 36px;font-size:14px;font-weight:700;transition:background-color .2s}.btn-cima-submit:hover{background-color:#162a45}.cima-pdf-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99999;background:#0f172a99;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.cima-pdf-modal-container{background:#fff;border-radius:12px;flex-direction:column;width:85vw;height:85vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0006}.pdf-modal-header{color:#fff;background:#1e293b;justify-content:space-between;align-items:center;padding:14px 20px;font-weight:600;display:flex}.btn-close-pdf{color:#ffffffb3;cursor:pointer;background:0 0;border:none}.btn-close-pdf:hover{color:#fff}.pdf-modal-body{background:#f1f5f9;flex:1}.mock-sub-success{background-color:var(--color-bg-light,#f8fafc);justify-content:center;align-items:center;min-height:90vh;padding:24px;display:flex}.success-card{border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:var(--card-shadow);text-align:center;background:#fff;width:100%;max-width:500px;padding:40px}.success-icon{color:var(--color-success,#10b981);margin-bottom:16px}.success-card h2{color:var(--text-primary);margin-bottom:8px;font-size:22px;font-weight:700}.success-card p{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.lib-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.15s lib-fade-in;display:flex;position:fixed;inset:0}@keyframes lib-fade-in{0%{opacity:0}to{opacity:1}}.lib-modal{border-radius:var(--card-radius);background:#fff;flex-direction:column;width:100%;max-width:640px;max-height:80vh;animation:.2s lib-slide-up;display:flex;box-shadow:0 20px 60px #0003}@keyframes lib-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lib-modal-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 20px;display:flex}.lib-modal-code{margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.lib-modal-paperName{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.lib-modal-count{color:var(--text-muted);font-size:13px}.lib-modal-close{border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.lib-modal-close:hover{background:var(--color-surface);color:var(--text-primary)}.lib-modal-bulk{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.lib-select-all{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.lib-select-all:hover{color:var(--text-primary)}.lib-modal-body{flex:1;padding:16px 24px 24px;overflow-y:auto}.lib-checkbox{cursor:pointer;border:2px solid;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.lib-pdf-list{flex-direction:column;gap:8px;display:flex}.lib-pdf-row{border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.lib-pdf-row:hover{box-shadow:0 2px 8px #0000000f}.lib-pdf-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.lib-pdf-title{color:var(--text-primary);font-size:14px;font-weight:500}.lib-pdf-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;flex-shrink:0;padding:2px 10px;font-size:11px;font-weight:600}.lib-dl-btn{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.lib-dl-btn:hover{background:var(--color-surface);border-color:#cbd5e1}.lib-resource-loading,.lib-resource-empty{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:48px 0;font-size:14px;display:flex}@keyframes lib-spin{to{transform:rotate(360deg)}}.lib-spin{animation:1s linear infinite lib-spin}
