:root{--primary-color: #1f355f;--primary-hover: #1a2d50;--primary-disabled: #e7eaef;--success-color: #22c55e;--success-hover: #0ab048;--success-disabled: #46d27b;--danger-color: #ef4444;--danger-hover: #db1818;--danger-disabled: #dd4848;--warning-color: #ff5a24;--warning-hover: #ff7815;--warning-disabled: #ff9b53;--info-color: #00c2cb;--info-hover: #00c2cb;--info-disabled: #e5f9fa;--secondary-color: #f1f5f9;--secondary-hover: #f5f6f8;--secondary-disabled: #e2e8f0;--dark-color: #000000;--text-color: #1f2937;--text-light: #e2e8f0;--text-muted: #94a3b8;--text-label: #64748b;--text-focus: #4f6079;--text-slate: #6b7a8a;--text-slate-dark: #2c3e50;--text-slate-light: #2a6f97;--text-counter: #1e4a6b;--light-bg: #f4f7fc;--dark-bg: #1f2937;--body-bg: #f8fafc;--border-color: #ecedef;--border-light-color: #f1f5f9;--border-radius-xs: .625rem;--border-radius-sm: .75rem;--border-radius-md: 1.25rem;--border-radius-lg: 1.5rem;--border-radius-xl: 1.75rem;--border-radius-2xl: 2rem;--border-radius-3xl: 2.5rem}*{box-sizing:border-box}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;min-height:100dvh;color:var(--text-dark);background-color:var(--light-bg)}.color-primary{color:var(--primary-color)!important}.color-success{color:var(--success-color)!important}.color-danger{color:var(--danger-color)!important}.color-warning{color:var(--warning-color)!important}.color-info{color:var(--info-color)!important}.color-text{color:var(--text-color)!important}.color-dark{color:var(--text-dark)!important}.color-light{color:var(--text-light)!important}.color-muted{color:var(--text-muted)!important}.color-label{color:var(--text-label)!important}.color-focus{color:var(--text-focus)!important}.color-slate{color:var(--text-slate)!important}.color-slate-dark{color:var(--text-slate-dark)!important}.color-slate-light{color:var(--text-slate-light)!important}.color-counter{color:var(--text-counter)!important}.bg-primary{background-color:var(--primary-color)!important}.bg-success{background-color:var(--success-color)!important}.bg-danger{background-color:var(--danger-color)!important}.bg-warning{background-color:var(--warning-color)!important}.bg-info{background-color:var(--info-color)!important}.bg-light{background-color:var(--light-bg)!important}.bg-dark{background-color:var(--bg-dark)!important}.bg-body{background-color:var(--body-bg)!important}.border-primary{border-color:var(--primary-color)!important}.border-success{border-color:var(--success-color)!important}.border-danger{border-color:var(--danger-color)!important}.border-warning{border-color:var(--warning-color)!important}.border-light{border-color:var(--light-bg)!important}.rounded-xs{border-radius:var(--border-radius-xs)!important}.rounded-sm{border-radius:var(--border-radius-sm)!important}.rounded-md{border-radius:var(--border-radius-md)!important}.rounded-lg{border-radius:var(--border-radius-lg)!important}.rounded-xl{border-radius:var(--border-radius-xl)!important}.rounded-2xl{border-radius:var(--border-radius-2xl)!important}.rounded-3xl{border-radius:var(--border-radius-3xl)!important}.p-xs{padding:var(--border-radius-xs)!important}.p-sm{padding:var(--border-radius-sm)!important}.p-md{padding:var(--border-radius-md)!important}.p-lg{padding:var(--border-radius-lg)!important}.p-xl{padding:var(--border-radius-xl)!important}.p-2xl{padding:var(--border-radius-2xl)!important}.p-3xl{padding:var(--border-radius-3xl)!important}.text-clamp{line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-clamp:1;overflow:hidden}.text-clamp-2{line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.text-clamp-3{line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden}.card{border:0;box-shadow:1px 1px 12px -8px #0000000d;border:1px solid var(--border-color);border-radius:.75rem}.card-header{padding:.75rem 1rem;background-color:transparent;border-bottom:1px solid var(--border-light-color);font-size:15px;font-weight:500;color:var(--text-focus)}.card-footer{padding:.675rem 1rem;background-color:transparent;border-top:1px solid var(--border-light-color);border-radius:.75rem}.card-header:first-child{border-radius:12px 12px 0 0}.card-footer:last-child{border-radius:0 0 12px 12px}.card-footer .btn-icon{width:32px;height:32px;padding:0}.card-footer .btn-icon svg{width:18px;height:18px;stroke-width:1.5px}.btn{--bs-btn-padding-y: .125rem;--bs-btn-padding-x: 1.25rem;position:relative;border:none;box-shadow:none;border-radius:.75rem;display:flex;align-items:center;justify-content:center;min-height:46px}.btn-md{--bs-btn-font-size: 15px;border-radius:.625rem;min-height:41px}.btn-theme{--bs-btn-color: #fff;--bs-btn-bg: var(--info-color);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--info-hover);--bs-btn-focus-shadow-rgb: none;--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--info-hover);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: var(--info-color)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: var(--primary-color);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--primary-hover);--bs-btn-focus-shadow-rgb: none;--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--primary-hover);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: var(--primary-color)}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: var(--success-color);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--success-hover);--bs-btn-focus-shadow-rgb: none;--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--success-hover);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: var(--success-color)}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: var(--danger-color);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--danger-hover);--bs-btn-focus-shadow-rgb: none;--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--danger-hover);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: var(--danger-color)}.btn-warning{--bs-btn-color: #fff;--bs-btn-bg: var(--warning-color);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--warning-hover);--bs-btn-focus-shadow-rgb: none;--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--warning-hover);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: var(--warning-color)}.btn-secondary{--bs-btn-color: var(--text-muted);--bs-btn-bg: var(--secondary-color);--bs-btn-hover-color: var(--text-muted);--bs-btn-hover-bg: var(--secondary-hover);--bs-btn-active-color: var(--text-muted);--bs-btn-active-bg: var(--secondary-hover);--bs-btn-disabled-color: var(--text-muted);--bs-btn-disabled-bg: var(--secondary-color)}.btn-light{--bs-btn-color: var(--text-label);--bs-btn-bg: #f8f9fa;--bs-btn-hover-color: var(--text-label);--bs-btn-hover-bg: var(--secondary-hover);--bs-btn-active-color: var(--text-label);--bs-btn-active-bg: var(--secondary-hover);--bs-btn-disabled-color: var(--text-muted)}.btn-loading{overflow:hidden}.btn-loading .container-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:inherit}.btn-sm{border-radius:.525rem;--bs-btn-padding-y: .575rem;--bs-btn-padding-x: .75rem;--bs-btn-font-size: 13px;min-height:auto}.btn-icon{padding:.75rem .875rem;border-radius:.625rem}.btn-icon:hover{background-color:#f8f9fa}.btn-icon.btn-sm{padding:0;min-width:34px;width:34px;height:34px}.spinner-border{--bs-spinner-border-width: .15em}.spinner-border-sm{--bs-spinner-border-width: .1em;--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}.auth-container{display:flex;align-items:center;justify-content:center;height:100dvh;background-color:var(--primary-color)}.auth-brand,.auth-form{display:flex;justify-content:center;align-items:center;flex:1 0 0;padding:1rem;height:100%}.auth-form{border-radius:1.375rem 0 0 1.375rem;background-color:#fff}.auth-brand figure{display:flex;justify-content:center;align-items:center;width:100%;max-width:280px;aspect-ratio:1/1;background-color:#fff;border-radius:50%}.auth-card{border-radius:1.5rem;padding:2.5rem;width:100%;max-width:420px;border:0}@media(max-width:896px){.auth-container{flex-direction:column}.auth-brand figure{max-width:250px}.auth-form{border-radius:1.375rem 1.375rem 0 0;width:100%;padding:0;min-height:55dvh}}@media(max-width:396px){.auth-card{padding:1rem}}.app-field{position:relative}.form-control,.form-select{border:2px solid var(--border-light-color);color:var(--text-focus);padding:.125rem 1rem;border-radius:.75rem;min-height:46px;box-shadow:none!important;transition:all .3s ease}.form-control:focus,.form-select:focus{border-color:#183160bf;color:var(--text-color)}.form-control::placeholder{color:var(--text-muted);opacity:.5}.form-label{color:var(--text-muted);font-size:.812rem;font-weight:500;margin-bottom:.125rem;padding:0 .75rem}.app-field .btn-reveal{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);z-index:5;border:none;background:transparent;color:var(--text-light);min-width:35px;min-height:35px;padding:0;display:flex;justify-content:center;align-items:center;transition:all .3s ease}.app-field .btn-reveal:hover{color:var(--text-muted)}.search-control .icon-prefix{position:absolute;top:50%;left:.25rem;transform:translateY(-50%);z-index:5;min-width:35px;min-height:35px;padding:0;display:flex;justify-content:center;align-items:center;color:var(--text-muted)}.search-control .btn-reveal{color:var(--text-muted)}.search-control .form-control{padding-left:2.325rem;padding-right:2.325rem}.search-control .spinner-border{--bs-spinner-width: 19px !important;--bs-spinner-height: 19px !important;--bs-spinner-border-width: .1em}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:none;border-color:var(--danger-color)}.app-field.is-invalid .form-control,.app-field.is-invalid .form-select{background-image:none;border-color:var(--danger-color)}.invalid-feedback{padding:0 .75rem;margin-top:.125rem;font-size:.825em;font-weight:500;color:var(--danger-color)}.is-invalid .invalid-feedback{display:block}.chip{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem .5rem;border-radius:.75rem;font-size:11px;font-weight:600}.chip-primary{background-color:#eff6ff!important;color:var(--primary-color)!important}.chip-secondary{background-color:#f1f5f9;color:var(--text-muted)}.chip-success{background-color:#f0fdf4!important;color:var(--success-color)!important}.chip-danger{background-color:#fff1f2!important;color:var(--danger-color)!important}.chip-warning{background-color:#fff5ee!important;color:var(--warning-color)!important}.chip-info{background-color:#ecfeff!important;color:var(--info-color)!important}.chip-rounded{min-width:38px;height:38px;padding:.25rem;border-radius:.75rem;justify-content:center}.chip-dot{--dot-size: .625rem;display:inline-flex;width:var(--dot-size);height:var(--dot-size);border-radius:50%;aspect-ratio:1;padding:0}.chip-dot.primary{background-color:var(--primary-color)}.chip-dot.success{background-color:var(--success-color)}.chip-dot.warning{background-color:var(--warning-color)}.chip-dot.danger{background-color:var(--danger-color)}.chip-dot.disabled{background-color:var(--secondary-disabled)}.modal-content{color:var(--text-color)}.app-modal .modal-header{padding-bottom:.625rem;border:0}.app-modal .modal-header .btn-close{opacity:.15;min-height:auto}.app-modal .modal-body{padding:.75rem}.app-modal .modal-footer{padding-top:0;border:0}.app-modal.modal-confirm .modal-dialog{--bs-modal-width: 320px;max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.offcanvas-header{padding:var(--bs-offcanvas-padding-y) 1rem}.offcanvas-title{color:var(--primary-color);font-weight:500;font-size:19px}.offcanvas-footer{border-top:1px solid var(--border-light-color)}.app-offcanvas{--bs-offcanvas-color: var(--primary-color);--bs-offcanvas-bg: #f8fafc;--bs-offcanvas-border-width: 0;--bs-offcanvas-padding-x: .75rem;--bs-offcanvas-padding-y: .75rem;--bs-offcanvas-transition: transform .3s ease-in-out;width:100%!important;max-width:var(--bs-offcanvas-width)!important}.app-offcanvas.off-xs{--bs-offcanvas-width: 380px}.app-offcanvas.off-sm{--bs-offcanvas-width: 480px}.app-offcanvas.off-md{--bs-offcanvas-width: 576px}.app-offcanvas.off-lg{--bs-offcanvas-width: 640px}.app-offcanvas.off-xl{--bs-offcanvas-width: 850px}@media(min-width:576px){.app-offcanvas{border-top-left-radius:var(--border-radius-md);border-bottom-left-radius:var(--border-radius-md)}}.app-offcanvas .offcanvas-header .btn-close{opacity:.15;min-height:auto}.app-offcanvas .offcanvas-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem}.display-avatar{max-width:40px;min-width:40px;height:40px;padding:0;display:flex;justify-content:center;align-items:center;border-radius:50%!important;object-fit:cover;background-color:var(--border-light-color);color:var(--text-muted)}.display-avatar.letter{text-transform:uppercase;font-size:13px;letter-spacing:.5px;font-weight:400}.display-avatar.avatar-xxl{max-width:68px;min-width:68px;height:68px}.display-avatar.avatar-xl{max-width:56px;min-width:56px;height:56px}.display-avatar.avatar-lg{max-width:46px;min-width:46px;height:46px}.display-avatar.avatar-md{max-width:36px;min-width:36px;height:36px}.display-avatar.avatar-sm{max-width:28px;min-width:28px;height:28px}.display-avatar.avatar-rounded{border-radius:.625rem!important}.dashboard-container{min-height:100dvh;display:flex;overflow:hidden;position:relative}.dashboard-header{display:flex;align-items:center;background-color:#fff;padding:0 1rem;gap:.75rem;border-bottom:1px solid var(--border-light-color);position:fixed;top:0;left:260px;right:0;z-index:40;height:52px}.dashboard-header .btn{color:var(--text-color);width:32px;height:32px;padding:0;border-radius:.5rem;justify-content:center;align-items:center}.dashboard-header .btn.btn-toggle{display:none}.dashboard-header .btn.notify{background-color:var(--info-disabled);color:var(--info-color);animation:pulse 3s infinite}.dashboard-header h5{font-size:18px;font-weight:400;margin:0;color:var(--text-dark)}.sidebar{background-color:var(--primary-color);min-height:100dvh;padding:.75rem;width:260px;min-width:260px;display:flex;flex-direction:column;z-index:50;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-header{position:relative;display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:#fff}.sidebar-header .avatar{display:flex;justify-content:center;align-items:center;width:52px;height:52px;border-radius:50%;background-color:#577dd910;color:var(--text-light)}.sidebar-header p{font-size:15px;font-weight:500}.sidebar-header small{font-size:12px;font-weight:200}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex-grow:1}.sidebar-nav .nav-link{display:flex;align-items:center;gap:.5rem;color:var(--text-light);padding:.75rem 1rem;border-radius:.625rem;font-weight:300;transition:all .2s ease}.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background-color:#577dd910}.sidebar .btn-logout{border-radius:.625rem!important;background-color:#577dd910;color:var(--text-light);font-weight:300;font-size:15px}.main-content{flex:1;padding:1rem;padding-top:calc(52px + 1rem);max-width:100vw;margin:0;height:100dvh;overflow-y:auto}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:45;transition:opacity .3s ease}@media(max-width:850px){.dashboard-header{left:0}.dashboard-header .btn.btn-toggle{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:0 0 15px #0003}.sidebar.show{transform:translate(0)}}@media(max-width:520px){.main-content{padding:1rem 0;padding-top:calc(52px + 1rem)}}@keyframes pulse{0%{box-shadow:0 0 #00c2cb20}50%{box-shadow:0 0 0 8px #00c2cb00}to{box-shadow:0 0 #00c2cb00}}.group-list{position:relative;display:flex;flex-direction:column;margin:0;padding:0}.group-list .list-item{display:flex;list-style:none;padding:.5rem;border-bottom:1px solid var(--border-light-color)}.group-list .list-item:last-child{border-bottom:0!important}.fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.ft-10{font-size:10px}.ft-11{font-size:11px}.ft-12{font-size:12px}.ft-13{font-size:13px}.ft-14{font-size:14px}.ft-15{font-size:15px}.ft-16{font-size:16px}.ft-17{font-size:17px}.ft-18{font-size:18px}.ft-19{font-size:19px}.ft-20{font-size:20px}.ft-21{font-size:21px}.ft-22{font-size:22px}.ft-23{font-size:23px}.ft-24{font-size:24px}.ft-25{font-size:25px}.ft-26{font-size:26px}.ft-27{font-size:27px}.ft-28{font-size:28px}.ft-29{font-size:29px}.ft-30{font-size:30px}.pointer{cursor:pointer}.no-select{-webkit-user-select:none;user-select:none}.table{--bs-table-border-color: var(--border-light-color);--bs-table-bg: transparent;--bs-table-striped-bg: var(--light-bg);--bs-table-hover-bg: var(--light-bg);color:var(--text-color);font-size:14px}.table thead th{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.75rem .5rem;border-bottom-width:1px}.table tbody td{padding:.75rem .5rem;vertical-align:middle;color:var(--text-label)}.alert{border-radius:.75rem;border:0}.records-body{display:grid;gap:.5rem;grid-template-columns:repeat(1,1fr)}@media(min-width:640px){.records-body{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.records-body{grid-template-columns:repeat(3,1fr)}}@media(min-width:1320px){.records-body{grid-template-columns:repeat(4,1fr)}}.record{width:100%;height:100%}.data-records .records-footer{position:relative;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background-color:#fff;border-radius:.75rem;padding:.375rem;border:1px solid var(--border-color);box-shadow:1px 1px 12px -8px #0000000d}.data-records .records-footer .dropdown-menu{border:1px solid #e1e7ef;box-shadow:1px 1px 22px -6px #0000001a;border-radius:12px;padding:.25rem;background-color:#fff;min-width:80px;z-index:1060}.data-records .records-footer .btn-page{padding:0;min-width:34px;min-height:34px;font-size:13px;border-radius:.625rem}.container-records{min-height:0}.container-records .data-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;flex-grow:1;height:100%;width:100%;color:var(--text-muted);font-size:15px}.page-link{color:var(--text-label);border-color:var(--border-light-color);border-radius:.5rem}.page-link:hover{background-color:var(--light-bg)}.page-item.active .page-link{background-color:var(--primary-color);border-color:var(--primary-color)}.display-truncate{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-clamp:1;overflow:hidden}.truncate-2{-webkit-line-clamp:2;line-clamp:2}.truncate-3{-webkit-line-clamp:3;line-clamp:3}.truncate-4{-webkit-line-clamp:4;line-clamp:4}.tabs-container{position:relative;display:flex;align-items:center;gap:.5rem;padding:0;margin:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.tabs-container::-webkit-scrollbar{display:none}.tabs-container .tab-item{position:relative;font-size:13px;font-weight:500;color:var(--text-muted);padding:.5rem .75rem;cursor:pointer;list-style:none;transition:color .3s ease;-webkit-user-select:none;user-select:none}.tabs-container .tab-item.disabled{opacity:.5;cursor:not-allowed}.tabs-container .tab-item.active,.tabs-container.primary .tab-item.active{color:var(--primary-color)}.tabs-container.info .tab-item.active{color:var(--info-color)}.tabs-container.success .tab-item.active{color:var(--success-color)}.tabs-container.danger .tab-item.active{color:var(--danger-color)}.tabs-container.warning .tab-item.active{color:var(--warning-color)}.tabs-container.bordered{border-bottom:1px solid var(--border-light-color)}.tab-indicator{position:absolute;bottom:0;height:2px;background-color:var(--primary-color);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.tabs-container.primary .tab-indicator{background-color:var(--primary-color)}.tabs-container.info .tab-indicator{background-color:var(--info-color)}.tabs-container.success .tab-indicator{background-color:var(--success-color)}.tabs-container.danger .tab-indicator{background-color:var(--danger-color)}.tabs-container.warning .tab-indicator{background-color:var(--warning-color)}.tabs-container.tab-justified .tab-item{flex-grow:1;flex-basis:0;text-align:center}.tabs-content{position:relative;display:flex;flex-direction:column}.tabs-content .tab-content{position:relative;padding:.5rem 0;animation:fadeInTab .3s ease-in-out}@keyframes fadeInTab{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.week-calendar-actions{position:relative;display:flex;align-items:center;gap:.25rem;background-color:#fff;border:1px solid var(--border-color);border-radius:50rem;padding:.125rem}.week-calendar-actions span{color:var(--text-slate);font-size:12px;font-weight:600;min-width:120px;text-align:center}.week-calendar-actions .btn{--bs-btn-color: var(--text-label);--bs-btn-hover-color: var(--text-label);--bs-btn-bg: transparent;--bs-btn-hover-bg: transparent;--bs-btn-active-bg: transparent;padding:0;min-width:32px;min-height:32px}
