*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:ui-sans-serif,system-ui,sans-serif;color:#40372f;background:#f7f4ef;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b69a7c;outline-offset:2px}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid #e8dbca;border-radius:13px;background:#f3ece4;color:#77563b}.brand-name{display:block;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:17px;letter-spacing:1.5px}.brand-caption{display:block;margin-top:2px;color:#a3978b;font-size:9px;letter-spacing:1.15px}.eyebrow{color:#9c8062;font-size:10px;font-weight:700;letter-spacing:1.6px}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(360px,1fr) minmax(350px,.9fr);background:#fffdfa}.login-card{display:flex;width:min(440px,100%);flex-direction:column;justify-content:center;justify-self:center;padding:48px}.login-intro{margin-top:58px}.login-intro h1,.page-heading h1{margin:9px 0 0;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:36px;font-weight:400;letter-spacing:-.5px;line-height:1.16}.login-intro p,.page-heading p{margin:11px 0 0;color:#85796e;font-size:14px;line-height:1.65}.login-form{display:grid;gap:9px;margin-top:32px}.login-form label{margin-top:8px;color:#51463d;font-size:12px;font-weight:700}.login-form input{width:100%;height:46px;border:1px solid #e9e1d8;border-radius:10px;background:#fffdfa;padding:0 13px;color:#40372f;font-size:13px}.login-form input::-moz-placeholder{color:#a3978b}.login-form input::placeholder{color:#a3978b}.primary-button,.outline-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:0 15px;font-size:12px;font-weight:700;transition:background-color .15s ease,border-color .15s ease}.primary-button{border:1px solid #77563b;background:linear-gradient(135deg,#77563b,#5f4632);color:#fff}.primary-button:hover:not(:disabled){background:#60462f}.primary-button:disabled{cursor:wait;opacity:.65}.login-submit{min-height:46px;margin-top:11px}.outline-button{border:1px solid #e9e1d8;background:#fffdfa;color:#66594d}.outline-button:hover{background:#f4eee7}.form-error{margin:2px 0 0;color:#a43d3d;font-size:12px}.login-help{margin-top:20px;color:#96897d;font-size:11px;text-align:center}.login-aside{position:relative;display:flex;min-height:100vh;align-items:flex-end;overflow:hidden;background:linear-gradient(155deg,#e9dfd3,#c6b29d 60%,#8d7057);padding:11%}.login-aside:before,.login-aside:after{position:absolute;width:370px;height:370px;border:1px solid rgb(255 253 250 / 28%);border-radius:50%;content:""}.login-aside:before{top:10%;right:-70px}.login-aside:after{top:16%;right:-10px;width:250px;height:250px}.aside-glow{position:absolute;top:17%;right:12%;width:210px;height:210px;border-radius:50%;background:#fffdfa38;filter:blur(1px)}.aside-content{position:relative;max-width:390px;color:#fffdfa}.aside-content .eyebrow{color:#f4e8d8}.aside-content h2{margin:14px 0 0;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.12}.aside-content p{max-width:310px;color:#f6ede4;font-size:14px;line-height:1.7}.aside-note{display:inline-flex;align-items:center;gap:9px;margin-top:30px;border:1px solid rgb(255 253 250 / 35%);border-radius:999px;padding:10px 14px;color:#fffdfa;font-size:12px}.dashboard-shell{min-height:100vh;background:#f7f4ef;color:#40372f}.topbar{position:sticky;z-index:3;top:0;border-bottom:1px solid rgb(233 225 216 / 80%);background:#fffdfaf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-inner{display:flex;min-height:66px;max-width:1152px;align-items:center;justify-content:space-between;gap:16px;margin:auto;padding:0 24px}.account-tools{display:flex;align-items:center;gap:12px}.welcome-name{color:#85796e;font-size:12px}.avatar{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;border:1px solid #e3d8ca;border-radius:50%;background:#f3eadf;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:12px}.logout-button{min-height:36px;font-size:11px}.dashboard-layout{display:grid;max-width:1152px;grid-template-columns:205px minmax(0,1fr);gap:28px;margin:auto;padding:30px 24px 60px}.sidebar{align-self:stretch}.profile-summary{display:flex;align-items:center;gap:11px;border-bottom:1px solid #e9e1d8;padding:4px 2px 18px}.profile-avatar{width:42px;height:42px}.profile-details{display:grid;min-width:0;gap:3px}.profile-details strong,.profile-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-details strong{font-size:12px}.profile-details small{color:#85796e;font-size:10px}.side-nav{display:grid;gap:4px;padding:15px 0}.side-link{display:flex;min-height:42px;align-items:center;gap:10px;border-radius:12px;padding:0 12px;color:#766b61;font-size:12px;transition:background-color .15s ease,color .15s ease}.side-link:hover,.side-link.active{background:#efe7dd;color:#60462f}.side-link.active{font-weight:700}.help-card{margin-top:6px;border:1px solid #eadfd1;border-radius:13px;background:#f3ece3;padding:14px}.help-card strong{color:#60462f;font-size:11px}.help-card p{margin:7px 0;color:#85796e;font-size:10px;line-height:1.55}.dashboard-main{min-width:0}.page-heading{margin:2px 0 20px}.page-heading h1{font-size:32px}.page-heading p{margin-top:7px;font-size:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;scroll-margin-top:85px}.summary-card{display:flex;min-height:86px;align-items:center;gap:12px;border:1px solid #e9e1d8;border-radius:16px;background:#fffdfa;padding:14px;box-shadow:0 4px 14px #43332508}.summary-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:#f3ece4;color:#77563b}.summary-card strong,.summary-card small{display:block}.summary-card strong{color:#60462f;font-size:19px;line-height:1.1}.summary-card small{margin-top:5px;color:#85796e;font-size:10px}.summary-card .summary-total{display:inline;margin:0}.courses-section{overflow:hidden;border:1px solid #e9e1d8;border-radius:17px;background:#fffdfa;box-shadow:0 12px 32px #43332512;scroll-margin-top:86px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e9e1;padding:17px 20px}.section-heading h2{margin:0;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:21px;font-weight:400}.section-heading p{margin:5px 0 0;color:#85796e;font-size:10px}.course-count{flex:0 0 auto;border-radius:999px;background:#f4eee7;padding:6px 10px;color:#77563b;font-size:10px;font-weight:700}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.course-card{overflow:hidden;border:1px solid #e9dfd3;border-radius:14px;background:linear-gradient(120deg,#fcf8f2,#fffdfa)}.course-cover{position:relative;display:grid;height:142px;place-items:center;overflow:hidden;background:linear-gradient(135deg,#f3ece4,#e8dbca);color:#77563b}.course-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-placeholder{display:grid;width:62px;height:62px;place-items:center;border:1px solid #e1d1bf;border-radius:20px;background:#fffdfabf}.course-label{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:5px;border:1px solid #eee5da;border-radius:999px;background:#fffdfa;padding:5px 8px;color:#77563b;font-size:8px;font-weight:700;letter-spacing:.7px}.course-content{padding:14px}.course-content h3{margin:0;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:17px;font-weight:400}.course-description{min-height:35px;margin:7px 0 14px;color:#85796e;font-size:10px;line-height:1.6}.course-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#85796e;font-size:9px}.course-meta span{display:inline-flex;align-items:center;gap:5px}.course-meta span svg{color:#77563b}.course-meta strong{color:#60462f;font-size:10px}.progress-track{height:6px;overflow:hidden;margin-top:8px;border-radius:99px;background:#eee8e0}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9b795a,#77563b);transition:width .25s ease}.empty-state{display:grid;justify-items:center;padding:46px 20px;text-align:center}.empty-icon{display:grid;width:50px;height:50px;place-items:center;border-radius:16px;background:#f3ece4;color:#77563b}.empty-state h3{margin:14px 0 0;color:#60462f;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:18px;font-weight:400}.empty-state p{max-width:350px;margin:7px 0 0;color:#85796e;font-size:11px;line-height:1.6}.loading-screen,.fatal-error{display:grid;min-height:100vh;align-content:center;justify-items:center;gap:16px;padding:24px;text-align:center}.loading-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;background:#f3ece4;color:#77563b}.loading-screen p,.fatal-error p{color:#85796e;font-size:13px}.fatal-error .brand{margin-bottom:4px}@media(max-width:820px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.login-card{padding:36px}.dashboard-layout{grid-template-columns:180px minmax(0,1fr);gap:20px;padding-inline:20px}.summary-grid{gap:8px}.summary-card{gap:8px;padding:10px}.summary-icon{width:33px;height:33px}}@media(max-width:640px){.login-shell{grid-template-columns:1fr}.login-card{width:min(440px,100%);min-height:100vh;padding:30px 25px}.login-intro{margin-top:48px}.login-aside{display:none}.topbar-inner{min-height:62px;padding-inline:16px}.brand-mark{width:36px;height:36px}.brand-name{font-size:15px}.welcome-name{display:none}.avatar{width:35px;height:35px}.logout-button{width:36px;min-height:36px;overflow:hidden;padding:0;font-size:0}.logout-button svg{width:16px;height:16px}.dashboard-layout{display:block;padding:20px 16px 38px}.sidebar{margin-bottom:20px}.profile-summary{display:none}.side-nav{display:flex;gap:5px;overflow-x:auto;padding:0 0 12px}.side-link{min-height:37px;flex:0 0 auto;padding-inline:11px;font-size:11px}.help-card{display:none}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.summary-grid{gap:7px}.summary-card{min-height:80px;display:block;padding:9px}.summary-icon{width:29px;height:29px;margin-bottom:5px;border-radius:9px}.summary-icon svg{width:15px;height:15px}.summary-card strong{font-size:16px}.summary-card small{margin-top:3px;font-size:9px;line-height:1.25}.section-heading{padding:14px}.section-heading h2{font-size:19px}.course-grid{grid-template-columns:1fr;gap:11px;padding:11px}.course-cover{height:125px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
