*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,html,li,ol,p,ul{margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;color:#212529;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ol,ul{list-style:none}a{color:inherit;text-decoration:none}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:none}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:#212529}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#7cb342;transition:color .15s ease-in-out}a:hover{color:#5a8a2e}small{font-size:.875rem}b,strong{font-weight:600}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem}code{padding:.25rem .5rem;border-radius:.25rem}code,pre{background-color:#f8f9fa}pre{padding:1rem;border-radius:.375rem;overflow-x:auto}pre code{padding:0;background-color:transparent}blockquote{padding-left:1.5rem;border-left:4px solid #7cb342;font-style:italic;color:#6c757d}hr{border:none;border-top:1px solid #e9ecef;margin:1.5rem 0}::selection{background-color:#7cb342;color:#fff}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:#7cb342}.text-secondary{color:#6c757d}.text-muted{color:#adb5bd}.text-success{color:#2eb85c}.text-danger{color:#e55353}.text-warning{color:#f9b115}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.mt-0{margin-top:0}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-sm{padding:.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.p-xl{padding:2rem}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:24rem}.max-w-md{max-width:32rem}.max-w-lg{max-width:48rem}.max-w-xl{max-width:64rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f8f9fa;border-radius:.375rem}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ced4da;border-radius:.375rem}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#adb5bd}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}:root{--cui-primary:#7cb342;--cui-primary-rgb:124,179,66;--cui-link-color:#2ba4b8;--cui-link-hover-color:#238a9b;--cui-secondary:#9da5b1;--cui-success:#2eb85c;--cui-danger:#e55353;--cui-warning:#f9b115;--cui-info:#39f;--cui-body-font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;--cui-border-radius:0.375rem}.sidebar{background-color:#212529}.sidebar .nav-link{color:hsla(0,0%,100%,.8)}.sidebar .nav-link:hover{color:#fff;background-color:hsla(0,0%,100%,.1)}.sidebar .nav-link.active{color:#fff;background-color:#7cb342}.sidebar .nav-group-toggle:after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba(255, 255, 255, 0.6)'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.header{border-bottom:1px solid #e9ecef;background-color:#fff}.header .header-nav{gap:.5rem}.header .header-nav .nav-link{color:#6c757d;padding:.5rem 1rem}.header .header-nav .nav-link:hover{color:#212529}.header .header-nav .nav-item{display:flex;align-items:center}.header .header-nav+.header-nav{margin-left:.5rem;padding-left:.5rem;border-left:1px solid #e9ecef}.header .header-separator{align-self:stretch;margin-right:.5rem;padding-right:.5rem;border-right:1px solid #e9ecef}.card{border:1px solid #e9ecef;border-radius:.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.card .card-header{background-color:#fff;border-bottom:1px solid #e9ecef;font-weight:600}.card .card-footer{background-color:#f9fafb;border-top:1px solid #e9ecef}.btn{font-weight:500;border-radius:.375rem;transition:all .15s ease-in-out}.btn:focus{box-shadow:0 0 0 3px rgba(124,179,66,.25)}.btn-primary{background-color:#7cb342;border-color:#7cb342}.btn-primary:hover{background-color:#5a8a2e;border-color:#5a8a2e}.btn-outline-primary{color:#2ba4b8;border-color:#2ba4b8}.btn-outline-primary:hover{background-color:#2ba4b8;border-color:#2ba4b8;color:#fff}.btn-outline-primary.active,.btn-outline-primary:active,.btn-outline-primary:active:focus{background-color:#238a9b;border-color:#238a9b;color:#fff}.btn-outline-primary:focus{box-shadow:0 0 0 3px rgba(43,164,184,.25)}.form-control{border-radius:.375rem;border-color:#dee2e6}.form-control:focus{border-color:#7cb342;box-shadow:0 0 0 3px rgba(124,179,66,.1)}.form-label{font-weight:500;color:#212529;margin-bottom:.25rem}.table th{font-weight:600;background-color:#f9fafb;border-bottom-width:2px}.table td{vertical-align:middle}.table tbody tr:hover{background-color:#f9fafb}.badge{font-weight:500;padding:.25rem .5rem;border-radius:9999px}.modal-content{border:none;border-radius:.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.modal-header{border-bottom:1px solid #e9ecef}.modal-footer{border-top:1px solid #e9ecef}.toast{border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.dropdown-menu{min-width:max-content}.dropdown-menu .dropdown-item{white-space:nowrap}.pagination .page-link{border-radius:.375rem;margin:0 2px}.pagination .page-link:focus{box-shadow:0 0 0 3px rgba(124,179,66,.25)}.pagination .page-item.active .page-link{background-color:#7cb342;border-color:#7cb342}.calendar{width:100%;background-color:#fff}.calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background-color:#f9fafb;border-bottom:1px solid #e9ecef}.calendar-header__day{padding:.5rem 1rem;text-align:center;font-weight:600;font-size:.875rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #e9ecef;table-layout:fixed}.calendar-day{min-height:120px;padding:.25rem;border-right:1px solid #e9ecef;border-bottom:1px solid #e9ecef;background-color:#fff;transition:background-color .15s ease-in-out;overflow:visible;min-width:0}.calendar-day--clickable{cursor:pointer}.calendar-day--empty,.calendar-day:hover{background-color:#f9fafb}.calendar-day--empty{cursor:default}.calendar-day--empty:hover{background-color:#f9fafb}.calendar-day--today{background-color:rgba(124,179,66,.05)}.calendar-day--today .calendar-day__number{background-color:#7cb342;color:#fff;border-radius:9999px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.calendar-day--weekend{background-color:#f9fafb}.calendar-day--weekend:hover{background-color:rgba(248,249,250,.8)}.calendar-day__number{font-size:.875rem;font-weight:500;color:#212529;margin-bottom:.25rem;height:28px;line-height:28px}.calendar-day__terms{display:flex;flex-direction:column;gap:2px;overflow:visible}.calendar-day__more{font-size:.75rem;color:#6c757d;padding:2px 4px;cursor:pointer;background-color:#f8f9fa;border-radius:.25rem;text-align:center;margin-top:2px}.calendar-day__more:hover{color:#7cb342;background-color:#e9ecef}.calendar-term{position:relative;min-height:22px;line-height:1.2;font-size:.75rem;color:#fff;cursor:pointer;overflow:hidden;transition:opacity .15s ease-in-out;margin-left:calc(-.25rem - 1px);margin-right:calc(-.25rem - 1px);padding:2px 6px;z-index:1;display:flex;align-items:center}.calendar-term:hover{opacity:.85;z-index:10}.calendar-term--multi-day{height:22px;min-height:22px;overflow:visible}.calendar-term--multi-day .calendar-term__label{display:block;white-space:nowrap;overflow:visible;text-overflow:clip}.calendar-term--start{margin-left:0;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;padding-left:8px;z-index:3}.calendar-term--end{margin-right:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;padding-right:8px;z-index:1}.calendar-term--single{margin-left:0;margin-right:0;border-radius:.375rem;padding:2px 8px;z-index:2}.calendar-term--week-start{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;z-index:3}.calendar-term--week-end{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;z-index:1}.calendar-term--canceled{opacity:.5;text-decoration:line-through}.calendar-term--placeholder{visibility:hidden;pointer-events:none;height:22px;min-height:22px}.calendar-term__label{font-weight:500;text-shadow:0 1px 1px rgba(0,0,0,.2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.2}.calendar-tooltip{text-align:left;padding:.25rem}.calendar-tooltip__title{font-weight:600;margin-bottom:.25rem;font-size:.875rem}.calendar-tooltip__info{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:hsla(0,0%,100%,.9);margin-bottom:2px}.calendar-tooltip__info svg{width:14px;height:14px;opacity:.8}.calendar-legend-color{width:16px;height:16px;border-radius:.25rem;flex-shrink:0}@media(max-width:768px){.calendar-header__day{padding:.25rem;font-size:.75rem}.calendar-day{min-height:80px;padding:2px}.calendar-day__number{font-size:.75rem;height:22px;line-height:22px}.calendar-term{min-height:18px;font-size:10px;margin-left:-2px;margin-right:-2px;padding:1px 4px}.calendar-term--single,.calendar-term--start{margin-left:0}.calendar-term--end,.calendar-term--single{margin-right:0}.calendar-term--multi-day,.calendar-term--placeholder{height:18px;min-height:18px}.calendar-term__label{-webkit-line-clamp:1}}@media(max-width:576px){.calendar-day{min-height:60px}.calendar-day__number{height:18px;line-height:18px}.calendar-term{min-height:14px;padding:1px 2px}.calendar-term--multi-day,.calendar-term--placeholder{height:14px;min-height:14px}.calendar-term__label{display:none}}.day-view-modal .modal-content{max-height:90vh}.day-view-modal .modal-body{overflow:hidden}.day-view{height:600px;overflow-y:auto}.day-view__grid{display:flex;min-height:100%}.day-view__hours{flex-shrink:0;width:60px;border-right:1px solid #e9ecef;background-color:#f9fafb}.day-view__hour{height:50px;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:.5rem;padding-top:2px}.day-view__hour-label{font-size:.75rem;color:#6c757d}.day-view__content{flex:1 1;position:relative;min-height:850px}.day-view__hour-line{position:absolute;left:0;right:0;height:1px;background-color:#e9ecef}.day-view__hour-line:first-child{background-color:transparent}.day-view__empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;font-size:.875rem}.day-view__term{position:absolute;border-radius:.375rem;color:#fff;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease-in-out,min-height .15s ease-in-out;min-height:30px}.day-view__term:hover{z-index:100;overflow:visible}.day-view__term:hover .day-view__term-content{position:absolute;top:0;left:0;right:0;min-height:100%;box-shadow:0 4px 12px rgba(0,0,0,.3)}.day-view__term:hover .day-view__term-name{white-space:normal;overflow:visible}.day-view__term:hover .day-view__term-info{display:flex}.day-view__term--canceled{opacity:.5}.day-view__term--canceled .day-view__term-name{text-decoration:line-through}.day-view__term-content{padding:.25rem .5rem;min-height:100%;display:flex;flex-direction:column;gap:1px;border-radius:.375rem}.day-view__term-name{font-weight:600;font-size:.75rem;text-shadow:0 1px 1px rgba(0,0,0,.2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.day-view__term-info,.day-view__term-time{font-size:10px;opacity:.9;line-height:1.2}.day-view__term-info{display:none;align-items:center;gap:4px}.day-view__term-info svg{width:10px;height:10px;flex-shrink:0}@media(max-width:576px){.day-view{height:500px}.day-view__hours{width:50px}.day-view__hour{height:40px}.day-view__content{min-height:680px}.day-view__term-content{padding:.25rem}.day-view__term-name{font-size:.75rem}.day-view__term-info{display:none}}.data-table__select-col{width:40px}.detail-field__value{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;min-height:1.5rem}.dashboard-layout{display:flex;min-height:100vh}.dashboard-wrapper{display:flex;flex-direction:column;flex:1 1;width:100%;transition:margin-left .25s ease-in-out}@media(min-width:992px){.dashboard-wrapper.sidebar-visible{margin-left:256px}.dashboard-wrapper.sidebar-visible.sidebar-narrow{margin-left:64px}}.dashboard-content{flex:1 1;display:flex;flex-direction:column;padding:1rem;background-color:#f8f9fa;min-height:calc(100vh - 64px)}@media(min-width:768px){.dashboard-content{padding:1.5rem}}.sidebar-brand-full{font-size:1.25rem;font-weight:700;letter-spacing:-.5px}.sidebar-brand-narrow{font-size:1.125rem;font-weight:700}.sidebar .sidebar-toggler{display:none!important}.sidebar-toggler-wrapper{margin-top:auto;border-top:1px solid hsla(0,0%,100%,.1)}.sidebar-toggler-wrapper .sidebar-toggler{display:flex!important;align-items:center;justify-content:center;width:100%;padding:1rem;background:transparent;border:none;color:hsla(0,0%,100%,.6);cursor:pointer;transition:color .15s ease-in-out,background-color .15s ease-in-out}.sidebar-toggler-wrapper .sidebar-toggler:hover{color:#fff;background-color:hsla(0,0%,100%,.05)}.sidebar-toggler-wrapper .sidebar-toggler:focus{outline:none}.sidebar-toggler-wrapper .sidebar-toggler:before{display:none!important}.sidebar-toggler-wrapper .sidebar-toggler svg{width:12px;height:12px}.page-header{margin-bottom:2rem}.page-header__title{font-size:1.5rem;font-weight:600;color:#212529;margin-bottom:.25rem}.page-header__subtitle{font-size:1rem;color:#6c757d}.page-header__actions{display:flex;gap:1rem;margin-top:1rem}@media(min-width:768px){.page-header__actions{margin-top:0}}.page-header-row{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.page-header-row{flex-direction:row;align-items:center;justify-content:space-between}}.stats-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef;padding:1.5rem;gap:1rem}.stats-card,.stats-card__icon{display:flex;align-items:center}.stats-card__icon{width:48px;height:48px;border-radius:.5rem;justify-content:center;font-size:1.5rem}.stats-card__icon--primary{background-color:rgba(124,179,66,.1);color:#7cb342}.stats-card__icon--success{background-color:rgba(46,184,92,.1);color:#2eb85c}.stats-card__icon--warning{background-color:rgba(249,177,21,.1);color:#f9b115}.stats-card__icon--info{background-color:rgba(51,153,255,.1);color:#39f}.stats-card__content{flex:1 1}.stats-card__value{font-size:1.5rem;font-weight:700;color:#212529;line-height:1}.stats-card__label{font-size:.875rem;color:#6c757d;margin-top:.25rem}.data-table-wrapper{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e9ecef;overflow:hidden}.data-table-wrapper .table{margin-bottom:0}.btn-quick-action{color:#2ba4b8;border-color:#2ba4b8;background-color:transparent;transition:all .15s ease-in-out}.btn-quick-action:focus,.btn-quick-action:hover{color:#fff;background-color:#2ba4b8;border-color:#2ba4b8}.btn-quick-action:active{color:#fff;background-color:#238a9b;border-color:#238a9b}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state__icon{font-size:4rem;opacity:.3;margin-bottom:1rem}.empty-state__title{font-size:1.125rem;font-weight:600;color:#212529;margin-bottom:.5rem}.empty-state__text{margin-bottom:1.5rem}.app-version{text-align:center;padding:1.5rem 1rem;margin-top:auto;font-size:.75rem;color:#adb5bd;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:.02em}.auth-layout{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.auth-layout__container{flex:1 1;display:flex;align-items:center;justify-content:center;padding:1rem;width:100%}.auth-layout__container>*{width:100%;max-width:450px}.auth-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e9ecef}.auth-header__home{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:#f8f9fa;color:#212529;text-decoration:none;transition:background-color .2s,transform .2s}.auth-header__home:hover{background-color:#e9ecef;transform:translateY(-1px)}.auth-header-wrapper{flex-shrink:0}.auth-card{background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);overflow:hidden}.auth-card__header{background:linear-gradient(135deg,#7cb342,#5a8a2e);padding:2rem;text-align:center;color:#fff}.auth-card__logo{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.auth-card__logo img{background-color:#fff;padding:.5rem 1rem;border-radius:.375rem;box-shadow:0 2px 8px rgba(0,0,0,.15)}.auth-card__logo-image{width:auto;height:60px}.auth-card__subtitle{font-size:.875rem;opacity:.9}.auth-card__body{padding:2rem}.auth-card__footer{padding:1rem 2rem 2rem;text-align:center;border-top:1px solid #e9ecef;background-color:#f9fafb}.auth-form__group,.auth-form__hint{margin-bottom:1.5rem}.auth-form__hint{padding:1rem;border-radius:.375rem;background-color:#f8f9fa;color:#6c757d;font-size:.875rem;line-height:1.5}.auth-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.auth-form__label{display:block;font-size:.875rem;font-weight:500;color:#212529;margin-bottom:.25rem}.auth-form__input{width:100%;padding:.5rem 1rem;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.auth-form__input::placeholder{color:#adb5bd}.auth-form__input:focus{border-color:#7cb342;outline:none;box-shadow:0 0 0 3px rgba(124,179,66,.1)}.auth-form__input:disabled{background-color:#f8f9fa;cursor:not-allowed}.auth-form__input-icon{position:relative}.auth-form__input-icon .auth-form__input{padding-left:2.75rem}.auth-form__input-icon:before{content:"";position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;background-color:#ced4da}.auth-form__error{margin-top:.25rem;font-size:.875rem;color:#e55353}.auth-form__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media(max-width:575px){.auth-form__row{grid-template-columns:1fr}}.auth-form__submit{width:100%;padding:1rem;font-size:1rem;font-weight:600;color:#fff;background-color:#7cb342;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease-in-out}.auth-form__submit:hover:not(:disabled){background-color:#5a8a2e}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-form__link{color:#7cb342;text-decoration:none;font-weight:500}.auth-form__link:hover{text-decoration:underline}.auth-form__divider{display:flex;align-items:center;margin:1.5rem 0;color:#adb5bd;font-size:.875rem}.auth-form__divider:after,.auth-form__divider:before{content:"";flex:1 1;height:1px;background-color:#dee2e6}.auth-form__divider:before{margin-right:1rem}.auth-form__divider:after{margin-left:1rem}.auth-alert{padding:1rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem}.auth-alert--error{background-color:rgba(229,83,83,.1);border:1px solid #e55353;color:#d93737}.auth-alert--success{background-color:rgba(46,184,92,.1);border:1px solid #2eb85c;color:#1b9e3e}.eduline-public-profile{--profile-primary:#7cb342;--profile-primary-hover:#5a8a2e;--profile-on-primary:#fff;--profile-accent:#2ba4b8;--profile-on-accent:#fff;--profile-primary-soft:#f8f9fa;--profile-bg:#fff;--profile-surface:#fff;--profile-surface-alt:#f9fafb;--profile-text:#212529;--profile-text-muted:#6c757d;--profile-border:#dee2e6;--profile-radius:0.375rem;--profile-card-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--profile-card-border:transparent;--profile-cover-overlay:0.4;--profile-font:var(--profile-font-family,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif);min-height:100vh;background-color:var(--profile-bg);color:var(--profile-text);font-family:var(--profile-font);line-height:1.5}@supports (color:color-mix(in oklch,#000,#fff)){.eduline-public-profile{--profile-primary-soft:color-mix(in srgb,var(--profile-primary) 12%,transparent)}}.eduline-public-profile h1,.eduline-public-profile h2,.eduline-public-profile h3,.eduline-public-profile h4,.eduline-public-profile h5,.eduline-public-profile h6{color:inherit}:where(.eduline-public-profile) a{color:var(--profile-primary)}.eduline-public-profile[data-theme=DEFAULT]{--profile-primary:#7cb342;--profile-primary-hover:#5a8a2e;--profile-accent:#2ba4b8}.eduline-public-profile[data-theme=OCEAN]{--profile-primary:#0b6e99;--profile-primary-hover:#085b7f;--profile-accent:#0f9ea6}.eduline-public-profile[data-theme=FOREST]{--profile-primary:#2f6f4e;--profile-primary-hover:#275c41;--profile-accent:#86b049}.eduline-public-profile[data-theme=SUNSET]{--profile-primary:#c2513a;--profile-primary-hover:#a24330;--profile-accent:#e8a33d}.eduline-public-profile[data-theme=MONO]{--profile-primary:#212529;--profile-primary-hover:#000;--profile-accent:#6c757d}.eduline-public-profile[data-mode=DARK]{--profile-bg:#12161b;--profile-surface:#1a1f26;--profile-surface-alt:#171c22;--profile-text:#e8eaed;--profile-text-muted:#a4acb8;--profile-border:#2b323b}.eduline-public-profile[data-cards=FLAT]{--profile-card-shadow:none}.eduline-public-profile[data-cards=OUTLINE]{--profile-card-shadow:none;--profile-card-border:var(--profile-border)}.eduline-public-profile[data-radius=NONE]{--profile-radius:0}.eduline-public-profile[data-radius=LARGE]{--profile-radius:1rem}.eduline-public-profile[data-overlay="0"]{--profile-cover-overlay:0}.eduline-public-profile[data-overlay="10"]{--profile-cover-overlay:0.1}.eduline-public-profile[data-overlay="20"]{--profile-cover-overlay:0.2}.eduline-public-profile[data-overlay="30"]{--profile-cover-overlay:0.3}.eduline-public-profile[data-overlay="40"]{--profile-cover-overlay:0.4}.eduline-public-profile[data-overlay="50"]{--profile-cover-overlay:0.5}.eduline-public-profile[data-overlay="60"]{--profile-cover-overlay:0.6}.eduline-public-profile[data-overlay="70"]{--profile-cover-overlay:0.7}.eduline-public-profile[data-overlay="80"]{--profile-cover-overlay:0.8}.profile-container{width:100%;max-width:1140px;margin:0 auto;padding:0 1.5rem}.profile-section{padding:4.5rem 0}@media(max-width:767px){.profile-section{padding:3rem 0}}.profile-section--alt{background-color:var(--profile-surface-alt)}.profile-section__header{margin-bottom:2rem;text-align:center}.profile-section__title{margin:0 0 .5rem;font-size:1.875rem;font-weight:700;line-height:1.25}.profile-section__subtitle{max-width:760px;margin:0 auto;color:var(--profile-text-muted)}.profile-card{background-color:var(--profile-surface);border:1px solid var(--profile-card-border);border-radius:var(--profile-radius);box-shadow:var(--profile-card-shadow);overflow:hidden}.profile-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--profile-radius);font-weight:600;text-decoration:none;transition:background-color .15s ease-in-out,color .15s ease-in-out}.profile-button--primary{background-color:var(--profile-primary);color:var(--profile-on-primary)}.profile-button--primary:hover{background-color:var(--profile-primary-hover);color:var(--profile-on-primary)}.profile-button--outline{border-color:currentcolor;color:inherit}.profile-button--outline:hover{background-color:var(--profile-primary);border-color:var(--profile-primary);color:var(--profile-on-primary)}.profile-rich-text{color:var(--profile-text)}.profile-rich-text>:first-child{margin-top:0}.profile-rich-text>:last-child{margin-bottom:0}.profile-rich-text h2,.profile-rich-text h3{margin:1.5rem 0 .5rem;font-weight:600;line-height:1.25}.profile-rich-text h2{font-size:1.5rem}.profile-rich-text h3{font-size:1.25rem}.profile-rich-text ol,.profile-rich-text p,.profile-rich-text ul{margin:0 0 1rem}.profile-rich-text ol,.profile-rich-text ul{padding-left:1.5rem;list-style:revert}.profile-rich-text li{margin-bottom:.25rem}.profile-rich-text li::marker{color:var(--profile-accent)}.profile-rich-text blockquote{margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--profile-accent);color:var(--profile-text-muted)}.profile-rich-text hr{margin:2rem 0;border:0;border-top:1px solid var(--profile-border)}.profile-nav{position:-webkit-sticky;position:sticky;top:0;z-index:1020;background-color:var(--profile-surface);border-bottom:1px solid var(--profile-border)}.profile-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}.profile-nav__brand{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0;max-width:45%;font-weight:600;color:var(--profile-text);text-decoration:none;white-space:nowrap}.profile-nav__brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-nav__logo{height:36px;width:auto;object-fit:contain}.profile-nav__links{display:flex;flex-wrap:nowrap;gap:1rem;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.profile-nav__links::-webkit-scrollbar{display:none}@media(max-width:767px){.profile-nav__links{display:none}}.profile-nav__link{display:block;padding:.25rem 0;border-bottom:2px solid transparent;font-size:.875rem;white-space:nowrap;color:var(--profile-text-muted);text-decoration:none;transition:color .15s ease-in-out,border-color .15s ease-in-out}.profile-nav__link:hover{color:var(--profile-primary);border-bottom-color:var(--profile-accent)}.profile-hero{position:relative;display:flex;align-items:center;min-height:26rem;padding:4.5rem 0;overflow:hidden}@media(max-width:767px){.profile-hero{min-height:20rem}}.profile-hero__background{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}.profile-hero__overlay{position:absolute;inset:0;background-color:#000;opacity:var(--profile-cover-overlay)}.profile-hero__content{position:relative;width:100%}.profile-hero__logo{height:88px;width:auto;object-fit:contain;margin-bottom:1.5rem}.profile-hero__title{margin:0 0 .5rem;font-size:2.25rem;font-weight:700;line-height:1.25}.profile-hero__headline{margin:0 0 1rem;font-size:1.25rem;color:var(--profile-text-muted)}.profile-hero__perex{max-width:760px;margin-bottom:1.5rem}.profile-hero__actions{display:flex;flex-wrap:wrap;gap:1rem}.profile-hero--compact{min-height:auto;padding:4.5rem 0 2rem}.profile-hero--has-cover{color:#fff}.profile-hero--has-cover .profile-hero__headline,.profile-hero--has-cover .profile-hero__perex{color:hsla(0,0%,100%,.85)}.profile-hero--has-cover .profile-rich-text{color:inherit}.eduline-public-profile[data-layout=HERO_CENTERED] .profile-hero{text-align:center}.eduline-public-profile[data-layout=HERO_CENTERED] .profile-hero .profile-hero__perex{margin-left:auto;margin-right:auto}.eduline-public-profile[data-layout=HERO_CENTERED] .profile-hero .profile-hero__actions{justify-content:center}.eduline-public-profile[data-layout=HERO_SPLIT] .profile-hero__content{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}@media(max-width:767px){.eduline-public-profile[data-layout=HERO_SPLIT] .profile-hero__content{grid-template-columns:1fr}}.eduline-public-profile[data-layout=HERO_SPLIT] .profile-hero__media{border-radius:var(--profile-radius);overflow:hidden}.eduline-public-profile[data-layout=MINIMAL] .profile-hero{min-height:auto;padding:4.5rem 0 2rem;border-bottom:1px solid var(--profile-border)}.profile-text-image{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;align-items:center}@media(max-width:767px){.profile-text-image{grid-template-columns:1fr;gap:1.5rem}}.profile-text-image__media{border-radius:var(--profile-radius);overflow:hidden}.profile-text-image__image{width:100%;height:auto;display:block}.profile-text-image--image-right .profile-text-image__media{order:2}.profile-grid{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media(max-width:991px){.profile-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.profile-grid{grid-template-columns:1fr}}.profile-grid--quarters{grid-template-columns:repeat(4,1fr)}@media(max-width:991px){.profile-grid--quarters{grid-template-columns:repeat(2,1fr)}}.profile-grid--halves{grid-template-columns:repeat(2,1fr)}@media(max-width:767px){.profile-grid--halves{grid-template-columns:1fr}}.profile-feature{padding:2rem 1.5rem;text-align:center}.profile-feature__icon{display:block;box-sizing:content-box;padding:1rem;margin:0 auto 1rem;border-radius:9999px;background-color:var(--profile-primary-soft);color:var(--profile-primary)}.profile-feature__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.profile-feature__text{margin:0;color:var(--profile-text-muted)}.profile-stat{padding:1.5rem;text-align:center}.profile-stat__value{display:block;font-size:2.25rem;font-weight:700;color:var(--profile-primary);line-height:1.25}.profile-stat__label{color:var(--profile-text-muted)}.profile-course{display:flex;flex-direction:column}.profile-course__image{width:100%;height:180px;object-fit:cover}.profile-course__body{display:flex;flex-direction:column;flex:1 1;padding:1.5rem}.profile-course__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.profile-course__description{flex:1 1;margin-bottom:1rem;color:var(--profile-text-muted)}.profile-course__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--profile-text-muted)}.profile-course__meta-item{display:flex;align-items:center;justify-content:center;gap:.25rem;justify-content:flex-start}.profile-terms{overflow-x:auto}.profile-terms__table{width:100%;border-collapse:collapse}.profile-terms__row{border-bottom:1px solid var(--profile-border)}.profile-terms__cell{padding:1rem;text-align:left;vertical-align:middle}.profile-terms__date{font-weight:600;white-space:nowrap}.profile-terms__capacity{color:var(--profile-text-muted);white-space:nowrap}.profile-terms__capacity--full{color:#e55353}.profile-terms__map-link{display:block;color:var(--profile-primary);font-size:.875rem;text-decoration:underline}.profile-faq{max-width:760px;margin:0 auto}.profile-faq__item{border-bottom:1px solid var(--profile-border);padding:1rem 0}.profile-faq__question{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.profile-gallery__image{width:100%;height:200px;object-fit:cover;border-radius:var(--profile-radius)}.profile-gallery__caption{margin-top:.25rem;font-size:.875rem;color:var(--profile-text-muted)}.profile-testimonial{padding:1.5rem}.profile-testimonial__quote{margin:0 0 1rem;font-style:italic}.profile-testimonial__author{display:flex;align-items:center;justify-content:center;gap:.5rem;justify-content:flex-start}.profile-testimonial__avatar{width:48px;height:48px;border-radius:9999px;object-fit:cover}.profile-testimonial__name{font-weight:600}.profile-testimonial__company{font-size:.875rem;color:var(--profile-text-muted)}.profile-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem}.profile-logos__item{height:64px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .15s ease-in-out,opacity .15s ease-in-out}.profile-logos__item:hover{filter:none;opacity:1}.profile-cta{text-align:center}.profile-cta__inner{padding:3rem 1.5rem;border-radius:var(--profile-radius);background-color:var(--profile-primary);color:var(--profile-on-primary)}.profile-cta__title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.profile-cta__text{margin-bottom:1.5rem;color:inherit}.profile-cta__inner .profile-button--outline:hover{background-color:var(--profile-on-primary);border-color:var(--profile-on-primary);color:var(--profile-primary)}.profile-contact{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:3rem;gap:3rem}@media(max-width:767px){.profile-contact{grid-template-columns:1fr;gap:1.5rem}}.profile-contact__list{margin:0;padding:0;list-style:none}.profile-contact__item{display:flex;align-items:center;justify-content:center;gap:.5rem;justify-content:flex-start;padding:.5rem 0}.profile-contact__icon{color:var(--profile-primary);flex-shrink:0}.profile-contact__social{display:flex;gap:1rem;margin-top:1.5rem}.profile-contact__social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;background-color:var(--profile-surface-alt);color:var(--profile-primary)}.profile-contact__social-link:hover{background-color:var(--profile-primary);color:var(--profile-on-primary)}.profile-footer{padding:2rem 0;border-top:3px solid var(--profile-accent);background-color:var(--profile-surface-alt);font-size:.875rem;color:var(--profile-text-muted)}.profile-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.profile-footer__name{font-weight:600;color:var(--profile-text)}.profile-footer__links{display:flex;flex-wrap:wrap;gap:1.5rem}.profile-preview-banner{padding:.5rem 1.5rem;background-color:#f9b115;color:#212529;text-align:center;font-weight:500}