/*
 * School Management - modern presentation layer
 *
 * This file intentionally sits on top of the existing template styles.
 * It changes the visual language without changing page contracts, form
 * names, routes, or any application behaviour.
 */

:root {
    --ui-primary: #5275e8;
    --ui-primary-dark: #3658c8;
    --ui-primary-soft: #eef2ff;
    --ui-teal: #2ab8a7;
    --ui-ink: #1d2b45;
    --ui-muted: #72819a;
    --ui-border: #e7ecf4;
    --ui-surface: #ffffff;
    --ui-canvas: #f5f7fb;
    --ui-sidebar: #132b4a;
    --ui-sidebar-muted: #aabbd1;
    --ui-success: #2ca778;
    --ui-warning: #e9a63d;
    --ui-danger: #dc6673;
    --ui-primary-light: #7897f3;
    --ui-login-deep: #233e6f;
    --ui-login-soft: #cbd8ff;
    --ui-login-copy: #d7e1ff;
    --ui-login-accent: #8ee3d8;
    --ui-shadow: 0 14px 40px rgba(32, 56, 85, .08);
    --ui-shadow-soft: 0 5px 18px rgba(32, 56, 85, .07);
    --ui-radius: 18px;
}

html[data-ui-theme="sage"] {
    --ui-primary: #4f8f87;
    --ui-primary-dark: #2f6f69;
    --ui-primary-soft: #e9f6f3;
    --ui-teal: #37aa9b;
    --ui-ink: #243a3d;
    --ui-muted: #718789;
    --ui-border: #deebe8;
    --ui-surface: #ffffff;
    --ui-canvas: #f3f8f7;
    --ui-sidebar: #183d3c;
    --ui-sidebar-muted: #b2cbc8;
    --ui-success: #3a9d70;
    --ui-warning: #c89545;
    --ui-danger: #d06c79;
    --ui-primary-light: #78b9b0;
    --ui-login-deep: #255d58;
    --ui-login-soft: #cbe9e4;
    --ui-login-copy: #d9eeeb;
    --ui-login-accent: #9ae1d2;
}

html[data-ui-theme="lavender"] {
    --ui-primary: #8069c9;
    --ui-primary-dark: #604aa8;
    --ui-primary-soft: #f1edff;
    --ui-teal: #5eafc3;
    --ui-ink: #302d49;
    --ui-muted: #7f7a9a;
    --ui-border: #e7e2f3;
    --ui-surface: #ffffff;
    --ui-canvas: #f8f7fc;
    --ui-sidebar: #29294b;
    --ui-sidebar-muted: #c2c0df;
    --ui-success: #4eaa83;
    --ui-warning: #c79252;
    --ui-danger: #cd708b;
    --ui-primary-light: #a697df;
    --ui-login-deep: #463c78;
    --ui-login-soft: #ddd5ff;
    --ui-login-copy: #ebe7ff;
    --ui-login-accent: #b8e5e0;
}

html {
    scroll-behavior: smooth;
}

body.app-body {
    min-height: 100vh;
    margin: 0;
    background: var(--ui-canvas);
    color: var(--ui-ink);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

body.app-body *,
body.app-login * {
    box-sizing: border-box;
}

body.app-body a,
body.app-login a {
    color: var(--ui-primary);
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.app-body a:hover,
body.app-login a:hover {
    color: var(--ui-primary-dark);
}

body.app-body button,
body.app-body input,
body.app-body select,
body.app-body textarea,
body.app-login button,
body.app-login input,
body.app-login select,
body.app-login textarea {
    font-family: inherit;
}

.app-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 96% 6%, rgba(82, 117, 232, .06), transparent 23rem),
        var(--ui-canvas);
}

/* Header */

.app-shell .header-menu-one {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    min-height: 76px;
    padding: 0;
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid var(--ui-border);
    box-shadow: 0 4px 20px rgba(32, 56, 85, .05);
    backdrop-filter: blur(14px);
}

.app-shell .nav-bar-header-one {
    display: flex;
    flex: 0 0 256px;
    align-items: center;
    width: 256px;
    min-width: 256px;
    height: 76px;
    margin: 0 !important;
    padding: 0 20px;
    background: linear-gradient(135deg, var(--ui-primary-soft) 0%, #ffffff 72%) !important;
    border-right: 1px solid var(--ui-border);
}

.app-shell .nav-bar-header-one .header-logo {
    display: flex;
    align-items: center;
    width: auto;
    max-width: 205px;
    padding: 0;
}

.app-shell .nav-bar-header-one .header-logo a {
    display: flex;
    align-items: center;
    max-width: 100%;
    padding: 0;
}

.app-shell .app-brand-link {
    gap: 11px;
    color: var(--ui-ink);
    text-decoration: none;
}

.app-shell .app-brand-link:hover {
    color: var(--ui-primary-dark);
}

.app-shell .app-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 5px;
    border: 1px solid #dbe5fb;
    border-radius: 13px;
    background: #fff;
}

.app-shell .app-brand-mark img {
    max-width: 100%;
    max-height: 100%;
}

.app-shell .nav-bar-header-one .header-logo .app-brand-mark img {
    width: 100%;
    max-width: 100%;
    max-height: 100%;
}

.app-shell .app-brand-name {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.app-shell .app-brand-name strong {
    color: var(--ui-ink);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.035em;
}

.app-shell .app-brand-name small {
    margin-top: 4px;
    color: var(--ui-muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.app-shell .nav-bar-header-one .header-logo img {
    display: block;
    width: auto;
    max-width: 188px;
    height: auto;
    max-height: 52px;
    object-fit: contain;
    border: 0;
}

.app-shell .nav-bar-header-one .header-logo img.school-brand-image {
    width: 188px;
    max-height: 52px;
    border-radius: 12px;
}

.app-shell .nav-bar-header-one .toggle-button {
    margin-left: auto;
}

.app-shell .nav-bar-header-one .toggle-button .item-link {
    width: 40px;
    height: 40px;
    padding: 10px;
    border: 1px solid #dce5f2;
    border-radius: 12px;
    background: var(--ui-surface);
    box-shadow: 0 4px 12px rgba(32, 56, 85, .06);
}

.app-shell .nav-bar-header-one .toggle-button .item-link .btn-icon-wrap {
    width: 20px;
    height: 18px;
}

.app-shell .nav-bar-header-one .toggle-button .item-link .btn-icon-wrap span {
    height: 2px;
    background: var(--ui-primary);
    border-radius: 3px;
}

.app-shell .header-main-menu {
    display: flex;
    flex: 1;
    align-items: center;
    min-width: 0;
    padding: 0 28px;
}

.app-shell .header-main-menu > .navbar-nav:last-child {
    gap: 8px;
}

.app-shell .header-main-menu .navbar-item {
    margin-right: 0;
}

.app-shell .header-main-menu .navbar-nav-link {
    text-decoration: none;
}

.app-shell .header-main-menu .header-admin .navbar-nav-link {
    min-height: 52px;
    padding: 6px 8px 6px 12px;
    border: 1px solid transparent;
    border-radius: 14px;
}

.app-shell .header-main-menu .header-admin .navbar-nav-link:hover,
.app-shell .header-main-menu .header-admin.show .navbar-nav-link {
    background: var(--ui-primary-soft);
    border-color: var(--ui-border);
}

.app-shell .header-main-menu .header-admin .navbar-nav-link:after {
    position: static;
    margin-left: 10px;
    color: #8b9ab1;
}

.app-shell .header-main-menu .header-admin .admin-title {
    max-width: 210px;
    padding-right: 8px;
    text-align: right;
}

.app-shell .header-main-menu .header-admin .admin-title .item-title {
    display: block;
    overflow: hidden;
    margin: 0;
    color: var(--ui-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .header-main-menu .header-admin .admin-title .role-label {
    display: block;
    margin-bottom: 2px;
    color: var(--ui-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.app-shell .header-main-menu .header-admin .admin-title span:not(.role-label) {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .header-main-menu .header-admin .admin-img,
.app-shell .header-main-menu .header-admin .user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    flex: 0 0 40px;
    border: 3px solid #e9efff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ui-primary-soft), #ffffff);
    color: var(--ui-primary);
}

.app-shell .header-main-menu .header-admin .admin-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.app-shell .header-main-menu .header-admin .admin-img i,
.app-shell .header-main-menu .header-admin .user-avatar i {
    font-size: 16px;
}

.app-shell .header-main-menu .header-notification {
    margin-right: 4px;
}

.app-shell .header-main-menu .header-notification .navbar-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: var(--ui-muted);
    font-size: 18px;
}

.app-shell .header-main-menu .header-notification .navbar-nav-link .item-title {
    position: static;
    display: none;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font-size: inherit;
    line-height: 1.2;
}

.app-shell .header-main-menu .header-notification .navbar-nav-link:hover,
.app-shell .header-main-menu .header-notification.show .navbar-nav-link {
    background: var(--ui-primary-soft);
    border-color: #dce5ff;
    color: var(--ui-primary);
}

.app-shell .header-main-menu .header-notification .navbar-nav-link #bellnotification {
    top: 1px;
    right: 0;
    display: block;
    width: auto;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 10px;
    background: var(--ui-danger);
    box-shadow: 0 3px 8px rgba(220, 102, 115, .28);
    font-size: 10px;
    font-weight: 700;
    line-height: 13px;
}

.app-shell .header-main-menu .dropdown-menu {
    top: calc(100% + 8px);
    min-width: 250px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 16px;
    background: var(--ui-surface);
    box-shadow: 0 18px 45px rgba(32, 56, 85, .14);
}

.app-shell .header-main-menu .header-admin .dropdown-menu {
    min-width: 250px;
}

.app-shell .header-main-menu .dropdown-menu .item-header {
    padding: 16px 18px;
    border-radius: 11px;
    background: linear-gradient(135deg, var(--ui-primary), #7897f3);
}

.app-shell .header-main-menu .dropdown-menu .item-header .item-title {
    margin: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1.45;
}

.app-shell .header-main-menu .dropdown-menu .item-content {
    padding: 8px 0 0;
}

.app-shell .header-main-menu .header-admin .dropdown-menu .item-content .settings-list {
    padding: 0;
}

.app-shell .header-main-menu .header-admin .dropdown-menu .item-content .settings-list li a {
    display: flex;
    align-items: center;
    padding: 11px 13px;
    border-radius: 10px;
    color: var(--ui-ink);
    font-size: 13px;
}

.app-shell .header-main-menu .header-admin .dropdown-menu .item-content .settings-list li a:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .header-main-menu .header-admin .dropdown-menu .item-content .settings-list li a i {
    width: 26px;
    margin-right: 5px;
    color: var(--ui-primary);
    text-align: center;
}

.app-shell .header-main-menu .header-notification .dropdown-menu {
    min-width: 330px;
}

.app-shell .header-main-menu .header-notification .dropdown-menu .item-header {
    background: linear-gradient(135deg, #2ab8a7, #63d1c2);
}

.app-shell .header-main-menu .header-notification .notification-list {
    max-height: 320px;
    overflow-y: auto;
}

.app-shell .header-main-menu .header-notification .notification-list .media {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0;
    padding: 12px 8px;
    border-bottom: 1px solid #eef1f6;
}

.app-shell .header-main-menu .header-notification .notification-list .media:last-child {
    border-bottom: 0;
}

.app-shell .header-main-menu .header-notification .notification-list .item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 10px;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .header-main-menu .header-notification .notification-list .media-body {
    min-width: 0;
}

.app-shell .header-main-menu .header-notification .notification-list .post-title {
    overflow: hidden;
    color: var(--ui-ink);
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .header-main-menu .header-notification .notification-list .media-body span {
    color: var(--ui-muted);
    font-size: 11px;
}

.app-shell .header-main-menu .header-theme {
    position: relative;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 13px;
    background: transparent;
    color: var(--ui-muted);
    font-size: 17px;
    cursor: pointer;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle:after {
    display: none;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle:hover,
.app-shell .header-main-menu .header-theme.show .app-theme-toggle {
    border-color: #dce5ff;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .header-main-menu .header-theme .theme-toggle-label {
    display: none;
}

.app-shell .header-main-menu .app-theme-menu {
    min-width: 270px;
    padding: 12px;
}

.app-shell .app-theme-menu .app-theme-menu-header {
    padding: 5px 8px 12px;
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .app-theme-menu .app-theme-menu-header strong,
.app-shell .app-theme-menu .app-theme-menu-header small {
    display: block;
}

.app-shell .app-theme-menu .app-theme-menu-header strong {
    color: var(--ui-ink);
    font-size: 13px;
}

.app-shell .app-theme-menu .app-theme-menu-header small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
}

.app-shell .app-theme-menu .app-theme-options {
    display: grid;
    gap: 5px;
    padding-top: 10px;
}

.app-shell .app-theme-menu .theme-option {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 10px;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: var(--ui-ink);
    text-align: left;
    cursor: pointer;
}

.app-shell .app-theme-menu .theme-option:hover,
.app-shell .app-theme-menu .theme-option.is-selected {
    border-color: var(--ui-border);
    background: #f7f9fc;
}

.app-shell .app-theme-menu .theme-option > span:nth-child(2) {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.app-shell .app-theme-menu .theme-option strong {
    font-size: 12px;
    font-weight: 700;
}

.app-shell .app-theme-menu .theme-option small {
    margin-top: 2px;
    color: var(--ui-muted);
    font-size: 10px;
}

.app-shell .app-theme-menu .theme-option-check {
    color: var(--ui-primary);
    font-size: 12px;
    opacity: 0;
}

.app-shell .app-theme-menu .theme-option.is-selected .theme-option-check {
    opacity: 1;
}

.app-shell .app-theme-menu .theme-swatch {
    display: inline-block;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border: 2px solid rgba(255, 255, 255, .85);
    border-radius: 9px;
    box-shadow: 0 2px 7px rgba(32, 56, 85, .15);
}

.app-shell .app-theme-menu .theme-swatch-ocean {
    background: linear-gradient(135deg, #3658c8 0 50%, #8ba4f5 50% 100%);
}

.app-shell .app-theme-menu .theme-swatch-sage {
    background: linear-gradient(135deg, #2f6f69 0 50%, #8ec9bd 50% 100%);
}

.app-shell .app-theme-menu .theme-swatch-lavender {
    background: linear-gradient(135deg, #604aa8 0 50%, #b5a6e7 50% 100%);
}

.app-shell .mobile-nav-bar {
    align-items: center;
    margin-left: auto;
    padding-right: 10px;
}

.app-shell .mobile-nav-bar .navbar-toggler {
    padding: 10px;
    border: 0;
    color: var(--ui-primary);
}

/* Sidebar */

.app-shell .dashboard-page-one {
    align-items: stretch;
    min-height: calc(100vh - 76px);
    background: transparent;
}

.app-shell .sidebar-menu-one {
    position: sticky;
    top: 76px;
    width: 256px;
    min-width: 256px;
    height: calc(100vh - 76px);
    overflow: visible;
    background: var(--ui-sidebar);
}

.app-shell .sidebar-color {
    background:
        linear-gradient(180deg, rgba(21, 49, 82, .99), rgba(14, 36, 63, .99)),
        var(--ui-sidebar);
}

.app-shell .sidebar-menu-one .sidebar-menu-content {
    position: static;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 76px);
    padding: 18px 12px 30px;
    overflow-y: auto;
    scrollbar-color: rgba(194, 214, 240, .28) transparent;
    scrollbar-width: thin;
}

.app-shell .sidebar-menu-one .sidebar-menu-content::-webkit-scrollbar {
    width: 5px;
}

.app-shell .sidebar-menu-one .sidebar-menu-content::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(194, 214, 240, .28);
}

.app-shell .sidebar-section-label {
    margin: 0 13px 10px;
    color: #6f88ad;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item {
    margin: 3px 0;
    border: 0;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--ui-sidebar-muted);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    min-width: 25px;
    margin-right: 11px;
    color: #91a9ce;
    font-size: 15px;
    text-align: center;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link i:before {
    margin: 0;
    color: inherit;
    font-size: inherit;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link span {
    overflow: hidden;
    color: inherit;
    font-size: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link:hover,
.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item.active > .nav-link,
.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link.menu-active {
    background: rgba(116, 151, 235, .16);
    border-color: rgba(153, 180, 242, .13);
    color: #fff;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link:hover i,
.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item.active > .nav-link i,
.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link.menu-active i {
    color: #a9c2ff;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu .sidebar-nav-item > .nav-link:after {
    right: 15px;
    color: #7590b4;
    font-size: 9px;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu .nav-item.active > .nav-link:after {
    color: #a9c2ff;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu {
    margin: 2px 0 5px;
    padding: 6px 0;
    border: 0;
    border-left: 1px solid rgba(151, 180, 235, .18);
    border-radius: 0 11px 11px 0;
    background: rgba(4, 19, 38, .24);
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu > .nav-item {
    margin: 2px 0;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu > .nav-item .nav-link {
    display: flex;
    align-items: center;
    min-height: 35px;
    padding: 7px 13px 7px 45px;
    border-radius: 9px;
    color: #a9b9cf;
    font-size: 12px;
    line-height: 1.35;
    text-decoration: none;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu > .nav-item .nav-link i {
    width: 14px;
    margin-right: 8px;
    color: #7191c0;
    font-size: 9px;
}

.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu > .nav-item .nav-link:hover,
.app-shell .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu > .nav-item .nav-link.menu-active {
    background: rgba(116, 151, 235, .13);
    color: #fff;
}

.app-shell .mobile-sidebar-header {
    padding: 14px;
    border-bottom: 1px solid rgba(194, 214, 240, .1);
}

.app-shell .mobile-sidebar-header .header-logo a {
    display: flex;
    justify-content: center;
    padding: 0;
}

.app-shell .mobile-sidebar-header img {
    max-height: 45px;
}

.app-shell.sidebar-collapsed .nav-bar-header-one {
    flex-basis: 82px;
    width: 82px;
    min-width: 82px;
    justify-content: center;
    padding-right: 8px;
    padding-left: 8px;
}

.app-shell.sidebar-collapsed .nav-bar-header-one .header-logo {
    display: none;
}

.app-shell.sidebar-collapsed .nav-bar-header-one .toggle-button {
    margin: 0;
}

.app-shell.sidebar-collapsed .sidebar-menu-one {
    width: 82px;
    min-width: 82px;
}

.app-shell.sidebar-collapsed .sidebar-section-label {
    display: none;
}

.app-shell.sidebar-collapsed .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link {
    justify-content: center;
    padding-right: 10px;
    padding-left: 10px;
}

.app-shell.sidebar-collapsed .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link i {
    margin-right: 0;
}

.app-shell.sidebar-collapsed .sidebar-menu-one .nav-sidebar-menu > .nav-item > .nav-link span,
.app-shell.sidebar-collapsed .sidebar-menu-one .nav-sidebar-menu .sidebar-nav-item > .nav-link:after {
    display: none;
}

.app-shell.sidebar-collapsed .sidebar-menu-one .nav-sidebar-menu > .nav-item .sub-group-menu {
    left: 82px;
    width: 255px;
}

/* Main content and page headings */

.app-shell .dashboard-content-one {
    min-width: 0;
    padding: 32px 34px 48px;
    overflow: visible;
}

.app-shell .breadcrumbs-area {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px 20px;
    padding: 0 0 26px;
}

.app-shell .breadcrumbs-area h3 {
    margin: 0;
    color: var(--ui-ink);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.2;
}

.app-shell .page-heading-copy {
    min-width: 0;
}

.app-shell .page-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--ui-primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

.app-shell .page-description {
    margin: 8px 0 0;
    color: var(--ui-muted);
    font-size: 13px;
}

.app-shell .breadcrumbs-area ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.app-shell .breadcrumbs-area ul li {
    margin: 0;
    padding: 0;
    color: var(--ui-muted);
    font-size: 12px;
    line-height: 1.3;
}

.app-shell .breadcrumbs-area ul li:before {
    display: none;
}

.app-shell .breadcrumbs-area ul li + li:before {
    display: inline-block;
    margin: 0 8px 0 0;
    color: #a9b4c6;
    content: "/";
    font-family: inherit;
    font-size: 12px;
}

.app-shell .breadcrumbs-area ul li a {
    color: var(--ui-primary);
    text-decoration: none;
}

.app-shell .breadcrumbs-area ul li a:hover {
    color: var(--ui-primary-dark);
}

/* Cards and legacy panel names used by the existing pages */

.app-shell .card {
    height: auto;
    margin-bottom: 24px;
    padding-bottom: 0;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .card-body {
    padding: 25px 26px 27px;
    border-radius: inherit;
    background: transparent;
    box-shadow: none;
}

.app-shell .height-auto {
    height: auto;
}

.app-shell .heading-layout1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 30px;
    margin-bottom: 22px;
}

.app-shell .heading-layout1 .item-title h3,
.app-shell .card-body > h3,
.app-shell .card-body .box-title {
    margin: 0;
    color: var(--ui-ink);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.015em;
}

.app-shell .heading-layout1 .dropdown .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    color: #9aa8bc;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.app-shell .heading-layout1 .dropdown .dropdown-toggle:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .box {
    margin-bottom: 24px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .box-header {
    padding: 20px 25px;
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .box-header .box-title {
    color: var(--ui-ink);
    font-size: 17px;
    font-weight: 700;
}

.app-shell .box-body {
    padding: 25px;
}

/* Forms */

.app-shell .form-group {
    margin-bottom: 19px;
}

.app-shell .form-group > label,
.app-shell .new-added-form .form-group label {
    display: block;
    margin-bottom: 8px;
    color: #52627b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
}

.app-shell .form-control,
.app-shell .form-select,
.app-shell select.form-control,
.app-shell textarea.form-control {
    min-height: 45px;
    border: 1px solid #dfe6f0;
    border-radius: 10px;
    background-color: #fbfcfe;
    color: var(--ui-ink);
    font-size: 14px;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.app-shell .form-control {
    height: 45px;
    padding: 9px 13px;
}

.app-shell textarea.form-control {
    min-height: 105px;
    height: auto;
}

.app-shell .form-control::placeholder {
    color: #aab5c6;
}

.app-shell .form-control:hover {
    border-color: #c6d3e5;
    background: #fff;
}

.app-shell .form-control:focus,
.app-shell select.form-control:focus,
.app-shell textarea.form-control:focus {
    border-color: #91aaf5;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(82, 117, 232, .12);
    outline: none;
}

.app-shell .form-control[readonly],
.app-shell .form-control:disabled {
    background: #f2f5f9;
    color: #8290a5;
}

.app-shell .new-added-form .form-group .form-control {
    height: 45px;
    background: #fbfcfe;
}

.app-shell .new-added-form .form-group .textarea {
    height: auto;
}

.app-shell .form-control-file {
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px dashed #cbd7e8;
    border-radius: 10px;
    background: #fbfcfe;
    color: var(--ui-muted);
}

.app-shell .custom-control-input:focus ~ .custom-control-label:before,
.app-shell .form-check-input:focus {
    box-shadow: 0 0 0 4px rgba(82, 117, 232, .12);
}

.app-shell input[type="checkbox"],
.app-shell input[type="radio"] {
    accent-color: var(--ui-primary);
}

.app-shell .input-group .form-control {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.app-shell .input-group .input-group-text,
.app-shell .input-group .input-group-append .btn,
.app-shell .input-group .input-group-append .input-group-text {
    min-height: 45px;
    border-color: #dfe6f0;
    background: #f7f9fc;
    color: #8090a8;
}

.app-shell .input-group .input-group-append .btn:hover,
.app-shell .input-group .input-group-append .input-group-text:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .input-group > .form-control,
.app-shell .input-group > .custom-select,
.app-shell .input-group > .custom-file {
    border-radius: 10px 0 0 10px;
}

.app-shell .input-group > .input-group-append .btn,
.app-shell .input-group > .input-group-append .input-group-text {
    border-left: 0;
    border-radius: 0 10px 10px 0;
}

.app-shell .select2-container {
    width: 100% !important;
}

.app-shell .select2-container--default .select2-selection--single,
.app-shell .select2-container--default .select2-selection--multiple {
    min-height: 45px;
    border: 1px solid #dfe6f0;
    border-radius: 10px;
    background: #fbfcfe;
}

.app-shell .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 8px 13px;
    color: var(--ui-ink);
    line-height: 27px;
}

.app-shell .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 9px;
    right: 8px;
}

.app-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
.app-shell .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #91aaf5;
    box-shadow: 0 0 0 4px rgba(82, 117, 232, .12);
}

.app-shell .validation-message,
.app-shell .text-danger,
.app-shell .field-validation-error {
    display: block;
    margin-top: 5px;
    color: var(--ui-danger) !important;
    font-size: 12px;
}

.app-shell .text-success {
    color: var(--ui-success) !important;
    font-size: 13px;
}

/* Buttons */

.app-shell .btn,
.app-shell .btn-fill-lg,
.app-shell .btn-fill-md,
.app-shell .btn-fill-sm,
.app-shell .btn-fill-lmd,
.app-shell .btn-fill-xl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.app-shell .btn:hover,
.app-shell .btn-fill-lg:hover,
.app-shell .btn-fill-md:hover,
.app-shell .btn-fill-sm:hover,
.app-shell .btn-fill-lmd:hover,
.app-shell .btn-fill-xl:hover {
    transform: translateY(-1px);
}

.app-shell .btn:focus,
.app-shell .btn-fill-lg:focus,
.app-shell .btn-fill-md:focus,
.app-shell .btn-fill-sm:focus,
.app-shell .btn-fill-lmd:focus,
.app-shell .btn-fill-xl:focus {
    box-shadow: 0 0 0 4px rgba(82, 117, 232, .14);
    outline: none;
}

.app-shell .btn-fill-lg,
.app-shell .btn-fill-md,
.app-shell .btn-fill-sm,
.app-shell .btn-fill-lmd,
.app-shell .btn-fill-xl {
    padding: 11px 20px;
}

.app-shell .btn-primary,
.app-shell .btn-gradient-yellow {
    border-color: var(--ui-primary) !important;
    background: linear-gradient(135deg, var(--ui-primary), #7594f1) !important;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(82, 117, 232, .2);
}

.app-shell .btn-primary:hover,
.app-shell .btn-gradient-yellow:hover {
    border-color: var(--ui-primary-dark) !important;
    background: linear-gradient(135deg, var(--ui-primary-dark), #6788ea) !important;
    color: #fff !important;
    box-shadow: 0 9px 19px rgba(82, 117, 232, .27);
}

.app-shell .btn-success {
    border-color: var(--ui-success) !important;
    background: #e9f8f1 !important;
    color: #21855e !important;
}

.app-shell .btn-success:hover {
    background: var(--ui-success) !important;
    color: #fff !important;
}

.app-shell .btn-danger {
    border-color: #f1c4ca !important;
    background: #fff0f2 !important;
    color: #c94c5a !important;
}

.app-shell .btn-danger:hover {
    background: var(--ui-danger) !important;
    color: #fff !important;
}

.app-shell .btn-warning {
    border-color: #f3d49e !important;
    background: #fff7e7 !important;
    color: #b77717 !important;
}

.app-shell .btn-warning:hover {
    background: var(--ui-warning) !important;
    color: #fff !important;
}

.app-shell .btn-secondary,
.app-shell .bg-blue-dark,
.app-shell .btn-hover-yellow {
    border-color: #d8e0ec !important;
    background: #f1f4f8 !important;
    color: #53647d !important;
}

.app-shell .btn-secondary:hover,
.app-shell .bg-blue-dark:hover,
.app-shell .btn-hover-yellow:hover {
    border-color: #c7d2e2 !important;
    background: #e7edf5 !important;
    color: var(--ui-ink) !important;
}

.app-shell .table .btn-sm {
    min-height: 32px;
    margin: 2px 2px 2px 0;
    padding: 6px 9px;
    border-radius: 8px;
    font-size: 11px;
}

.app-shell .table .btn-sm i {
    margin: 0;
}

/* Tables and data tables */

.app-shell .table-responsive {
    border-radius: 12px;
    scrollbar-color: #c6d2e4 transparent;
    scrollbar-width: thin;
}

.app-shell .table-responsive::-webkit-scrollbar {
    height: 7px;
    width: 7px;
}

.app-shell .table-responsive::-webkit-scrollbar-thumb {
    border-radius: 7px;
    background: #c6d2e4;
}

.app-shell .table {
    width: 100%;
    margin-bottom: 0;
    border: 1px solid var(--ui-border);
    border-collapse: separate;
    border-spacing: 0;
    background: var(--ui-surface);
    color: #53647c;
    font-size: 13px;
}

.app-shell .table thead th,
.app-shell .dataTables_wrapper .table thead tr th {
    padding: 13px 15px;
    border-top: 0;
    border-bottom: 1px solid var(--ui-border);
    border-color: var(--ui-border);
    background: #f7f9fc !important;
    color: #62728a;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase;
    white-space: nowrap;
}

.app-shell .table thead tr:first-child th:first-child {
    border-top-left-radius: 11px;
}

.app-shell .table thead tr:first-child th:last-child {
    border-top-right-radius: 11px;
}

.app-shell .table tbody tr {
    border-bottom: 1px solid #eef1f6;
    background: #fff;
    transition: background-color .2s ease;
}

.app-shell .table tbody tr:last-child td {
    border-bottom: 0;
}

.app-shell .table tbody tr:hover {
    background: #fafbff;
}

.app-shell .table tbody td {
    padding: 13px 15px;
    border-top: 0;
    border-bottom: 1px solid #eef1f6;
    color: #53647c;
    font-size: 13px;
    vertical-align: middle;
}

.app-shell .table tbody td:first-child {
    color: #8290a5;
    font-variant-numeric: tabular-nums;
}

.app-shell .table-bordered,
.app-shell .table-bordered td,
.app-shell .table-bordered th {
    border-color: var(--ui-border);
}

.app-shell .table-custom {
    background: #fff;
}

.app-shell .dataTables_wrapper {
    color: var(--ui-muted);
}

.app-shell .dataTables_wrapper .dataTables_length,
.app-shell .dataTables_wrapper .dataTables_filter {
    margin-bottom: 15px;
    color: var(--ui-muted);
    font-size: 12px;
}

.app-shell .dataTables_wrapper .dataTables_filter input,
.app-shell .dataTables_wrapper .dataTables_length select {
    height: 36px;
    margin-left: 6px;
    padding: 5px 10px;
    border: 1px solid #dfe6f0;
    border-radius: 9px;
    background: #fbfcfe;
    color: var(--ui-ink);
}

.app-shell .dataTables_wrapper .dataTables_filter input:focus,
.app-shell .dataTables_wrapper .dataTables_length select:focus {
    border-color: #91aaf5;
    box-shadow: 0 0 0 3px rgba(82, 117, 232, .1);
    outline: none;
}

.app-shell .dataTables_wrapper .dataTables_info {
    padding-top: 18px;
    color: var(--ui-muted);
    font-size: 12px;
}

.app-shell .dataTables_wrapper .dataTables_paginate {
    padding-top: 14px;
}

.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button {
    min-width: 31px;
    margin: 0 2px;
    padding: 6px 9px;
    border: 1px solid transparent !important;
    border-radius: 8px;
    background: transparent !important;
    color: var(--ui-muted) !important;
    font-size: 12px;
}

.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    border-color: #dbe4ff !important;
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary) !important;
}

.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    color: #c3ccda !important;
}

/* Tabs and pagination */

.app-shell .nav-tabs-custom {
    margin-bottom: 24px;
}

.app-shell .nav-tabs {
    gap: 5px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .nav-tabs > li > a,
.app-shell .nav-tabs .nav-link {
    margin-bottom: -1px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px 10px 0 0;
    color: var(--ui-muted);
    font-size: 13px;
    font-weight: 700;
}

.app-shell .nav-tabs > li > a:hover,
.app-shell .nav-tabs .nav-link:hover {
    border-color: transparent transparent var(--ui-border);
    background: #f7f9fc;
    color: var(--ui-primary);
}

.app-shell .nav-tabs > li.active > a,
.app-shell .nav-tabs > li.active > a:hover,
.app-shell .nav-tabs .nav-link.active {
    border-color: transparent transparent var(--ui-primary);
    background: transparent;
    color: var(--ui-primary);
}

.app-shell .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 20px 0 0;
}

.app-shell .pagination .page-link {
    min-width: 33px;
    padding: 7px 10px;
    border: 1px solid var(--ui-border);
    border-radius: 8px !important;
    background: #fff;
    color: var(--ui-muted);
    font-size: 12px;
    text-align: center;
}

.app-shell .pagination .page-link:hover,
.app-shell .pagination .page-item.active .page-link {
    border-color: #dbe4ff;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

/* Alerts, modal and utility surfaces */

.app-shell .alert {
    border: 0;
    border-radius: 11px;
    font-size: 13px;
}

.app-shell .alert-success {
    background: #eaf8f1;
    color: #257c59;
}

.app-shell .alert-danger,
.app-shell .alert-error {
    background: #fff0f2;
    color: #c34e5b;
}

.app-shell .alert-info {
    background: #edf4ff;
    color: #4169c8;
}

.app-shell .modal-content {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 18px;
    box-shadow: 0 25px 70px rgba(25, 45, 74, .2);
}

.app-shell .modal-header,
.app-shell .modal-body,
.app-shell .modal-footer {
    border-color: var(--ui-border);
}

.app-shell .modal-header {
    padding: 19px 24px;
}

.app-shell .modal-body {
    padding: 24px;
}

.app-shell .modal-title {
    color: var(--ui-ink);
    font-size: 18px;
    font-weight: 700;
}

.app-shell .footer,
.app-body .app-footer {
    min-height: 48px;
    margin: 0;
    padding: 14px 24px;
    border-top: 1px solid var(--ui-border) !important;
    background: #fff;
    color: var(--ui-muted);
    font-size: 12px;
    text-align: right;
}

/* Dashboard */

.app-shell .dashboard-summery-one {
    position: relative;
    min-height: 154px;
    margin-bottom: 20px;
    overflow: hidden;
    padding: 22px 22px !important;
    border: 0;
    border-radius: var(--ui-radius);
    box-shadow: 0 11px 24px rgba(32, 56, 85, .1);
}

.app-shell .dashboard-summery-one:before {
    position: absolute;
    top: -55px;
    right: -35px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    content: "";
}

.app-shell .dashboard-summery-one:after {
    position: absolute;
    right: 25px;
    bottom: -74px;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
    content: "";
}

.app-shell .dashboard-summery-one.bg-info {
    background: linear-gradient(135deg, #5879e8, #7895f1) !important;
}

.app-shell .dashboard-summery-one.bg-warning {
    background: linear-gradient(135deg, #e8a43c, #f1c16a) !important;
}

.app-shell .dashboard-summery-one.bg-success {
    background: linear-gradient(135deg, #2c9e77, #54b992) !important;
}

.app-shell .dashboard-summery-one.bg-pink {
    background: linear-gradient(135deg, #dc5b92, #ed82ad) !important;
}

.app-shell .dashboard-summery-one.bg-olive {
    background: linear-gradient(135deg, #398b73, #5daf91) !important;
}

.app-shell .dashboard-summery-one.bg-orange {
    background: linear-gradient(135deg, #de8441, #efa869) !important;
}

.app-shell .dashboard-summery-one.bg-teal {
    background: linear-gradient(135deg, #31a9ad, #61c6c6) !important;
}

.app-shell .dashboard-summery-one.bg-danger {
    background: linear-gradient(135deg, #d65767, #e7808d) !important;
}

.app-shell .dashboard-summery-one.bg-infomat {
    background: linear-gradient(135deg, #7167d1, #958ce8) !important;
}

.app-shell .dashboard-summery-one.bg-infomation {
    background: linear-gradient(135deg, #5e7da9, #84a1ca) !important;
}

.app-shell .dashboard-summery-one .row {
    position: relative;
    z-index: 1;
    height: 100%;
    margin-right: -8px;
    margin-left: -8px;
}

.app-shell .dashboard-summery-one .row > [class*="col-"] {
    padding-right: 8px;
    padding-left: 8px;
}

.app-shell .dashboard-summery-one .item-content {
    padding: 4px 0;
    text-align: left;
}

.app-shell .dashboard-summery-one .item-content .item-title {
    margin-bottom: 5px;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.app-shell .dashboard-summery-one .item-content .item-number {
    color: #fff !important;
    font-size: 30px;
    font-weight: 750;
    letter-spacing: -.04em;
    line-height: 1.05;
}

.app-shell .dashboard-summery-one .item-icon {
    width: 55px;
    height: 55px;
    line-height: 55px;
    border: 1px solid rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .18);
}

.app-shell .dashboard-summery-one .item-icon i,
.app-shell .dashboard-summery-one .item-icon i:before {
    color: #fff;
    font-size: 24px;
}

.app-shell .dashboard-summery-one > .row > .col-12.text-center,
.app-shell .dashboard-summery-one > .row > .col-12[align="center"] {
    text-align: left !important;
}

.app-shell .dashboard-summery-one .small-box-footer {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    position: relative !important;
    bottom: auto !important;
    margin-top: 17px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    color: #fff !important;
    font-size: 11px;
    text-decoration: none;
}

.app-shell .dashboard-summery-one .small-box-footer:hover {
    background: rgba(255, 255, 255, .25);
    color: #fff !important;
    transform: translateY(-1px);
}

.app-shell .dashboard-summery-one .small-box-footer i {
    color: inherit !important;
    font-size: 12px;
}

.app-shell .dashboard-card-three,
.app-shell .dashboard-card-four {
    height: 100%;
}

.app-shell .dashboard-card-three .card-body,
.app-shell .dashboard-card-four .card-body {
    min-height: 355px;
}

.app-shell .pie-chart-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 245px;
}

.app-shell #piechart {
    width: 100% !important;
    max-width: 390px;
    margin: 0 auto;
}

.app-shell .student-report {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 13px;
}

.app-shell .dashboard-card-three .student-report .student-count {
    min-height: 67px;
    padding: 11px 10px;
    border-radius: 11px;
    background: #f7f9fc;
}

.app-shell .dashboard-card-three .student-report .student-count:after {
    display: none;
}

.app-shell .dashboard-card-three .student-report .student-count .item-title {
    margin-bottom: 3px;
    color: var(--ui-muted);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
}

.app-shell .dashboard-card-three .student-report .student-count > div {
    color: var(--ui-ink);
    font-size: 18px;
    font-weight: 750;
}

.app-shell .notice-box-wrap,
.app-shell #calendar {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

.app-shell .fc {
    color: var(--ui-muted);
    font-size: 12px;
}

.app-shell .fc-toolbar {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px !important;
}

.app-shell .fc-toolbar h2 {
    color: var(--ui-ink);
    font-size: 17px;
    font-weight: 700;
}

.app-shell .fc button {
    height: 31px;
    padding: 5px 10px;
    border: 1px solid #dce5f2;
    border-radius: 8px;
    background: #f7f9fc;
    color: #60718b;
    box-shadow: none;
    font-size: 10px !important;
    font-weight: 700;
    text-transform: none;
}

.app-shell .fc button:hover,
.app-shell .fc button.fc-state-active {
    border-color: #dbe4ff;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .fc-unthemed td,
.app-shell .fc-unthemed th {
    border-color: #edf1f6;
}

.app-shell .fc-unthemed .fc-today {
    background: #f0f4ff;
}

.app-shell .fc-event,
.app-shell .fc-event a {
    border: 0;
    border-radius: 5px;
    background: var(--ui-primary);
    color: #fff;
}

/* Login / authentication */

body.app-login {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(var(--ui-primary-rgb), .17), transparent 23rem),
        radial-gradient(circle at 90% 88%, rgba(42, 184, 167, .12), transparent 25rem),
        #eef3fa;
    color: var(--ui-ink);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.app-login .login-page-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 32px;
}

.app-login .login-page-content {
    display: grid;
    grid-template-columns: minmax(280px, .86fr) minmax(360px, 1fr);
    width: min(100%, 980px);
    min-height: 610px;
    height: auto !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 28px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 24px 80px rgba(33, 57, 89, .16);
    align-items: stretch;
    padding: 0 !important;
}

.app-login .auth-aside {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 45px;
    background:
        linear-gradient(150deg, var(--ui-login-deep), var(--ui-primary));
    color: #fff;
}

.app-login .auth-aside:before,
.app-login .auth-aside:after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    content: "";
}

.app-login .auth-aside:before {
    top: -100px;
    right: -80px;
    width: 310px;
    height: 310px;
}

.app-login .auth-aside:after {
    right: -130px;
    bottom: -140px;
    width: 380px;
    height: 380px;
}

.app-login .auth-aside .auth-aside-brand,
.app-login .auth-aside .auth-aside-copy,
.app-login .auth-aside .auth-aside-foot {
    position: relative;
    z-index: 1;
}

.app-login .auth-aside-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 17px;
    font-weight: 750;
    letter-spacing: -.02em;
}

.app-login .auth-aside-brand img {
    width: 47px;
    height: 47px;
    padding: 6px;
    border-radius: 15px;
    background: #fff;
    object-fit: contain;
}

.app-login .auth-aside-copy {
    max-width: 330px;
}

.app-login .auth-eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--ui-login-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.app-login .auth-aside-copy h1 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    letter-spacing: -.045em;
    line-height: 1.08;
}

.app-login .auth-aside-copy p {
    margin: 0;
    color: var(--ui-login-copy);
    font-size: 14px;
    line-height: 1.75;
}

.app-login .auth-aside-foot {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--ui-login-soft);
    font-size: 11px;
}

.app-login .auth-aside-foot i {
    color: var(--ui-login-accent);
}

.app-login .login-box {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    min-width: 0 !important;
    max-width: none;
    margin: 0;
    padding: 48px 58px;
}

.app-login .login-box .item-logo {
    display: none;
}

.app-login .login-box .login-heading {
    margin-bottom: 32px;
}

.app-login .login-heading .auth-eyebrow {
    margin-bottom: 10px;
    color: var(--ui-primary);
}

.app-login .login-heading h2 {
    margin: 0 0 8px;
    color: var(--ui-ink);
    font-size: 29px;
    font-weight: 750;
    letter-spacing: -.04em;
}

.app-login .login-heading p {
    margin: 0;
    color: var(--ui-muted);
    font-size: 13px;
}

.app-login .login-page-content .login-box .login-form .form-group {
    position: relative;
    margin-bottom: 22px;
}

.app-login .login-page-content .login-box .login-form .form-group > label {
    display: block;
    margin-bottom: 8px;
    color: #52627b;
    font-size: 12px;
    font-weight: 700;
}

.app-login .login-page-content .login-box .login-form .form-group .form-control {
    width: 100%;
    height: 50px;
    padding: 11px 15px;
    border: 1px solid #dfe6f0;
    border-radius: 11px;
    background: #fbfcfe;
    color: var(--ui-ink);
    font-size: 14px;
    box-shadow: none;
}

.app-login .login-page-content .login-box .login-form .form-group .form-control:focus {
    border-color: var(--ui-primary-light);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .12);
    outline: none;
}

.app-login .login-page-content .login-box .login-form .form-group > i {
    top: auto;
    right: 15px;
    bottom: 16px;
    color: #9aa8bc;
    font-size: 14px;
}

.app-login .login-page-content .login-box .login-form .input-group {
    display: flex;
}

.app-login .login-page-content .login-box .login-form .input-group .form-control {
    border-radius: 11px 0 0 11px;
}

.app-login .login-page-content .login-box .login-form .input-group-append .btn {
    width: 50px;
    height: 50px;
    min-height: 50px;
    border: 1px solid #dfe6f0;
    border-left: 0;
    border-radius: 0 11px 11px 0;
    background: #fbfcfe;
    color: #8090a8;
}

.app-login .login-page-content .login-box .login-form .input-group-append .btn:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
    transform: none;
}

.app-login .login-page-content .login-box .login-form .text-danger {
    display: block;
    margin-top: 6px;
    color: var(--ui-danger) !important;
    font-size: 12px;
}

.app-login .login-page-content .login-box .login-form #errorMessage,
.app-login .login-page-content .login-box .login-form .alert {
    margin: -4px 0 18px;
    padding: 11px 13px;
    border: 0;
    border-radius: 10px;
    background: #fff0f2;
    color: #c34e5b;
    font-size: 12px;
}

.app-login .login-page-content .login-box .login-form .form-group:last-child {
    margin: 30px 0 0;
}

.app-login .login-page-content .login-box .login-form .form-group .login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 51px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, var(--ui-primary), var(--ui-primary-light)) !important;
    color: #fff !important;
    padding: 0 15px;
    font-size: 14px;
    font-weight: 750;
    box-shadow: 0 9px 18px rgba(var(--ui-primary-rgb), .24);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.app-login .login-page-content .login-box .login-form .form-group .login-btn:after {
    display: none;
}

.app-login .login-page-content .login-box .login-form .form-group .login-btn:hover {
    box-shadow: 0 12px 23px rgba(var(--ui-primary-rgb), .3);
    transform: translateY(-1px);
}

.app-login .login-page-content .login-box .login-form .form-group .login-btn:focus {
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .15), 0 9px 18px rgba(var(--ui-primary-rgb), .24);
    outline: none;
}

/* Theme palette accents */

html[data-ui-theme="sage"] .app-shell .sidebar-color {
    background: linear-gradient(180deg, #1a4542, #123331);
}

html[data-ui-theme="sage"] .app-shell .sidebar-section-label {
    color: #8ab7ae;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-info {
    background: linear-gradient(135deg, #4e938a, #72b8ac) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-warning {
    background: linear-gradient(135deg, #c28f44, #ddb46f) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-success {
    background: linear-gradient(135deg, #3c9275, #65b49b) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-pink {
    background: linear-gradient(135deg, #bd688d, #d792ad) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-olive {
    background: linear-gradient(135deg, #47856e, #73ad94) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-orange {
    background: linear-gradient(135deg, #c77c55, #e0a27f) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-teal {
    background: linear-gradient(135deg, #3b9fa0, #70c1bc) !important;
}

html[data-ui-theme="sage"] .app-shell .dashboard-summery-one.bg-danger {
    background: linear-gradient(135deg, #c86370, #dd8c95) !important;
}

html[data-ui-theme="lavender"] .app-shell .sidebar-color {
    background: linear-gradient(180deg, #35355d, #252541);
}

html[data-ui-theme="lavender"] .app-shell .sidebar-section-label {
    color: #aaa7d5;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-info {
    background: linear-gradient(135deg, #7767ba, #a697e0) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-warning {
    background: linear-gradient(135deg, #c69555, #dfbc86) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-success {
    background: linear-gradient(135deg, #569c84, #83b9a0) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-pink {
    background: linear-gradient(135deg, #a6649a, #c38abe) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-olive {
    background: linear-gradient(135deg, #756ba9, #9c94ca) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-orange {
    background: linear-gradient(135deg, #c18368, #dfa18b) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-teal {
    background: linear-gradient(135deg, #638fb5, #8fb4d1) !important;
}

html[data-ui-theme="lavender"] .app-shell .dashboard-summery-one.bg-danger {
    background: linear-gradient(135deg, #c46d8d, #da9ab0) !important;
}

/* Responsive layout */

@media (max-width: 1199px) {
    .app-shell .dashboard-content-one {
        padding-right: 24px;
        padding-left: 24px;
    }

    .app-shell .nav-bar-header-one,
    .app-shell .sidebar-menu-one {
        flex-basis: 232px;
        width: 232px;
        min-width: 232px;
    }
}

@media (max-width: 767px) {
    .app-shell .header-menu-one {
        min-height: 68px;
    }

    .app-shell .nav-bar-header-one {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        height: 68px;
        padding: 0 15px;
        border-right: 0;
        background: transparent !important;
    }

    .app-shell .nav-bar-header-one .header-logo img {
        max-width: 155px;
        max-height: 43px;
    }

    .app-shell .nav-bar-header-one .toggle-button {
        display: none;
    }

    .app-shell .header-main-menu {
        position: absolute;
        top: 68px;
        right: 0;
        left: 0;
        max-height: calc(100vh - 68px);
        padding: 8px 15px;
        overflow-y: auto;
        border-bottom: 1px solid var(--ui-border);
        background: #fff;
        box-shadow: 0 14px 28px rgba(32, 56, 85, .1);
    }

    .app-shell .header-main-menu:not(.show) {
        display: none;
    }

    .app-shell .header-main-menu.show {
        display: flex;
    }

    .app-shell .header-main-menu > .navbar-nav:last-child {
        gap: 0;
    }

    .app-shell .header-main-menu .header-admin .navbar-nav-link {
        justify-content: flex-start;
        padding: 9px 0;
    }

    .app-shell .header-main-menu .header-admin .admin-title {
        max-width: calc(100vw - 130px);
        text-align: left;
    }

    .app-shell .header-main-menu .header-theme {
        width: 100%;
    }

    .app-shell .header-main-menu .header-theme .app-theme-toggle {
        justify-content: flex-start;
        width: 100%;
        height: 46px;
        padding: 10px 0;
        border: 0;
        border-radius: 0;
    }

    .app-shell .header-main-menu .header-theme .theme-toggle-label {
        display: inline;
        margin-left: 10px;
        color: var(--ui-ink);
        font-size: 13px;
    }

    .app-shell .header-main-menu .header-theme .app-theme-menu {
        position: static !important;
        width: 100%;
        min-width: 0 !important;
        margin: 0 0 8px;
        box-shadow: none;
    }

    .app-shell .header-main-menu .header-notification .navbar-nav-link {
        justify-content: flex-start;
        width: 100%;
        height: 46px;
        padding: 10px 0;
        border: 0;
        border-radius: 0;
    }

    .app-shell .header-main-menu .header-notification .navbar-nav-link .item-title {
        display: block;
        margin-left: 10px;
        color: var(--ui-ink);
        font-size: 13px;
    }

    .app-shell .header-main-menu .header-notification .navbar-nav-link #bellnotification {
        top: 7px;
        right: auto;
        left: 22px;
    }

    .app-shell .header-main-menu .dropdown-menu {
        position: static !important;
        width: 100%;
        min-width: 0 !important;
        margin: 0 0 8px;
        box-shadow: none;
    }

    .app-shell .mobile-nav-bar {
        display: flex;
    }

    .app-shell .sidebar-menu-one {
        position: fixed;
        top: 68px;
        bottom: 0;
        left: -256px;
        z-index: 110;
        width: 256px;
        min-width: 256px;
        height: calc(100vh - 68px);
        transition: left .25s ease;
    }

    .app-shell.sidebar-collapsed-mobile .sidebar-menu-one {
        left: 0;
    }

    .app-shell .sidebar-menu-one .sidebar-menu-content {
        max-height: calc(100vh - 68px);
    }

    .app-shell .dashboard-page-one {
        min-height: calc(100vh - 68px);
    }

    .app-shell .dashboard-content-one {
        width: 100%;
        padding: 24px 15px 35px;
    }

    .app-shell .breadcrumbs-area {
        align-items: flex-start;
        flex-direction: column;
        padding-bottom: 20px;
    }

    .app-shell .card-body {
        padding: 20px 17px 22px;
    }

    .app-shell .student-report {
        gap: 7px;
    }

    .app-shell .dashboard-card-three .student-report .student-count {
        padding-right: 7px;
        padding-left: 7px;
    }

    .app-shell .dashboard-card-three .student-report .student-count .item-title {
        font-size: 9px;
    }

    .app-shell .table {
        min-width: 680px;
    }

    .app-shell .dataTables_wrapper .table {
        min-width: 680px;
    }

    .app-shell .footer,
    .app-body .app-footer {
        text-align: center;
    }

    .app-login .login-page-wrap {
        padding: 16px;
    }

    .app-login .login-page-content {
        display: block;
        min-height: 0;
        border-radius: 22px;
    }

    .app-login .auth-aside {
        min-height: 220px;
        padding: 26px 25px;
    }

    .app-login .auth-aside-copy {
        max-width: 100%;
        margin-top: 27px;
    }

    .app-login .auth-aside-copy h1 {
        margin-bottom: 8px;
        font-size: 25px;
    }

    .app-login .auth-aside-copy p,
    .app-login .auth-aside-foot {
        display: none;
    }

    .app-login .login-box {
        max-width: none;
        padding: 32px 25px 35px;
    }
}

@media (max-width: 420px) {
    .app-shell .header-main-menu .header-admin .admin-title {
        max-width: calc(100vw - 110px);
    }

    .app-login .auth-aside {
        min-height: 190px;
    }

    .app-login .login-heading h2 {
        font-size: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *:before,
    *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    .app-shell .header-menu-one,
    .app-shell .sidebar-main,
    .app-shell .footer,
    .app-body .app-footer {
        display: none !important;
    }

    .app-shell .dashboard-content-one {
        padding: 0;
    }
}

/* Final application polish */

:root {
    --ui-primary-rgb: 82, 117, 232;
}

html[data-ui-theme="sage"] {
    --ui-primary-rgb: 79, 143, 135;
}

html[data-ui-theme="lavender"] {
    --ui-primary-rgb: 128, 105, 201;
}

.app-shell {
    overflow-x: hidden;
}

.app-shell #wrapper {
    min-height: 100vh;
}

.app-shell .dashboard-page-one {
    display: flex;
    width: 100%;
}

.app-shell .dashboard-content-one {
    width: 100%;
    max-width: 1780px;
    margin: 0 auto;
    flex: 1 1 auto;
}

.app-shell .dashboard-page-one > .content-wrapper {
    width: 100%;
    max-width: 1780px;
    min-width: 0;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 32px 34px 48px;
    flex: 1 1 auto;
    background: transparent !important;
}

.app-shell .dashboard-content-one .content-wrapper {
    min-height: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.app-shell .content-wrapper .content-header {
    padding: 0 0 26px;
}

.app-shell .content-wrapper .content-header h1 {
    margin: 0;
    color: var(--ui-ink);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.2;
}

.app-shell .content-wrapper .content-header h1 small {
    color: var(--ui-muted);
    font-size: 12px;
    font-weight: 500;
}

.app-shell .content-wrapper > .content {
    padding: 0;
}

.app-shell .content-wrapper .content > .row,
.app-shell .content-wrapper .content > .row > [class*="col-"] {
    min-width: 0;
}

.app-shell .dashboard-content-one > .row.gutters-20,
.app-shell .dashboard-content-one > .content > .row.gutters-20 {
    margin-right: -10px;
    margin-left: -10px;
}

.app-shell .dashboard-content-one > .row.gutters-20 > [class*="col-"],
.app-shell .dashboard-content-one > .content > .row.gutters-20 > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

.app-shell .dashboard-content-one .content {
    color: var(--ui-ink);
}

.app-shell .dashboard-content-one .card,
.app-shell .dashboard-content-one .box {
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.app-shell .dashboard-content-one .card:hover,
.app-shell .dashboard-content-one .box:hover {
    border-color: #dce5f2;
    box-shadow: var(--ui-shadow);
}

.app-shell .dashboard-content-one .card .heading-layout1 .item-title,
.app-shell .dashboard-content-one .box .heading-layout1 .item-title {
    min-width: 0;
}

.app-shell .dashboard-content-one .card .heading-layout1 h3,
.app-shell .dashboard-content-one .box .heading-layout1 h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .dashboard-content-one .card-header {
    padding: 18px 25px;
    border-color: var(--ui-border);
    background: #fbfcfe;
    color: var(--ui-ink);
    font-size: 16px;
    font-weight: 700;
}

.app-shell .dashboard-content-one .card-header h1,
.app-shell .dashboard-content-one .card-header h2,
.app-shell .dashboard-content-one .card-header h3,
.app-shell .dashboard-content-one .card-header h4,
.app-shell .dashboard-content-one .card-header h5,
.app-shell .dashboard-content-one .card-header h6 {
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.app-shell .box {
    overflow: hidden;
}

.app-shell .box-header {
    color: var(--ui-ink);
}

.app-shell .box-header.with-border {
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .box-header > h1,
.app-shell .box-header > h2,
.app-shell .box-header > h3,
.app-shell .box-header > h4,
.app-shell .box-header > h5,
.app-shell .box-header > h6 {
    margin: 0;
    color: var(--ui-ink);
    font-size: 16px;
    font-weight: 700;
}

.app-shell .box-body {
    color: var(--ui-ink);
}

.app-shell .nav-tabs-custom > .nav-tabs {
    padding: 0 8px;
    background: #fbfcfe;
}

.app-shell .nav-tabs-custom > .tab-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.app-shell .connectedSortable,
.app-shell .single-info-details,
.app-shell .account-settings-box {
    min-width: 0;
}

.app-shell .form-group > label,
.app-shell .new-added-form .form-group label {
    line-height: 1.35;
}

.app-shell .new-added-form .form-group i {
    top: 48px;
    right: 15px;
    color: #8290a5;
    font-size: 13px;
}

.app-shell .new-added-form .form-group .form-control-file {
    height: auto;
    min-height: 45px;
    padding: 10px 12px;
}

.app-shell .custom-file-label {
    height: 45px;
    padding: 12px 13px;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 10px;
    background: #fbfcfe;
    color: #8290a5;
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .custom-file-label:after {
    height: 43px;
    padding: 12px 13px;
    border-left: 1px solid #dfe6f0;
    background: #f1f4f8;
    color: #61728a;
}

.app-shell .custom-file-input:focus ~ .custom-file-label {
    border-color: #91aaf5;
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .12);
}

.app-shell .form-check,
.app-shell .custom-control {
    margin-bottom: 8px;
}

.app-shell .form-check-label,
.app-shell .custom-control-label {
    color: #53647b;
    font-size: 13px;
}

.app-shell .form-control:focus,
.app-shell select.form-control:focus,
.app-shell textarea.form-control:focus,
.app-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
.app-shell .select2-container--default.select2-container--open .select2-selection--single {
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .12);
}

.app-shell .form-control.is-invalid,
.app-shell .was-validated .form-control:invalid {
    border-color: #e59aa4;
    background-image: none;
}

.app-shell .form-control.is-valid,
.app-shell .was-validated .form-control:valid {
    border-color: #85c7aa;
    background-image: none;
}

.app-shell .btn-light,
.app-shell .btn-outline-secondary,
.app-shell .btn-outline-primary,
.app-shell .btn-outline-success,
.app-shell .btn-outline-danger,
.app-shell .btn-outline-warning {
    border-color: #d8e0ec;
    color: #53647d;
}

.app-shell .btn-light,
.app-shell .btn-outline-secondary {
    background: #f7f9fc;
}

.app-shell .btn-light:hover,
.app-shell .btn-outline-secondary:hover,
.app-shell .btn-outline-primary:hover,
.app-shell .btn-outline-success:hover,
.app-shell .btn-outline-danger:hover,
.app-shell .btn-outline-warning:hover {
    border-color: #c9d5e6;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .btn-link {
    color: var(--ui-primary);
    font-weight: 700;
}

.app-shell .btn-link:hover {
    color: var(--ui-primary-dark);
}

.app-shell .badge,
.app-shell .label {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.2;
}

.app-shell .bg-red,
.app-shell .bg-green {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.app-shell .bg-red {
    background: #fff0f2 !important;
    color: #c94c5a !important;
}

.app-shell .bg-green {
    background: #e9f8f1 !important;
    color: #21855e !important;
}

.app-shell .text-red {
    color: var(--ui-danger) !important;
}

.app-shell .text-green {
    color: var(--ui-success) !important;
}

.app-shell .table.display,
.app-shell table.dataTable {
    border-collapse: separate !important;
    border-spacing: 0;
}

.app-shell table.dataTable.no-footer {
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .table td a:not(.btn) {
    color: var(--ui-primary);
    font-weight: 600;
    text-decoration: none;
}

.app-shell .table td a:not(.btn):hover {
    color: var(--ui-primary-dark);
    text-decoration: underline;
}

.app-shell .table tbody tr td.dataTables_empty {
    padding: 38px 20px;
    color: var(--ui-muted);
    font-size: 13px;
    text-align: center;
}

.app-shell .dataTables_wrapper .dataTables_processing {
    padding: 12px 18px;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .96);
    color: var(--ui-primary);
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .pagination .page-item.disabled .page-link {
    background: #f7f9fc;
    color: #c2ccda;
}

.app-shell .alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 15px;
}

.app-shell .alert p:last-child {
    margin-bottom: 0;
}

.app-shell .modal-header .close,
.app-shell .modal-body .close {
    width: 30px;
    height: 30px;
    margin: -3px -5px -3px auto;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #8290a5;
    font-size: 22px;
    line-height: 1;
    opacity: 1;
}

.app-shell .modal-header .close:hover,
.app-shell .modal-body .close:hover {
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
}

.app-shell .chart-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    margin: 0;
    padding: 22px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .chart-container #piechart {
    max-width: 100%;
}

.app-shell .account-settings-box {
    margin-top: 0;
}

.app-shell .container.mt-5 {
    max-width: 100%;
    margin-top: 0 !important;
    padding: 0;
}

.app-shell .container.mt-5 > .card {
    overflow: hidden;
}

.app-shell .banner-head {
    padding: 20px 25px;
    border: 0;
    background: linear-gradient(135deg, var(--ui-primary), #7897f3) !important;
}

.app-shell .banner-head h2 {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 750;
}

.app-shell .c_left {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 150px;
    min-width: 150px;
}

.app-shell .c_left img {
    width: 122px;
    height: 142px;
    padding: 6px;
    border: 1px solid var(--ui-border);
    border-radius: 16px;
    background: #fff;
    object-fit: contain;
}

.app-shell .container.mt-5 .card-body p {
    margin-bottom: 9px;
    color: var(--ui-muted);
    font-size: 13px;
}

.app-shell .container.mt-5 .card-body p strong {
    display: inline-block;
    min-width: 72px;
    color: #53647b;
}

.app-shell :focus-visible {
    outline: 3px solid rgba(var(--ui-primary-rgb), .35);
    outline-offset: 2px;
}

.app-shell .sidebar-mobile-overlay {
    display: none;
}

@media (max-width: 767px) {
    .app-shell .dashboard-content-one > .row.gutters-20,
    .app-shell .dashboard-content-one > .content > .row.gutters-20 {
        margin-right: -7px;
        margin-left: -7px;
    }

    .app-shell .dashboard-content-one > .row.gutters-20 > [class*="col-"],
    .app-shell .dashboard-content-one > .content > .row.gutters-20 > [class*="col-"] {
        padding-right: 7px;
        padding-left: 7px;
    }

    .app-shell .dashboard-content-one .card:hover,
    .app-shell .dashboard-content-one .box:hover {
        transform: none;
    }

    .app-shell .dashboard-content-one .card-header,
    .app-shell .box-header {
        padding-right: 17px;
        padding-left: 17px;
    }

    .app-shell .dashboard-page-one > .content-wrapper {
        padding: 24px 15px 35px;
    }

    .app-shell .content-wrapper .content-header {
        padding-bottom: 20px;
    }

    .app-shell .box-body {
        padding-right: 17px;
        padding-left: 17px;
    }

    .app-shell .sidebar-mobile-overlay {
        position: fixed;
        top: 68px;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 105;
        display: block;
        width: 100%;
        border: 0;
        background: rgba(20, 36, 59, .36);
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease;
    }

    .app-shell.sidebar-collapsed-mobile .sidebar-mobile-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .app-shell .c_left {
        width: 100%;
        min-width: 0;
        margin-bottom: 20px;
    }
}

@media (max-width: 575px) {
    .app-shell .dashboard-summery-one {
        min-height: 138px;
        padding: 18px 16px !important;
    }

    .app-shell .dashboard-summery-one .item-content .item-number {
        font-size: 26px;
    }

    .app-shell .dashboard-summery-one .small-box-footer {
        margin-top: 13px;
    }

    .app-shell .heading-layout1 {
        margin-bottom: 17px;
    }

    .app-shell .dataTables_wrapper .dataTables_filter,
    .app-shell .dataTables_wrapper .dataTables_length {
        float: none;
        width: 100%;
        margin-bottom: 10px;
        text-align: left;
    }

    .app-shell .dataTables_wrapper .dataTables_filter input {
        width: calc(100% - 55px);
        margin-left: 5px;
    }

    .app-shell .container.mt-5 .card-body .row {
        display: block;
    }
}

/* Shared application polish
   -------------------------------------------------------------
   The pages intentionally keep their existing markup and bindings.
   These rules provide one visual language for every legacy screen. */

:root {
    --ui-header-height: 76px;
    --ui-sidebar-width: 256px;
    --ui-card-radius: 18px;
    --ui-control-radius: 11px;
    --ui-line-soft: #edf1f6;
    --ui-surface-soft: #f8fafd;
    --ui-primary-rgb: 82, 117, 232;
}

html[data-ui-theme="sage"] {
    --ui-primary-rgb: 79, 143, 135;
}

html[data-ui-theme="lavender"] {
    --ui-primary-rgb: 128, 105, 201;
}

.app-shell,
.app-shell *,
.app-login,
.app-login * {
    -webkit-tap-highlight-color: transparent;
}

.app-shell ::selection,
.app-login ::selection {
    background: rgba(var(--ui-primary-rgb), .18);
    color: var(--ui-ink);
}

.app-body > .skip-link {
    position: fixed;
    top: 12px;
    left: 14px;
    z-index: 1000;
    padding: 9px 14px;
    border-radius: 10px;
    background: var(--ui-ink);
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-150%);
    transition: transform .2s ease;
}

.app-body > .skip-link:focus {
    transform: translateY(0);
}

.app-shell .header-main-menu .header-context {
    display: flex;
    align-items: center;
    min-width: 0;
    margin-right: auto;
}

.app-shell .workspace-context {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 7px 13px 7px 8px;
    border: 1px solid transparent;
    border-radius: 14px;
}

.app-shell .workspace-context-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
    font-size: 14px;
}

.app-shell .workspace-context-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.15;
}

.app-shell .workspace-context-copy small,
.app-shell .workspace-context-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .workspace-context-copy small {
    margin-bottom: 4px;
    color: var(--ui-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.app-shell .workspace-context-copy strong {
    color: var(--ui-ink);
    font-size: 13px;
    font-weight: 700;
}

.app-shell .header-main-menu .header-nav-right {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.app-shell .header-main-menu .header-nav-right > .navbar-item {
    display: flex;
    align-items: center;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle,
.app-shell .header-main-menu .header-notification .navbar-nav-link,
.app-shell .header-main-menu .header-admin .navbar-nav-link {
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle:focus-visible,
.app-shell .header-main-menu .header-notification .navbar-nav-link:focus-visible,
.app-shell .header-main-menu .header-admin .navbar-nav-link:focus-visible {
    border-color: rgba(var(--ui-primary-rgb), .35);
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .1);
    outline: none;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle:hover,
.app-shell .header-main-menu .header-notification .navbar-nav-link:hover {
    transform: translateY(-1px);
}

.app-shell .header-main-menu .header-notification .navbar-nav-link {
    position: relative;
}

.app-shell .header-main-menu .header-notification .navbar-nav-link #bellnotification:empty {
    display: none;
}

.app-shell .header-main-menu .app-theme-menu .theme-option:focus-visible {
    border-color: rgba(var(--ui-primary-rgb), .35);
    box-shadow: 0 0 0 3px rgba(var(--ui-primary-rgb), .1);
    outline: none;
}

.app-shell .dashboard-page-one {
    min-width: 0;
    background:
        radial-gradient(circle at 100% 0, rgba(var(--ui-primary-rgb), .045), transparent 28rem),
        transparent;
}

.app-shell .dashboard-content-one,
.app-shell .dashboard-page-one > .content-wrapper {
    padding: clamp(24px, 3vw, 38px) clamp(18px, 3vw, 44px) 52px;
}

.app-shell .dashboard-content-one > .breadcrumbs-area,
.app-shell .dashboard-page-one > .content-wrapper > .content-header {
    position: relative;
    margin-bottom: 2px;
}

.app-shell .breadcrumbs-area > h3,
.app-shell .breadcrumbs-area .page-heading-copy h3,
.app-shell .content-wrapper .content-header h1 {
    position: relative;
    padding-left: 15px;
}

.app-shell .breadcrumbs-area > h3:before,
.app-shell .breadcrumbs-area .page-heading-copy h3:before,
.app-shell .content-wrapper .content-header h1:before {
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 0;
    width: 4px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--ui-primary), var(--ui-teal));
    content: "";
}

.app-shell .breadcrumbs-area ul {
    padding: 8px 12px;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .7);
}

.app-shell .breadcrumbs-area ul li + li:before {
    margin-right: 8px;
}

.app-shell .content-wrapper .content {
    min-width: 0;
}

.app-shell .content-wrapper .content-header + .content {
    margin-top: 0;
}

.app-shell .content-wrapper section.content {
    padding: 0;
}

.app-shell .row {
    min-width: 0;
}

.app-shell .row > [class*="col-"] {
    min-width: 0;
}

.app-shell .dashboard-content-one > .row:not(.gutters-20),
.app-shell .dashboard-content-one > .content > .row:not(.gutters-20) {
    row-gap: 0;
}

.app-shell .card,
.app-shell .box,
.app-shell .section {
    border-radius: var(--ui-card-radius);
    background: rgba(255, 255, 255, .97);
}

.app-shell .box,
.app-shell .box.box-primary,
.app-shell .box.box-info,
.app-shell .box.box-danger,
.app-shell .box.box-warning,
.app-shell .box.box-success {
    border-top: 0;
}

.app-shell .box-header > form {
    width: 100%;
}

.app-shell .card-body,
.app-shell .box-body {
    min-width: 0;
}

.app-shell .card-header,
.app-shell .box-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
}

.app-shell .card-header > :last-child,
.app-shell .box-header > :last-child {
    margin-bottom: 0;
}

.app-shell .heading-layout1 .item-title {
    min-width: 0;
}

.app-shell .heading-layout1 .item-title h3,
.app-shell .heading-layout1 .item-title h4,
.app-shell .card-body > h3,
.app-shell .card-body > h4,
.app-shell .box-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-shell .heading-layout1 .dropdown .dropdown-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid transparent;
    background: var(--ui-surface-soft);
}

.app-shell .heading-layout1 .dropdown .dropdown-toggle:focus-visible {
    border-color: rgba(var(--ui-primary-rgb), .25);
    box-shadow: 0 0 0 3px rgba(var(--ui-primary-rgb), .1);
    outline: none;
}

.app-shell .dropdown-menu {
    border: 1px solid var(--ui-border);
    border-radius: 13px;
    box-shadow: 0 18px 45px rgba(32, 56, 85, .14);
}

.app-shell .dropdown-item {
    border-radius: 8px;
    color: var(--ui-ink);
    font-size: 13px;
}

.app-shell .dropdown-item:hover,
.app-shell .dropdown-item:focus {
    background: var(--ui-primary-soft);
    color: var(--ui-primary-dark);
}

.app-shell .new-added-form,
.app-shell form {
    min-width: 0;
}

.app-shell .new-added-form .row {
    align-items: flex-start;
}

.app-shell .form-group > label,
.app-shell .new-added-form .form-group label,
.app-shell fieldset > legend {
    color: #52627b;
}

.app-shell .form-group > label {
    letter-spacing: .015em;
}

.app-shell .form-control,
.app-shell .custom-select,
.app-shell select.form-control,
.app-shell textarea.form-control,
.app-shell .form-control-file,
.app-shell .custom-file-label {
    border-radius: var(--ui-control-radius);
}

.app-shell .form-control,
.app-shell .custom-select,
.app-shell select.form-control,
.app-shell textarea.form-control {
    border-color: #dce5f0;
    background-color: #fbfcfe;
}

.app-shell .form-control.form-control-border {
    border-color: #dce5f0 !important;
}

.app-shell .form-control:hover,
.app-shell .custom-select:hover,
.app-shell select.form-control:hover,
.app-shell textarea.form-control:hover {
    border-color: #c8d6e7;
}

.app-shell .form-control:focus,
.app-shell .custom-select:focus,
.app-shell select.form-control:focus,
.app-shell textarea.form-control:focus {
    border-color: rgba(var(--ui-primary-rgb), .6);
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .11);
}

.app-shell .form-control:disabled,
.app-shell .form-control[readonly],
.app-shell select.form-control:disabled {
    border-color: #e5eaf1;
    background: #f3f6fa;
}

.app-shell .input-group {
    align-items: stretch;
}

.app-shell .input-group .input-group-append,
.app-shell .input-group .input-group-prepend {
    display: flex;
}

.app-shell .input-group .input-group-text,
.app-shell .input-group .input-group-append .btn,
.app-shell .input-group .input-group-append .input-group-text {
    border-color: #dce5f0;
    background: #f7f9fc;
}

.app-shell .form-control-file {
    border: 1px dashed #c7d5e6;
    background: #fbfcfe;
}

.app-shell .form-control-file:hover {
    border-color: var(--ui-primary);
    background: var(--ui-primary-soft);
}

.app-shell .custom-file {
    min-height: 45px;
}

.app-shell .custom-file-input:focus ~ .custom-file-label {
    border-color: rgba(var(--ui-primary-rgb), .6);
}

.app-shell .form-check-input {
    border-color: #bdcadd;
}

.app-shell .form-check-input:checked {
    border-color: var(--ui-primary);
    background-color: var(--ui-primary);
}

.app-shell .form-check-label,
.app-shell .custom-control-label {
    cursor: pointer;
}

.app-shell .btn,
.app-shell .btn-fill-lg,
.app-shell .btn-fill-md,
.app-shell .btn-fill-sm,
.app-shell .btn-fill-lmd,
.app-shell .btn-fill-xl {
    min-height: 40px;
    padding-right: 15px;
    padding-left: 15px;
    border-radius: 10px;
}

.app-shell .btn-sm {
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 8px;
}

.app-shell .btn:disabled,
.app-shell .btn.disabled {
    cursor: not-allowed;
    opacity: .6;
    transform: none;
}

.app-shell .btn-gradient-yellow,
.app-shell .btn-primary,
.app-shell .btn-fill-lg.btn-gradient-yellow,
.app-shell .btn-fill-md.btn-gradient-yellow,
.app-shell .btn-fill-sm.btn-gradient-yellow {
    background: linear-gradient(135deg, var(--ui-primary), #7897f3) !important;
}

.app-shell .btn-hover-bluedark:hover,
.app-shell .btn-gradient-yellow:hover,
.app-shell .btn-primary:hover {
    background: linear-gradient(135deg, var(--ui-primary-dark), var(--ui-primary)) !important;
}

.app-shell .btn-outline-primary {
    border-color: rgba(var(--ui-primary-rgb), .42);
    background: var(--ui-primary-soft);
    color: var(--ui-primary-dark);
}

.app-shell .btn-outline-primary:hover {
    border-color: var(--ui-primary);
    background: var(--ui-primary);
    color: #fff;
}

.app-shell .btn-danger,
.app-shell .btn-success,
.app-shell .btn-warning {
    box-shadow: none;
}

.app-shell .table-responsive {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    border: 1px solid var(--ui-border);
    border-radius: 13px;
    background: #fff;
}

.app-shell .table-responsive.vertical-scroll {
    overflow-y: auto;
}

.app-shell table,
.app-shell .table {
    width: 100%;
    border: 0;
    background: #fff;
}

.app-shell table thead th,
.app-shell .table thead th {
    border-color: var(--ui-border);
    background: #f7f9fc !important;
}

.app-shell table tbody tr:last-child td,
.app-shell .table tbody tr:last-child td {
    border-bottom: 0;
}

.app-shell table tbody td,
.app-shell .table tbody td {
    border-color: var(--ui-line-soft);
}

.app-shell table tbody tr:hover,
.app-shell .table tbody tr:hover {
    background: #fafbff;
}

.app-shell table tbody td .btn + .btn,
.app-shell .table tbody td .btn + .btn {
    margin-left: 3px;
}

.app-shell .table td a:not(.btn) {
    overflow-wrap: anywhere;
}

.app-shell .dataTables_wrapper {
    padding: 2px;
}

.app-shell .dataTables_wrapper .dataTables_length select,
.app-shell .dataTables_wrapper .dataTables_filter input {
    border-radius: 9px;
}

.app-shell .dataTables_wrapper .dataTables_filter input::placeholder {
    color: #aab5c6;
}

.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button:focus-visible {
    border-color: rgba(var(--ui-primary-rgb), .35) !important;
    box-shadow: 0 0 0 3px rgba(var(--ui-primary-rgb), .1);
    outline: none;
}

.app-shell .select2-dropdown {
    overflow: hidden;
    border-color: var(--ui-border);
    border-radius: 11px;
    box-shadow: 0 16px 35px rgba(32, 56, 85, .13);
}

.app-shell .select2-container--default .select2-results__option {
    padding: 9px 13px;
    color: var(--ui-ink);
    font-size: 13px;
}

.app-shell .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--ui-primary);
    color: #fff;
}

.app-shell .select2-container--default .select2-results__option[aria-selected="true"] {
    background: var(--ui-primary-soft);
    color: var(--ui-primary-dark);
}

.app-shell .datepicker,
.app-shell .datepicker--pointer,
.app-shell .air-datepicker {
    border-color: var(--ui-border);
    border-radius: 13px;
    box-shadow: 0 16px 35px rgba(32, 56, 85, .13);
}

.app-shell .datepicker--cell.-current- {
    color: var(--ui-primary);
}

.app-shell .datepicker--cell.-selected-,
.app-shell .datepicker--cell.-selected-.-current- {
    background: var(--ui-primary);
    color: #fff;
}

.app-shell .datepicker--cell.-focus- {
    background: var(--ui-primary-soft);
    color: var(--ui-primary-dark);
}

.app-shell .nav-tabs-custom {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-card-radius);
    background: #fff;
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .nav-tabs-custom > .nav-tabs {
    margin: 0;
    padding: 10px 14px 0;
    background: #fbfcfe;
}

.app-shell .nav-tabs-custom > .tab-content {
    padding: 22px;
}

.app-shell .tab-content > .tab-pane {
    min-width: 0;
}

.app-shell .list-group {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
}

.app-shell .list-group-item {
    border-color: var(--ui-line-soft);
    color: var(--ui-ink);
}

.app-shell .list-group-item:hover {
    background: var(--ui-primary-soft);
}

.app-body .swal2-popup {
    border: 1px solid var(--ui-border);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(32, 56, 85, .2);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.app-body .swal2-title {
    color: var(--ui-ink);
    font-size: 20px;
}

.app-body .swal2-html-container {
    color: var(--ui-muted);
    font-size: 13px;
}

.app-body .swal2-confirm {
    min-height: 39px;
    border-radius: 10px !important;
    background: var(--ui-primary) !important;
    box-shadow: 0 7px 16px rgba(var(--ui-primary-rgb), .2) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.app-shell .pagination {
    align-items: center;
}

.app-shell .alert {
    border: 1px solid transparent;
}

.app-shell .alert-success {
    border-color: #cfeee0;
}

.app-shell .alert-danger,
.app-shell .alert-error {
    border-color: #f2d0d5;
}

.app-shell .alert-info {
    border-color: #d2e0fa;
}

.app-shell .text-danger,
.app-shell .text-red,
.app-shell .field-validation-error {
    color: var(--ui-danger) !important;
}

.app-shell .text-success,
.app-shell .text-green {
    color: var(--ui-success) !important;
}

.app-shell .badge,
.app-shell .label,
.app-shell .bg-red,
.app-shell .bg-green {
    vertical-align: middle;
}

.app-shell fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.app-shell fieldset > legend {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 0 25px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--ui-border);
    font-size: 17px;
    font-weight: 750;
}

.app-shell fieldset > legend:before {
    width: 4px;
    height: 20px;
    margin-right: 10px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--ui-primary), var(--ui-teal));
    content: "";
}

.app-shell .section.school-details {
    display: block;
    margin-bottom: 24px;
    padding: 30px;
    border: 1px solid var(--ui-border);
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .section.school-details .school-details,
.app-shell .section.school-details .admin-info {
    align-items: stretch;
}

.app-shell .fieldset-container {
    margin: 12px 0;
    padding: 16px;
    border: 1px solid var(--ui-border);
    border-radius: 13px;
    background: var(--ui-surface-soft);
}

.app-shell .parent-node {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    background: #f6f9fd;
}

.app-shell .parent-node .form-check-label {
    color: var(--ui-ink);
    font-weight: 700;
}

.app-shell .form-switch .form-check-input {
    width: 2.25rem;
    height: 1.25rem;
    margin-top: .1rem;
    cursor: pointer;
}

.app-shell .form-switch .form-check-input:focus {
    box-shadow: 0 0 0 4px rgba(var(--ui-primary-rgb), .12);
}

.app-shell .form-switch .form-check-label {
    color: #53647b;
    font-size: 13px;
}

.app-shell .img-thumbnail {
    padding: 5px;
    border: 1px solid var(--ui-border);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 6px 15px rgba(32, 56, 85, .06);
}

.app-shell .single-info-details {
    display: grid;
    grid-template-columns: minmax(125px, 160px) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.app-shell .single-info-details > .item-img {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: 7px;
    border: 1px solid var(--ui-border);
    border-radius: 16px;
    background: linear-gradient(145deg, #f8fafd, #fff);
}

.app-shell .single-info-details > .item-img img {
    width: 100%;
    max-width: 145px;
    height: auto;
    border-radius: 11px;
    object-fit: cover;
}

.app-shell .single-info-details > .item-content {
    min-width: 0;
}

.app-shell .single-info-details .item-header {
    margin-bottom: 18px;
}

.app-shell .single-info-details .info-table {
    border: 1px solid var(--ui-border);
    border-radius: 13px;
}

.app-shell .single-info-details .info-table .table {
    margin: 0;
    border: 0;
}

.app-shell .single-info-details .info-table .table td:first-child {
    width: 34%;
    color: var(--ui-muted);
    font-weight: 600;
}

.app-shell .single-info-details .info-table .table td:nth-child(2) {
    color: var(--ui-ink);
    font-weight: 700;
}

.app-shell .account-settings-box {
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-card-radius);
    background: #fff;
    box-shadow: var(--ui-shadow-soft);
}

.app-shell .banner-head {
    display: flex;
    align-items: center;
    min-height: 68px;
    border-radius: var(--ui-card-radius) var(--ui-card-radius) 0 0;
}

.app-shell .banner-head h2 {
    letter-spacing: -.025em;
}

.app-shell .c_left img {
    box-shadow: 0 8px 20px rgba(32, 56, 85, .08);
}

.app-shell .chart-container {
    min-height: 340px;
    border-radius: var(--ui-card-radius);
}

.app-shell .dashboard-summery-one {
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 12px 28px rgba(32, 56, 85, .1);
}

.app-shell .dashboard-summery-one.bg-info {
    background: linear-gradient(135deg, #6079d6, #8297e9) !important;
}

.app-shell .dashboard-summery-one.bg-warning {
    background: linear-gradient(135deg, #cfa359, #e4be76) !important;
}

.app-shell .dashboard-summery-one.bg-success {
    background: linear-gradient(135deg, #4b9778, #72b499) !important;
}

.app-shell .dashboard-summery-one.bg-pink {
    background: linear-gradient(135deg, #c86d9a, #dd92b2) !important;
}

.app-shell .dashboard-summery-one.bg-olive {
    background: linear-gradient(135deg, #4b8d73, #70af91) !important;
}

.app-shell .dashboard-summery-one.bg-orange {
    background: linear-gradient(135deg, #c98350, #e2a073) !important;
}

.app-shell .dashboard-summery-one.bg-teal {
    background: linear-gradient(135deg, #42a8aa, #72c8c6) !important;
}

.app-shell .dashboard-summery-one.bg-danger {
    background: linear-gradient(135deg, #cb6573, #df8994) !important;
}

.app-shell .dashboard-summery-one.bg-infomat {
    background: linear-gradient(135deg, #756ccc, #9a93e2) !important;
}

.app-shell .dashboard-summery-one.bg-infomation {
    background: linear-gradient(135deg, #6c83aa, #91a7c8) !important;
}

.app-shell .dashboard-summery-one .metric-card-icon {
    position: absolute;
    top: 21px;
    right: 21px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 12px;
    background: rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .94);
}

.app-shell .dashboard-summery-one .metric-card-icon i {
    color: inherit;
    font-size: 15px;
}

.app-shell .dashboard-summery-one .metric-card-icon ~ .row .item-content {
    padding-right: 48px;
}

.app-shell .dashboard-summery-one .item-content .item-title {
    letter-spacing: .055em;
}

.app-shell .dashboard-summery-one .small-box-footer {
    transition: background-color .2s ease, transform .2s ease;
}

.app-shell .pie-chart-wrap,
.app-shell .notice-box-wrap {
    min-width: 0;
}

.app-shell #calendar {
    margin: 0 auto;
    padding: 0;
}

.app-shell .fc-toolbar .fc-center h2 {
    letter-spacing: -.025em;
}

.app-shell .fc-unthemed td.fc-today {
    background: rgba(var(--ui-primary-rgb), .08);
}

.app-shell .fc-event,
.app-shell .fc-event a {
    padding: 2px 4px;
    border-radius: 6px;
}

.app-shell .modal-backdrop {
    background-color: #152944;
}

.app-shell .modal-backdrop.show {
    opacity: .45;
}

.app-shell .modal-content {
    background: #fff;
}

.app-shell .modal-footer {
    padding: 15px 24px 20px;
}

.app-body .app-footer {
    position: relative;
    z-index: 1;
}

.app-body .app-footer .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: none;
}

.app-footer-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #91a0b4;
    font-size: 11px;
}

.app-footer-status i {
    color: var(--ui-success);
    font-size: 7px;
}

.app-login .login-page-wrap {
    position: relative;
    isolation: isolate;
}

.app-login .login-page-content {
    border-color: rgba(255, 255, 255, .92);
    box-shadow: 0 26px 85px rgba(33, 57, 89, .17);
}

.app-login .auth-aside {
    background:
        radial-gradient(circle at 100% 0, rgba(255, 255, 255, .18), transparent 18rem),
        linear-gradient(150deg, var(--ui-login-deep), var(--ui-primary));
}

.app-login .login-box {
    background: rgba(255, 255, 255, .98);
}

.app-login .login-heading h2 {
    letter-spacing: -.045em;
}

.app-login .login-form .form-control::placeholder {
    color: #abb6c7;
}

.app-login .login-form .form-group .login-btn {
    letter-spacing: .01em;
}

.app-login :focus-visible {
    outline: 3px solid rgba(var(--ui-primary-rgb), .32);
    outline-offset: 2px;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 82px;
    height: 42px;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid var(--ui-border);
    border-radius: 13px;
    background: var(--ui-surface-soft);
    color: var(--ui-muted);
    font-size: 12px;
    font-weight: 700;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle .theme-toggle-swatch {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ui-primary), var(--ui-teal));
    box-shadow: 0 0 0 1px rgba(var(--ui-primary-rgb), .22), 0 2px 5px rgba(var(--ui-primary-rgb), .2);
}

.app-shell .header-main-menu .header-theme .app-theme-toggle .theme-toggle-label {
    display: inline !important;
    margin: 0;
    color: inherit;
    font-size: 11px;
    font-weight: 750;
}

.app-shell .header-main-menu .header-theme .app-theme-toggle:hover,
.app-shell .header-main-menu .header-theme.show .app-theme-toggle {
    border-color: rgba(var(--ui-primary-rgb), .28);
    background: var(--ui-primary-soft);
    color: var(--ui-primary);
    transform: translateY(-1px);
}

.app-shell .app-theme-menu {
    width: 286px;
    min-width: 286px !important;
}

.app-shell .app-theme-menu-footnote {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 11px 4px 2px;
    padding-top: 10px;
    border-top: 1px solid var(--ui-border);
    color: var(--ui-muted);
    font-size: 10px;
}

.app-shell .app-theme-menu-footnote i {
    color: var(--ui-success);
    font-size: 11px;
}

@media (max-width: 1199px) {
    .app-shell .header-main-menu {
        padding-right: 21px;
        padding-left: 21px;
    }

    .app-shell .workspace-context {
        padding-right: 8px;
    }

    .app-shell .workspace-context-copy strong {
        font-size: 12px;
    }

    .app-shell .dashboard-content-one,
    .app-shell .dashboard-page-one > .content-wrapper {
        padding-right: 24px;
        padding-left: 24px;
    }

    .app-shell .section.school-details {
        padding: 25px;
    }
}

@media (min-width: 768px) and (max-width: 900px) {
    .app-shell .header-main-menu .header-context {
        display: none;
    }

    .app-shell .header-main-menu .header-nav-right {
        margin-left: auto;
    }

    .app-shell .header-main-menu .header-theme .app-theme-toggle {
        width: 42px;
        min-width: 42px;
        padding-right: 0;
        padding-left: 0;
    }

    .app-shell .header-main-menu .header-theme .theme-toggle-label {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .app-shell .header-main-menu .header-context {
        display: none;
    }

    .app-shell .header-main-menu .header-theme .app-theme-toggle {
        justify-content: flex-start;
        width: 100%;
        min-width: 0;
        height: 46px;
        padding: 10px 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        transform: none;
    }

    .app-shell .app-theme-menu {
        width: 100%;
        min-width: 0 !important;
    }

    .app-shell .header-main-menu .header-nav-right {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .app-shell .header-main-menu .header-nav-right > .navbar-item {
        width: 100%;
    }

    .app-shell .dashboard-content-one,
    .app-shell .dashboard-page-one > .content-wrapper {
        padding-right: 15px;
        padding-left: 15px;
    }

    .app-shell .breadcrumbs-area ul {
        width: 100%;
    }

    .app-shell .card,
    .app-shell .box {
        border-radius: 15px;
    }

    .app-shell .card-header,
    .app-shell .box-header {
        min-height: 52px;
    }

    .app-shell .section.school-details {
        padding: 20px 17px;
        border-radius: 15px;
    }

    .app-shell .single-info-details {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .app-shell .single-info-details > .item-img {
        width: min(100%, 180px);
        margin: 0 auto;
    }

    .app-shell .single-info-details .info-table .table {
        min-width: 500px;
    }

    .app-body .app-footer .container {
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }

    .app-login .login-page-content {
        box-shadow: 0 18px 48px rgba(33, 57, 89, .15);
    }
}

@media (max-width: 575px) {
    .app-shell .dashboard-summery-one .metric-card-icon {
        top: 17px;
        right: 16px;
    }

    .app-shell .breadcrumbs-area > h3,
    .app-shell .content-wrapper .content-header h1 {
        padding-left: 12px;
    }

    .app-shell .breadcrumbs-area > h3:before,
    .app-shell .content-wrapper .content-header h1:before {
        width: 3px;
    }

    .app-shell .form-group {
        margin-bottom: 16px;
    }

    .app-shell .section.school-details {
        padding-right: 15px;
        padding-left: 15px;
    }

    .app-login .login-page-wrap {
        padding: 10px;
    }
}

/* Keep the password control and its visibility button on one line. */
.app-login .login-page-content .login-box .login-form .input-group {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
}

.app-login .login-page-content .login-box .login-form .input-group .form-control {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
}

.app-login .login-page-content .login-box .login-form .input-group-append {
    display: flex;
    flex: 0 0 auto;
}

.app-login .login-page-content .login-box .login-form .input-group-append .btn {
    flex: 0 0 50px;
}

/* Global alignment improvements */

/* Card and form alignment */
.app-shell .card-body,
.app-shell .box-body {
    padding: 26px 28px;
}

.app-shell .card-body > .row,
.app-shell .box-body > .row {
    margin-right: -10px;
    margin-left: -10px;
}

.app-shell .card-body > .row > [class*="col-"],
.app-shell .box-body > .row > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

/* Form group alignment */
.app-shell .form-group {
    margin-bottom: 20px;
}

.app-shell .form-group:last-child {
    margin-bottom: 0;
}

.app-shell .new-added-form .form-group {
    margin-bottom: 20px;
}

/* Ensure form labels align consistently */
.app-shell .form-group > label,
.app-shell .new-added-form .form-group label {
    display: block;
    margin-bottom: 9px;
    min-height: 18px;
}

/* Filter form alignment - horizontal layout */
.app-shell .card-body > .row.align-items-end,
.app-shell .box-body > .row.align-items-end {
    align-items: flex-end;
}

/* Button alignment in filter forms */
.app-shell .form-group .btn {
    margin-top: auto;
}

/* Table action buttons alignment */
.app-shell .table tbody td {
    vertical-align: middle;
}

.app-shell .table .btn-group,
.app-shell .table td > .btn,
.app-shell .table td > a.btn {
    vertical-align: middle;
}

.app-shell .table td .btn + .btn,
.app-shell .table td a.btn + a.btn {
    margin-left: 4px;
}

/* Dropdown action menu alignment */
.app-shell .table .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Heading alignment in cards */
.app-shell .heading-layout1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    flex-wrap: wrap;
    gap: 12px;
}

.app-shell .heading-layout1 .item-title {
    margin: 0;
}

.app-shell .heading-layout1 .item-title h3 {
    margin: 0;
    color: var(--ui-ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

/* Breadcrumbs alignment */
.app-shell .breadcrumbs-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 26px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--ui-border);
}

.app-shell .breadcrumbs-area > h3 {
    margin: 0;
}

.app-shell .breadcrumbs-area ul {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.app-shell .breadcrumbs-area ul li {
    display: flex;
    align-items: center;
}

.app-shell .breadcrumbs-area ul li:not(:last-child):after {
    content: "/";
    margin-left: 8px;
    color: var(--ui-muted);
}

/* DataTables wrapper alignment */
.app-shell .dataTables_wrapper .dataTables_length,
.app-shell .dataTables_wrapper .dataTables_filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.app-shell .dataTables_wrapper .dataTables_filter input {
    margin-left: 0;
}

.app-shell .dataTables_wrapper .dataTables_length select {
    margin-left: 0;
}

.app-shell .dataTables_wrapper .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* Input group alignment */
.app-shell .input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.app-shell .input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.app-shell .input-group-append,
.app-shell .input-group-prepend {
    display: flex;
    align-items: stretch;
}

/* Grid column alignment for forms */
.app-shell .row.gutters-8 {
    margin-right: -4px;
    margin-left: -4px;
}

.app-shell .row.gutters-8 > [class*="col-"] {
    padding-right: 4px;
    padding-left: 4px;
}

.app-shell .row.gutters-20 {
    margin-right: -10px;
    margin-left: -10px;
}

.app-shell .row.gutters-20 > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

/* Select2 alignment */
.app-shell .select2-container {
    display: block;
    width: 100% !important;
}

.app-shell .select2-container .select2-selection {
    display: flex;
    align-items: center;
}

/* Empty state alignment */
.app-shell .table tbody td[colspan] {
    padding: 32px 20px;
    text-align: center;
    color: var(--ui-muted);
    font-size: 14px;
}

/* Button row alignment */
.app-shell .btn-row,
.app-shell .button-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Form footer alignment */
.app-shell .form-footer,
.app-shell .card-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 18px 28px;
    border-top: 1px solid var(--ui-border);
}

/* Pagination alignment */
.app-shell .dataTables_wrapper .dataTables_paginate {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.app-shell .dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Status badge alignment */
.app-shell .badge,
.app-shell .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}
