html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}*{margin:0;padding:0;box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#f9fafb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background-color:#f5f5f5}#root{min-height:100vh}.ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.ant-btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;overflow:hidden;max-width:400px;width:100%}.app-header{background-color:#fff;padding:0 16px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;position:fixed;width:100%;top:0;z-index:1000;height:64px}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative;height:64px}.header-logo{flex:1;min-width:120px;display:flex;align-items:center;height:100%}.header-menu{flex:2;display:flex;justify-content:center;min-width:200px;align-items:center;height:100%}.header-user{flex:1;display:flex;justify-content:flex-end;align-items:center;min-width:120px;height:100%}.mobile-menu-button{display:none;min-width:36px;height:36px;padding:4px;font-size:16px;transition:all .3s ease;position:absolute;right:0;z-index:100;display:flex;align-items:center;justify-content:center}.mobile-menu-button .anticon{font-size:16px!important;transition:none}.language-switcher{font-size:14px;transition:all .3s ease}@media (min-width: 769px){.mobile-menu-button{display:none!important}.desktop-menu{display:flex!important}.ant-menu-horizontal{border-bottom:none;justify-content:center;flex:1 1 auto}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{flex:1 1 auto;text-align:center;justify-content:center;padding:0 8px!important}.logout-button{display:flex!important;align-items:center!important;justify-content:center!important}.mobile-user-info,.mobile-logout-button{display:none}.desktop-sider,.desktop-progress{display:block!important}.mobile-progress{display:none!important}}@media (max-width: 768px){.app-header{padding:0 12px!important;height:64px}.header-content{height:64px}.ant-layout-header{padding:0 12px!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;height:64px!important}.ant-layout-header>div:first-child{flex:1;align-items:center;height:100%}.ant-layout-header>.ant-menu{display:none!important}.ant-menu-horizontal{border-bottom:none;line-height:42px;height:100%;display:flex;align-items:center}.ant-menu-item{padding:0 10px!important;font-size:13px;display:flex;align-items:center;height:100%}.desktop-menu{display:none!important}.mobile-menu-button{display:flex!important;align-items:center;justify-content:center}.mobile-menu-button .anticon{font-size:16px!important}.user-avatar,.user-name,.logout-button,.header-user .logout-button{display:none!important}.user-controls{gap:8px;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;height:100%}.user-name{max-width:60px;font-size:11px;align-self:center}.desktop-sider{display:none!important}.ant-layout-content{margin-left:0!important}.mobile-progress{display:block!important}.desktop-progress{display:none!important}}@media (max-width: 576px){.app-header{padding:0 12px!important;height:64px}.ant-layout-header{height:64px!important}.ant-menu-horizontal{line-height:36px;font-size:12px}.ant-menu-item{padding:0 6px!important}.ant-layout-header .ant-avatar{margin:0}.ant-layout-header .ant-btn{min-width:36px;padding:4px}.ant-layout-header>div:last-child>span{display:none}.ant-layout-header>div:last-child>.ant-tag{display:none}.user-controls{gap:6px;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap}.user-name{max-width:50px;font-size:10px;align-self:center}.user-avatar,.user-name,.logout-button{display:none!important}.mobile-menu-button{min-width:36px;height:36px;padding:4px;font-size:16px;align-items:center;justify-content:center}.mobile-menu-button .anticon{font-size:16px!important}.language-switcher{font-size:11px}.ant-progress-circle .ant-progress-text{font-size:10px!important}.ant-progress-small .ant-progress-text{font-size:10px}}@media (max-width: 992px){.ant-col-md-14{flex:0 0 100%!important;max-width:100%!important;margin-bottom:16px}.ant-col-md-10{flex:0 0 100%!important;max-width:100%!important}}@media (max-width: 400px){.ant-page-header-heading-title{font-size:16px}.ant-page-header-heading-sub-title{font-size:12px}.ant-progress-inner{width:40px!important;height:40px!important}}@media (max-width: 768px){.ant-menu-item{min-height:44px;display:flex;align-items:center}.ant-btn{min-height:44px;min-width:44px}}@media (max-width: 576px){.ant-row{margin-left:-8px!important;margin-right:-8px!important}.ant-col{padding-left:8px!important;padding-right:8px!important}.ant-card-grid{width:100%;margin-bottom:8px}}.ant-card{margin-bottom:16px}.ant-card-head-title{font-size:16px}@media (max-width: 768px){.ant-typography h1{font-size:24px}.ant-typography h2{font-size:20px}.ant-typography h3{font-size:18px}.ant-typography h4{font-size:16px}.ant-typography h5{font-size:14px}}@media (max-width: 576px){.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{margin:0}.ant-menu-horizontal>.ant-menu-item:after,.ant-menu-horizontal>.ant-menu-submenu:after{border-bottom:none}}.ant-card-cover img{width:100%;height:auto}.ant-card-meta-title{font-size:14px}.ant-card-meta-description{font-size:12px}@media (max-width: 576px){.ant-progress-circle .ant-progress-text{font-size:12px}}.desktop-menu{display:flex}.ant-menu-horizontal.ant-menu-root{border-bottom:none;display:flex;justify-content:center;flex:1 1 auto}.ant-menu-horizontal>.ant-menu-item{flex:1 1 auto;text-align:center;display:flex;align-items:center;justify-content:center}.ant-menu-horizontal.ant-menu-root>.ant-menu-item,.ant-menu-horizontal.ant-menu-root>.ant-menu-submenu{position:relative!important;width:auto!important;overflow:visible!important}.app-header{background-color:#fff;padding:0 16px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;position:fixed;width:100%;top:0;z-index:1000}.mobile-menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;justify-content:flex-end}.mobile-menu-content{background-color:#fff;width:80%;max-width:300px;height:100%;padding:16px;box-shadow:-2px 0 8px #00000026;display:flex;flex-direction:column}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mobile-user-info{display:flex;align-items:center;gap:8px;padding:12px;justify-content:flex-end}.mobile-user-name{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-logout-button{margin-left:auto}.user-controls{display:flex;align-items:center;gap:12px;margin:0;flex-direction:row;flex-wrap:nowrap}.user-avatar,.user-name,.logout-button{align-self:center}.user-name{font-size:12px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}.logout-button{min-width:36px!important;width:36px!important;height:36px!important;padding:6px!important;margin-left:8px;align-self:center;font-size:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:none!important}.logout-button .anticon{font-size:16px!important;transition:none!important}@media (min-width: 770px) and (max-width: 1030px){.header-menu{flex:1 1 auto;min-width:150px}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{padding:0 6px!important;font-size:13px}.header-user{min-width:100px}.user-name{max-width:60px;font-size:11px}.language-switcher{font-size:12px}.logout-button{min-width:36px!important;width:36px!important;height:36px!important;padding:6px!important;font-size:16px!important}.logout-button .anticon{font-size:16px!important}.ant-progress-circle .ant-progress-text{font-size:14px!important}}@media (max-width: 1030px){.header-menu{flex:1 0 auto}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{flex:0 0 auto;padding:0 6px!important}.logout-button{min-width:36px!important;width:36px!important;height:36px!important;padding:6px!important;font-size:16px!important}.logout-button .anticon{font-size:16px!important}.ant-progress-small,.ant-progress-small .ant-progress-text{font-size:11px}}@media (max-width: 768px){.profile-progress-container{display:flex;flex-direction:column;align-items:center}.profile-progress-container .ant-progress{margin-bottom:8px}.profile-progress-text{font-size:12px;text-align:center}.logout-button{min-width:36px!important;width:36px!important;height:36px!important;padding:6px!important;font-size:16px!important}.logout-button .anticon{font-size:16px!important}}@media (max-width: 576px){.profile-progress-container .ant-progress{width:50px;height:50px}.profile-progress-text{font-size:10px}.logout-button{min-width:36px!important;width:36px!important;height:36px!important;padding:6px!important;font-size:16px!important}.logout-button .anticon{font-size:16px!important}}.ant-progress-circle,.ant-progress-circle .ant-progress-inner{width:80px!important;height:80px!important}.ant-progress-circle .ant-progress-text{font-size:16px!important}.course-section-progress .ant-progress-circle,.course-section-progress .ant-progress-inner{width:30px!important;height:30px!important}.course-section-progress .ant-progress-text{font-size:0!important}@media (min-width: 577px) and (max-width: 1030px){.ant-progress-circle,.ant-progress-circle .ant-progress-inner{width:70px!important;height:70px!important}.ant-progress-circle .ant-progress-text{font-size:14px!important}}@media (max-width: 576px){.ant-progress-circle,.ant-progress-circle .ant-progress-inner{width:60px!important;height:60px!important}.ant-progress-circle .ant-progress-text{font-size:12px!important}}@media (max-width: 400px){.ant-progress-circle,.ant-progress-circle .ant-progress-inner{width:50px!important;height:50px!important}.ant-progress-circle .ant-progress-text{font-size:10px!important}}@media (max-width: 768px){.desktop-sider{display:none!important}.ant-layout-content{padding:12px!important;margin-left:0!important;margin-top:64px!important}.ant-card{margin-bottom:12px}.ant-row>.ant-col-xs-24{margin-bottom:12px}.ant-col-xs-24{width:100%!important;max-width:100%!important}.ant-card-cover img{height:150px!important}.ant-card-body{padding:12px!important}.ant-typography h5{font-size:14px!important;min-height:40px!important}.ant-space{font-size:11px!important}.ant-btn-sm{font-size:11px!important;padding:0 8px!important;height:26px!important}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}}@media (min-width: 577px) and (max-width: 992px){.ant-col-sm-12,.ant-col-md-8{flex:0 0 50%!important;max-width:50%!important}.ant-card-cover img{height:180px!important}.ant-typography h5{font-size:15px!important;min-height:44px!important}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}}@media (min-width: 993px) and (max-width: 1200px){.ant-col-md-8,.ant-col-lg-6{flex:0 0 33.333333%!important;max-width:33.333333%!important}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}}@media (max-width: 768px){.ant-input-affix-wrapper{font-size:14px!important}.ant-select-single,.ant-select-selection-item{font-size:12px!important}.ant-row>.ant-col-xs-24{margin-bottom:8px!important}.ant-btn{font-size:12px!important}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}}@media (max-width: 576px){.ant-breadcrumb{font-size:11px!important}.ant-btn-sm{font-size:11px!important;padding:0 6px!important}.ant-page-header{padding:12px!important}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}}.ant-row{margin-left:-12px;margin-right:-12px}.courses-breadcrumb-container{display:flex!important;justify-content:center!important;margin-bottom:16px!important;width:100%!important}@media (max-width: 768px){.course-detail-content{margin-left:0!important;padding:12px!important}.desktop-course-sider{display:none!important}.mobile-sider-toggle{display:block!important}}@media (min-width: 769px){.mobile-sider-toggle{display:none!important}}table{width:100%;border-collapse:collapse;margin:16px 0;background-color:#fff;box-shadow:0 1px 3px #0000001a;border-radius:8px;overflow:hidden;border:1px solid #d9d9d9}table th,table td{padding:12px 16px;text-align:left;border:1px solid #d9d9d9}table th{background-color:#f9f9f9;font-weight:700;color:#333}table td{background-color:#fff}table tr:last-child td{border-bottom:1px solid #d9d9d9}table tr:nth-child(2n){background-color:#fafafa}table tr:hover{background-color:#f0f8ff}@media (max-width: 768px){table th,table td{padding:10px 12px;font-size:14px}table{font-size:14px}}@media (max-width: 576px){table th,table td{padding:8px 10px;font-size:13px}@media (max-width: 400px){table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tr{border:1px solid #ccc;margin-bottom:10px;padding:10px;border-radius:8px}td{border:none;position:relative;padding:8px 8px 8px 40%!important}td:before{content:attr(data-label) ": ";position:absolute;left:8px;width:35%;font-weight:700}}}.mobile-menu-logout-item{color:#ff4d4f!important;border-top:1px solid #f0f0f0;margin-top:16px!important;padding-top:16px!important}.mobile-menu-logout-item:hover{background-color:#fff1f0!important}.mobile-menu-logout-item .anticon{color:#ff4d4f!important}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;border-radius:0 0 6px 6px;z-index:10000;transform:translateY(-100%);transition:transform .3s}.skip-link:focus{transform:translateY(0)}@media (prefers-contrast: high){.high-contrast{filter:contrast(150%)}.ant-btn,.ant-card{border:2px solid currentColor!important}}@media (prefers-reduced-motion: reduce){.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ant-btn:focus,.ant-input:focus,.ant-select:focus,.ant-card:focus{outline:2px solid #1890ff!important;outline-offset:2px!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.keyboard-focusable{cursor:pointer}.keyboard-focusable:focus{outline:2px solid #1890ff;outline-offset:2px}.text-high-contrast{color:#000!important;background-color:#fff!important}.large-text{font-size:1.2em;line-height:1.5}.accessible-button{min-height:44px;min-width:44px;padding:8px 16px}.accessible-form .ant-form-item-label{font-weight:700}.accessible-form .ant-form-item-required:before{content:"* ";color:#ff4d4f;font-weight:700}.error-state{border:2px solid #ff4d4f!important}.error-message{color:#ff4d4f;font-weight:700;margin-top:4px}.success-state{border:2px solid #52c41a!important}.success-message{color:#52c41a;font-weight:700;margin-top:4px}.loading-state{position:relative}.loading-state:after{content:"";position:absolute;inset:0;background:#fffc;z-index:1}.accessible-table th{background-color:#f5f5f5;font-weight:700;text-align:left}.accessible-table caption{font-weight:700;margin-bottom:8px;text-align:left}.accessible-table{width:100%;border-collapse:collapse;margin:16px 0;background-color:#fff;box-shadow:0 1px 3px #0000001a;border-radius:8px;overflow:hidden;border:1px solid #d9d9d9}.accessible-table th,.accessible-table td{padding:12px 16px;text-align:left;border:1px solid #d9d9d9}.accessible-table th{background-color:#f9f9f9;font-weight:700;color:#333}.accessible-table td{background-color:#fff}.accessible-table tr:last-child td{border-bottom:1px solid #d9d9d9}.accessible-table tr:nth-child(2n){background-color:#fafafa}.accessible-table tr:hover{background-color:#f0f8ff}.language-indicator{display:inline-block;padding:2px 6px;border-radius:3px;background-color:#f0f0f0;font-size:.8em;margin-left:8px}.accessible-link{text-decoration:underline;color:#1890ff}.accessible-link:hover,.accessible-link:focus{text-decoration:none;background-color:#1890ff1a}.accessible-modal{outline:none}.accessible-modal[aria-hidden=true]{display:none!important}.accessible-tooltip{background-color:#000;color:#fff;padding:8px 12px;border-radius:4px;font-size:14px;z-index:1060}.accessible-progress{position:relative}.accessible-progress:after{content:attr(aria-valuetext);position:absolute;top:100%;left:50%;transform:translate(-50%);font-size:.8em;color:#666}@media (max-width: 768px){.accessible-button{min-height:48px;min-width:48px}.keyboard-focusable:focus{outline-offset:3px}.large-text{font-size:1.3em}.accessible-tooltip{font-size:16px;padding:12px 16px}}@media (prefers-contrast: high){.ant-card,.ant-btn,.ant-input{border-width:2px!important}}@media (hover: none) and (pointer: coarse){.ant-btn:hover:not(:active):not(:focus){background-color:inherit;border-color:inherit}.ant-space-horizontal>.ant-space-item:not(:last-child){margin-right:12px}.ant-space-vertical>.ant-space-item:not(:last-child){margin-bottom:12px}}
