:root{--easy-green:#8ec044;--easy-dark:#202a36;--easy-ink:#263341;--easy-muted:#78838e;--bs-primary:#568b3e;--bs-primary-rgb:86,139,62;--lte-sidebar-width:248px;--bs-body-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bs-body-color:#293745;--bs-body-font-size:.9rem;--bs-body-bg:#f5f7f9;--bs-border-color:#e7ebee;--bs-link-color:#487735;--bs-link-hover-color:#355928}
body{font-size:14px;-webkit-font-smoothing:antialiased}.app-wrapper{min-height:100vh}.app-main{background:#f5f7f9}.app-header{border-bottom:1px solid #e9edf0;min-height:78px;padding:12px 19px}.app-header .container-fluid{gap:12px}.app-sidebar{background:var(--easy-dark);color:#c5cbd2;border-right:0;display:flex;flex-direction:column}.sidebar-brand{height:118px;border-bottom:1px solid #ffffff0f;display:flex;align-items:center;justify-content:flex-start;padding:22px 29px}.brand-logo{width:158px;height:auto;display:block}.sidebar-wrapper{padding:20px 16px;flex:1}.sidebar-caption{font-size:9px;letter-spacing:1.8px;color:#94a1ae;font-weight:650;margin:15px 14px 15px;list-style:none}.sidebar-menu .sidebar-caption{margin-top:35px}.sidebar-menu .nav-link{display:flex;align-items:center;gap:12px;color:#b9c4ce;border-radius:7px;padding:12px 15px;margin:3px 0;font-size:13px;min-height:46px}.sidebar-menu .nav-link p{margin:0;font-weight:500}.sidebar-menu .nav-icon{font-size:17px!important;width:20px}.sidebar-menu .nav-link:hover{background:#ffffff08;color:#fff}.sidebar-menu .nav-link.active{background:#8ec0441a;color:#b6de78;border-left:3px solid #8ec044;padding-left:12px}.nav-tag{font-size:10px;background:#ffffff10;padding:1px 6px;border-radius:4px;margin-left:auto;color:#a5b0bb}.sidebar-bottom{display:flex;align-items:center;gap:9px;padding:21px 27px;font-size:11px;color:#91a0af;border-top:1px solid #ffffff0e}.sidebar-bottom .ms-auto{font-size:9px;letter-spacing:1px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ec044;flex-shrink:0}.inactive-dot{background:#a2aab2}.nav-menu-toggle{color:#75818e;font-size:22px;padding:2px 5px}.header-context{display:flex;gap:9px;align-items:center;font-size:12px;color:#74808a}.context-dot{height:6px;width:6px;background:#8ec044;border-radius:50%}.branch-switch{display:flex;align-items:center;gap:8px;color:#7c8790;padding-right:21px;border-right:1px solid #e5e9ed}.branch-switch select{border:0;box-shadow:none;background-color:transparent;width:auto;max-width:230px;font-size:12px;color:#445463;padding-left:0}.user-menu{padding:0;text-align:left;color:var(--easy-ink)}.user-copy strong{display:block;font-size:12px;font-weight:600}.user-copy small{display:block;font-size:10px;color:#8b96a0;margin-top:2px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#eff4e9;color:#598337;font-size:12px;font-weight:650}.avatar-lg{width:54px;height:54px;font-size:19px}.app-content-header{padding:27px 29px 17px}.app-content{padding:0 29px 30px}.breadcrumb-line{display:flex;align-items:center;gap:9px;color:#8b96a0;font-size:10px;margin-bottom:17px}.breadcrumb-line a{text-decoration:none;color:#8b96a0}.breadcrumb-line i{font-size:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading h1{font-size:27px;letter-spacing:-.75px;font-weight:650;line-height:1.25;margin:0 0 9px}.page-subtitle{color:#7e8993;font-size:12px;margin:0;line-height:1.6}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{font-size:12px;font-weight:550;padding:9px 15px;border-radius:6px}.btn-primary{--bs-btn-bg:#8ec044;--bs-btn-border-color:#8ec044;--bs-btn-color:#20380f;--bs-btn-hover-bg:#80b23a;--bs-btn-hover-border-color:#80b23a;--bs-btn-hover-color:#1d320f;--bs-btn-active-bg:#76a633;--bs-btn-active-border-color:#76a633;--bs-btn-active-color:#182c0c;--bs-btn-disabled-bg:#b3ce91;--bs-btn-disabled-border-color:#b3ce91;box-shadow:0 2px 3px #4865220a}.btn-outline-secondary{--bs-btn-color:#566574;--bs-btn-border-color:#dfe5e9;--bs-btn-hover-bg:#f0f3f5;--bs-btn-hover-color:#263341;--bs-btn-hover-border-color:#cbd4dc;background:#fff}.btn-light{background:#f4f6f8;border-color:#edf0f2;color:#667582}.btn-sm{padding:6px 10px;font-size:11px}.btn-lg{font-size:14px;padding:12px 18px}.card{border:1px solid #e5eaee;border-radius:9px;box-shadow:0 2px 4px #26334103;margin-bottom:0;background:#fff;overflow:hidden}.card-header{padding:19px 21px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f2}.card-title{font-size:13px;font-weight:650;margin:0;float:none;color:#334353}.card-header-link{font-size:10px;color:#71804f;text-decoration:none;white-space:nowrap}.card-header-link i{margin-left:6px}.card-body{padding:23px}.metric-card{display:block;background:#fff;border:1px solid #e5eaee;border-radius:9px;padding:21px 23px 18px;text-decoration:none;color:var(--easy-ink);transition:border-color .15s}.metric-card:hover{border-color:#b9d892;color:var(--easy-ink)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#687783;font-size:11px}.metric-top i{background:#f2f7eb;color:#74954e;padding:8px 10px;border-radius:8px;font-size:17px}.metric-card strong{display:block;font-size:34px;font-weight:650;line-height:1.3;letter-spacing:-1px;margin:5px 0}.metric-card small{font-size:10px;color:#93a08b}.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px}.branch-card{border:1px solid #e6ebed;border-radius:7px;padding:16px 17px;text-decoration:none;color:var(--easy-ink);background:linear-gradient(130deg,#fff,#fafbf9)}.branch-card:hover{border-color:#b6d58f;color:var(--easy-ink)}.branch-code{display:inline-flex;font-size:10px;letter-spacing:1px;padding:4px 7px;background:#edf3e6;color:#789459;font-weight:650;border-radius:4px}.branch-card .status-dot{margin-top:7px}.branch-card h3{font-size:14px;font-weight:650;margin:13px 0 6px}.branch-card p{font-size:10px;color:#83909a;margin:0 0 16px;min-height:16px}.branch-card-bottom{border-top:1px solid #edf0e9;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a959e}.branch-card-bottom i{color:#7a954f;font-size:15px}.quick-actions a{display:flex;align-items:center;gap:12px;border-radius:6px;padding:15px 12px;color:#435361;text-decoration:none}.quick-actions a:hover{background:#f7f9f4}.quick-actions strong{display:block;font-size:12px;font-weight:600}.quick-actions small{display:block;font-size:10px;color:#8d98a1;margin-top:4px}.quick-actions .bi-chevron-right{font-size:10px;color:#8d98a1}.quick-icon{display:inline-flex;align-items:center;justify-content:center;background:#f2f5ed;color:#7a9656;border-radius:7px;width:35px;height:35px;font-size:16px;flex-shrink:0}.activity-item{display:flex;gap:13px;padding-bottom:20px;position:relative}.activity-item:last-child{padding-bottom:0}.activity-marker{width:7px;height:7px;border-radius:50%;background:#a2b388;flex-shrink:0;margin-top:5px;position:relative;z-index:1}.activity-item:not(:last-child):before{content:"";position:absolute;left:3px;top:11px;bottom:0;border-left:1px solid #edf0e9}.activity-item strong{font-size:11px;font-weight:600}.activity-item p{font-size:11px;color:#71818c;margin:3px 0}.activity-item small{font-size:9px;color:#9ba6ae}.directory-tabs{display:flex;gap:25px;padding:0 22px;border-bottom:1px solid #e8edf0}.directory-tabs a{padding:18px 0 16px;text-decoration:none;color:#88939c;font-size:12px;border-bottom:2px solid transparent}.directory-tabs a.active{color:#527e32;border-bottom-color:#8ec044}.directory-tabs span,.count-badge{display:inline-block;font-size:10px;background:#f1f4f6;color:#80909b;padding:2px 6px;border-radius:4px;margin-left:6px}.table-filters{display:flex;gap:12px;padding:18px 22px;align-items:center}.search-field{position:relative;max-width:410px;flex:1}.search-field>i{position:absolute;left:13px;top:11px;color:#8e9aa5;font-size:13px}.search-field .form-control{padding-left:37px;font-size:12px}.role-filter{max-width:180px}.form-control,.form-select{border-color:#dde4e8;font-size:13px;padding:10px 12px;border-radius:6px;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#a0c76e;box-shadow:0 0 0 3px #8ec04418}.form-control::placeholder{color:#a0aab1;font-size:12px}.form-control[readonly]{background:#f7f8f9}.form-label{font-size:12px;font-weight:550;color:#4b5b67;margin-bottom:8px}.form-text{font-size:10px;line-height:1.55;color:#8c979f;min-height:0}.form-text:empty{display:none}.form-check-input:checked{background-color:#7ba63e;border-color:#7ba63e}.form-check-input:focus{box-shadow:0 0 0 3px #8ec04420;border-color:#8ec044}.directory-table{font-size:12px;margin-bottom:0}.directory-table thead th{font-size:10px;font-weight:600;letter-spacing:.2px;color:#8a969f;background:#fafbfd;padding:12px 22px;border-bottom:1px solid #edf0f3;white-space:nowrap}.directory-table tbody td{padding:16px 22px;border-color:#edf0f2;background:#fff}.directory-table tbody tr:last-child td{border-bottom:0}.directory-table td small{font-size:10px;margin-top:3px}.record-name{font-weight:550;color:#354552;text-decoration:none}.record-name:hover{color:#568b3e}.record-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f2f6eb;border-radius:7px;color:#819d55;font-size:17px;flex-shrink:0}.role-badge{display:inline-block;white-space:nowrap;padding:4px 8px;border-radius:4px;background:#f1f3f5;color:#788592;font-size:10px;font-weight:500}.role-admin{background:#f0ebf9;color:#8b72af}.role-management{background:#eaf0f7;color:#6c8da9}.role-instructor{background:#fcf0dc;color:#a88943}.role-student{background:#eef5e6;color:#809c58}.branch-tag{display:inline-block;font-size:10px;padding:3px 7px;margin:2px 3px 2px 0;border:1px solid #e8ecef;border-radius:4px;color:#80909a}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#778b64;white-space:nowrap;background:#f1f7e9;padding:4px 8px;border-radius:4px}.status-badge>span{width:5px;height:5px;border-radius:50%;background:#89ae5c}.status-badge.inactive{background:#f2f3f5;color:#939ca4}.status-badge.inactive>span{background:#a4adb5}.card-footer{background:#fff;border-top:1px solid #edf0f2;padding:16px 22px}.pagination-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px}.pagination-footer .pagination{margin:0}.pagination-footer nav>div:first-child{display:none!important}.pagination-footer nav p{display:none}.page-link{font-size:11px;color:#7e8d74;padding:6px 10px}.active>.page-link{background:#8ec044;border-color:#8ec044;color:#274011}.empty-state{text-align:center;padding:42px 20px}.empty-state>i{font-size:30px;color:#b1c494;margin-bottom:15px;display:block}.empty-state h3{font-size:14px;font-weight:500;color:#84919b;margin-bottom:18px}.form-body{padding:27px 30px}.form-section+.form-section{border-top:1px solid #edf0f2;margin-top:28px;padding-top:27px}.section-title{font-size:13px;font-weight:650;margin:0 0 25px}.required-mark{color:#80a648}.form-footer{display:flex;align-items:center;justify-content:space-between}.aside-icon{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:9px;background:#f1f7e8;color:#82a153;font-size:21px;margin-bottom:20px}.choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px;border:1px solid #e0e6e9;padding:15px;border-radius:6px;max-height:260px;overflow:auto}.choice-list .form-check,.radio-list .form-check{margin:0;font-size:12px}.radio-list{display:flex;gap:20px;padding:10px 0;flex-wrap:wrap}.toggle-field{margin-top:29px;min-height:27px;font-size:12px}.form-switch .form-check-input{width:2.4em;height:1.3em;margin-top:1px}.form-switch{padding-left:3em}.detail-label{font-size:11px;font-weight:500;color:#8a97a1;margin-bottom:8px}.detail-value{font-size:13px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.form-definition-card{display:block;text-decoration:none;color:var(--easy-ink)}.form-definition-card:hover{border-color:#bed997}.form-definition-card .card-body{padding:28px}.form-definition-card h2{font-size:18px;font-weight:600}.form-definition-card p{font-size:12px;color:#92a08a}.form-definition-card .d-flex{font-size:12px;color:#7a9858}.builder-switch{margin:0 0 25px}.builder-switch label{font-size:12px;font-weight:550}.builder-switch small{display:block;font-size:10px;color:#8a98a2;margin-top:5px}.system-field-note{background:#f6f8f3;padding:13px;font-size:11px;color:#879770;border-radius:6px;line-height:1.7}.field-inactive td{opacity:.55}.profile-branch{display:block;text-decoration:none;font-size:12px;border-top:1px solid #edf0f2;padding:13px 0;color:#6d805c}.order-controls{white-space:nowrap}.app-footer{font-size:10px;color:#97a2aa;border-top:1px solid #e8edf0;background:#fff;padding:15px 38px}.alert{font-size:12px;border-radius:7px}.alert-success{background:#f0f7e8;color:#537835;border-color:#d9e9c6}.skip-link{position:absolute;left:10px;top:-100px;z-index:9999;background:#fff;padding:12px}.skip-link:focus{top:10px}.easy-login{display:flex;min-height:100vh;background:#fff}.login-aside{width:43%;max-width:650px;background:#202a36;color:#fff;padding:55px 60px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-aside:after{content:"";position:absolute;border:1px solid #8ec04416;width:700px;height:700px;border-radius:50%;right:-360px;bottom:-290px;box-shadow:0 0 0 90px #8ec04403,0 0 0 180px #8ec04403;pointer-events:none}.login-brand{width:195px;position:relative;z-index:1}.login-aside-copy{margin:auto 0;padding:70px 0;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.9px;color:#a6c577;font-weight:600}.login-aside h1{font-size:34px;line-height:1.45;letter-spacing:-.8px;font-weight:550;margin:18px 0 35px}.login-lines{display:flex;flex-direction:column;gap:18px}.login-lines span{font-size:12px;color:#adbbc7}.login-lines i{color:#92bc5b;font-size:16px;margin-right:12px}.login-aside>small{font-size:10px;color:#7f919e}.login-main{display:flex;flex:1;align-items:center;justify-content:center;padding:65px 30px;position:relative}.login-panel{width:100%;max-width:375px}.login-panel h2{font-size:29px;font-weight:650;margin:13px 0 9px;letter-spacing:-.5px}.login-panel p{font-size:12px}.login-panel .form-control-lg{font-size:14px;min-height:46px}.login-panel .form-check-label{font-size:12px;color:#7b8994}.login-panel .input-group .btn{border-color:#dde4e8}.login-roles{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:27px}.login-roles span{font-size:9px;border:1px solid #e9edf0;padding:5px 7px;color:#95a0a8;border-radius:4px}.login-contact{font-size:10px!important;text-align:center;color:#98a3ab;margin:25px 0 0}.login-copyright{position:absolute;bottom:25px;font-size:10px;color:#a2abb2}.login-mobile-brand{display:none}.form-check-input:disabled~.form-check-label{opacity:.7}.btn:focus-visible,a:focus-visible{outline:3px solid #8ec04480;outline-offset:3px}
@media(min-width:1600px){.app-content,.app-content-header{padding-left:42px;padding-right:42px}.branch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199px){.header-context{display:none}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-aside{padding:40px}.login-aside h1{font-size:28px}.directory-table th,.directory-table td{padding-left:15px!important;padding-right:15px!important}}
@media(max-width:767px){.app-header{padding:9px 6px;min-height:65px}.user-copy{display:none}.branch-switch{padding-right:8px;border-right:0}.branch-switch select{max-width:170px;font-size:11px}.user-menu>.bi-chevron-down{display:none}.app-header .ms-auto{gap:8px!important}.app-content-header{padding:21px 9px 16px}.app-content{padding:0 9px 24px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading h1{font-size:24px}.page-actions{width:100%}.page-actions .btn{font-size:11px}.metric-card{padding:15px}.metric-card strong{font-size:28px}.metric-top i{padding:5px 7px;font-size:15px}.metric-card small{font-size:9px}.row.g-4{--bs-gutter-x:14px;--bs-gutter-y:14px}.branch-grid{grid-template-columns:1fr;padding:15px}.card-header{padding:16px}.table-filters{padding:15px;flex-wrap:wrap}.search-field{min-width:100%}.role-filter{flex:1;max-width:none}.form-body{padding:22px 18px}.form-footer{padding:15px}.choice-list{grid-template-columns:1fr}.toggle-field{margin-top:8px}.pagination-footer{align-items:flex-start;flex-direction:column}.login-aside{display:none}.login-main{padding:40px 25px 75px;min-height:100vh}.login-mobile-brand{display:block;margin-bottom:35px}.login-mobile-brand img{width:150px}.directory-tabs{gap:21px;padding:0 15px}.app-footer{padding:15px 21px}.card-header-link{font-size:9px}.login-panel h2{font-size:26px}}
