:root.dark-mode{--bs-body-bg: #0f1115;--bs-body-color: #e8eaed;--bs-emphasis-color: #ffffff;--bs-card-bg: #1a1d23;--bs-card-border-color: #2c3036;--bs-sidebar-bg: #1e2228;--bs-sidebar-color: #b8bac4;--bs-sidebar-hover-bg: #2a2f38;--bs-sidebar-active-bg: #3a4050;--bs-sidebar-active-color: #ffffff;--bs-input-bg: #1e2228;--bs-input-border-color: #2c3036;--bs-input-color: #e8eaed;--bs-input-focus-border-color: #4a90e2;--bs-input-disabled-bg: #16181c;--bs-btn-bg: #2c3036;--bs-btn-border-color: #3a3f4b;--bs-btn-color: #e8eaed;--bs-btn-hover-bg: #3a3f4b;--bs-btn-hover-border-color: #4a5060;--bs-table-bg: #1a1d23;--bs-table-striped-bg: #1e2228;--bs-table-hover-bg: #242830;--bs-table-border-color: #2c3036;--bs-border-color: #2c3036;--bs-border-color-translucent: rgba(255, 255, 255, .05);--bs-secondary-color: #9ca3af;--bs-tertiary-color: #6b7280;--bs-heading-color: #f9fafb;--bs-link-color: #60a5fa;--bs-link-hover-color: #93c5fd;--bs-dropdown-bg: #1a1d23;--bs-dropdown-link-color: #e8eaed;--bs-dropdown-link-hover-bg: #2c3036;--bs-dropdown-link-hover-color: #ffffff;--bs-dropdown-border-color: #2c3036;--bs-modal-bg: #1a1d23;--bs-modal-border-color: #2c3036;--bs-nav-tabs-border-color: #2c3036;--bs-nav-tabs-link-hover-border-color: #2c3036;--bs-nav-tabs-link-active-bg: #1a1d23;--bs-nav-tabs-link-active-border-color: #2c3036}.dark-mode{background-color:var(--bs-body-bg);color:var(--bs-body-color)}.dark-mode .card{background-color:var(--bs-card-bg);border-color:var(--bs-card-border-color);color:var(--bs-body-color);box-shadow:0 1px 3px #0000004d}.dark-mode .card .card-header{background-color:#1e2228;border-bottom-color:var(--bs-card-border-color);color:var(--bs-heading-color)}.dark-mode .card .card-footer{background-color:#1e2228;border-top-color:var(--bs-card-border-color)}.dark-mode .form-control,.dark-mode .form-select{background-color:var(--bs-input-bg);border-color:var(--bs-input-border-color);color:var(--bs-input-color)}.dark-mode .form-control:focus,.dark-mode .form-select:focus{background-color:var(--bs-input-bg);border-color:var(--bs-input-focus-border-color);color:var(--bs-input-color)}.dark-mode .form-control:disabled,.dark-mode .form-select:disabled{background-color:var(--bs-input-disabled-bg);color:var(--bs-tertiary-color)}.dark-mode .form-control::placeholder,.dark-mode .form-select::placeholder{color:var(--bs-tertiary-color)}.dark-mode .form-label{color:#c5c7d0!important;font-weight:500}.dark-mode .text-dark{color:var(--bs-body-color)!important}.dark-mode small{color:var(--bs-secondary-color)}.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode h5,.dark-mode h6{color:var(--bs-heading-color)}.dark-mode .btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode .btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.dark-mode .btn-primary:disabled{background-color:#1e3a8a;border-color:#1e3a8a;opacity:.5}.dark-mode .btn-outline-primary{color:#60a5fa;border-color:#60a5fa;background-color:transparent}.dark-mode .btn-outline-primary:hover{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode .btn-outline-secondary{color:var(--bs-secondary-color);border-color:var(--bs-border-color);background-color:transparent}.dark-mode .btn-outline-secondary:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-body-color)}.dark-mode .btn-outline-danger{color:#f57676;border-color:#f57676}.dark-mode .btn-outline-danger:hover{background-color:#f57676;border-color:#f57676;color:#fff}.dark-mode .btn-secondary{background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color)}.dark-mode .btn-secondary:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.dark-mode .table{--bs-table-bg: var(--bs-table-bg);--bs-table-striped-bg: var(--bs-table-striped-bg);--bs-table-hover-bg: var(--bs-table-hover-bg);--bs-table-border-color: var(--bs-table-border-color);color:var(--bs-body-color)}.dark-mode .table>:not(caption)>*>*{border-bottom-color:var(--bs-table-border-color)}.dark-mode .ngx-datatable{background-color:transparent;color:var(--bs-body-color);box-shadow:none}.dark-mode .ngx-datatable .datatable-header{background-color:transparent;border-bottom:1px solid var(--bs-border-color)}.dark-mode .ngx-datatable .datatable-header .datatable-header-cell{background-color:transparent;color:var(--bs-secondary-color);border-right:none;font-weight:500;padding:12px 16px}.dark-mode .ngx-datatable .datatable-body{background-color:transparent}.dark-mode .ngx-datatable .datatable-body .datatable-body-row{background-color:transparent;border-bottom:1px solid var(--bs-border-color)}.dark-mode .ngx-datatable .datatable-body .datatable-body-row:hover{background-color:var(--bs-table-hover-bg)}.dark-mode .ngx-datatable .datatable-body .datatable-body-row .datatable-body-cell{color:var(--bs-body-color);padding:12px 16px}.dark-mode .ngx-datatable .datatable-body .empty-row{background-color:transparent;color:var(--bs-secondary-color)}.dark-mode .ngx-datatable .datatable-footer{background-color:transparent;border-top:1px solid var(--bs-border-color);color:var(--bs-body-color);padding:12px 16px}.dark-mode .ngx-datatable .datatable-footer .page-count{color:var(--bs-secondary-color)}.dark-mode .ngx-datatable .datatable-footer .datatable-pager ul li.active a{background-color:#3b82f6;color:#fff}.dark-mode .ngx-datatable .datatable-footer .datatable-pager ul li a{color:var(--bs-body-color);background-color:transparent;border-color:var(--bs-border-color)}.dark-mode .ngx-datatable .datatable-footer .datatable-pager ul li a:hover{background-color:var(--bs-table-hover-bg)}.dark-mode .dropdown-menu{background-color:var(--bs-dropdown-bg);border-color:var(--bs-dropdown-border-color)}.dark-mode .dropdown-menu .dropdown-item{color:var(--bs-dropdown-link-color)}.dark-mode .dropdown-menu .dropdown-item:hover,.dark-mode .dropdown-menu .dropdown-item:focus{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.dark-mode .dropdown-menu .dropdown-divider{border-top-color:var(--bs-border-color)}.dark-mode .modal-content{background-color:var(--bs-modal-bg);border-color:var(--bs-modal-border-color);color:var(--bs-body-color)}.dark-mode .modal-content .modal-header{border-bottom-color:var(--bs-border-color)}.dark-mode .modal-content .modal-header .modal-title{color:var(--bs-heading-color)}.dark-mode .modal-content .modal-header .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.dark-mode .modal-content .modal-footer{border-top-color:var(--bs-border-color)}.dark-mode .nav-tabs{border-bottom-color:var(--bs-nav-tabs-border-color)}.dark-mode .nav-tabs .nav-link{color:var(--bs-secondary-color)}.dark-mode .nav-tabs .nav-link:hover{border-color:var(--bs-nav-tabs-link-hover-border-color);color:var(--bs-body-color)}.dark-mode .nav-tabs .nav-link.active{background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);color:var(--bs-heading-color)}.dark-mode .badge.bg-light{background-color:#2c3036!important;color:var(--bs-body-color)!important}.dark-mode .badge.bg-secondary{background-color:#374151!important;color:#e5e7eb!important}.dark-mode .badge.bg-dark{background-color:#111827!important;color:#f9fafb!important}.dark-mode .alert{border-color:var(--bs-border-color);background-color:#ffffff0d}.dark-mode .alert.alert-info{background-color:#3b82f626;border-color:#3b82f64d;color:#93c5fd}.dark-mode .alert.alert-warning{background-color:#f59e0b26;border-color:#f59e0b4d;color:#fbbf24}.dark-mode .alert.alert-danger{background-color:#ef444426;border-color:#ef44444d;color:#fca5a5}.dark-mode .alert.alert-success{background-color:#22c55e26;border-color:#22c55e4d;color:#86efac}.dark-mode .sidebar,.dark-mode .sidebar-layout{background:var(--bs-sidebar-bg)!important;color:var(--bs-sidebar-color);border-right-color:var(--bs-border-color)}.dark-mode .sidebar .nav-link,.dark-mode .sidebar-layout .nav-link{color:var(--bs-sidebar-color)}.dark-mode .sidebar .nav-link:hover,.dark-mode .sidebar-layout .nav-link:hover{background-color:var(--bs-sidebar-hover-bg);color:var(--bs-sidebar-active-color)}.dark-mode .sidebar .nav-link.active,.dark-mode .sidebar-layout .nav-link.active{background-color:var(--bs-sidebar-active-bg);color:var(--bs-sidebar-active-color)}.dark-mode .sidebar .brand,.dark-mode .sidebar-layout .brand{background:#ffffff08!important;border-bottom-color:var(--bs-border-color)!important}.dark-mode .sidebar .brand .brand-text,.dark-mode .sidebar-layout .brand .brand-text{color:var(--bs-heading-color)}.dark-mode .sidebar .menu-group-title,.dark-mode .sidebar-layout .menu-group-title{color:var(--bs-tertiary-color)}.dark-mode .sidebar .menu-item,.dark-mode .sidebar-layout .menu-item{color:var(--bs-sidebar-color)}.dark-mode .sidebar .menu-item:hover,.dark-mode .sidebar-layout .menu-item:hover{background-color:var(--bs-sidebar-hover-bg);color:var(--bs-sidebar-active-color)}.dark-mode .sidebar .menu-item.active,.dark-mode .sidebar-layout .menu-item.active{background-color:var(--bs-sidebar-active-bg);color:var(--bs-sidebar-active-color)}.dark-mode .content-header{border-bottom-color:var(--bs-border-color)}.dark-mode .content-header .content-header-title{color:var(--bs-heading-color)}.dark-mode .topbar,.dark-mode .navbar{background-color:#1e2228!important;border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);box-shadow:0 1px 3px #0000004d}.dark-mode .topbar .navbar-brand,.dark-mode .navbar .navbar-brand{color:var(--bs-heading-color)}.dark-mode .topbar .nav-link,.dark-mode .navbar .nav-link{color:var(--bs-body-color)}.dark-mode .topbar .nav-link:hover,.dark-mode .navbar .nav-link:hover{color:var(--bs-link-color)}.dark-mode .topbar .form-control,.dark-mode .navbar .form-control{background-color:var(--bs-input-bg);border-color:var(--bs-border-color);color:var(--bs-input-color)}.dark-mode .topbar .form-control::placeholder,.dark-mode .navbar .form-control::placeholder{color:var(--bs-tertiary-color)}.dark-mode .main-content{background-color:var(--bs-body-bg)}.dark-mode .layout{background-color:var(--bs-body-bg)!important}.dark-mode .page-title,.dark-mode .content-title{color:var(--bs-heading-color)}.dark-mode .empty-state,.dark-mode .no-data{color:var(--bs-secondary-color)}.dark-mode hr{border-color:var(--bs-border-color);opacity:1}.dark-mode .text-muted,.dark-mode .text-secondary{color:var(--bs-secondary-color)!important}.dark-mode a{color:var(--bs-link-color)}.dark-mode a:hover{color:var(--bs-link-hover-color)}.dark-mode .list-group .list-group-item{background-color:var(--bs-card-bg);border-color:var(--bs-border-color);color:var(--bs-body-color)}.dark-mode .list-group .list-group-item:hover{background-color:var(--bs-table-hover-bg)}.dark-mode .breadcrumb{background-color:transparent;padding:0;margin:0}.dark-mode .breadcrumb .breadcrumb-item{color:var(--bs-secondary-color);font-size:14px}.dark-mode .breadcrumb .breadcrumb-item.active{color:var(--bs-body-color)}.dark-mode .breadcrumb .breadcrumb-item a{color:var(--bs-link-color);text-decoration:none}.dark-mode .breadcrumb .breadcrumb-item a:hover{color:var(--bs-link-hover-color)}.dark-mode .breadcrumb .breadcrumb-item+.breadcrumb-item:before{color:var(--bs-tertiary-color)}.dark-mode .pagination .page-link{background-color:var(--bs-card-bg);border-color:var(--bs-border-color);color:var(--bs-link-color)}.dark-mode .pagination .page-link:hover{background-color:var(--bs-table-hover-bg);border-color:var(--bs-border-color);color:var(--bs-link-hover-color)}.dark-mode .pagination .page-item.active .page-link{background-color:#4a90e2;border-color:#4a90e2}.dark-mode .pagination .page-item.disabled .page-link{background-color:var(--bs-input-disabled-bg);border-color:var(--bs-border-color);color:var(--bs-tertiary-color)}.dark-mode .ngx-toastr{background-color:var(--bs-card-bg);border:1px solid var(--bs-border-color);color:var(--bs-body-color);box-shadow:0 8px 25px #0006}.dark-mode .ngx-toastr .toast-title{color:var(--bs-heading-color);font-weight:600}.dark-mode .ngx-toastr .toast-message{color:var(--bs-body-color)}.dark-mode .toast-success{background-color:#22c55e33;border-color:#22c55e66}.dark-mode .toast-error{background-color:#ef444433;border-color:#ef444466}.dark-mode .toast-info{background-color:#3b82f633;border-color:#3b82f666}.dark-mode .toast-warning{background-color:#f59e0b33;border-color:#f59e0b66;color:var(--bs-heading-color)}.dark-mode .ngb-dp-header{background-color:#1e2228;color:var(--bs-heading-color);border-bottom:1px solid var(--bs-border-color)}.dark-mode .ngb-dp-weekday{color:var(--bs-secondary-color);font-weight:500}.dark-mode .ngb-dp-day{color:var(--bs-body-color)}.dark-mode .ngb-dp-day:hover{background-color:var(--bs-table-hover-bg)}.dark-mode .ngb-dp-day.disabled{color:var(--bs-tertiary-color)}.dark-mode .ngb-dp-day.selected{background-color:#3b82f6;color:#fff}.dark-mode .ngb-dp-month{background-color:var(--bs-card-bg)}.dark-mode .dropdown-menu.show{background-color:var(--bs-dropdown-bg);border-color:var(--bs-dropdown-border-color)}.dark-mode .input-group-text{background-color:#1e2228;border-color:var(--bs-input-border-color);color:var(--bs-secondary-color)}.dark-mode .input-group .btn{border-color:var(--bs-input-border-color)}.dark-mode .input-group .form-control:not(:first-child){border-left-color:var(--bs-border-color)}.dark-mode .progress{background-color:#2a2f38}.dark-mode ::-webkit-scrollbar{width:8px;height:8px}.dark-mode ::-webkit-scrollbar-track{background:#0f1115}.dark-mode ::-webkit-scrollbar-thumb{background:#2c3036;border-radius:4px}.dark-mode ::-webkit-scrollbar-thumb:hover{background:#3a3f4b}.dark-mode input[type=search]{background-color:var(--bs-input-bg);border-color:var(--bs-input-border-color);color:var(--bs-input-color)}.dark-mode input[type=search]::placeholder{color:var(--bs-tertiary-color)}.dark-mode .search-box input,.dark-mode .sidebar-search input{background-color:#0003;border-color:#ffffff1a;color:var(--bs-body-color)}.dark-mode .search-box input::placeholder,.dark-mode .sidebar-search input::placeholder{color:var(--bs-tertiary-color)}.dark-mode .search-box input:focus,.dark-mode .sidebar-search input:focus{background-color:#0000004d;border-color:var(--bs-input-focus-border-color)}.dark-mode .ng-select .ng-select-container{background-color:var(--bs-input-bg);border-color:var(--bs-input-border-color);color:var(--bs-input-color)}.dark-mode .ng-select .ng-dropdown-panel{background-color:var(--bs-dropdown-bg);border-color:var(--bs-dropdown-border-color)}.dark-mode .ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:var(--bs-dropdown-bg);color:var(--bs-dropdown-link-color)}.dark-mode .ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover,.dark-mode .ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.dark-mode .ng-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background-color:#3a4050;color:#fff}.dark-mode .ng-select .ng-clear-wrapper{color:var(--bs-secondary-color)}.dark-mode .ng-select .ng-arrow-wrapper .ng-arrow{border-color:var(--bs-secondary-color) transparent transparent}.dark-mode .avatar-img{border-color:var(--bs-border-color)!important}.dark-mode .form-text{color:var(--bs-secondary-color)}.dark-mode .form-control[readonly]{background-color:var(--bs-input-disabled-bg);color:var(--bs-tertiary-color)}.dark-mode .card-title{color:var(--bs-heading-color)}.dark-mode .spinner-border,.dark-mode .spinner-grow{color:var(--bs-link-color)}.dark-mode .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.dark-mode .accordion .accordion-item{background-color:var(--bs-card-bg);border-color:var(--bs-border-color)}.dark-mode .accordion .accordion-item .accordion-header .accordion-button{background-color:#2a2f38;color:var(--bs-heading-color)}.dark-mode .accordion .accordion-item .accordion-header .accordion-button:not(.collapsed){background-color:#3a4050;color:var(--bs-heading-color)}.dark-mode .accordion .accordion-item .accordion-header .accordion-button:focus{border-color:var(--bs-input-focus-border-color)}.dark-mode .accordion .accordion-item .accordion-body{color:var(--bs-body-color)}.dark-mode .offcanvas{background-color:var(--bs-card-bg);color:var(--bs-body-color)}.dark-mode .offcanvas .offcanvas-header{border-bottom-color:var(--bs-border-color)}.dark-mode .offcanvas .offcanvas-header .offcanvas-title{color:var(--bs-heading-color)}.dark-mode abp-loader-bar .loader-bar{background-color:#3b82f6}.dark-mode .datatable-body-row.empty-row .datatable-body-cell{color:var(--bs-secondary-color);text-align:center;padding:48px 16px}.dark-mode .action-buttons .btn{margin:0 2px}.dark-mode .brand img,.dark-mode .navbar-brand img{filter:brightness(1.2)}.dark-mode i,.dark-mode .fa,.dark-mode .fas,.dark-mode .far,.dark-mode .fab{color:inherit}.dark-mode .user-menu .dropdown-toggle,.dark-mode .profile-dropdown .dropdown-toggle{color:var(--bs-body-color)}.dark-mode .user-menu .dropdown-toggle:hover,.dark-mode .profile-dropdown .dropdown-toggle:hover{color:var(--bs-link-color)}.dark-mode .language-selector .dropdown-toggle,.dark-mode .notification-icon{color:var(--bs-body-color)}.dark-mode .notification-icon:hover{color:var(--bs-link-color)}.dark-mode .notification-icon .badge{background-color:#ef4444;color:#fff}.dark-mode .severity-badge.severity-info{background:#60a5fa1f;color:#60a5fa}.dark-mode .severity-badge.severity-success{background:#4ade801f;color:#4ade80}.dark-mode .severity-badge.severity-warning{background:#fbbf241f;color:#fbbf24}.dark-mode .severity-badge.severity-error{background:#f871711f;color:#f87171}.school-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#0d9488,#0f766e);border-radius:16px;margin-bottom:1.75rem;color:#fff}.school-header .school-header-left{display:flex;align-items:center;gap:1rem}.school-header .school-header-icon{width:52px;height:52px;background:#ffffff26;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.school-header .school-header-title{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:-.3px}.school-header .school-header-sub{margin:0;font-size:.82rem;opacity:.8}.school-header .school-header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.school-header abp-breadcrumb{margin-top:2px}.school-header abp-breadcrumb ::ng-deep .breadcrumb{margin:0;background:transparent;padding:0}.school-header abp-breadcrumb ::ng-deep .breadcrumb li.breadcrumb-item,.school-header abp-breadcrumb ::ng-deep .breadcrumb li.breadcrumb-item a{color:#ffffffbf!important;font-size:.8rem}.school-header abp-breadcrumb ::ng-deep .breadcrumb li.breadcrumb-item:before{color:#ffffff80!important}.school-header abp-breadcrumb ::ng-deep .breadcrumb li.active{color:#fffffff2!important}.school-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 12px #0d948814;padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s;border-top:3px solid transparent}.stat-card:hover{box-shadow:0 8px 32px #0d94882e;transform:translateY(-2px)}.stat-card.stat-primary{border-top-color:#0d9488}.stat-card.stat-accent{border-top-color:#f59e0b}.stat-card.stat-success{border-top-color:#16a34a}.stat-card.stat-info{border-top-color:#0284c7}.stat-card.stat-purple{border-top-color:#7c3aed}.stat-card.stat-orange{border-top-color:#ea580c}.stat-card .stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.stat-card .stat-icon.bg-primary-soft{background:#0d948814;color:#0d9488}.stat-card .stat-icon.bg-accent-soft{background:#f59e0b1a;color:#f59e0b}.stat-card .stat-icon.bg-success-soft{background:#16a34a1a;color:#16a34a}.stat-card .stat-icon.bg-info-soft{background:#0284c71a;color:#0284c7}.stat-card .stat-icon.bg-purple-soft{background:#7c3aed1a;color:#7c3aed}.stat-card .stat-icon.bg-orange-soft{background:#ea580c1a;color:#ea580c}.stat-card .stat-value{font-size:1.75rem;font-weight:700;line-height:1;color:#0f172a}.stat-card .stat-label{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.school-table-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0d948814;border:1px solid #e2e8f0;overflow:hidden}.school-table-card .table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:1.1rem 1.25rem 1rem;border-bottom:1px solid #e2e8f0;background:#fafffe}.school-table-card .table-title{font-size:.9rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.5rem}.school-table-card .table-title i{color:#0d9488}.school-table-card .table-search{position:relative}.school-table-card .table-search i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#64748b;font-size:.85rem}.school-table-card .table-search input{padding-left:2rem;border:1.5px solid #e2e8f0;border-radius:10px;height:36px;font-size:.875rem;transition:border-color .2s;width:220px}.school-table-card .table-search input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948814;outline:none}.btn-edu-primary{background:#0d9488;color:#fff;border:none;border-radius:10px;padding:.45rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;transition:background .2s,box-shadow .2s,transform .1s}.btn-edu-primary:hover{background:#0f766e;color:#fff;box-shadow:0 4px 12px #0d948859;transform:translateY(-1px)}.btn-edu-primary:active{transform:translateY(0)}.btn-edu-outline{background:transparent;color:#0d9488;border:1.5px solid #0d9488;border-radius:10px;padding:.4rem .85rem;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s}.btn-edu-outline:hover{background:#0d948814;color:#0f766e}.btn-edu-white{background:#ffffff26;color:#fff;border:1.5px solid rgba(255,255,255,.35);border-radius:10px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s}.btn-edu-white:hover{background:#ffffff40;color:#fff}.edu-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.2px}.edu-badge.badge-active{background:#16a34a1a;color:#16a34a}.edu-badge.badge-inactive{background:#f1f5f9;color:#64748b}.edu-badge.badge-danger{background:#dc26261a;color:#dc2626}.edu-badge.badge-warning{background:#f59e0b1a;color:#ac6f07}.edu-badge.badge-info{background:#0284c71a;color:#0284c7}.edu-badge.badge-purple{background:#7c3aed1a;color:#7c3aed}.edu-badge.badge-primary{background:#0d948814;color:#0d9488}.edu-modal-header{display:flex;align-items:center;gap:.75rem}.edu-modal-header .edu-modal-icon{width:38px;height:38px;background:#0d948814;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0d9488;font-size:1rem}.edu-modal-header h3{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.edu-form-section{border-left:3px solid #0d9488;padding-left:.75rem;margin-bottom:1rem}.edu-form-section .section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#0d9488;margin-bottom:.6rem}.edu-form-label{font-size:.8rem;font-weight:600;color:#0f172a;margin-bottom:.3rem;display:block}.edu-form-control{border:1.5px solid #e2e8f0;border-radius:10px;padding:.45rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s;width:100%}.edu-form-control:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948814;outline:none}.edu-form-check{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.edu-form-check input[type=checkbox]{cursor:pointer;accent-color:#0d9488}.edu-form-check label{margin:0;font-size:.82rem;font-weight:600;color:#0f172a;cursor:pointer}.edu-form-check:has(input:checked){border-color:#0d9488;background:#0d948814}.edu-form-check:has(input:checked) label{color:#0d9488}.edu-action-btn{background:#0d948814;color:#0d9488;border:1.5px solid rgba(13,148,136,.25);border-radius:8px;padding:.3rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:all .2s}.edu-action-btn:hover{background:#0d9488;color:#fff;border-color:#0d9488}.edu-action-btn:after{display:none}.edu-avatar{width:34px;height:34px;border-radius:50%;background:#0d948814;color:#0d9488;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;flex-shrink:0}.edu-avatar.avatar-student{background:#0284c71a;color:#0284c7}.edu-avatar.avatar-teacher{background:#f59e0b1a;color:#c57f08}.edu-avatar.avatar-guardian{background:#7c3aed1a;color:#7c3aed}.edu-avatar.avatar-year{background:#0d948814;color:#0d9488;font-size:.65rem}.edu-avatar.avatar-level{background:#16a34a1a;color:#16a34a;font-weight:800}.edu-avatar.avatar-grade{background:#f59e0b1a;color:#ac6f07;font-weight:800}.edu-avatar.avatar-class{background:#16a34a1a;color:#16a34a}.edu-name-cell{display:flex;align-items:center;gap:.6rem}.edu-name-cell .name-text{font-weight:600;color:#0f172a;font-size:.875rem}.edu-name-cell .code-text{font-size:.75rem;color:#64748b}.current-year-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border-radius:20px;font-size:.72rem;font-weight:700}.dark-mode .school-table-card,.dark-mode .stat-card{background:var(--bg-white);border-color:var(--border-color)}.dark-mode .stat-card .stat-value{color:var(--text-color)}.dark-mode .stat-card .stat-label{color:var(--text-muted)}.dark-mode .table-toolbar{background:var(--bg-white);border-color:var(--border-color)}.dark-mode .table-title,.dark-mode .edu-name-cell .name-text,.dark-mode .edu-form-label,.dark-mode .edu-modal-header h3{color:var(--text-color)}.dark-mode .edu-form-control{background:var(--bg-white);border-color:var(--border-color);color:var(--text-color)}.dark-mode .edu-form-check{border-color:var(--border-color)}.dark-mode .edu-form-check label{color:var(--text-color)}.dark-mode .table-search input{background:var(--bg-white);border-color:var(--border-color);color:var(--text-color)}html,body{margin:0;padding:0;background-color:#f4f6f8;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}html.dark-mode,body.dark-mode{background-color:#0f1115;color:#e8eaed}app-root{display:block;height:100%;min-height:100vh}:root{--primary-color: #2563EB;--primary-dark: #1D4ED8;--primary-light: #3B82F6;--primary-lighter: rgba(37, 99, 235, .1);--border-color: #E5E7EB;--text-color: #000000;--text-muted: #6c757d;--bg-light: #F4F6F8;--bg-white: #ffffff;--success-color: #16A34A;--danger-color: #DC2626;--warning-color: #F59E0B;--accent-color: #7C3AED;--hover-bg: #EEF2FF;--secondary-bg: #F3F4F6;--row-odd-bg: #fafbfc}.dark-mode{--primary-color: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--primary-lighter: rgba(59, 130, 246, .15);--border-color: #2c3036;--text-color: #e8eaed;--text-muted: #9ca3af;--bg-light: #1e2228;--bg-white: #1a1d23;--success-color: #4ade80;--danger-color: #ef4444;--warning-color: #fbbf24;--accent-color: #a78bfa;--hover-bg: #242830;--secondary-bg: #1a1d23;--row-odd-bg: #1e2228}.content-header{border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem;background:var(--bg-white);border-radius:12px 12px 0 0;padding:1.5rem}.dark-mode .content-header{background:var(--bg-white);border-bottom-color:var(--border-color)}.content-header .content-header-title{color:var(--text-color);font-weight:600;font-size:1.5rem;margin:0}.card{border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;border-radius:12px;background:var(--bg-white)}.dark-mode .card{background:var(--bg-white);box-shadow:0 1px 3px #0000004d}.card .card-header{background:var(--bg-white);border-bottom:1px solid var(--border-color);padding:1.25rem 1.5rem}.dark-mode .card .card-header{background:var(--bg-light)}.card .card-header .card-title{color:var(--text-color);font-weight:600;margin:0}.card .card-body{padding:1.5rem}.form-control,.form-select{border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:all .2s ease;background-color:var(--bg-white);color:var(--text-color)}.dark-mode .form-control,.dark-mode .form-select{background-color:var(--bg-light);color:var(--text-color)}.form-control::placeholder,.form-select::placeholder{color:var(--text-muted);opacity:.7}.form-control:hover,.form-select:hover{border-color:#ced4da}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem var(--primary-lighter);outline:none}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--danger-color)}.form-control.is-invalid:focus,.form-select.is-invalid:focus{border-color:var(--danger-color);box-shadow:0 0 0 .2rem #dc354526}.form-control.is-valid,.form-select.is-valid{border-color:var(--success-color)}.form-control.is-valid:focus,.form-select.is-valid:focus{border-color:var(--success-color);box-shadow:0 0 0 .2rem #28a74526}.form-label{color:var(--text-color);font-weight:500;margin-bottom:.5rem}.form-label.required:after{content:" *";color:var(--danger-color)}.input-group .input-group-text{background-color:var(--bg-light);border:1px solid var(--border-color);color:var(--text-muted)}.input-group .input-group-text.bg-light{background-color:var(--bg-light)!important;border-color:var(--border-color)}.input-group .form-control:not(:last-child){border-right:0}.input-group .form-control:not(:first-child){border-left:0}.search-group{border-radius:8px;overflow:hidden;position:relative;box-shadow:0 2px 4px #0000000a}.dark-mode .search-group{box-shadow:0 2px 4px #0000004d}.search-group .input-group-text{border-right:0;border-top-left-radius:8px;border-bottom-left-radius:8px;background-color:var(--bg-white);border-color:var(--border-color);color:var(--text-muted)}.dark-mode .search-group .input-group-text{background-color:var(--bg-light)}.search-group .form-control{border-left:0;border-right:0;background-color:var(--bg-white)}.dark-mode .search-group .form-control{background-color:var(--bg-light)}.search-group .form-control:focus{box-shadow:none;border-color:var(--primary-color)}.search-group .btn{border:1px solid var(--border-color);border-left:0;border-radius:0}.search-group .btn:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.search-group .btn:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.search-group .btn.btn-ghost{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-muted)}.search-group .btn.btn-ghost:hover{background:var(--bg-light);color:var(--text-color)}.search-group [ngbDropdownMenu]{z-index:1080}.dropdown-menu{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-white);box-shadow:0 8px 25px #0000001a;padding:.5rem 0}.dark-mode .dropdown-menu{background:var(--bg-light);box-shadow:0 8px 25px #0006}.dropdown-menu.soft{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-white);box-shadow:0 8px 25px #0000001a}.dark-mode .dropdown-menu.soft{background:var(--bg-light);box-shadow:0 8px 25px #0006}.dropdown-menu .dropdown-item{color:var(--text-color);padding:.35rem .75rem;font-weight:500;transition:all .2s ease;border:none}.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus{background:var(--primary-lighter);color:var(--primary-color)}.dropdown-menu .dropdown-item.active{background:var(--primary-color);color:#fff}.dropdown-menu .dropdown-item i{width:18px;text-align:center;margin-right:8px}.dropdown-menu .dropdown-divider{border-color:var(--border-color);margin:.5rem 0}select.form-select{background-color:var(--bg-white);border-color:var(--border-color);border-width:1px;border-radius:6px;height:36px;padding:.5rem 2rem .5rem .75rem;background-clip:padding-box;font-size:.875rem;color:var(--text-color);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e")}select.form-select:hover{border-color:#ced4da}select.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .15rem var(--primary-lighter);outline:none}select.form-select[multiple]{height:auto;padding:.5rem .75rem}.form-label.small{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.75rem}.invalid-feedback{color:var(--danger-color);font-size:.875rem;margin-top:.25rem;font-weight:500}.valid-feedback{color:var(--success-color);font-size:.875rem;margin-top:.25rem;font-weight:500}.form-check{padding-left:1.75rem;margin-bottom:.75rem}.form-check .form-check-input{width:1.25rem;height:1.25rem;margin-top:.125rem;margin-left:-1.75rem;border:2px solid var(--border-color);background-color:var(--bg-white)}.form-check .form-check-input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.form-check .form-check-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem var(--primary-lighter)}.form-check .form-check-label{color:var(--text-color);font-weight:500;margin-left:.5rem}:host ::ng-deep .ngx-datatable{background:var(--bg-white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014}.dark-mode :host ::ng-deep .ngx-datatable{background:var(--bg-white);box-shadow:0 2px 12px #0000004d}:host ::ng-deep .ngx-datatable .datatable-header{background:var(--bg-light);border-bottom:1px solid var(--border-color)}:host ::ng-deep .ngx-datatable .datatable-header .datatable-header-cell{color:var(--text-color);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;padding:1rem .75rem;border-right:1px solid var(--border-color)}:host ::ng-deep .ngx-datatable .datatable-header .datatable-header-cell:last-child{border-right:none}:host ::ng-deep .ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-wrapper .datatable-header-cell-label{color:var(--text-color)}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper{border-bottom:1px solid var(--border-color);transition:all .2s ease}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper:hover{background-color:var(--primary-lighter)}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper:last-child{border-bottom:none}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper .datatable-body-cell{padding:1rem .75rem;color:var(--text-color);border-right:1px solid transparent}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper .datatable-body-cell:last-child{border-right:none}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper.datatable-row-even{background-color:var(--bg-white)}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper.datatable-row-odd{background-color:var(--row-odd-bg)}:host ::ng-deep .ngx-datatable .datatable-footer{background:var(--bg-light);border-top:1px solid var(--border-color);padding:1rem}:host ::ng-deep .ngx-datatable .datatable-footer .page-count{color:var(--text-muted);font-weight:500}:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager li a{color:var(--text-color);border:1px solid var(--border-color);border-radius:6px;margin:0 2px}:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager li a:hover{background-color:var(--primary-lighter);color:var(--primary-color)}:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager li.active a{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{color:var(--text-muted);opacity:.5}.badge{font-weight:600;letter-spacing:.5px}.badge.bg-success{background-color:#16a34a!important;color:#fff}.badge.bg-secondary{background-color:#f3f4f6!important;color:#111827}.badge.bg-primary{background-color:var(--primary-color)!important;color:#fff}.badge.bg-danger{background-color:#dc2626!important;color:#fff}.badge.bg-warning{background-color:#f59e0b!important;color:#fff}.btn-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:0}.btn-icon i{font-size:.8rem}.btn-icon.btn-sm{width:28px;height:28px}.btn-icon.btn-sm i{font-size:.7rem}.btn-ghost{background:transparent;border:0;color:var(--text-muted);transition:all .2s ease}.btn-ghost:hover{background:var(--bg-light);color:var(--text-color)}.btn-ghost.text-danger{color:var(--danger-color)!important}.btn-ghost.text-danger:hover{background:#dc35451a;color:var(--danger-color)!important}.btn-ghost.text-primary{color:var(--primary-color)!important}.btn-ghost.text-primary:hover{background:var(--primary-lighter);color:var(--primary-color)!important}.btn-ghost:focus{box-shadow:none}.btn-group .btn.btn-sm{padding:.25rem .5rem;font-size:.8rem;height:36px}.nav-tabs.borderless-tabs{border-bottom:1px solid var(--border-color)!important}.nav-tabs.borderless-tabs .nav-link{border:0!important;color:var(--text-muted);font-weight:500;padding:1rem 1.5rem;border-radius:0;border-bottom:2px solid transparent!important;transition:all .2s ease}.nav-tabs.borderless-tabs .nav-link:hover{background:transparent;color:var(--text-color);border-bottom-color:var(--border-color)!important}.nav-tabs.borderless-tabs .nav-link.active{color:var(--primary-color);border-bottom:2px solid var(--primary-color)!important;background:transparent;font-weight:600}:host ::ng-deep .compact-grid .datatable-body-row,:host ::ng-deep .compact-grid .datatable-header-inner{line-height:1.3}:host ::ng-deep .compact-grid .datatable-body-cell,:host ::ng-deep .compact-grid .datatable-header-cell{padding:.75rem .5rem}:host ::ng-deep .ngx-datatable .datatable-body .datatable-row-wrapper .datatable-body-cell small{display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.input-group .btn-outline-secondary{border-color:var(--border-color);color:var(--text-muted)}.input-group .btn-outline-secondary:hover{background-color:var(--bg-light);border-color:var(--border-color);color:var(--text-color)}.btn{border-radius:6px;font-weight:500;padding:.5rem .75rem;font-size:.875rem;transition:all .2s ease;border-width:1px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color)}.btn:focus{box-shadow:0 0 0 .15rem var(--primary-lighter)}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px)}.btn-primary:focus,.btn-primary:active{background-color:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 0 0 .2rem var(--primary-lighter)}.btn-outline-primary{color:var(--primary-color);background-color:transparent}.btn-outline-primary:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-1px)}.btn-outline-primary:focus,.btn-outline-primary:active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 0 .2rem var(--primary-lighter)}.btn-success{background-color:var(--success-color);border-color:var(--success-color)}.btn-success:hover{background-color:#218838;border-color:#1e7e34;transform:translateY(-1px)}.btn-danger{background-color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover{background-color:#c82333;border-color:#bd2130;transform:translateY(-1px)}.btn-outline-danger{color:var(--danger-color);border-color:var(--danger-color)}.btn-outline-danger:hover{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff;transform:translateY(-1px)}.btn-outline-success{color:var(--success-color);border-color:var(--success-color)}.btn-outline-success:hover{background-color:var(--success-color);border-color:var(--success-color);color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.row.g-3>.col-md-4{margin-bottom:1rem}.btn{font-size:.8rem;padding:.4rem .8rem;height:36px}.form-control,.form-select{font-size:1rem;padding:.6rem .75rem;height:42px}.card{margin-bottom:1rem}.card .card-body,.content-header{padding:1rem}.content-header .content-header-title{font-size:1.25rem}.btn-group{display:flex;flex-wrap:wrap;gap:.5rem}.btn-group .btn{flex:1;min-width:auto}}@media (max-width: 576px){.form-control,.form-select{padding:.75rem}.btn{padding:.75rem 1rem;font-size:.9rem}.dropdown-menu .dropdown-item{padding:.25rem .35rem;font-size:.9rem}}.ng-select{font-size:.95rem}.ng-select.ng-select-single .ng-select-container{background-color:var(--bg-white)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;min-height:36px!important;transition:all .2s ease!important;color:var(--text-color)!important}.dark-mode .ng-select.ng-select-single .ng-select-container{background-color:var(--bg-light)!important}.ng-select.ng-select-single .ng-select-container:hover{border-color:#ced4da!important}.ng-select.ng-select-single .ng-select-container .ng-placeholder{color:var(--text-muted)!important;font-size:.875rem!important}.ng-select.ng-select-single .ng-select-container .ng-value-container{padding:.5rem .75rem!important}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{color:var(--text-color)!important;font-size:.875rem!important;font-weight:500!important}.ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper{padding-right:.75rem!important}.ng-select.ng-select-single .ng-select-container .ng-arrow-wrapper .ng-arrow{border-color:var(--text-muted) transparent transparent!important;border-style:solid!important;border-width:4px 4px 0!important}.ng-select.ng-select-single .ng-select-container .ng-clear-wrapper{padding-right:1rem!important}.ng-select.ng-select-single .ng-select-container .ng-clear-wrapper .ng-clear{color:var(--text-muted)!important;font-size:18px!important}.ng-select.ng-select-single .ng-select-container .ng-clear-wrapper .ng-clear:hover{color:var(--danger-color)!important}.ng-select.ng-select-single.ng-select-focused .ng-select-container{border-color:var(--primary-color)!important;box-shadow:0 0 0 .2rem var(--primary-lighter)!important;outline:none!important}.ng-select.ng-select-single.ng-select-disabled .ng-select-container{background-color:var(--bg-light)!important;color:var(--text-muted)!important;cursor:not-allowed!important;opacity:.6!important}.ng-select.ng-select-multiple .ng-select-container{background-color:var(--bg-white)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;min-height:36px!important;padding:.25rem .75rem!important;transition:all .2s ease!important}.ng-select.ng-select-multiple .ng-select-container:hover{border-color:#ced4da!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background-color:var(--primary-color)!important;color:#fff!important;border-radius:6px!important;padding:.25rem .5rem!important;margin:.125rem .25rem .125rem 0!important;font-size:.8rem!important;font-weight:500!important;border:none!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:.8rem!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{color:#fffc!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{color:#fff!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:.25rem 0!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input input{color:var(--text-color)!important;font-size:.95rem!important;border:none!important;outline:none!important}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{color:var(--text-muted)!important;font-size:.95rem!important}.ng-select.ng-select-multiple.ng-select-focused .ng-select-container{border-color:var(--primary-color)!important;box-shadow:0 0 0 .2rem var(--primary-lighter)!important;outline:none!important}.ng-dropdown-panel{background:var(--bg-white)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:0 8px 25px #00000026!important;z-index:1060!important}.dark-mode .ng-dropdown-panel{background:var(--bg-light)!important;box-shadow:0 8px 25px #0006!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.75rem 1rem!important;color:var(--text-color)!important;font-size:.95rem!important;transition:all .2s ease!important;cursor:pointer!important;background-color:transparent!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-highlighted{background-color:var(--primary-lighter)!important;color:var(--primary-color)!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background-color:var(--primary-color)!important;color:#fff!important;font-weight:500!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:var(--text-muted)!important;cursor:not-allowed!important;opacity:.6!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label{font-weight:500!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{font-weight:600!important;color:var(--text-muted)!important;font-size:.8rem!important;text-transform:uppercase!important;letter-spacing:.5px!important;padding:.75rem 1rem .25rem!important;cursor:default!important;background-color:var(--bg-light)!important}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid var(--border-color)!important;padding:.75rem 1rem!important;background-color:var(--bg-light)!important}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid var(--border-color)!important;padding:.75rem 1rem!important;background-color:var(--bg-light)!important;font-weight:600!important;color:var(--text-color)!important}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input input{color:var(--text-color)!important;font-size:.95rem!important}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input input::placeholder{color:var(--text-muted)!important;opacity:.7!important}.ng-select.ng-invalid.ng-touched .ng-select-container{border-color:var(--danger-color)!important}.ng-select.ng-invalid.ng-touched .ng-select-container.ng-select-focused{border-color:var(--danger-color)!important;box-shadow:0 0 0 .2rem #dc354526!important}.ng-select.ng-valid.ng-touched .ng-select-container{border-color:var(--success-color)!important}.ng-select.ng-valid.ng-touched .ng-select-container.ng-select-focused{border-color:var(--success-color)!important;box-shadow:0 0 0 .2rem #28a74526!important}.ng-select.ng-select-loading .ng-spinner-loader{border-color:var(--primary-lighter) var(--primary-lighter) var(--primary-color) var(--primary-color)!important;animation:ngSelectSpinner .6s infinite linear!important}@keyframes ngSelectSpinner{to{transform:rotate(360deg)}}.ng-select.ng-select-sm .ng-select-container{min-height:36px!important}.ng-select.ng-select-sm .ng-select-container .ng-value-container{padding:.5rem .75rem!important}.ng-select.ng-select-sm .ng-select-container .ng-value-container .ng-value{font-size:.875rem!important}.ng-select.ng-select-sm .ng-select-container .ng-arrow-wrapper{padding-right:.75rem!important}.ng-select.ng-select-lg .ng-select-container{min-height:52px!important}.ng-select.ng-select-lg .ng-select-container .ng-value-container{padding:1rem 1.25rem!important}.ng-select.ng-select-lg .ng-select-container .ng-value-container .ng-value{font-size:1.1rem!important}.ng-select.ng-select-lg .ng-select-container .ng-arrow-wrapper{padding-right:1.25rem!important}.ng-select .ng-select-container .ng-value-container .ng-input>input{background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important}.ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg)!important;transition:transform .2s ease!important}.ng-select .ng-arrow{transition:transform .2s ease!important}.ngb-dp-content{border-radius:8px!important;border:1px solid var(--border-color)!important;box-shadow:0 8px 25px #00000026!important}.ngb-dp-header{background-color:var(--primary-color)!important;color:#fff!important;border-radius:8px 8px 0 0!important}.ngb-dp-day.btn-outline-light{border-color:transparent!important;color:var(--text-color)!important}.ngb-dp-day.btn-outline-light:hover{background-color:var(--primary-lighter)!important;color:var(--primary-color)!important}.ngb-dp-day.btn-primary{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important}.ngb-dp-day.btn-secondary{background-color:var(--text-muted)!important;border-color:var(--text-muted)!important}.ngb-tp .btn-outline-secondary{border-color:var(--border-color)!important;color:var(--text-color)!important}.ngb-tp .btn-outline-secondary:hover,.ngb-tp .btn-outline-secondary:focus{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important;color:#fff!important}.ngb-tp .form-control{text-align:center!important;font-weight:600!important}.form-switch .form-check-input{background-color:var(--text-muted)!important;border-color:var(--text-muted)!important}.form-switch .form-check-input:checked{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important}.form-switch .form-check-input:focus{box-shadow:0 0 0 .2rem var(--primary-lighter)!important}.form-range::-webkit-slider-track{background-color:var(--border-color)!important;border-radius:4px!important}.form-range::-webkit-slider-thumb{background-color:var(--primary-color)!important;border:2px solid #ffffff!important;box-shadow:0 2px 6px #0003!important}.form-range::-moz-range-track{background-color:var(--border-color)!important;border-radius:4px!important}.form-range::-moz-range-thumb{background-color:var(--primary-color)!important;border:2px solid #ffffff!important;box-shadow:0 2px 6px #0003!important}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 .2rem var(--primary-lighter),0 2px 6px #0003!important}.form-control[type=file]{padding:.75rem!important}.form-control[type=file]::file-selector-button{background-color:var(--primary-color)!important;color:#fff!important;border:none!important;padding:.5rem 1rem!important;border-radius:6px!important;margin-right:1rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important}.form-control[type=file]::file-selector-button:hover{background-color:var(--primary-dark)!important}.progress{background-color:var(--bg-light)!important;border-radius:8px!important;overflow:hidden!important}.progress .progress-bar{background-color:var(--primary-color)!important;transition:width .3s ease!important}.progress .progress-bar.bg-success{background-color:var(--success-color)!important}.progress .progress-bar.bg-danger{background-color:var(--danger-color)!important}.progress .progress-bar.bg-warning{background-color:var(--warning-color)!important}.alert{border-radius:8px!important;border:none!important;font-weight:500!important}.alert.alert-primary{background-color:var(--primary-lighter)!important;color:var(--primary-color)!important}.alert.alert-success{background-color:#16a34a1a!important;color:#16a34a!important}.alert.alert-danger{background-color:#dc26261a!important;color:#dc2626!important}.alert.alert-warning{background-color:#f59e0b1a!important;color:#92400e!important}.alert.alert-info{background-color:#0dcaf01a!important;color:#055160!important}.alert .btn-close{opacity:.7!important}.alert .btn-close:hover{opacity:1!important}.toast{border-radius:8px!important;border:none!important;box-shadow:0 4px 12px #00000026!important}.toast .toast-header{background-color:var(--bg-light)!important;border-bottom:1px solid var(--border-color)!important;border-radius:8px 8px 0 0!important}.toast .toast-header .btn-close{margin-left:auto!important}.toast .toast-body{color:var(--text-color)!important}abp-toast-container .abp-toast-container{z-index:1900!important;min-width:380px;padding:8px}abp-toast .abp-toast{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:14px 16px!important;width:380px!important;border-radius:12px!important;font-size:14px!important;border:1px solid var(--border-color, #E5E7EB)!important;background:var(--bg-white, #ffffff)!important;color:var(--text-color, #1a1a2e)!important;box-shadow:0 8px 25px #0000001a!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease!important;animation:toastSlideIn .3s ease!important}abp-toast .abp-toast:hover{box-shadow:0 12px 32px #00000026!important;transform:translateY(-1px)}abp-toast .abp-toast.abp-toast-success{border-left:4px solid var(--success-color, #16A34A)!important;background:linear-gradient(135deg,rgba(22,163,74,.04),var(--bg-white, #ffffff))!important}abp-toast .abp-toast.abp-toast-success .abp-toast-icon .icon{color:var(--success-color, #16A34A)!important}abp-toast .abp-toast.abp-toast-info{border-left:4px solid var(--primary-color, #2563EB)!important;background:linear-gradient(135deg,rgba(37,99,235,.04),var(--bg-white, #ffffff))!important}abp-toast .abp-toast.abp-toast-info .abp-toast-icon .icon{color:var(--primary-color, #2563EB)!important}abp-toast .abp-toast.abp-toast-warning{border-left:4px solid var(--warning-color, #F59E0B)!important;background:linear-gradient(135deg,rgba(245,158,11,.04),var(--bg-white, #ffffff))!important}abp-toast .abp-toast.abp-toast-warning .abp-toast-icon .icon{color:var(--warning-color, #F59E0B)!important}abp-toast .abp-toast.abp-toast-error{border-left:4px solid var(--danger-color, #DC2626)!important;background:linear-gradient(135deg,rgba(220,38,38,.04),var(--bg-white, #ffffff))!important}abp-toast .abp-toast.abp-toast-error .abp-toast-icon .icon{color:var(--danger-color, #DC2626)!important}abp-toast .abp-toast .abp-toast-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;flex-shrink:0;border-radius:.5rem;margin-top:0!important}abp-toast .abp-toast .abp-toast-icon .icon{font-size:22px!important;line-height:1}abp-toast .abp-toast.abp-toast-success .abp-toast-icon{background:#16a34a1a}abp-toast .abp-toast.abp-toast-info .abp-toast-icon{background:#2563eb1a}abp-toast .abp-toast.abp-toast-warning .abp-toast-icon{background:#f59e0b1a}abp-toast .abp-toast.abp-toast-error .abp-toast-icon{background:#dc26261a}abp-toast .abp-toast .abp-toast-content{flex:1!important;min-width:0;padding-bottom:0!important}abp-toast .abp-toast .abp-toast-content .abp-toast-title{font-size:14px!important;font-weight:600!important;color:var(--text-color, #1a1a2e)!important;margin-bottom:2px!important;line-height:1.4}abp-toast .abp-toast .abp-toast-content .abp-toast-message{font-size:13px!important;color:var(--text-muted, #667085)!important;margin:0!important;line-height:1.45;max-width:100%!important}abp-toast .abp-toast .abp-toast-content .abp-toast-close-button{top:0!important;right:0!important;width:28px!important;height:28px!important;border-radius:6px!important;background:transparent!important;color:var(--text-muted, #9ca3af)!important;transition:all .15s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}abp-toast .abp-toast .abp-toast-content .abp-toast-close-button:hover{background:var(--secondary-bg, #F3F4F6)!important;color:var(--text-color, #1a1a2e)!important}@keyframes toastSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}abp-confirmation .confirmation{z-index:1060!important}abp-confirmation .confirmation .confirmation-backdrop{background:#0006!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1061!important}abp-confirmation .confirmation .confirmation-dialog{width:440px!important;min-height:auto!important;background:var(--bg-white, #ffffff)!important;border:1px solid var(--border-color, #E5E7EB)!important;border-radius:16px!important;box-shadow:0 20px 60px #00000026,0 0 0 1px #00000008!important;z-index:1062!important;overflow:hidden;animation:confirmSlideIn .25s ease!important}abp-confirmation .confirmation .confirmation-dialog .icon-container{padding:32px 20px 8px!important;background:transparent!important}abp-confirmation .confirmation .confirmation-dialog .icon-container .icon{width:64px!important;height:64px!important;font-size:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important}abp-confirmation .confirmation .confirmation-dialog .icon-container.neutral .icon,abp-confirmation .confirmation .confirmation-dialog .icon-container.info .icon{background:#2563eb1a;color:var(--primary-color, #2563EB)}abp-confirmation .confirmation .confirmation-dialog .icon-container.success .icon{background:#16a34a1a;color:var(--success-color, #16A34A)}abp-confirmation .confirmation .confirmation-dialog .icon-container.warn .icon,abp-confirmation .confirmation .confirmation-dialog .icon-container.warning .icon{background:#f59e0b1a;color:var(--warning-color, #F59E0B)}abp-confirmation .confirmation .confirmation-dialog .icon-container.error .icon{background:#dc26261a;color:var(--danger-color, #DC2626)}abp-confirmation .confirmation .confirmation-dialog .content{padding:8px 28px 16px!important}abp-confirmation .confirmation .confirmation-dialog .content .title{font-size:20px!important;font-weight:700!important;color:var(--text-color, #1a1a2e)!important;margin-bottom:4px!important;line-height:1.3}abp-confirmation .confirmation .confirmation-dialog .content .message{font-size:14px!important;color:var(--text-muted, #667085)!important;line-height:1.5!important;padding:4px 0 12px!important}abp-confirmation .confirmation .confirmation-dialog .footer{padding:12px 28px 24px!important;gap:10px}abp-confirmation .confirmation .confirmation-dialog .footer .btn{border-radius:8px!important;font-weight:600!important;font-size:14px!important;padding:8px 20px!important;transition:all .2s ease!important;min-width:90px}abp-confirmation .confirmation .confirmation-dialog .footer .btn-primary{background:var(--primary-color, #2563EB)!important;border-color:var(--primary-color, #2563EB)!important;color:#fff!important}abp-confirmation .confirmation .confirmation-dialog .footer .btn-primary:hover{background:var(--primary-dark, #1D4ED8)!important;border-color:var(--primary-dark, #1D4ED8)!important;box-shadow:0 4px 12px #2563eb4d}abp-confirmation .confirmation .confirmation-dialog .footer .btn-outline-primary{background:transparent!important;border:1px solid var(--border-color, #E5E7EB)!important;color:var(--text-color, #344054)!important}abp-confirmation .confirmation .confirmation-dialog .footer .btn-outline-primary:hover{background:var(--secondary-bg, #F3F4F6)!important;border-color:var(--border-color, #E5E7EB)!important}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dark-mode abp-toast .abp-toast{background:var(--bg-white, #1a1d23)!important;border-color:#2c3036!important;color:#e8eaed!important;box-shadow:0 8px 25px #0006!important}.dark-mode abp-toast .abp-toast:hover{box-shadow:0 12px 32px #00000080!important}.dark-mode abp-toast .abp-toast.abp-toast-success{border-left-color:#4ade80!important;background:linear-gradient(135deg,rgba(74,222,128,.06),var(--bg-white, #1a1d23))!important}.dark-mode abp-toast .abp-toast.abp-toast-success .abp-toast-icon{background:#4ade801f}.dark-mode abp-toast .abp-toast.abp-toast-success .abp-toast-icon .icon{color:#4ade80!important}.dark-mode abp-toast .abp-toast.abp-toast-info{border-left-color:#60a5fa!important;background:linear-gradient(135deg,rgba(96,165,250,.06),var(--bg-white, #1a1d23))!important}.dark-mode abp-toast .abp-toast.abp-toast-info .abp-toast-icon{background:#60a5fa1f}.dark-mode abp-toast .abp-toast.abp-toast-info .abp-toast-icon .icon{color:#60a5fa!important}.dark-mode abp-toast .abp-toast.abp-toast-warning{border-left-color:#fbbf24!important;background:linear-gradient(135deg,rgba(251,191,36,.06),var(--bg-white, #1a1d23))!important}.dark-mode abp-toast .abp-toast.abp-toast-warning .abp-toast-icon{background:#fbbf241f}.dark-mode abp-toast .abp-toast.abp-toast-warning .abp-toast-icon .icon{color:#fbbf24!important}.dark-mode abp-toast .abp-toast.abp-toast-error{border-left-color:#f87171!important;background:linear-gradient(135deg,rgba(248,113,113,.06),var(--bg-white, #1a1d23))!important}.dark-mode abp-toast .abp-toast.abp-toast-error .abp-toast-icon{background:#f871711f}.dark-mode abp-toast .abp-toast.abp-toast-error .abp-toast-icon .icon{color:#f87171!important}.dark-mode abp-toast .abp-toast .abp-toast-content .abp-toast-title{color:#f9fafb!important}.dark-mode abp-toast .abp-toast .abp-toast-content .abp-toast-message{color:#9ca3af!important}.dark-mode abp-toast .abp-toast .abp-toast-content .abp-toast-close-button{color:#6b7280!important}.dark-mode abp-toast .abp-toast .abp-toast-content .abp-toast-close-button:hover{background:#242830!important;color:#e8eaed!important}.dark-mode abp-confirmation .confirmation .confirmation-backdrop{background:#0009!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog{background:var(--bg-white, #1a1d23)!important;border-color:#2c3036!important;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff08!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.neutral .icon,.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.info .icon{background:#60a5fa1f;color:#60a5fa}.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.success .icon{background:#4ade801f;color:#4ade80}.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.warn .icon,.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.warning .icon{background:#fbbf241f;color:#fbbf24}.dark-mode abp-confirmation .confirmation .confirmation-dialog .icon-container.error .icon{background:#f871711f;color:#f87171}.dark-mode abp-confirmation .confirmation .confirmation-dialog .content .title{color:#f9fafb!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog .content .message{color:#9ca3af!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog .footer .btn-primary{background:#3b82f6!important;border-color:#3b82f6!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog .footer .btn-primary:hover{background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 4px 12px #60a5fa4d}.dark-mode abp-confirmation .confirmation .confirmation-dialog .footer .btn-outline-primary{border-color:#2c3036!important;color:#e8eaed!important}.dark-mode abp-confirmation .confirmation .confirmation-dialog .footer .btn-outline-primary:hover{background:#242830!important}.modal .modal-content{border-radius:12px!important;border:none!important;box-shadow:0 8px 36px #0003!important}.dark-mode .modal .modal-content{background:var(--bg-white);box-shadow:0 8px 36px #00000080!important}.modal .modal-content .modal-header{background-color:var(--bg-white)!important;border-bottom:1px solid var(--border-color)!important;border-radius:12px 12px 0 0!important;padding:1.5rem!important}.dark-mode .modal .modal-content .modal-header{background-color:var(--bg-light)!important}.modal .modal-content .modal-header .modal-title{color:var(--text-color)!important;font-weight:600!important}.modal .modal-content .modal-header .btn-close{opacity:.7!important}.modal .modal-content .modal-header .btn-close:hover{opacity:1!important}.modal .modal-content .modal-body{padding:1.5rem!important;color:var(--text-color)!important}.modal .modal-content .modal-footer{background-color:var(--bg-light)!important;border-top:1px solid var(--border-color)!important;border-radius:0 0 12px 12px!important;padding:1rem 1.5rem!important}.modal .modal-content .modal-footer .btn+.btn{margin-left:.75rem!important}.popover{border-radius:8px!important;border:1px solid var(--border-color)!important;box-shadow:0 8px 25px #00000026!important}.popover .popover-header{background-color:var(--bg-light)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-color)!important;font-weight:600!important}.popover .popover-body{color:var(--text-color)!important}.tooltip .tooltip-inner{background-color:#000000e6!important;color:#fff!important;border-radius:6px!important;font-weight:500!important;padding:.5rem .75rem!important}.flag-icon{width:16px;height:12px;display:inline-block;background-size:cover;background-position:center;background-repeat:no-repeat}.flag-icon.flag-icon-vi{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20"><rect width="30" height="20" fill="%23DA020E"/><polygon points="15,4 11.47,14.85 20.71,8.15 9.29,8.15 18.53,14.85" fill="%23FFFF00"/></svg>')}.flag-icon.flag-icon-en{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20"><rect width="30" height="20" fill="%23012169"/><path d="M0,0L30,20M30,0L0,20" stroke="%23fff" stroke-width="2"/><path d="M0,0L30,20M30,0L0,20" stroke="%23C8102E" stroke-width="1"/><path d="M15,0V20M0,10H30" stroke="%23fff" stroke-width="4"/><path d="M15,0V20M0,10H30" stroke="%23C8102E" stroke-width="2"/></svg>')}.flag-icon.flag-icon-ja{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20"><rect width="30" height="20" fill="%23fff"/><circle cx="15" cy="10" r="6" fill="%23BC002D"/></svg>')}.flag-icon.flag-icon-ko{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20"><rect width="30" height="20" fill="%23fff"/><circle cx="15" cy="10" r="4" fill="%23003478"/><rect x="12" y="8" width="6" height="4" fill="%23CD2E3A"/></svg>')}@media print{.sidebar,.topbar,.btn,.dropdown{display:none!important}.content{margin:0!important;padding:0!important}.card{box-shadow:none!important;border:1px solid #000!important}}
