h1 {
    font-size:22px;
    margin:0;
    font-weight:700;
}

h2 {
    font-size:16px;
    margin:0;
}

a {
    color:inherit;
    text-decoration:none;
}

:focus-visible {
    outline:2px solid var(--brand-d);
    outline-offset:2px;
}

.muted {
    color:var(--ink-3);
}

.hidden {
    display:none!important;
}

.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
}

.app {
    display:flex;
    min-height:100vh;
}

.brand {
    display:flex;
    gap:10px;
    align-items:center;
    padding:18px 20px;
    color:#ffffff;
    font-weight:700;
    border-bottom:1px solid #101114;
    border-color:rgba(255,255,255,.12)!important;
}

.brand i {
    width:32px;
    height:32px;
    border-radius:8px;
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-pink))!important;
    color:#fff!important;
    display:grid;
    place-items:center;
    font-style:normal;
}

.nav-group>button:hover,.nav a:hover {
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
}

.nav a.active {
    background:rgba(255,255,255,.95)!important;
    color:#111827!important;
    font-weight:600;
    border-left:0!important;
}

.nav-group:not(.open) .nav-sub {
    display:none;
}

.nav-group.open .chev {
    transform:rotate(90deg);
}

.app.sidebar-collapsed .sidebar {
    width:72px;
}

.app.sidebar-collapsed .sidebar .brand span,.app.sidebar-collapsed .nav-group>button>span:not(.nav-icon),.app.sidebar-collapsed .nav-top>span:not(.nav-icon) {
    display:none;
}

.app.sidebar-collapsed .sidebar .brand {
    justify-content:center;
    padding-left:10px;
    padding-right:10px;
}

.app.sidebar-collapsed .nav-group>button,.app.sidebar-collapsed .nav-top {
    justify-content:center;
}

.app.sidebar-collapsed .nav-group .chev {
    display:none;
}

.app.sidebar-collapsed .nav-sub {
    display:none;
}

.app.sidebar-collapsed .main {
    margin-left:72px;
}

.header .left,.header .right {
    display:flex;
    align-items:center;
    gap:12px;
}

.crumb {
    font-size:12px;
    color:var(--ink-3);
    margin-bottom:6px;
}

.page-head p {
    margin:4px 0 0;
    color:var(--ink-2);
}

.menu-btn {
    display:inline-flex;
}

.menu-btn svg,.header-icon svg,.profile-chevron,.profile-menu svg,.notification-menu svg {
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.header-actions {
    gap:8px;
}

.notify-wrap,.profile-wrap {
    position:relative;
}

.notification-menu,.profile-menu {
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    width:260px;
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:10px;
    box-shadow:0 12px 30px #101114;
    z-index:80;
    overflow:hidden;
}

.dropdown-title {
    padding:12px 14px;
    font-weight:700;
    border-bottom:1px solid var(--line);
}

.empty-notification {
    padding:22px 14px;
    color:var(--ink-3);
    text-align:center;
    font-size:13px;
}

.profile-trigger {
    display:flex;
    align-items:center;
    gap:8px;
    border:0;
    background:none;
    padding:3px 6px;
    border-radius:9px;
    cursor:pointer;
    font:inherit;
    text-align:left;
}

.profile-trigger .uname {
    display:flex;
    flex-direction:column;
    line-height:1.25;
}

.profile-trigger .uname small {
    font-size:11px;
}

.profile-chevron {
    width:15px;
    height:15px;
}

.profile-menu-head {
    display:flex;
    gap:10px;
    align-items:center;
    padding:13px 14px;
    border-bottom:1px solid var(--line);
}

.avatar-lg {
    width:40px;
    height:40px;
}

.profile-menu-head div {
    display:flex;
    flex-direction:column;
    min-width:0;
}

.profile-menu-head small {
    font-size:11px;
    color:var(--ink-3);
    overflow:hidden;
    text-overflow:ellipsis;
}

.profile-menu>a,.profile-menu>button {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    padding:11px 14px;
    border:0;
    background:#ffffff;
    color:var(--ink);
    font:inherit;
    text-align:left;
    cursor:pointer;
}

.profile-menu>a:hover,.profile-menu>button:hover {
    background:#ffffff;
}

.profile-menu svg {
    width:17px;
    height:17px;
    flex:0 0 17px;
}

.scrim {
    display:none;
}

@media (max-width:900px) {
    .sidebar {
        transform:translateX(-100%);
        width:var(--side-w);
    }

    .sidebar.open {
        transform:none;
    }

    .app.sidebar-collapsed .sidebar {
        width:var(--side-w);
    }

    .app.sidebar-collapsed .sidebar .brand span,.app.sidebar-collapsed .nav-group>button>span:not(.nav-icon),.app.sidebar-collapsed .nav-top>span:not(.nav-icon) {
        display:initial;
    }

    .app.sidebar-collapsed .sidebar .brand {
        justify-content:flex-start;
        padding:18px 20px;
    }

    .app.sidebar-collapsed .nav-group>button {
        justify-content:initial;
    }

    .app.sidebar-collapsed .nav-group .chev {
        display:inline;
    }

    .main {
        margin-left:0!important;
    }

    .menu-btn {
        display:inline-flex;
    }

    .scrim.show {
        display:block;
        position:fixed;
        inset:0;
        background:#101114;
        z-index:35;
    }

    .content {
        padding:16px;
    }

    .header {
        padding:0 16px;
    }

    .uname {
        display:none;
    }
}

.btn {
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:38px;
    padding:0 14px;
    border-radius:8px;
    border:1px solid var(--line);
    background:#ffffff;
    font:inherit;
    font-weight:600;
    cursor:pointer;
}

.btn:hover {
    background:#ffffff;
}

.btn[disabled] {
    opacity:.55;
    cursor:not-allowed;
}

.btn-primary {
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2))!important;
    border-color:transparent!important;
    color:#fff!important;
}

.btn-primary:hover {
    background:var(--brand-d);
    filter:brightness(1.06);
}

.btn-danger {
    background:linear-gradient(135deg,var(--theme-danger),#b91c1c)!important;
    border-color:transparent!important;
    color:#fff!important;
}

.btn-danger:hover {
    background:#101114;
}

.req::after {
    content:" *";
    color:var(--bad);
}

.help {
    color:var(--ink-3);
    font-size:12px;
}

.grid-2 {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 16px;
}

@media (max-width:600px) {
    .grid-2 {
        grid-template-columns:1fr;
    }
}

.pw {
    position:relative;
}

.pw .btn-icon {
    position:absolute;
    right:4px;
    top:4px;
}

.card {
    background:var(--theme-card)!important;
    border:1px solid var(--line);
    border-radius:var(--r);
    border-color:var(--theme-border)!important;
}

.toolbar .input {
    max-width:280px;
}

.toolbar .select {
    width:auto;
    min-width:140px;
}

.table tr:hover td {
    background:#ffffff;
}

.pager {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 14px;
    gap:10px;
    flex-wrap:wrap;
}

.state {
    padding:48px 16px;
    text-align:center;
    color:var(--ink-2);
}

.state[hidden] { display: none !important; }
.state strong {
    display:block;
    color:var(--ink);
    margin-bottom:4px;
}

.skel {
    height:14px;
    border-radius:6px;
    background:linear-gradient(90deg,#ffffff,#ffffff,#ffffff);
    background-size:200% 100%;
    animation:sh 1.2s infinite;
}

@keyframes sh {
    to {
        background-position:-200% 0;
    }
}

@media (prefers-reduced-motion:reduce) {
    .skel {
        animation:none;
    }
}

.modal-head,.modal-foot {
    padding:16px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
}

#toasts {
    position:fixed;
    top:16px;
    right:16px;
    display:flex;
    flex-direction:column;
    gap:8px;
    z-index:90;
    max-width:calc(100vw - 32px);
}

.toast {
    display:flex;
    gap:10px;
    align-items:center;
    padding:10px 12px;
    border-radius:8px;
    border:1px solid;
    background:#ffffff;
    box-shadow:0 4px 14px #101114;
    min-width:260px;
}

.toast button {
    margin-left:auto;
    border:0;
    background:none;
    cursor:pointer;
    font-size:16px;
}

.toast-success {
    border-color:var(--ok);
    background:var(--ok-bg);
}

.toast-error {
    border-color:var(--bad);
    background:var(--bad-bg);
}

.toast-warning {
    border-color:var(--theme-warning)!important;
    background:#fffbeb!important;
    color:#92400e!important;
}

.toast-info {
    border-color:var(--theme-info)!important;
    background:#eff6ff!important;
    color:#1e40af!important;
}

.switch input:disabled + span {
    opacity:.5;
    cursor:not-allowed;
}

.switch em {
    font-style:normal;
    font-size:12px;
    color:var(--ink-2);
}

.switch-lg span {
    width:46px;
    height:26px;
}

.switch-lg span::after {
    width:20px;
    height:20px;
}

.switch-lg input:checked + span::after {
    transform:translateX(20px);
}

.main {
    min-height:100vh;
}

@media (max-width:900px) {
    .footer {
        padding:14px 16px;
        flex-wrap:wrap;
    }
}

.nav-top {
    display:flex;
    align-items:center;
    gap:10px;
}

.notification-menu[hidden],.profile-menu[hidden] {
    display:none;
}

.top-actions {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin-top:16px;
}

.page-head>.btn-icon {
    flex:0 0 38px;
}

.actions form {
    margin:0;
}

.btn-icon.btn-primary {
    color:#101114;
}

.nav-icon-yellow {
    color:#101114;
    background:#101114;
}

.nav-icon-purple {
    color:#101114;
    background:#101114;
}

.nav-icon-gray {
    color:#101114;
    background:#101114;
}

.nav-sub .nav-icon svg {
    width:14px;
    height:14px;
}

.action-col {
    width:90px;
}

.page-head .page-actions,
.page-head > .btn,
.page-head > .btn-icon {
    margin-left:auto;
}

.btn-action-black,
.btn-action-black:visited,
button.btn-action-black {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:0 13px;
    border:1px solid var(--action-bg);
    border-radius:8px;
    background:var(--action-bg);
    color:var(--action-text);
    text-decoration:none;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-sizing:border-box;
}

.btn-action-black:hover {
    background:var(--action-hover-bg);
    color:var(--action-text);
}

.btn-action-black svg {
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:0 0 17px;
}

.page-head {
    align-items:flex-start;
}

.page-head .page-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.form-page, .form-card, .view-page {
    max-width:none;
    width:100%;
    box-sizing:border-box;
}

.full-page-card {
    width:100%;
    padding:28px;
    box-sizing:border-box;
}

.form-top-actions {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin:0 0 22px;
    padding-bottom:16px;
    border-bottom:1px solid var(--line);
}

.form-bottom-actions {
    display:none;
}

.auto-code {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 12px;
    border:1px dashed #101114;
    border-radius:8px;
    background:#ffffff;
    color:#101114;
    font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.readonly-input {
    background:#ffffff;
    color:#101114;
}

.page-head .btn-action-black + .btn-action-black {
    margin-left:0;
}

.role-form-grid, .menu-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px;
}

.role-form-grid .field-full, .menu-form-grid .field-full {
    grid-column:1/-1;
}

@media (max-width:700px) {
    .page-head .page-actions {
        width:100%;
        margin-top:8px;
        justify-content:flex-end;
    }

    .role-form-grid, .menu-form-grid {
        grid-template-columns:1fr;
    }

    .role-form-grid .field-full, .menu-form-grid .field-full {
        grid-column:auto;
    }

    .form-card, .full-page-card {
        padding:18px;
    }

    .form-top-actions {
        flex-wrap:wrap;
    }

    .btn-action-black {
        min-height:36px;
        padding:0 11px;
    }
}

@keyframes modalFadeIn {
    from {
        opacity:0;
    }

    to {
        opacity:1;
    }
}

@keyframes modalPopIn {
    from {
        opacity:0;
        transform:translateY(14px) scale(.97);
    }

    to {
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes profileFloat {
    0%,100% {
        transform:translateY(0) rotate(0);
    }

    50% {
        transform:translateY(-8px) rotate(.5deg);
    }
}

@keyframes profileGlow {
    0%,100% {
        opacity:.35;
        transform:scale(1);
    }

    50% {
        opacity:.65;
        transform:scale(1.08);
    }
}

.input,.select,.btn,.card,.table th,.permission-summary,.permission-chip,.profile-menu,.notification-menu {
    background:#ffffff;
    color:#101114;
}

.nav a.active,.avatar {
    background:#101114;
    color:#ffffff;
}

.nav-icon, {
    background:#101114;
    color:#ffffff;
}

.modal-back .modal {
    box-shadow:0 24px 70px rgba(16,17,20,.28);
}

.switch span,.switch input:checked + span {
    background:#101114;
}

@keyframes navIconPulse {
    0%,100% {
        transform:translateY(0) scale(1);
    }

    50% {
        transform:translateY(-2px) scale(1.04);
    }
}

.nav a:nth-child(1) .nav-icon,.nav-group:nth-child(1) .nav-icon {
    color:#2563eb;
}

.nav a:nth-child(2) .nav-icon,.nav-group:nth-child(2) .nav-icon {
    color:#7c3aed;
}

.nav a:nth-child(3) .nav-icon,.nav-group:nth-child(3) .nav-icon {
    color:#059669;
}

.nav a:nth-child(4) .nav-icon,.nav-group:nth-child(4) .nav-icon {
    color:#ea580c;
}

.nav a:nth-child(5) .nav-icon,.nav-group:nth-child(5) .nav-icon {
    color:#db2777;
}

.nav a:nth-child(6) .nav-icon,.nav-group:nth-child(6) .nav-icon {
    color:#0891b2;
}

.nav a:nth-child(7) .nav-icon,.nav-group:nth-child(7) .nav-icon {
    color:#16a34a;
}

.nav a:nth-child(8) .nav-icon,.nav-group:nth-child(8) .nav-icon {
    color:#dc2626;
}

.nav a:nth-child(9) .nav-icon,.nav-group:nth-child(9) .nav-icon {
    color:#9333ea;
}

.nav a:hover .nav-icon,.nav-group>button:hover .nav-icon,.nav a.active .nav-icon {
    background:#ffffff!important;
    transform:scale(1.12) rotate(-4deg);
    filter:drop-shadow(0 5px 8px rgba(37,99,235,.22));
}

.btn-icon svg,.btn-action-black svg,.row-action-box svg {
    transition:transform .2s ease,filter .2s ease;
}

.btn-icon:hover svg,.btn-action-black:hover svg,.row-action-box button:hover svg,.row-action-box a:hover svg {
    transform:scale(1.14) rotate(-4deg);
}

button[title*="Refresh"] svg,button[aria-label*="Refresh"] svg {
    color:#2563eb;
}

button[title*="Add"] svg,button[aria-label*="Add"] svg,button[title*="Create"] svg {
    color:#16a34a;
}

button[title*="Save"] svg,button[aria-label*="Save"] svg {
    color:#059669;
}

button[title*="Edit"] svg,button[aria-label*="Edit"] svg {
    color:#7c3aed;
}

button[title*="Delete"] svg,button[aria-label*="Delete"] svg {
    color:#dc2626;
}

button[title*="Print"] svg,button[aria-label*="Print"] svg {
    color:#0891b2;
}

button[title*="Download"] svg,button[aria-label*="Download"] svg {
    color:#0284c7;
}

button[title*="Approve"] svg,button[aria-label*="Approve"] svg {
    color:#16a34a;
}

button[title*="Export"] svg,button[aria-label*="Export"] svg {
    color:#ea580c;
}

button[title*="Import"] svg,button[aria-label*="Import"] svg {
    color:#8b5cf6;
}

button[title*="Permissions"] svg,button[aria-label*="Permissions"] svg {
    color:#db2777;
}

button[title*="Reset"] svg,button[aria-label*="Reset"] svg {
    color:#f97316;
}

button[title*="Search"] svg,button[aria-label*="Search"] svg {
    color:#2563eb;
}

button[title*="Close"] svg,button[aria-label*="Close"] svg {
    color:#dc2626;
}

.row-action-box .danger svg {
    color:#dc2626!important;
}

.action-view svg {
    color:#2563eb;
}

.action-edit svg {
    color:#7c3aed;
}

.action-delete svg {
    color:#dc2626;
}

.action-print svg {
    color:#0891b2;
}

.action-download svg {
    color:#0284c7;
}

.action-approve svg {
    color:#16a34a;
}

.action-export svg {
    color:#ea580c;
}

.action-import svg {
    color:#8b5cf6;
}

@keyframes colorfulActionPulse {
    0%,100% {
        filter:drop-shadow(0 0 0 rgba(37,99,235,0));
    }

    50% {
        filter:drop-shadow(0 5px 10px rgba(37,99,235,.18));
    }
}

.btn-icon svg,.row-action-box svg {
    animation:colorfulActionPulse 3s ease-in-out infinite;
}

@media (prefers-reduced-motion:reduce) {
    .btn-icon svg,.row-action-box svg {
        animation:none;
    }

    .nav a:hover .nav-icon,.nav-group>button:hover .nav-icon,.nav a.active .nav-icon {
        transform:none;
    }
}

.nav-group>button:hover,.nav a:hover,
.nav-group>button:focus-visible,.nav a:focus-visible,
.nav a.active,.nav-group.open>button {
    background:#ffffff;
    color:#000000;
    transform:translateX(2px);
    box-shadow:0 8px 22px rgba(0,0,0,.22);
}

.nav-group>button:focus-visible,.nav a:focus-visible {
    outline:2px solid #ffffff;
    outline-offset:2px;
}

.nav a:hover .nav-icon,.nav a.active .nav-icon,.nav-group>button:hover .nav-icon,.nav-group>button:focus-visible .nav-icon,.nav-group.open>button .nav-icon {
    transform:scale(1.08) rotate(-4deg);
    box-shadow:0 8px 18px var(--icon-soft);
}

.nav a.active .nav-icon,.nav-group>button:hover .nav-icon,.nav a:hover .nav-icon {
    background:var(--icon-soft)!important;
}

.nav-top:nth-of-type(1),.nav-group:nth-of-type(1) {
    --icon:#38bdf8;
    --icon-soft:rgba(56,189,248,.20);
}

.nav-top:nth-of-type(2),.nav-group:nth-of-type(2) {
    --icon:#a78bfa;
    --icon-soft:rgba(167,139,250,.20);
}

.nav-top:nth-of-type(3),.nav-group:nth-of-type(3) {
    --icon:#34d399;
    --icon-soft:rgba(52,211,153,.20);
}

.nav-top:nth-of-type(4),.nav-group:nth-of-type(4) {
    --icon:#fb923c;
    --icon-soft:rgba(251,146,60,.20);
}

.nav-top:nth-of-type(5),.nav-group:nth-of-type(5) {
    --icon:#f472b6;
    --icon-soft:rgba(244,114,182,.20);
}

.nav-top:nth-of-type(6),.nav-group:nth-of-type(6) {
    --icon:#22d3ee;
    --icon-soft:rgba(34,211,238,.20);
}

.nav-top:nth-of-type(7),.nav-group:nth-of-type(7) {
    --icon:#4ade80;
    --icon-soft:rgba(74,222,128,.20);
}

.nav-top:nth-of-type(8),.nav-group:nth-of-type(8) {
    --icon:#f87171;
    --icon-soft:rgba(248,113,113,.20);
}

.nav-top:nth-of-type(9),.nav-group:nth-of-type(9) {
    --icon:#c084fc;
    --icon-soft:rgba(192,132,252,.20);
}

.nav-sub a:nth-child(1) {
    --icon:#60a5fa;
    --icon-soft:rgba(96,165,250,.18);
}

.nav-sub a:nth-child(2) {
    --icon:#4ade80;
    --icon-soft:rgba(74,222,128,.18);
}

.nav-sub a:nth-child(3) {
    --icon:#fbbf24;
    --icon-soft:rgba(251,191,36,.18);
}

.nav-sub a:nth-child(4) {
    --icon:#f472b6;
    --icon-soft:rgba(244,114,182,.18);
}

.nav-sub a:nth-child(5) {
    --icon:#a78bfa;
    --icon-soft:rgba(167,139,250,.18);
}

.nav-sub a:nth-child(6) {
    --icon:#2dd4bf;
    --icon-soft:rgba(45,212,191,.18);
}

.nav-group .chev {
    color:currentColor;
    font-size:20px;
}

.card:has(.table-wrap) {
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 10px 35px rgba(16,17,20,.06);
}

.toolbar {
    padding:16px;
    border-bottom:1px solid #e8e9ed;
    background:#ffffff;
    gap:10px;
}

.table-wrap {
    background:#ffffff;
}

table.table {
    min-width:860px;
    border-collapse:separate;
    border-spacing:0;
}

.table th {
    position:sticky;
    top:0;
    z-index:2;
    padding:13px 15px;
    background:#000!important;
    color:#fff!important;
    border-bottom:1px solid #e2e4e9;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:11px;
}

.table td {
    padding:13px 15px;
    border-bottom:1px solid #eceef2;
    background:#ffffff;
    transition:background .18s ease,transform .18s ease;
    border-color:var(--theme-border)!important;
}

.table tbody tr:hover td {
    background:#f7f9fc;
}

.table tbody tr:last-child td {
    border-bottom:0;
}

.table tbody tr:hover td:first-child {
    box-shadow:inset 3px 0 0 #6366f1;
}

.actions {
    gap:6px;
}

.btn-icon {
    border:0!important;
}

.btn-icon:hover {
    transform:translateY(-1px);
}

.btn-icon svg {
    width:17px;
    height:17px;
}

.action-view,.action-edit,.action-delete,.action-print,.action-download,.action-approve,.action-export,.action-import {
    border-radius:10px!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.action-view {
    color:#2563eb!important;
    background:rgba(37,99,235,.11)!important;
}

.action-edit {
    color:#7c3aed!important;
    background:rgba(124,58,237,.11)!important;
}

.action-delete {
    color:#dc2626!important;
    background:rgba(220,38,38,.11)!important;
}

.action-print {
    color:#0891b2!important;
    background:rgba(8,145,178,.11)!important;
}

.action-download {
    color:#0284c7!important;
    background:rgba(2,132,199,.11)!important;
}

.action-approve {
    color:#16a34a!important;
    background:rgba(22,163,74,.11)!important;
}

.action-export {
    color:#ea580c!important;
    background:rgba(234,88,12,.11)!important;
}

.action-import {
    color:#8b5cf6!important;
    background:rgba(139,92,246,.11)!important;
}

.action-view:hover,.action-edit:hover,.action-delete:hover,.action-print:hover,.action-download:hover,.action-approve:hover,.action-export:hover,.action-import:hover {
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 7px 16px rgba(16,17,20,.10);
}

.row-action-box svg {
    width:17px;
    height:17px;
}

.badge {
    padding:5px 10px;
    border-radius:999px;
    border:1px solid transparent;
}

.badge-ok {
    background:rgba(22,163,74,.11)!important;
    color:#15803d!important;
    border-color:rgba(22,163,74,.18);
}

.badge-off {
    background:rgba(107,114,128,.11)!important;
    color:#4b5563!important;
    border-color:rgba(107,114,128,.18);
}

@media (max-width:900px) {
    .sidebar {
        padding:0 8px;
    }

    .nav {
        padding-top:10px;
    }

    .nav-group>button,.nav a {
        min-height:44px;
    }
}

.header {
    background:linear-gradient(90deg,#ffffff 0%,#f5f3ff 42%,#eff6ff 72%,#ecfeff 100%);
    border-bottom:1px solid #dbe4f0;
    box-shadow:0 5px 22px rgba(15,23,42,.06);
}

.header .left>.muted {
    color:#334155;
    font-weight:700;
}

.header .menu-btn,.header .header-icon {
    background:linear-gradient(135deg,#eef2ff,#e0f2fe)!important;
    color:#2563eb!important;
    border:1px solid #dbeafe!important;
    transition:transform .2s ease,box-shadow .2s ease;
}

.header .menu-btn:hover,.header .header-icon:hover {
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 8px 18px rgba(37,99,235,.16);
}

.avatar {
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-pink))!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(79,70,229,.25);
    animation:headerAvatar 3s ease-in-out infinite;
}

.notify-dot {
    background:linear-gradient(135deg,#ef4444,#f97316);
    box-shadow:0 0 0 4px rgba(239,68,68,.12);
}

.profile-trigger:hover {
    background:linear-gradient(135deg,#eef2ff,#fce7f3);
}

.footer span {
    opacity:.92;
}

.footer span:last-child {
    opacity:.72;
}

@keyframes headerAvatar {
    0%,100% {
        transform:translateY(0);
    }

    50% {
        transform:translateY(-2px) rotate(3deg);
    }
}

@media (prefers-reduced-motion:reduce) {
    .avatar {
        animation:none;
    }
}

.switch input:checked + span {
    background:linear-gradient(135deg,#22c55e,#06b6d4)!important;
    box-shadow:0 4px 12px rgba(34,197,94,.28)!important;
}

.switch input:checked + span::after {
    background:#fff;
    box-shadow:0 2px 7px rgba(34,197,94,.35);
}

.switch input:focus-visible + span {
    outline:2px solid #60a5fa!important;
    outline-offset:3px;
}

.actions .btn-icon,.row-actions .btn-icon {
    position:relative;
    overflow:hidden;
}

.actions .btn-icon::before,.row-actions .btn-icon::before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    opacity:.9;
    pointer-events:none;
}

.actions .action-view,.row-actions .action-view {
    background:rgba(37,99,235,.13)!important;
    color:#2563eb!important;
}

.actions .action-edit,.row-actions .action-edit {
    background:rgba(124,58,237,.13)!important;
    color:#7c3aed!important;
}

.actions .action-delete,.row-actions .action-delete {
    background:rgba(220,38,38,.13)!important;
    color:#dc2626!important;
}

.actions .action-print,.row-actions .action-print {
    background:rgba(8,145,178,.13)!important;
    color:#0891b2!important;
}

.actions .action-download,.row-actions .action-download {
    background:rgba(2,132,199,.13)!important;
    color:#0284c7!important;
}

.actions .action-approve,.row-actions .action-approve {
    background:rgba(22,163,74,.13)!important;
    color:#16a34a!important;
}

.actions .action-export,.row-actions .action-export {
    background:rgba(234,88,12,.13)!important;
    color:#ea580c!important;
}

.actions .action-import,.row-actions .action-import {
    background:rgba(139,92,246,.13)!important;
    color:#8b5cf6!important;
}

.dash-stat {
    min-height:94px!important;
    padding:10px!important;
}

.dash-stat-icon {
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    border-radius:12px!important;
}

.dash-stat strong {
    font-size:26px!important;
}

.security-tabs {
    display:flex;
    gap:8px;
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
    background:linear-gradient(90deg,#fff,#f8fafc,#fff);
    overflow:auto;
}

.security-tab {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid #e2e8f0;
    border-radius:11px;
    background:#fff;
    color:#334155;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
    transition:.2s;
}

.security-tab:hover,.security-tab.active {
    transform:translateY(-1px);
    background:#eef2ff;
    color:#111827;
    box-shadow:0 7px 16px rgba(79,70,229,.12);
}

.security-icon {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:9px;
    color:#fff;
    font-weight:900;
}

.security-blue {
    background:linear-gradient(135deg,#2563eb,#06b6d4);
}

.security-purple {
    background:linear-gradient(135deg,#7c3aed,#db2777);
}

.security-red {
    background:linear-gradient(135deg,#dc2626,#f97316);
}

.security-toolbar {
    display:flex;
    gap:10px;
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
}

.security-toolbar .input {
    max-width:420px;
    flex:1;
}

.security-table-wrap {
    overflow:auto;
}

.security-table {
    min-width:800px;
}

.security-table td,.security-table th {
    vertical-align:middle;
}

.security-badge,.security-status {
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.security-badge {
    background:#eef2ff;
    color:#4f46e5;
}

.security-status.ok {
    background:#dcfce7;
    color:#15803d;
}

.security-status.bad {
    background:#fee2e2;
    color:#dc2626;
}

.empty-cell {
    text-align:center!important;
    padding:34px!important;
    color:#64748b!important;
}

.ip-add {
    display:flex;
    gap:10px;
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
    background:#f8fafc;
}

.ip-add .input {
    max-width:300px;
    flex:1;
}

.security-block {
    color:#dc2626!important;
    background:#fee2e2!important;
}

.security-unblock {
    color:#16a34a!important;
    background:#dcfce7!important;
}

@media (max-width:700px) {
    .security-toolbar,.ip-add {
        flex-wrap:wrap;
    }

    .security-toolbar .input,.ip-add .input {
        max-width:none;
        width:100%;
    }
}

table.table th,
.security-table th,
.permission-grid table th {
    background:var(--theme-table-head-bg) !important;
    color:var(--theme-table-head-text) !important;
}

.menu-action {
    font-size:11px!important;
    font-weight:700!important;
    padding:6px 9px!important;
    min-height:30px!important;
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #e7e5ec!important;
    border-radius:6px!important;
}

.menu-action:hover,.menu-action:focus-visible {
    background:#e7e5ec!important;
    color:#000!important;
    transform:translateY(-1px);
}

.table-wrap,.security-table-wrap,.permission-grid,.platform-list,.card:has(.table) {
    overflow:visible!important;
}

.menu-row {
    overflow:visible;
}

.menu-row .menu-icon {
    --menu-icon:#2563eb;
    --menu-soft:rgba(37,99,235,.14);
    background:var(--menu-soft)!important;
    color:var(--menu-icon)!important;
    border:1px solid color-mix(in srgb,var(--menu-icon),transparent 70%);
    box-shadow:0 6px 15px color-mix(in srgb,var(--menu-icon),transparent 82%);
}

.menu-row .menu-icon svg {
    stroke:currentColor!important;
    filter:drop-shadow(0 2px 3px color-mix(in srgb,var(--menu-icon),transparent 65%));
}

.menu-row:nth-child(5n+1) .menu-icon {
    --menu-icon:#2563eb;
    --menu-soft:rgba(37,99,235,.14);
}

.menu-row:nth-child(5n+2) .menu-icon {
    --menu-icon:#16a34a;
    --menu-soft:rgba(22,163,74,.14);
}

.menu-row:nth-child(5n+3) .menu-icon {
    --menu-icon:#db2777;
    --menu-soft:rgba(219,39,119,.14);
}

.menu-row:nth-child(5n+4) .menu-icon {
    --menu-icon:#ea580c;
    --menu-soft:rgba(234,88,12,.14);
}

.menu-row:nth-child(5n+5) .menu-icon {
    --menu-icon:#7c3aed;
    --menu-soft:rgba(124,58,237,.14);
}

.menu-row:hover .menu-icon {
    transform:scale(1.08) rotate(-4deg);
    transition:transform .2s ease,box-shadow .2s ease;
}

.permission-grid table th {
    background:#fff!important;
    color:#000!important;
    border-bottom:1px solid #101114!important;
}

.permission-action-icon {
    background:var(--perm-soft,#eef2ff)!important;
    color:var(--perm-color,#2563eb)!important;
    border:0!important;
}

.permission-action-icon.action-view {
    --perm-color:#2563eb;
    --perm-soft:rgba(37,99,235,.14);
}

.permission-action-icon.action-add {
    --perm-color:#16a34a;
    --perm-soft:rgba(22,163,74,.14);
}

.permission-action-icon.action-edit {
    --perm-color:#7c3aed;
    --perm-soft:rgba(124,58,237,.14);
}

.permission-action-icon.action-delete {
    --perm-color:#dc2626;
    --perm-soft:rgba(220,38,38,.14);
}

.permission-action-icon.action-action {
    --perm-color:#db2777;
    --perm-soft:rgba(219,39,119,.14);
}

.permission-action-icon.action-print {
    --perm-color:#0891b2;
    --perm-soft:rgba(8,145,178,.14);
}

.permission-action-icon.action-download {
    --perm-color:#0284c7;
    --perm-soft:rgba(2,132,199,.14);
}

.permission-action-icon.action-approved {
    --perm-color:#16a34a;
    --perm-soft:rgba(22,163,74,.14);
}

.permission-action-icon.action-export {
    --perm-color:#ea580c;
    --perm-soft:rgba(234,88,12,.14);
}

.permission-action-icon.action-import {
    --perm-color:#8b5cf6;
    --perm-soft:rgba(139,92,246,.14);
}

.platform-list .action-trigger,.menu-row .action-trigger,.menu-action {
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #e7e5ec!important;
    border-radius:0!important;
    font-size:10px!important;
    font-weight:600!important;
    padding:5px 8px!important;
    min-height:28px!important;
    line-height:1.1!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
}

.platform-list .action-trigger:hover,.platform-list .action-trigger:focus,
.menu-row .action-trigger:hover,.menu-row .action-trigger:focus,
.menu-action:hover,.menu-action:focus-visible {
    background:#e7e5ec!important;
    color:#000!important;
    border-color:#e7e5ec!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
}

.quick-action-badge {
    display:none!important;
}

.row-action-box a:hover,.row-action-box button:hover,
.row-action-box a:focus,.row-action-box button:focus {
    background:#fff!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
}

.row-action-box .danger,.row-action-box .danger svg,.row-action-box .danger svg * {
    color:#000!important;
    stroke:#000!important;
}

.action-trigger {
    width:32px!important;
    height:32px!important;
    padding:0!important;
    justify-content:center!important;
    border-radius:6px!important;
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #e7e5ec!important;
    animation:none!important;
    transform:none!important;
    transition:none!important;
}

.action-trigger svg {
    width:17px!important;
    height:17px!important;
    color:#000!important;
    stroke:#000!important;
    animation:none!important;
    transform:none!important;
    transition:none!important;
}

.action-trigger:hover,.action-trigger:focus,.action-trigger:active {
    background:#e7e5ec!important;
    color:#000!important;
    transform:none!important;
    box-shadow:none!important;
}

.row-action-box a:hover,.row-action-box button:hover,.row-action-box a:focus,.row-action-box button:focus {
    background:#fff!important;
    color:#000!important;
    transform:none!important;
    box-shadow:none!important;
}

.row-action-box svg,.row-action-box svg * {
    color:#000!important;
    stroke:#000!important;
    animation:none!important;
    transform:none!important;
    transition:none!important;
}

.platform-list .action-trigger,
.menu-row .action-trigger,
.menu-action {
    border-radius:8px!important;
}

.platform-list .action-trigger, .menu-row .action-trigger {
    width:auto!important;
    min-width:92px!important;
    height:32px!important;
    padding:0 10px!important;
    justify-content:center!important;
    gap:0!important;
    border-radius:8px!important;
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #e7e5ec!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
}

.platform-list .action-trigger:hover, .platform-list .action-trigger:focus, .menu-row .action-trigger:hover, .menu-row .action-trigger:focus {
    background:#e7e5ec!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
}

.row-action-box button {
    justify-content:flex-start;
}

.row-action-box button svg {
    display:none!important;
}

table,
table.table,
.table,
.table-wrap,
.security-table,
.permission-grid table,
.platform-list .table,
.users-table {
    border-radius:0 !important;
}

.nav-group > button > span:not(.nav-icon):not(.chev),
.nav > .nav-top > span:not(.nav-icon),
.nav-sub a > span:not(.nav-icon) {
    text-align:left;
    direction:ltr;
    margin-left:0;
}

@media (max-width:900px) {
    .app.sidebar-collapsed .nav-group > button,
  .app.sidebar-collapsed .nav-top {
        justify-content:center;
    }
}

border-radius: 0 !important;
.switch span::after {
    border-radius:50%!important;
}

.btn-icon,.action-trigger,.header-icon,.menu-btn,.profile-trigger .avatar,.nav-icon {
    border-radius:8px!important;
}

.nav-sub .nav-icon {
    border-radius:6px!important;
}

.btn-icon svg,.action-trigger svg,.header-icon svg,.menu-btn svg {
    border-radius:6px!important;
}

.nav-group > button,
.nav a,
.nav-sub a {
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    direction:ltr!important;
}

.nav-group > button > span:not(.nav-icon):not(.chev),
.nav a > span:not(.nav-icon),
.nav-sub a > span:not(.nav-icon) {
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
    direction:ltr!important;
    flex:0 1 auto!important;
}

.nav-group > button > .chev {
    margin-left:auto!important;
    margin-right:0!important;
}

#toasts .toast {
    border-width:2px!important;
    color:#101114!important;
    font-weight:600!important;
    box-shadow:0 10px 26px rgba(16,17,20,.18)!important;
}

#toasts .toast-success {
    background:linear-gradient(135deg,#d9fbe8,#b8f3d0)!important;
    border-color:#16a34a!important;
}

#toasts .toast-error {
    background:linear-gradient(135deg,#ffe0e0,#ffc4c4)!important;
    border-color:#dc2626!important;
}

#toasts .toast-warning {
    background:linear-gradient(135deg,#fff2bd,#ffe08a)!important;
    border-color:#d97706!important;
}

#toasts .toast-info {
    background:linear-gradient(135deg,#dcecff,#b9d8ff)!important;
    border-color:#2563eb!important;
}

#toasts .toast-success::before {
    content:"✓";
    color:#15803d;
    font-weight:900;
    font-size:17px;
}

#toasts .toast-error::before {
    content:"!";
    color:#b91c1c;
    font-weight:900;
    font-size:17px;
}

#toasts .toast-warning::before {
    content:"⚠";
    color:#b45309;
    font-weight:900;
    font-size:16px;
}

#toasts .toast-info::before {
    content:"i";
    color:#1d4ed8;
    font-weight:900;
    font-size:17px;
}

.modal-back {
    background:rgba(16,17,20,.52)!important;
    backdrop-filter:blur(2px)!important;
}

.modal {
    border:2px solid #101114!important;
    box-shadow:0 18px 50px rgba(16,17,20,.30)!important;
    overflow:hidden!important;
}

.modal-head {
    background:#e7e5ec!important;
    border-bottom:2px solid #101114!important;
    color:#000!important;
}

.modal-head h2 {
    color:#000!important;
}

.modal-body {
    background:#fff!important;
    color:#101114!important;
}

.modal-foot {
    background:#e7e5ec!important;
}

.modal-foot .btn[data-no] {
    background:#000!important;
    color:#fff!important;
}

.modal-foot .btn-primary,
.modal-foot .btn[data-yes]:not(.btn-danger) {
    background:#000!important;
    color:#fff!important;
}

.modal-foot .btn-danger,
.modal-foot .btn[data-yes].btn-danger {
    background:#000!important;
    color:#fff !important;
}

.modal-foot .btn:hover {
    filter:brightness(.97)!important;
    transform:none!important;
}

.alert {
    font-weight:600!important;
    border-width:2px!important;
    box-shadow:0 5px 16px rgba(16,17,20,.08)!important;
}

.alert-success {
    background:linear-gradient(135deg,#d9fbe8,#b8f3d0)!important;
    color:#166534!important;
    border-color:#16a34a!important;
}

.alert-error {
    background:linear-gradient(135deg,#ffe0e0,#ffc4c4)!important;
    color:#991b1b!important;
    border-color:#dc2626!important;
}

.alert-warning {
    background:linear-gradient(135deg,#fff2bd,#ffe08a)!important;
    color:#92400e!important;
    border-color:#d97706!important;
}

.alert-info {
    background:linear-gradient(135deg,#dcecff,#b9d8ff)!important;
    color:#1e40af!important;
    border-color:#2563eb!important;
}

.field.error .input,.field.error .select {
    border-width:2px!important;
    border-color:#dc2626!important;
    background:#fff1f1!important;
}

.err-text {
    color:#b91c1c!important;
    font-weight:600!important;
}

#menusApp.platform-card, #menusApp .menu-tree, #menusApp .menu-node, #menusApp .menu-row {
    overflow: visible !important;
}

#menusApp .row-actions {
    position: relative !important;
    z-index: 100000 !important;
    overflow: visible !important;
}

#menusApp .row-action-box {
    position: absolute !important;
    top: 0 !important;
    right: calc(100% + 8px) !important;
    left: auto !important;
    z-index: 2147483647 !important;
    display: block;
    min-width: 150px !important;
    padding: 5px !important;
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
    visibility: visible !important;
}

#menusApp .row-action-box[hidden] {
    display: none !important;
}

#menusApp .row-action-box button,
#menusApp .row-action-box a {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
    background: #fff !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

#menusApp .row-action-box button:hover,
#menusApp .row-action-box button:focus,
#menusApp .row-action-box a:hover,
#menusApp .row-action-box a:focus {
    background: #f3f4f6 !important;
    color: #000 !important;
}

#menusApp .row-action-box .fa.fa-pen::before {
    content: "✎";
}

#menusApp .row-action-box .fa.fa-trash::before {
    content: "🗑";
}

#menusApp .row-action-box .fa {
    font-family: Arial, sans-serif !important;
    font-style: normal !important;
}

.row-actions, .row-action-box {
    overflow: visible !important;
}

.row-action-box i.fa,
.row-action-box .fa {
    display: inline-flex !important;
    width: 18px !important;
    min-width: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-family: Arial, sans-serif !important;
}

.row-action-box .danger,
.row-action-box .danger span,
.row-action-box .danger .fa {
    color: #000 !important;
}

.row-actions,
.actions,
.table-wrap,
.card {
    overflow: visible !important;
}

.login-art {
    background:#000!important;
    color:#fff!important;
}

.login-art .art-orb-one,
.login-art .art-orb-two {
    background:rgba(255,255,255,.08) !important;
}

.login-form {
    background:var(--theme-header)!important;
    color:#000!important;
}

.menu-action, .role-menu-btn, .action-trigger {
    position: relative !important;
    border:0!important;
    padding:0!important;
    background:#e7e5ec!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
}

.login-btn,
.login-btn:hover,
.login-btn:focus,
.login-btn:active,
.captcha-refresh,
.captcha-refresh:hover,
.captcha-refresh:focus,
.captcha-refresh:active {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

.login-btn svg, .captcha-refresh svg, .captcha-refresh svg * {
    color: #fff !important;
    stroke: #fff !important;
}

.row-actions:hover > .row-action-box,
.row-actions:focus-within > .row-action-box,
.row-actions:hover > .row-action-box[hidden],
.row-actions:focus-within > .row-action-box[hidden] {
    display: block !important;
}

.row-actions > .row-action-box a:hover,
.row-actions > .row-action-box button:hover {
    background: #f2f2f2 !important;
    color: #000 !important;
}

.row-actions > .row-action-box i.fa,
.row-actions > .row-action-box .fa {
    display: inline-flex !important;
    width: 18px !important;
    min-width: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: Arial, sans-serif !important;
    font-style: normal !important;
}

#menusApp .row-action-box button,
.platform-list .row-action-box button {
    width: 100% !important;
    min-width: 142px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
    background: #fff !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: left !important;
    box-shadow: none !important;
}

#menusApp .row-action-box button:hover,
.platform-list .row-action-box button:hover {
    background: #f2f2f2 !important;
    color: #000 !important;
}

#menusApp .row-action-box .fa,
.platform-list .row-action-box .fa {
    display: inline-flex !important;
    width: 18px !important;
    min-width: 18px !important;
    justify-content: center !important;
    color: #000 !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-family: Arial, sans-serif !important;
}

.nav-icon-violet {
    --icon:#7c3aed;
    --icon-soft:#ede9fe;
}

.nav-icon-cyan {
    --icon:#0891b2;
    --icon-soft:#cffafe;
}

.nav-icon-green {
    --icon:#059669;
    --icon-soft:#d1fae5;
}

.nav-icon-orange {
    --icon:#ea580c;
    --icon-soft:#ffedd5;
}

.nav-icon-pink {
    --icon:#db2777;
    --icon-soft:#fce7f3;
}

.nav-icon-blue {
    --icon:#2563eb;
    --icon-soft:#dbeafe;
}

.nav-icon-red {
    --icon:#dc2626;
    --icon-soft:#fee2e2;
}

.nav-icon-amber {
    --icon:#d97706;
    --icon-soft:#fef3c7;
}

.row-actions>.action-trigger:hover {
    background:#e7e5ec!important;
    color:#000!important;
}

.row-actions .action-trigger {
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #000!important;
    border-radius:0!important;
    min-height:40px;
    padding:0 14px;
    font-weight:600;
}

.row-actions .action-trigger:hover {
    background:#e7e5ec!important;
    color:#000!important;
}

.row-action-box a,.row-action-box button {
    background:#e7e5ec!important;
    color:#000!important;
    border:0!important;
    border-radius:0!important;
    min-height:38px!important;
    padding:8px 10px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
}

.row-action-box a:hover,.row-action-box button:hover {
    background:#fff!important;
}

.row-action-box .action-edit i,.row-action-box .action-edit svg {
    color:#7c3aed!important;
}

.row-action-box .action-delete i,.row-action-box .action-delete svg {
    color:#dc2626!important;
}

.row-action-box .action-view i,.row-action-box .action-view svg {
    color:#2563eb!important;
}

.page-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-left:auto;
}

.btn-action-black.btn-icon,.btn.btn-icon {
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    display:inline-grid!important;
    place-items:center!important;
}

.academic-tab .academic-tab-icon {
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:#fff!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    flex:0 0 18px!important;
    display:block!important;
}

.academic-tab:not(.active) .academic-tab-icon {
    stroke:#fff!important;
}

.academic-tab i {
    font-family:inherit!important;
    font-size:0!important;
}

.academic-tab i::before {
    content:none!important;
}

.academic-tab:nth-child(8n+1) .academic-tab-icon {
    stroke:#2563eb!important;
}

.academic-tab:nth-child(8n+2) .academic-tab-icon {
    stroke:#7c3aed!important;
}

.academic-tab:nth-child(8n+3) .academic-tab-icon {
    stroke:#059669!important;
}

.academic-tab:nth-child(8n+4) .academic-tab-icon {
    stroke:#ea580c!important;
}

.academic-tab:nth-child(8n+5) .academic-tab-icon {
    stroke:#db2777!important;
}

.academic-tab:nth-child(8n+6) .academic-tab-icon {
    stroke:#0891b2!important;
}

.academic-tab:nth-child(8n+7) .academic-tab-icon {
    stroke:#d97706!important;
}

.academic-tab:nth-child(8n) .academic-tab-icon {
    stroke:#dc2626!important;
}

.academic-tab.active .academic-tab-icon {
    stroke:#fff!important;
}

.row-actions>.action-trigger {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 13px!important;
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #000!important;
    border-radius:0!important;
}

.row-actions>.row-action-box button svg,.row-actions>.row-action-box a svg {
    display:block!important;
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    flex:0 0 17px!important;
}

.row-actions>.row-action-box .action-edit svg {
    stroke:#7c3aed!important;
}

.row-actions>.row-action-box .action-delete svg {
    stroke:#dc2626!important;
}

.row-actions>.row-action-box .action-edit span {
    color:#000!important;
}

.row-actions>.row-action-box .action-delete span {
    color:#dc2626!important;
}

.acad-toggle {
    appearance:none!important;
    -webkit-appearance:none!important;
    width:44px!important;
    height:24px!important;
    min-width:44px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    display:inline-flex!important;
    align-items:center!important;
    cursor:pointer!important;
}

.acad-toggle span {
    position:relative!important;
    width:44px!important;
    height:24px!important;
    display:block!important;
    border-radius:999px!important;
    background:#ef4444!important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)!important;
    transition:background .18s ease!important;
}

.acad-toggle span:after {
    content:""!important;
    position:absolute!important;
    top:3px!important;
    left:3px!important;
    width:18px!important;
    height:18px!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 2px 5px rgba(0,0,0,.22)!important;
    transition:transform .18s ease!important;
}

.acad-toggle.on span {
    background:#10b981!important;
}

.acad-toggle.on span:after {
    transform:translateX(20px)!important;
}

.acad-toggle.off span {
    background:#ef4444!important;
}

.acad-toggle.off span:after {
    transform:translateX(0)!important;
}

.academic-app {
    padding:0!important;
}

.academic-head {
    padding:0 2px!important;
}

.academic-tabs {
    margin:0!important;
    padding:2px 0 16px!important;
}

.academic-panel {
    padding:0!important;
}

.academic-form.erp-form-card {
    padding:60px 24px 24px!important;
    margin-top:16px!important;
}

.academic-grid {
    padding:0!important;
}

.academic-toolbar {
    padding:0!important;
    margin-bottom:0!important;
}

.academic-app .table-wrap {
    margin-top:0!important;
}

.academic-app .table {
    margin-top:0!important;
}

@media (max-width:560px) {
    .academic-form.erp-form-card {
        padding:60px 16px 20px!important;
    }

    .row-actions>.row-action-box {
        right:calc(100% + 6px)!important;
    }
}

.row-actions>.action-trigger .quick-action-icon {
    display:none!important;
}

.row-actions>.action-trigger .quick-action-label {
    display:inline!important;
}

.btn-action-black,.btn-action-black:visited {
    border-radius:6px!important;
    box-shadow:none!important;
}

.btn-action-black svg,.btn-action-black svg * {
    fill:none!important;
}

.btn-action-black.btn-icon {
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    display:inline-grid!important;
    place-items:center!important;
}

.row-actions>.action-trigger.menu-action {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    min-width:104px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 13px!important;
    background:#e7e5ec!important;
    color:#000!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1!important;
    white-space:nowrap!important;
}

.row-actions>.action-trigger.menu-action .quick-action-label {
    display:block!important;
    white-space:nowrap!important;
}

.row-actions>.row-action-box {
    position:absolute!important;
    right:100%!important;
    left:auto!important;
    top:0!important;
    bottom:auto!important;
    transform:none!important;
    display:none!important;
    min-width:150px!important;
    margin:0!important;
    padding:5px!important;
    background:#e7e5ec!important;
    color:#000!important;
    border:1px solid #000!important;
    border-radius:6px!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
    z-index:2147483647!important;
}

.row-actions:hover>.row-action-box,.row-actions:focus-within>.row-action-box {
    display:block!important;
}

.row-actions>.row-action-box button,.row-actions>.row-action-box a {
    width:100%!important;
    min-width:140px!important;
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:8px 10px!important;
    background:#000!important;
    color:#fff!important;
    border:0!important;
    border-radius:5px!important;
    font-size:13px!important;
    font-weight:600!important;
    text-align:left!important;
    cursor:pointer!important;
}

.row-actions>.row-action-box button+button,.row-actions>.row-action-box a+a {
    margin-top:4px!important;
}

.row-actions>.row-action-box button:hover,.row-actions>.row-action-box a:hover {
    background:#000!important;
    color:#fff!important;
    transform:none!important;
}

.row-actions>.row-action-box button svg,
.row-actions>.row-action-box button svg *,
.row-actions>.row-action-box a svg,
.row-actions>.row-action-box a svg *,
.row-actions>.row-action-box i.fa {
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    color:#000!important;
    stroke:#000!important;
    fill:none!important;
    font-size:16px!important;
}

.session-row-copy {
    flex:0 0 40px!important;
}

@media (max-width:560px) {
    .row-actions>.row-action-box {
        right:100%!important;
        top:0!important;
    }

    .row-actions>.action-trigger.menu-action {
        min-width:96px!important;
    }
}

.menu-action:hover,
.menu-action:focus-visible,
.role-menu-btn:hover,
.role-menu-btn:focus-visible,
.action-trigger:hover,
.action-trigger:focus-visible {
    background:#e7e5ec!important;
    color:#000!important;
    border-color:#e7e5ec!important;
    transform:none!important;
    box-shadow:none!important;
}

.row-action-box a:hover,
.row-action-box button:hover,
.row-action-box a:focus,
.row-action-box button:focus {
    background:#fff!important;
    color:#000!important;
}

.row-action-box button span {
    display:inline-block!important;
    color:#000!important;
    font-size:12px!important;
    font-weight:600!important;
}

.skeleton-line {
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.skeleton-45 {
    width:45%;
}

.skeleton-60 {
    width:60%;
}

.skeleton-70 {
    width:70%;
    margin-bottom:10px;
}

.role-description {
    height:auto!important;
    min-height:100px!important;
    padding:10px 12px!important;
    resize:vertical;
}

.bar-fill {
    height:5%;
}

.bar-height-5 {
    height:5%;
}

.bar-height-10 {
    height:10%;
}

.bar-height-15 {
    height:15%;
}

.bar-height-20 {
    height:20%;
}

.bar-height-25 {
    height:25%;
}

.bar-height-30 {
    height:30%;
}

.bar-height-35 {
    height:35%;
}

.bar-height-40 {
    height:40%;
}

.bar-height-45 {
    height:45%;
}

.bar-height-50 {
    height:50%;
}

.bar-height-55 {
    height:55%;
}

.bar-height-60 {
    height:60%;
}

.bar-height-65 {
    height:65%;
}

.bar-height-70 {
    height:70%;
}

.bar-height-75 {
    height:75%;
}

.bar-height-80 {
    height:80%;
}

.bar-height-85 {
    height:85%;
}

.bar-height-90 {
    height:90%;
}

.bar-height-95 {
    height:95%;
}

.bar-height-100 {
    height:100%;
}

#menusApp .menu-row .menu-icon[data-icon-tone="0"] {
    --menu-icon:#2563eb;
    --menu-soft:rgba(37,99,235,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="1"] {
    --menu-icon:#16a34a;
    --menu-soft:rgba(22,163,74,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="2"] {
    --menu-icon:#db2777;
    --menu-soft:rgba(219,39,119,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="3"] {
    --menu-icon:#ea580c;
    --menu-soft:rgba(234,88,12,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="4"] {
    --menu-icon:#7c3aed;
    --menu-soft:rgba(124,58,237,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="5"] {
    --menu-icon:#0891b2;
    --menu-soft:rgba(8,145,178,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="6"] {
    --menu-icon:#ca8a04;
    --menu-soft:rgba(202,138,4,.14);
}

#menusApp .menu-row .menu-icon[data-icon-tone="7"] {
    --menu-icon:#dc2626;
    --menu-soft:rgba(220,38,38,.14);
}

.menu-action:hover,
.menu-action:focus,
.menu-action:active,
.role-menu-btn:hover,
.role-menu-btn:focus,
.role-menu-btn:active,
.action-trigger:hover,
.action-trigger:focus,
.action-trigger:active {
    border:0!important;
    padding:0!important;
    background:#e7e5ec!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
}

.row-action-box a,
.row-action-box button {
    min-width:118px!important;
    height:30px!important;
    padding:0 7px!important;
    margin:0!important;
    background:#fff!important;
    color:#000!important;
    border:0!important;
    border-radius:0!important;
    gap:6px!important;
}

.row-action-box a:hover,
.row-action-box button:hover,
.row-action-box a:focus,
.row-action-box button:focus,
.row-action-box a:active,
.row-action-box button:active {
    background:#fff!important;
    color:#000!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
}

.row-action-box svg,
.row-action-box svg * {
    color:#000!important;
    stroke:#000!important;
}

.sidebar .nav a:hover .nav-icon,.sidebar .nav a.active .nav-icon,.sidebar .nav-group>button:hover .nav-icon,.sidebar .nav-group>button:focus-visible .nav-icon,.sidebar .nav-group.open>button .nav-icon {
    transform:translateY(-2px) scale(1.08) rotate(-3deg);
    background:linear-gradient(145deg,var(--icon-soft),color-mix(in srgb,var(--icon) 22%,transparent))!important;
    box-shadow:0 9px 20px color-mix(in srgb,var(--icon) 28%,transparent);
    animation-play-state:paused;
}

@keyframes sidebarIconFloat {
    0%,100% {
        transform:translateY(0);
    }

    50% {
        transform:translateY(-1px);
    }
}

@keyframes sidebarIconShine {
    0%,55% {
        transform:translateX(-65%) rotate(8deg);
    }

    75%,100% {
        transform:translateX(65%) rotate(8deg);
    }
}

@media (prefers-reduced-motion:reduce) {
    .sidebar .nav-icon,.sidebar .nav-icon::before {
        animation:none;
    }

    .sidebar .nav a:hover .nav-icon,.sidebar .nav a.active .nav-icon,.sidebar .nav-group>button:hover .nav-icon,.sidebar .nav-group>button:focus-visible .nav-icon,.sidebar .nav-group.open>button .nav-icon {
        transform:none;
    }
}

.sidebar .nav a:nth-child(6n+1) .nav-icon,.sidebar .nav-group:nth-child(6n+1)>button .nav-icon {
    background:linear-gradient(135deg,#dbeafe,#c4b5fd)!important;
    color:#2563eb!important;
}

.sidebar .nav a:nth-child(6n+2) .nav-icon,.sidebar .nav-group:nth-child(6n+2)>button .nav-icon {
    background:linear-gradient(135deg,#dcfce7,#a7f3d0)!important;
    color:#16a34a!important;
}

.sidebar .nav a:nth-child(6n+3) .nav-icon,.sidebar .nav-group:nth-child(6n+3)>button .nav-icon {
    background:linear-gradient(135deg,#fce7f3,#fecdd3)!important;
    color:#db2777!important;
}

.sidebar .nav a:nth-child(6n+4) .nav-icon,.sidebar .nav-group:nth-child(6n+4)>button .nav-icon {
    background:linear-gradient(135deg,#ffedd5,#fed7aa)!important;
    color:#ea580c!important;
}

.sidebar .nav a:nth-child(6n+5) .nav-icon,.sidebar .nav-group:nth-child(6n+5)>button .nav-icon {
    background:linear-gradient(135deg,#ede9fe,#ddd6fe)!important;
    color:#7c3aed!important;
}

.sidebar .nav a:nth-child(6n) .nav-icon,.sidebar .nav-group:nth-child(6n)>button .nav-icon {
    background:linear-gradient(135deg,#cffafe,#bae6fd)!important;
    color:#0891b2!important;
}

.sidebar .nav a:hover .nav-icon,.sidebar .nav a.active .nav-icon,.sidebar .nav-group>button:hover .nav-icon,.sidebar .nav-group>button:focus-visible .nav-icon {
    transform:translateY(-1px) scale(1.05)!important;
    box-shadow:0 6px 14px rgba(15,23,42,.12)!important;
}

.sidebar .nav a:hover .nav-icon svg,.sidebar .nav a.active .nav-icon svg,.sidebar .nav-group>button:hover .nav-icon svg {
    transform:rotate(-5deg) scale(1.05)!important;
}

.row-actions > .action-trigger,
.row-actions > .menu-action,
.row-actions > .role-menu-btn {
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
}

.row-actions > .action-trigger:hover,
.row-actions > .action-trigger:focus,
.row-actions > .action-trigger:active,
.row-actions > .menu-action:hover,
.row-actions > .menu-action:focus,
.row-actions > .menu-action:active,
.row-actions > .role-menu-btn:hover,
.row-actions > .role-menu-btn:focus,
.row-actions > .role-menu-btn:active {
    border:0!important;
    padding:0!important;
    background:#e7e5ec!important;
    color:#000!important;
    box-shadow:none!important;
    transform:none!important;
}

.quick-action-label {
    padding:0!important;
    margin:0!important;
    color:#000!important;
}

.row-actions > .row-action-box {
    top:0!important;
    right:100%!important;
    left:auto!important;
    bottom:auto!important;
    padding:2px!important;
    margin:0!important;
    background:#fff#e7e5ec !important;
    color:#000!important;
    border:1px solid #000!important;
    border-radius:0!important;
    box-shadow:none!important;
}

.row-actions > .row-action-box a,
.row-actions > .row-action-box button {
    padding:4px 6px!important;
    min-width:132px!important;
    height:30px!important;
    background:#fff!important;
    color:#000!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

.row-actions > .row-action-box a:hover,
.row-actions > .row-action-box a:focus,
.row-actions > .row-action-box button:hover,
.row-actions > .row-action-box button:focus,
.row-actions > .row-action-box a:active,
.row-actions > .row-action-box button:active {
    background:#fff!important;
    color:#000!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
}

.row-actions > .row-action-box svg,
.row-actions > .row-action-box svg * {
    color:#000!important;
    stroke:#000!important;
}

.sidebar .nav a:hover,.sidebar .nav a.active,.sidebar .nav-group>button:hover,.sidebar .nav-group>button:focus-visible,.sidebar .nav-group.open>button {
    transform:translateX(1px)!important;
}

.sidebar .nav a.active:before {
    content:"";
    position:absolute;
    left:3px;
    top:8px;
    bottom:8px;
    width:3px;
    border-radius:3px;
    background:currentColor;
}

#menusApp .row-actions, .platform-list .row-actions {
    position: relative !important;
    z-index: 100000 !important;
    overflow: visible !important;
    background-color: #e7e5ec;
}

#menusApp .menu-node:has(.row-actions:hover),
#menusApp .menu-node:has(.row-actions:focus-within),
.platform-list tbody tr:has(.row-actions:hover),
.platform-list tbody tr:has(.row-actions:focus-within) {
    position: relative !important;
    z-index: 2147483000 !important;
    overflow: visible !important;
}

#menusApp .platform-card,
#menusApp .menu-tree,
#menusApp .menu-node,
#menusApp .menu-children,
#menusApp .menu-row,
.platform-list,
.platform-list .table-wrap,
.platform-list .table-responsive,
.platform-list .card,
.platform-list table,
.platform-list thead,
.platform-list tbody,
.platform-list tr,
.platform-list td,
.platform-list .action-col {
    overflow: visible !important;
}

#menusApp .row-action-box,
.platform-list .row-action-box {
    position: absolute !important;
    top: 0 !important;
    right: calc(100% + 8px) !important;
    left: -154px !important;
    bottom: auto !important;
    display: none !important;
    min-width: 150px !important;
    width: max-content !important;
    max-width: 240px !important;
    box-sizing: border-box !important;
    padding: 4px !important;
    margin: 0 !important;
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
    z-index: 2147483647 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
}

#menusApp .row-actions:hover > .row-action-box,
#menusApp .row-actions:focus-within > .row-action-box,
.platform-list .row-actions:hover > .row-action-box,
.platform-list .row-actions:focus-within > .row-action-box {
    display: block !important;
}

#menusApp .row-action-box button,
#menusApp .row-action-box a,
.platform-list .row-action-box button,
.platform-list .row-action-box a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 142px !important;
    height: 25px !important;
    padding: 1px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    background: #e7e5ec !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

#menusApp .row-action-box button:hover,
#menusApp .row-action-box button:focus,
#menusApp .row-action-box a:hover,
#menusApp .row-action-box a:focus,
.platform-list .row-action-box button:hover,
.platform-list .row-action-box button:focus,
.platform-list .row-action-box a:hover,
.platform-list .row-action-box a:focus {
    background: #fff !important;
    color: #000 !important;
    transform: none !important;
    box-shadow: none !important;
}

#menusApp .row-action-box[hidden],
.platform-list .row-action-box[hidden] {
    display: none !important;
}

.erp-toast {
    width: min(340px, calc(100vw - 24px)) !important;
    min-height: 0 !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
}

.erp-toast .swal2-title {
    margin: 0 !important;
    font-size: 13px !important;
}

.erp-toast .swal2-html-container {
    margin: 2px 0 0 !important;
    font-size: 12px !important;
}

.global-list-toolbar-form {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.global-page-size {
    width:76px!important;
    flex:0 0 76px;
}

.global-search-wrap .input,.global-search-wrap input {
    width:100%;
}

.global-list-pager>div {
    display:flex;
    align-items:center;
    gap:8px;
}

.global-list-pager strong {
    font-weight:600;
    color:#111;
}

@media (max-width:620px) {
    .global-list-toolbar-form {
        flex-wrap:wrap;
    }

    .global-search-wrap {
        width:100%;
        max-width:none;
        min-width:0;
        margin-left:0;
    }

    .global-list-pager {
        align-items:flex-start;
        flex-direction:column;
    }

    .global-list-pager>div {
        width:100%;
        justify-content:space-between;
    }
}

.master-search-form select[name="per_page"] {
    order:1;
    margin-right:auto;
}

@media (max-width:620px) {
    .master-search-form {
        flex-wrap:wrap!important;
    }

    .master-search-form input[type="search"] {
        order:2;
        width:calc(100% - 44px)!important;
        margin-left:0;
    }

    .master-search-form button[type="submit"] {
        order:3;
    }

    .master-search-form select[name="per_page"] {
        order:1;
    }
}

.nav-icon {
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--icon)!important;
    border:0!important;
    box-shadow:none!important;
}

.nav-icon svg {
    width:15px!important;
    height:15px!important;
    stroke:currentColor!important;
    color:currentColor!important;
}

.sidebar .nav {
    padding-top:6px!important;
}

.sidebar .nav-group>button,.sidebar .nav a {
    min-height:42px!important;
    padding:7px 10px!important;
    margin:3px 0!important;
    gap:9px!important;
    border-radius:10px!important;
}

.sidebar .nav-sub {
    margin:2px 0 6px 12px!important;
    padding:3px 0 3px 10px!important;
}

.sidebar .nav-sub a {
    min-height:38px!important;
    padding:6px 9px!important;
    margin:2px 0!important;
}

.sidebar .nav-icon,.sidebar .nav a:hover .nav-icon,.sidebar .nav a.active .nav-icon,.sidebar .nav-group>button:hover .nav-icon,.sidebar .nav-group.open>button .nav-icon {
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    animation:none!important;
    color:var(--icon)!important;
}

.sidebar .nav-icon::before {
    display:none!important;
}

.sidebar .nav-sub .nav-icon {
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
}

.sidebar .nav-sub .nav-icon svg {
    width:14px!important;
    height:14px!important;
}

.sidebar .nav-group>button:hover,.sidebar .nav a:hover,.sidebar .nav-group>button:focus-visible {
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
    transform:none!important;
    box-shadow:none!important;
}

.sidebar .nav-group.open>button {
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
    box-shadow:none!important;
}

.sidebar .nav-group.open>button .chev {
    transform:rotate(90deg);
    transition:transform .2s ease;
}

.sidebar .nav-group>button .chev {
    transition:transform .2s ease;
}

.master-page {
    padding:24px!important;
    overflow:visible;
}

.master-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.master-title {
    display:flex;
    align-items:center;
    gap:10px;
}

.master-icon {
    width:30px;
    height:30px;
    border-radius:9px;
    display:grid;
    place-items:center;
    background:#e7e5ec;
    color:#000;
}

.master-title h2 {
    margin:0;
    font-size:21px;
}

.master-title p {
    margin:4px 0 0;
    color:#666;
    font-size:12px;
}

.master-session {
    min-width:220px;
}

.master-session label {
    display:block;
    font-size:12px;
    font-weight:600;
    margin-bottom:6px;
}

.master-session .input {
    height:40px;
}

.master-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}

.master-toolbar h3 {
    margin:0;
    font-size:17px;
}

.master-toolbar span {
    font-size:12px;
    color:#666;
}

.master-form {
    position:relative;
    background:#e7e5ec;
    padding:68px 22px 22px;
    margin-bottom:16px;
}

.master-form-actions {
    position:absolute;
    right:16px;
    top:14px;
    display:flex;
    gap:6px;
}

.master-form-actions .btn-action-black {
    width:38px;
    height:38px;
    min-width:38px;
    padding:0;
}

.master-fields {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px 18px;
}

.erp-field {
    display:flex;
    flex-direction:column;
    gap:var(--erp-field-gap);
    min-width:0;
}

.erp-label {
    font-size:12px;
    font-weight:600;
    text-transform:capitalize;
}

.master-table {
    width:100%;
    border-collapse:collapse;
}

.row-actions {
    position:relative!important;
    z-index:100000!important;
    overflow:visible!important;
    background-color:#e7e5ec;
}

.row-action-box button,.row-action-box button:hover,.row-action-box button:focus {
    background:#fff!important;
    color:#000!important;
    border:0!important;
    padding:5px 7px!important;
}

.row-action-box i,.row-action-box span {
    color:#000!important;
}

.menu-action,.quick-action-label {
    padding:0!important;
    border:0!important;
}

.switch {
    display:inline-flex;
    align-items:center;
}

.switch input {
    display:none;
}

.switch span {
    width:42px;
    height:23px;
    border-radius:999px;
    background:#cbd5e1;
    position:relative;
}

.switch input:checked+span {
    background:#10b981;
}

.switch span:after {
    content:"";
    position:absolute;
    width:17px;
    height:17px;
    left:3px;
    top:3px;
    background:#fff;
    border-radius:50%;
    transition:.18s;
}

.switch input:checked+span:after {
    transform:translateX(19px);
}

@media (max-width:1000px) {
    .master-fields {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:620px) {
    .master-page {
        padding:16px!important;
    }

    .master-head {
        align-items:stretch;
        flex-direction:column;
    }

    .master-fields {
        grid-template-columns:1fr;
    }

    .master-session {
        min-width:0;
    }

    .table-wrap {
        overflow-x:auto;
    }

    .master-table {
        min-width:720px;
    }
}

.master-filter-bar {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin:0 0 12px;
}

.master-search-form {
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    justify-content:flex-end;
}

.master-search-form .input {
    height:40px;
}

.master-search-form select {
    width:110px;
}

.master-form-title {
    font-size:17px;
    font-weight:700;
    margin-bottom:16px;
}

.master-pager {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 0;
    font-size:12px;
    color:#666;
}

.master-pager>div {
    display:flex;
    align-items:center;
    gap:8px;
}

.master-pager .pagination-link {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    background:#000;
    color:#fff;
    text-decoration:none;
}

.master-pager strong {
    font-weight:600;
    color:#111;
}

.master-toggle {
    width:42px;
    height:23px;
    border:0;
    background:transparent;
    padding:0;
}

.master-toggle span {
    display:block;
    width:42px;
    height:23px;
    border-radius:999px;
    background:#dc2626;
    position:relative;
}

.master-toggle span:after {
    content:"";
    position:absolute;
    width:17px;
    height:17px;
    left:3px;
    top:3px;
    background:#fff;
    border-radius:50%;
    transition:.18s;
}

.master-toggle.on span {
    background:#10b981;
}

.master-toggle.on span:after {
    transform:translateX(19px);
}

.copy-session-cell {
    width:70px;
}

.master-table th {
    white-space:nowrap;
}

.master-table td {
    vertical-align:middle;
}

@media (max-width:620px) {
    .master-filter-bar {
        display:block;
    }

    .master-search-form {
        justify-content:stretch;
        flex-wrap:wrap;
    }

    .master-search-form input[type="search"] {
        width:100%;
    }

    .master-search-form select {
        flex:1;
    }

    .master-pager {
        align-items:flex-start;
        flex-direction:column;
    }

    .master-pager>div {
        width:100%;
        justify-content:space-between;
    }
}

body {
    background:var(--theme-page)!important;
    color:var(--theme-text)!important;
}

.content {
    max-width:1500px;
}

.erp-form-row {
    display:flex!important;
    flex-wrap:wrap!important;
    margin-left:-8px!important;
    margin-right:-8px!important;
    row-gap:0!important;
}

.erp-form-row>* {
    padding-left:8px!important;
    padding-right:8px!important;
}

.stepbar {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    margin:0 0 18px!important;
    overflow:visible!important;
}

.stepbar .wizard-step,.stepbar button {
    min-height:58px;
    padding:9px 10px;
    border:1px solid var(--erp-border);
    border-radius:12px;
    background:var(--color-white);
    color:#334155;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    cursor:pointer;
    font:inherit;
    font-weight:650;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}

.stepbar .wizard-step:hover,.stepbar button:hover {
    transform:translateY(-1px);
    border-color:#94a3b8;
    box-shadow:0 7px 18px rgba(15,23,42,.08);
}

.wizard-step-icon {
    font-size:15px;
    line-height:1;
}

.wizard-step-number {
    font-size:11px;
    opacity:.72;
}

.wizard-step-label {
    font-size:12px;
}

.btn-action-black,.erp-icon-btn,.page-action-btn,.list-action-btn {
    border-width:1px!important;
    border-style:solid!important;
    border-radius:7px!important;
    box-shadow:none!important;
}

.btn-action-black:hover,.erp-icon-btn:hover,.page-action-btn:hover,.list-action-btn:hover {
    filter:none!important;
    transform:translateY(-1px);
}

.page-action-btn,.page-action-btn,.list-action-btn {
    width:40px;
    height:40px;
    min-width:40px;
    padding:0;
    display:inline-grid;
    place-items:center;
    text-decoration:none;
    cursor:pointer;
}

.global-list-toolbar,.master-filter-bar {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    margin:0 0 12px!important;
}

.global-list-toolbar-form,.master-search-form {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%!important;
}

.global-page-size,.master-search-form select[name="per_page"] {
    width:78px!important;
    min-width:78px!important;
    height:40px!important;
    order:1;
    margin-right:auto!important;
    background:#000!important;
    color:#fff!important;
    border-color:#000!important;
}

.global-search-wrap {
    display:flex;
    align-items:center;
    gap:8px;
    min-width:280px;
    max-width:420px;
    margin-left:auto;
    order:2;
}

.global-search-wrap input {
    width:100%!important;
}

.global-search-btn {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    background:#000;
    color:#fff;
    border:1px solid #000;
    border-radius:7px;
    order:3;
}

.global-search-btn i {
    color:#fff;
}

.master-search-form input[type="search"] {
    order:2;
    margin-left:auto;
    width:min(340px,100%)!important;
}

.master-search-form button[type="submit"] {
    order:3;
}

.global-list-table,.master-table,.global-list-table {
    width:100%;
    border-collapse:collapse;
}

.global-list-table th,.master-table th,.global-list-table th,.global-list-table th {
    background:#000!important;
    color:#fff!important;
    padding:11px 12px!important;
    text-align:left!important;
    font-size:12px!important;
    font-weight:700!important;
    white-space:nowrap!important;
}

.global-list-table td,.master-table td,.global-list-table td,.global-list-table td {
    padding:11px 12px!important;
    border-bottom:1px solid var(--erp-border)!important;
    vertical-align:middle!important;
}

.global-list-table tbody tr:hover,.master-table tbody tr:hover,.global-list-table tbody tr:hover,.global-list-table tbody tr:hover {
    background:#f8fafc;
}

.global-list-pager,.master-pager,.global-list-pager {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 0;
    font-size:12px;
    color:#64748b;
}

.global-list-pager>div,.master-pager>div,.global-list-pager>div,.global-list-pager>div {
    display:flex;
    align-items:center;
    gap:8px;
}

.pagination-link {
    width:34px;
    height:34px;
    display:grid!important;
    place-items:center;
    text-decoration:none;
    background:#000!important;
    color:#fff!important;
    border:1px solid #000!important;
    border-radius:6px;
}

.pagination-link i {
    color:#fff!important;
}

.global-list-toolbar select,.global-list-toolbar input,.master-search-form select,.master-search-form input,.global-list-toolbar select,.global-search-wrap input,.global-list-toolbar select,.global-search-wrap input {
    height:40px!important;
    border:1px solid var(--erp-border)!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#111827!important;
    outline:0;
}

.global-list-toolbar select:focus,.global-list-toolbar input:focus,.master-search-form select:focus,.master-search-form input:focus,.global-list-toolbar select:focus,.global-search-wrap:focus-within,.global-list-toolbar select:focus,.global-search-wrap:focus-within {
    border-color:#6366f1!important;
    box-shadow:0 0 0 3px rgba(99,102,241,.12)!important;
}

.row-actions,.row-actions,.row-actions {
    display:flex;
    align-items:center;
    gap:6px;
    position:relative;
}

.row-actions .action-trigger,.menu-action {
    width:36px;
    height:36px;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid #000;
    background:#000;
    color:#fff;
    border-radius:7px;
}

.row-actions .action-trigger i,.menu-action i {
    color:#fff;
}

.row-action-box {
    position:absolute;
    right:0;
    top:calc(100% + 5px);
    z-index:1000;
    display:flex;
    gap:4px;
    padding:5px;
    background:#fff;
    border:1px solid var(--erp-border);
    border-radius:8px;
    box-shadow:0 12px 28px rgba(15,23,42,.15);
}

.row-action-box[hidden] {
    display:none!important;
}

.row-action-box button,.row-action-box a {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:0;
    background:#000;
    color:#fff;
    border-radius:6px;
    text-decoration:none;
}

.row-action-box .danger {
    background:#000;
}

.row-action-box i {
    color:#fff!important;
}

@media (max-width:900px) {
    .stepbar,.stepbar {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .global-search-wrap {
        min-width:220px;
    }

    .review-grid,.review-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:600px) {
    .stepbar,.stepbar {
        grid-template-columns:repeat(6,86px);
        overflow-x:auto!important;
        padding-bottom:3px;
    }

    .global-list-toolbar,.master-filter-bar {
        align-items:stretch!important;
    }

    .global-list-toolbar-form,.master-search-form {
        flex-wrap:wrap!important;
    }

    .global-search-wrap {
        width:100%;
        max-width:none;
        min-width:0;
        margin-left:0;
        order:3;
    }

    .global-page-size,.master-search-form select[name="per_page"] {
        order:1;
    }

    .master-search-form input[type="search"] {
        order:2;
        width:calc(100% - 90px)!important;
        margin-left:0;
    }

    .master-search-form button[type="submit"] {
        order:4;
    }

    .global-list-pager,.master-pager,.global-list-pager {
        align-items:flex-start;
        flex-direction:column;
    }

    .global-list-pager>div,.master-pager>div,.global-list-pager>div,.global-list-pager>div {
        width:100%;
        justify-content:space-between;
    }

    .review-grid,.review-grid {
        grid-template-columns:1fr;
    }
}

.sidebar {
    padding:0 5px!important;
    background:var(--theme-sidebar)!important;
}

.nav {
    padding:10px 2px 14px!important;
}

.nav-group>button,.nav a {
    position:relative;
    min-height:42px!important;
    padding:7px 9px!important;
    margin:2px 0!important;
    gap:9px!important;
    border-radius:9px!important;
}

.nav-sub {
    margin:2px 0 5px 10px!important;
    padding:2px 0 2px 8px!important;
    border-left:1px solid rgba(255,255,255,.13)!important;
}

.nav-sub a {
    min-height:37px!important;
    padding:5px 8px!important;
}

.sidebar .nav-icon {
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:grid;
    place-items:center;
    color:var(--icon,#60a5fa)!important;
}

.sidebar .nav-icon svg {
    width:16px!important;
    height:16px!important;
    stroke:currentColor!important;
    fill:none!important;
    filter:none!important;
}

.sidebar .nav-icon i {
    color:currentColor!important;
}

.sidebar .nav a:hover,.sidebar .nav-group>button:hover,.sidebar .nav-group.open>button {
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
}

.sidebar .nav a.active {
    background:rgba(255,255,255,.95)!important;
    color:#111827!important;
    box-shadow:0 5px 15px rgba(0,0,0,.18)!important;
}

.sidebar .nav a.active::before {
    content:"";
    position:absolute;
    left:0;
    top:7px;
    bottom:7px;
    width:3px;
    border-radius:3px;
    background:var(--icon,#6366f1)!important;
}

.sidebar .nav a:hover .nav-icon,.sidebar .nav a.active .nav-icon,.sidebar .nav-group>button:hover .nav-icon {
    transform:scale(1.08)!important;
}

.sidebar .nav a span:not(.nav-icon),.sidebar .nav-group>button span:not(.nav-icon) {
    font-size:13px!important;
    font-weight:650!important;
}

.form-card {
    background:var(--color-white);
    border:1px solid var(--color-border);
    border-radius:var(--radius-xl);
    padding:22px;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.form-card-title {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--color-border);
}

.form-card-title h3 {
    margin:0;
    font-size:16px;
}

.form-card-title p {
    margin:3px 0 0;
    color:var(--color-muted);
    font-size:11px;
}

.field {
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:14px;
    min-width:0;
}

.field label {
    font-weight:600;
    font-size:13px;
}

.field textarea {
    min-height:96px;
    padding-top:10px;
}

.field small,.field .error {
    display:block;
    min-height:15px;
    margin-top:4px;
    color:var(--color-danger);
    font-size:11px;
}

.input,.select {
    height:var(--control-h);
    padding:0 12px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    background:var(--theme-select)!important;
    color:var(--theme-text)!important;
    font:inherit;
    width:100%;
    box-sizing:border-box;
    border-color:var(--theme-border)!important;
}

.input:focus,.select:focus {
    border-color:var(--theme-focus)!important;
    outline:0;
    box-shadow:0 0 0 3px rgba(99,102,241,.14)!important;
}

.form-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0 16px;
    width:100%;
}

.form-grid>.full,.field-full {
    grid-column:1/-1;
}

.review-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.review-grid>div {
    padding:12px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    background:#f8fafc;
}

.review-grid b {
    display:block;
    color:var(--color-muted);
    font-size:10px;
    text-transform:capitalize;
}

.review-grid span {
    display:block;
    margin-top:4px;
    font-size:12px;
    font-weight:600;
    overflow-wrap:anywhere;
}

.status {
    display:inline-flex;
    align-items:center;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
}

@media (max-width:1100px) {
    .form-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .review-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:600px) {
    .form-grid {
        grid-template-columns:1fr;
    }

    .form-grid>.full,.field-full {
        grid-column:auto;
    }

    .review-grid {
        grid-template-columns:1fr;
    }

    .form-card {
        padding:16px;
    }
}

.global-list-toolbar {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    margin:0 0 12px!important;
}

.global-list-table {
    width:100%;
    border-collapse:collapse;
}

.global-list-table th {
    background:var(--color-black)!important;
    color:var(--color-white)!important;
}

.global-list-table td {
    border-bottom:1px solid var(--color-border);
}

.global-list-pager {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 0;
    font-size:12px;
    color:var(--color-muted);
}

.page-action-btn,.btn-action-black,.list-action-btn,.erp-icon-btn,.global-search-btn,.pagination-link {
    background:var(--color-black)!important;
    color:var(--color-white)!important;
    border-color:var(--color-black)!important;
}

.page-action-btn i,.btn-action-black i,.list-action-btn i,.erp-icon-btn i,.global-search-btn i,.pagination-link i {
    color:var(--color-white)!important;
}

.stepbar .wizard-step:nth-child(1) .wizard-step-icon {
    color:#2563eb;
}

.stepbar .wizard-step:nth-child(2) .wizard-step-icon {
    color:#16a34a;
}

.stepbar .wizard-step:nth-child(3) .wizard-step-icon {
    color:#9333ea;
}

.stepbar .wizard-step:nth-child(4) .wizard-step-icon {
    color:#ea580c;
}

.stepbar .wizard-step:nth-child(5) .wizard-step-icon {
    color:#db2777;
}

.stepbar .wizard-step:nth-child(6) .wizard-step-icon {
    color:#0891b2;
}

.stepbar .wizard-step.active .wizard-step-icon {
    color:var(--color-white)!important;
}

.status-active,.status-confirmed {
    background:#dcfce7;
    color:#166534;
}

.status-pending {
    background:#fef3c7;
    color:#92400e;
}

.status-cancelled,.status-rejected {
    background:#fee2e2;
    color:#991b1b;
}

.nav a.active .nav-icon {
    box-shadow:0 0 0 2px rgba(255,255,255,.08);
}

.switch input:checked+span,.acad-toggle.on span {
    background:var(--theme-success)!important;
}

.toast-success,.academic-alert.success {
    border-color:var(--theme-success)!important;
    background:#ecfdf5!important;
    color:#065f46!important;
}

.toast-error,.academic-alert.error {
    border-color:var(--theme-danger)!important;
    background:#fef2f2!important;
    color:#991b1b!important;
}

.login-card,.auth-simple-card {
    background:#fff!important;
    color:var(--theme-text)!important;
    border-color:var(--theme-border)!important;
}

.login-btn {
    background:#000!important;
    color:#fff!important;
    border-color:#000!important;
}

.login-btn:hover {
    background:#111!important;
    color:#fff!important;
}

.captcha-refresh {
    background:#000!important;
    color:#fff!important;
    border-color:#000!important;
}

.eye {
    background:#f3e8ff!important;
    color:var(--theme-purple)!important;
}

.academic-form {
    background:var(--theme-header)!important;
    border-color:var(--theme-border)!important;
}

.erp-page-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-left:auto;
    flex-wrap:wrap;
}

.erp-page-actions .erp-btn {
    margin:0;
}

.erp-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    height:var(--erp-control-h);
    padding:0 14px;
    border:1px solid var(--erp-action-border);
    border-radius:var(--erp-control-radius);
    background:var(--erp-action-bg);
    color:var(--erp-action-text);
    font:inherit;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}

.erp-btn:hover {
    filter:brightness(1.08);
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(17,24,39,.14);
}

.erp-btn:disabled {
    opacity:.55;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.erp-btn svg {
    width:17px;
    height:17px;
    flex:0 0 17px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.erp-btn-add,.erp-btn-save,.erp-btn-edit,.erp-btn-back {
    background:var(--erp-action-bg)!important;
    color:var(--erp-action-text)!important;
    border-color:var(--erp-action-border)!important;
}

.erp-btn-add svg {
    color:var(--theme-success);
}

.erp-btn-save svg {
    color:var(--theme-info);
}

.erp-btn-edit svg {
    color:var(--theme-primary-2);
}

.erp-btn-back svg {
    color:var(--theme-warning);
}

.erp-form {
    display:grid;
    gap:var(--erp-form-gap);
    width:100%;
}

.erp-form-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--erp-form-gap) 20px;
    width:100%;
}

.erp-field-full {
    grid-column:1/-1;
}

.erp-label,.erp-field>label {
    font-size:var(--erp-label-size);
    font-weight:var(--erp-label-weight);
    line-height:1.25;
    color:var(--theme-text);
    min-height:17px;
}

.erp-input,.erp-select,.erp-field input,.erp-field select,.erp-field textarea {
    width:100%;
    height:var(--erp-control-h);
    min-height:var(--erp-control-h);
    box-sizing:border-box;
    padding:0 12px;
    border:1px solid var(--theme-border);
    border-radius:var(--erp-control-radius);
    background:var(--theme-select);
    color:var(--theme-text);
    font:inherit;
    outline:0;
}

.erp-field textarea {
    height:auto;
    min-height:100px;
    padding:10px 12px;
    resize:vertical;
}

.erp-input:focus,.erp-select:focus,.erp-field input:focus,.erp-field select:focus,.erp-field textarea:focus {
    border-color:var(--theme-focus);
    box-shadow:0 0 0 3px rgba(99,102,241,.14);
}

.erp-required {
    color:var(--theme-danger);
    margin-left:2px;
}

.erp-help {
    font-size:12px;
    color:var(--theme-muted);
}

.erp-form-card {
    background:var(--theme-card);
    border:1px solid var(--theme-border);
    border-radius:var(--theme-radius);
    padding:20px;
}

.erp-list-card {
    background:var(--theme-card);
    border:1px solid var(--theme-border);
    border-radius:var(--theme-radius);
    overflow:hidden;
}

.erp-list-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid var(--theme-border);
    background:var(--theme-card);
}

.erp-icon-btn {
    width:var(--erp-control-h);
    height:var(--erp-control-h);
    padding:0;
    display:inline-grid;
    place-items:center;
    border:1px solid var(--erp-action-border);
    border-radius:var(--erp-control-radius);
    background:var(--erp-action-bg);
    color:var(--erp-action-text);
    cursor:pointer;
}

.erp-icon-btn svg {
    width:17px;
    height:17px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@media (max-width:1100px) {
    .erp-form-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:800px) {
    .erp-form-grid {
        grid-template-columns:1fr;
    }

    .erp-field-full {
        grid-column:auto;
    }

    .erp-page-actions {
        width:100%;
        margin-left:0;
        justify-content:flex-end;
    }

    .erp-list-toolbar {
        flex-wrap:wrap;
    }
}

select,
.select,
.erp-select,
.erp-field select,
.input[type="date"],
.input[type="time"],
.input[type="datetime-local"],
.input[type="month"],
.input[type="week"] {
    color-scheme:light;
    accent-color:#000;
    background:#e7e5ec!important;
    color:#000!important;
    border-color:#000!important;
}

select,
.erp-select,
.erp-field select {
    appearance:none;
    -webkit-appearance:none;
    padding:0 38px 0 12px;
    background-image:linear-gradient(45deg,transparent 50%,#000 50%),linear-gradient(135deg,#000 50%,transparent 50%)!important;
    background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%!important;
    background-size:6px 6px,6px 6px!important;
    background-repeat:no-repeat!important;
}

option,optgroup {
    background:#e7e5ec!important;
    color:#000!important;
    padding:8px 12px;
}

select:focus,.select:focus,.erp-select:focus,.erp-field select:focus,.input[type="date"]:focus,.input[type="time"]:focus,.input[type="datetime-local"]:focus,.input[type="month"]:focus,.input[type="week"]:focus {
    border-color:#000!important;
    box-shadow:0 0 0 3px rgba(0,0,0,.1)!important;
    outline:none!important;
}

input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"] {
    padding:0 12px!important;
}

input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator,input[type="month"]::-webkit-calendar-picker-indicator,input[type="week"]::-webkit-calendar-picker-indicator {
    opacity:.9;
    filter:none;
    cursor:pointer;
}

.btn-action-black svg,.btn-action-black svg *,.btn-icon svg,.btn-icon svg *,.erp-btn svg,.erp-btn svg *,.erp-icon-btn svg,.erp-icon-btn svg * {
    color:#fff!important;
    stroke:#fff!important;
}

.global-page-size option,.master-search-form select[name="per_page"] option {
    background:#000!important;
    color:#fff!important;
}

.btn-action-black,.erp-icon-btn,.admission-icon-btn,.student-icon-btn,.page-action-btn,.list-action-btn,.global-search-btn,.pagination-link {
    background:#000!important;
    color:#fff!important;
    border-color:#000!important;
}

.btn-action-black i,.erp-icon-btn i,.admission-icon-btn i,.student-icon-btn i,.page-action-btn i,.list-action-btn i,.global-search-btn i,.pagination-link i {
    color:#fff!important;
}

.lp-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
}

.lp-per-page {
    width: 84px;
    min-width: 84px;
    height: 40px;
}

.lp-search {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 380px;
    margin-left: auto;
}

.lp-search {
    position: relative;
}

.lp-search .input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding-right: 34px;
}

.lp-search .lp-search-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--color-primary, #6366f1);
    pointer-events: none;
}

.lp-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

.lp-info {
    font-size: 13px;
    color: #555;
}

.lp-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
}

.lp-page {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #000;
    border-radius: 6px;
    background: #fff;
    color: #000;
    font-weight: 600;
    cursor: pointer;
}

.lp-page.active,
.lp-page.lp-page-icon {
    background: #000 !important;
    color: #fff !important;
}

.lp-page i {
    color: inherit !important;
}

.lp-dots {
    padding: 0 4px;
    color: #555;
}

.lp-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lp-btn.btn-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}

.master-toggle[disabled] {
    opacity: .5;
    cursor: not-allowed;
}

.master-toolbar .btn-action-black,
.master-form-actions .btn-action-black,
.modal-foot .btn-action-black {
    background: #000 !important;
    color: #fff !important;
}

.modal-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.lp-copy-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px) {
    .lp-top {
        flex-wrap: wrap;
    }

    .lp-search {
        max-width: none;
    }

    .lp-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .lp-pager {
        margin-left: 0;
        justify-content: flex-start;
    }

    .lp-copy-fields {
        grid-template-columns: 1fr;
    }
}

.row-actions > .action-trigger,
.row-actions > .menu-action,
.row-actions > .role-menu-btn {
    background: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.row-actions > .action-trigger i,
.row-actions > .action-trigger svg,
.row-actions > .action-trigger svg * {
    color: #fff !important;
    stroke: #fff !important;
}

.row-action-box button,
.row-action-box a {
    background: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.row-action-box button i,
.row-action-box button svg,
.row-action-box button svg *,
.row-action-box a i {
    color: #fff !important;
    stroke: #fff !important;
}

.row-action-box .quick-action-label,
.row-actions .quick-action-label {
    display: none !important;
}
.nav-icon{
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
.nav-icon i{
    background:transparent!important;
    box-shadow:none!important
}
.nav a:hover .nav-icon,.nav a.active .nav-icon,.nav-group>button:hover .nav-icon,.nav-group>button:focus-visible .nav-icon,.nav-group.open>button .nav-icon{
    background:transparent!important;
    box-shadow:none!important;
    filter:none
}
.nav-sub{
    padding-left:24px!important
}
.nav-sub a{
    margin-left:4px;
    padding-left:14px!important;
    gap:9px!important
}
.nav-group>button,.nav-top{
    gap:10px!important
}

.field-error {
    position: relative;
    display: block;
    margin-top: 6px;
    padding: 7px 10px;
    border-radius: 6px;
    background: #000;
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
    width: fit-content;
    max-width: 100%;
}
.field-error::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 12px;
    width: 10px;
    height: 10px;
    background: #000;
    transform: rotate(45deg);
}
.field-hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.35;
    color: #475569;
}
.has-error {
    outline: 1px solid #000;
    outline-offset: -1px;
}
@media (max-width: 640px) {
    .field-error {
        max-width: calc(100vw - 48px);
    }
}

.sidebar .nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}
.sidebar .nav-top,
.sidebar .nav-group,
.sidebar .nav-group > button,
.sidebar .nav-sub,
.sidebar .nav-sub a {
    width: 100% !important;
    box-sizing: border-box !important;
}
.sidebar .nav-sub {
    display: block !important;
}
.sidebar .nav-group:not(.open) .nav-sub {
    display: none !important;
}
.sidebar .nav-sub a {
    margin-left: 0 !important;
}
body{
    background:var(--theme-page);
    color:var(--header-text)
}
.btn,.erp-action,.btn-primary,.btn-dark{
    background:var(--action-bg)!important;
    color:var(--action-text)!important;
    border-color:var(--action-bg)!important
}
.card{
    background:var(--theme-card)
}
.sidebar .nav{
    display:flex;
    flex-direction:column;
    gap:4px
}
.sidebar .nav-group,.sidebar .nav-sub{
    width:100%
}
.sidebar .nav-sub{
    display:flex;
    flex-direction:column
}
.sidebar .nav a,.sidebar .nav button{
    white-space:nowrap
}
.btn-action-black,.erp-icon-btn,.admission-icon-btn,.student-icon-btn,.page-action-btn,.list-action-btn,.global-search-btn,.pagination-link,.row-action-box button,.row-action-box a,.master-form-actions button{
    background:var(--action-bg)!important;
    color:var(--action-text)!important;
    border-color:var(--action-bg)!important
}
.btn-action-black i,.erp-icon-btn i,.admission-icon-btn i,.student-icon-btn i,.page-action-btn i,.list-action-btn i,.global-search-btn i,.pagination-link i,.btn-action-black svg,.btn-action-black svg *{
    color:var(--action-text)!important;
    stroke:var(--action-text)!important
}
.header-school{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0
}
.header-school-logo{
    width:34px;
    height:34px;
    border-radius:9px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:var(--action-bg);
    color:var(--action-text);
    font-weight:800;
    font-size:14px
}
.header-school-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff
}
.header-school strong,.header-school small{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:220px
}
.header-school strong{
    font-size:12px;
    color:var(--header-text)
}
.header-school small{
    font-size:9px;
    color:var(--header-text);
    opacity:.65;
    margin-top:1px
}
.header-section{
    margin-left:8px
}
@media(max-width:760px){
    .header-school strong{
        max-width:130px
    }
    .header-section{
        display:none
    }
}

.school-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    min-height:64px;
    padding:10px 18px!important
}
.school-footer-brand,.school-footer-contact,.school-footer-meta{
    display:flex;
    align-items:center;
    gap:10px
}
.school-footer-brand>div,.school-footer-meta,.school-footer-contact{
    font-size:11px
}
.school-footer-brand strong{
    display:block;
    font-size:12px
}
.school-footer-brand small{
    display:block;
    opacity:.72;
    font-size:10px
}
.school-footer-logo{
    width:34px;
    height:34px;
    border-radius:9px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:var(--action-bg);
    color:var(--action-text);
    font-weight:800
}
.school-footer-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff
}
.school-footer-contact{
    flex:1;
    justify-content:center;
    flex-wrap:wrap;
    opacity:.78
}
.school-footer-contact span:not(:last-child)::after{
    content:' ·';
    margin-left:10px
}
.school-footer-meta{
    justify-content:flex-end;
    flex-wrap:wrap;
    opacity:.82
}
.school-footer-meta span+span{
    padding-left:10px;
    border-left:1px solid currentColor
}
@media(max-width:900px){
    .school-footer{
        align-items:flex-start
    }
    .school-footer-contact{
        justify-content:flex-start;
        flex-basis:100%;
        order:3
    }
    .school-footer-meta{
        margin-left:auto
    }
}
@media(max-width:600px){
    .school-footer{
        padding:12px!important
    }
    .school-footer-contact{
        display:block
    }
    .school-footer-contact span{
        display:block;
        margin:2px 0
    }
    .school-footer-contact span:not(:last-child)::after{
        content:''
    }
    .school-footer-meta{
        margin-left:0;
        justify-content:flex-start
    }
    .school-footer-meta span+span{
        border-left:0;
        padding-left:0
    }
}

.master-icon {
    background: transparent !important;
    color: #2563eb !important;
    border: 0 !important;
}
.master-icon i {
    color: inherit !important;
}
.master-icon .fa-school { color:#2563eb !important; }
.master-icon .fa-table-columns { color:#7c3aed !important; }
.master-icon .fa-book { color:#059669 !important; }
.master-icon .fa-diagram-project { color:#ea580c !important; }
.master-icon .fa-language { color:#db2777 !important; }
.master-icon .fa-clock { color:#0891b2 !important; }
.master-icon .fa-building { color:#d97706 !important; }
.master-icon .fa-id-badge { color:#dc2626 !important; }
.master-icon .fa-house { color:#0f766e !important; }
.master-icon .fa-users { color:#9333ea !important; }
.master-icon .fa-money-bill { color:#16a34a !important; }
.master-icon .fa-receipt { color:#0284c7 !important; }
.master-icon .fa-file-pen { color:#c026d3 !important; }
.master-icon .fa-chart-simple { color:#ca8a04 !important; }
.master-icon .fa-calendar-xmark { color:#e11d48 !important; }
.master-icon .fa-droplet { color:#0891b2 !important; }
.master-icon .fa-hands-praying { color:#7c3aed !important; }
.master-icon .fa-earth-asia { color:#059669 !important; }
.master-icon .fa-file-lines { color:#2563eb !important; }
.master-icon .fa-bus { color:#ea580c !important; }
.master-icon .fa-globe { color:#0284c7 !important; }
.master-icon .fa-map { color:#16a34a !important; }
.master-icon .fa-city { color:#9333ea !important; }
.master-icon .fa-link { color:#dc2626 !important; }
.master-icon .fa-book-open { color:#0d9488 !important; }
.lp-top {
    padding: 0 !important;
}
.lp-bottom {
    padding: 0 !important;
    margin-top: 14px !important;
}
.lp-pager {
    padding: 0 !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
}
.lp-page {
    flex: 0 0 36px;
}
@media (max-width:620px) {
    .lp-top {
        flex-wrap:wrap;
        align-items:center;
    }
    .lp-search {
        width:min(100%,380px);
    }
}
.swal2-container .erp-alert {
    width: 420px !important;
    max-width: calc(100vw - 24px) !important;
    min-height: 0 !important;
    padding: 24px !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #111 !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
}

.swal2-container .erp-alert .erp-alert-icon {
    width: 5em !important;
    height: 5em !important;
    margin: 0 auto 14px !important;
    font-size: 12px !important;
}

.swal2-container .erp-alert .erp-alert-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #111 !important;
}

.swal2-container .erp-alert .erp-alert-body {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #333 !important;
}

.swal2-container .erp-alert .erp-alert-actions {
    margin: 20px 0 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    justify-content: center !important;
}

.swal2-container .erp-alert .erp-alert-btn {
    min-width: 96px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid #000 !important;
    border-radius: 6px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.swal2-container .erp-alert .erp-alert-btn-confirm {
    background: #000 !important;
    color: #fff !important;
}

.swal2-container .erp-alert .erp-alert-btn-cancel {
    background: #fff !important;
    color: #000 !important;
}

.swal2-container .erp-alert .erp-alert-btn:hover,
.swal2-container .erp-alert .erp-alert-btn:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .25) !important;
}

.swal2-container .erp-alert .erp-alert-validation {
    margin: 14px 0 0 !important;
    font-size: 13px !important;
}

:root{--erp-control-h:40px;--erp-control-radius:8px}
.input,.select,input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea{
    min-height:var(--erp-control-h);
    border-radius:var(--erp-control-radius);
    box-sizing:border-box
}
.input,select,input:not([type="checkbox"]):not([type="radio"]):not([type="color"]){height:var(--erp-control-h)}
.table th,.table td{vertical-align:middle}
.table th{white-space:nowrap}
.list-meta,.pager,.academic-pager,.fee-bottom{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px}

:root{--erp-control-h:35px;--control-h:35px}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,.input,.select,textarea{max-height:35px;height:35px;box-sizing:border-box}
textarea{height:35px;min-height:35px;resize:vertical}
.header{min-height:58px;background:var(--header-bg)!important;color:var(--header-text)!important}
.header .left{
    min-width:0;
    gap:10px
}
.header-user-name{
    display:flex;
    flex-direction:column;
    line-height:1.05;
    min-width:100px
}
.header-user-name strong{
    font-size:13px
}
.header-user-name small{
    font-size:10px;
    margin-top:3px
}
.header-school{
    margin-left:4px
}
.header-actions{
    margin-left:auto
}
.profile-trigger{
    padding:4px 6px!important;
    background:transparent!important;
    border:0!important
}
.profile-trigger .uname{
    display:none
}
.profile-trigger .profile-chevron{
    display:none
}
.avatar{
    overflow:hidden
}
.avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}
.btn-primary,.btn-action-black,.erp-action{
    background:var(--action-bg)!important;
    color:var(--action-text)!important;
    border-color:var(--action-bg)!important
}
.btn-primary:hover,.btn-action-black:hover,.erp-action:hover{
    background:var(--action-hover-bg)!important;
    color:var(--action-text)!important
}
.btn-primary:active,.btn-action-black:active,.erp-action:active{
    background:var(--action-active-bg)!important
}
.table th,.theme-table th{
    background:var(--theme-table-head-bg)!important;
    color:var(--theme-table-head-text)!important
}
.table td,.theme-table td{
    background:var(--theme-table-row-bg)!important;
    color:var(--theme-table-row-text)!important
}
.table tbody tr:hover td,.theme-table tbody tr:hover td{
    background:var(--theme-table-row-hover-bg)!important
}
@media(max-width:760px){
    .header-user-name{
        min-width:0
    }
    .header-user-name strong{
        max-width:90px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis
    }
    .header-school{
        display:none
    }
    .header-section{
        display:none
    }
    .sidebar{
        transform:translateX(-100%);
        position:fixed;
        z-index:1200
    }
    .sidebar.open{
        transform:translateX(0)
    }
    .scrim{
        z-index:1100
    }
    .main{
        margin-left:0!important
    }
    .header{
        position:sticky;
        top:0;
        z-index:1000
    }
    .content{
        padding:14px
    }
}

:root{--erp-control-h:35px;--control-h:35px;--erp-form-gap:10px;--erp-field-gap:4px;--side-w:290px}
body{font-size:13px;line-height:1.4}
h1{font-size:20px}h2{font-size:15px}h3{font-size:14px}
.content{padding:16px;max-width:1440px}
.page-head{gap:10px;margin-bottom:12px}.page-head p{font-size:12px;margin-top:2px}.crumb{font-size:11px;margin-bottom:3px}
.card{border-radius:8px;padding:14px}.toolbar{gap:8px;margin-bottom:10px}.toolbar .input,.toolbar .select{max-width:240px}
.field label,.form-grid label{font-size:11px}.field small,.field .error{font-size:10px}
.form-grid{gap:10px}.field{gap:4px}
.table th{font-size:11px;padding:7px 8px}.table td{font-size:12px;padding:7px 8px}
.btn,.btn-action-black,.btn-primary,.page-action-btn,.list-action-btn,.erp-icon-btn{min-height:35px;height:35px;padding:0 10px;font-size:12px;border-radius:7px}
.btn-icon,.btn-action-black.btn-icon,.page-action-btn.btn-icon,.list-action-btn.btn-icon{width:35px;min-width:35px;padding:0}
.pagination-link,.pager-page{height:32px;min-width:32px;font-size:11px}
.header{
    min-height:54px;
    padding:6px 16px
}
.header .menu-btn,.header .header-icon,.header .refresh-btn{
    width:32px!important;
    height:32px!important
}
.header-user-name strong{
    font-size:12px
}
.header-user-name small{
    font-size:9px
}
.brand{
    padding:12px 14px
}
.brand i{
    width:28px;
    height:28px
}
.sidebar .nav{
    padding:4px 8px 12px
}
.sidebar .nav a,.sidebar .nav-group>button{
    min-height:34px;
    font-size:12px
}
.sidebar .nav-sub a{
    min-height:30px;
    font-size:11px
}
.modal-back{padding:10px}.modal-back>.modal{border-radius:10px}.modal-back>.modal .modal-body{padding:14px}

.header,.header:hover,.header:focus-within{height:60px!important;min-height:60px!important;box-shadow:none!important}
.footer.school-footer,.footer.school-footer:hover{height:50px!important;min-height:50px!important}
.content{padding-top:50px!important}

.page-head>div:first-child p{display:none!important}.page-head>.btn,.page-head>.btn-icon,.page-head>.page-actions{margin-left:auto!important}

:root{
  --erp-table-head-bg:var(--theme-table-head-bg,#000000);
  --erp-table-head-text:var(--theme-table-head-text,#ffffff);
  --erp-table-row-bg:var(--theme-table-row-bg,#ffffff);
  --erp-table-row-text:var(--theme-table-row-text,#111827);
  --erp-table-hover-bg:var(--theme-table-row-hover-bg,#fef9c3);
  --erp-table-border:var(--theme-border,#d9dfe8);
}
.erp-table,
.table-wrap.erp-table,
.erp-table-shell{
  width:100%;
  min-width:0;
}
.erp-table > table,
.erp-table table,
.erp-table-shell > table,
.erp-table-shell table,
table.table,
table.theme-table,
table.security-table,
table.users-table,
table.master-table,
table.global-list-table{
  width:100%!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid var(--erp-table-border)!important;
  border-radius:6px!important;
  overflow:hidden;
  background:var(--erp-table-row-bg)!important;
  color:var(--erp-table-row-text)!important;
}
.erp-table th,
.erp-table-shell th,
table.table th,
table.theme-table th,
table.security-table th,
table.users-table th,
table.master-table th,
table.global-list-table th{
  height:35px!important;
  padding:6px 9px!important;
  background:var(--erp-table-head-bg)!important;
  color:var(--erp-table-head-text)!important;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--erp-table-head-text) 18%,var(--erp-table-head-bg))!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
.erp-table td,
.erp-table-shell td,
table.table td,
table.theme-table td,
table.security-table td,
table.users-table td,
table.master-table td,
table.global-list-table td{
  height:34px!important;
  padding:5px 9px!important;
  background:var(--erp-table-row-bg)!important;
  color:var(--erp-table-row-text)!important;
  border:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}
.erp-table tbody tr:hover td,
.erp-table-shell tbody tr:hover td,
table.table tbody tr:hover td,
table.theme-table tbody tr:hover td,
table.security-table tbody tr:hover td,
table.users-table tbody tr:hover td,
table.master-table tbody tr:hover td,
table.global-list-table tbody tr:hover td{background:var(--erp-table-hover-bg)!important}
.erp-table .erp-act-td,
.erp-table-shell .erp-act-td{border-bottom:1px solid color-mix(in srgb,var(--erp-table-border) 65%,transparent)!important}

.erp-table-toolbar,
.erp-table .gt-toolbar,
.erp-table-shell .gt-toolbar,
.erp-table-shell .lp-top,
.erp-table-shell .global-list-toolbar,
.erp-table-shell .academic-table-tools,
.erp-table-shell .enquiry-filter-bar,
.erp-table-shell .fee-toolbar,
.erp-table-shell .users-toolbar,
.gt-toolbar,
.lp-top,
.global-list-toolbar,
.academic-table-tools,
.enquiry-filter-bar,
.fee-toolbar,
.users-toolbar{
  min-height:35px!important;
  height:35px!important;
  margin:0 0 6px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  font-size:12px!important;
}
.erp-table-toolbar .erp-table-search,
.erp-table .gt-search,
.erp-table-shell .gt-search,
.gt-search,
.lp-search,
.global-search-wrap,
.academic-search{margin-left:auto!important}
.erp-table-toolbar input,
.erp-table-toolbar select,
.erp-table .gt-toolbar input,
.erp-table .gt-toolbar select,
.erp-table-shell .gt-toolbar input,
.erp-table-shell .gt-toolbar select,
.gt-toolbar input,.gt-toolbar select,
.lp-top input,.lp-top select,
.global-list-toolbar input,.global-list-toolbar select,
.academic-table-tools input,.academic-table-tools select,
.enquiry-filter-bar input,.enquiry-filter-bar select,
.fee-toolbar input,.fee-toolbar select,
.users-toolbar input,.users-toolbar select{height:35px!important;min-height:35px!important}
.erp-table-pagination,
.erp-table .gt-footer,
.erp-table-shell .gt-footer,
.erp-table-shell .lp-bottom,
.erp-table-shell .table-footer,
.erp-table-shell .global-list-pager,
.erp-table-shell .enquiry-pager,
.erp-table-shell .fee-bottom,
.erp-table-shell .list-meta,
.erp-table-shell .pager,
.gt-footer,.lp-bottom,.table-footer,.global-list-pager,.enquiry-pager,.fee-bottom,.list-meta,.pager{
  min-height:35px!important;
  height:35px!important;
  margin:6px 0 0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  font-size:11px!important;
}
.erp-table-pagination .gt-pagination,
.erp-table .gt-pagination,
.erp-table-shell .gt-pagination,
.gt-pagination,.lp-pager,.pager-actions{margin-left:auto!important}

.erp-act-menu{
  transform:none!important;
  margin:0!important;
}

.erp-table td,.erp-table th,.erp-table-shell td,.erp-table-shell th,
table.table td,table.table th,table.theme-table td,table.theme-table th,
table.security-table td,table.security-table th,table.users-table td,table.users-table th,
table.master-table td,table.master-table th,table.global-list-table td,table.global-list-table th{border-left:0!important;border-right:0!important}

.erp-table-system{width:100%;min-width:0}.erp-table-system table,.erp-global-table{width:100%;border-collapse:separate!important;border-spacing:0!important}
.erp-table-system th,.erp-global-table th{
    height:34px!important;
    padding:6px 9px!important;
    border:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--sidebar-text,#fff) 18%,var(--sidebar-bg,#111827))!important;
    background:var(--sidebar-bg,#111827)!important;
    color:var(--sidebar-text,#fff)!important;
    font-size:11px!important;
    font-weight:700!important;
    white-space:nowrap;
    text-align:left
}
.erp-table-system td,.erp-global-table td{
    height:34px!important;
    padding:5px 9px!important;
    border:0!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important;
    font-size:12px!important;
    line-height:1.25!important;
    vertical-align:middle!important
}
.erp-table-system tbody tr:hover td,.erp-global-table tbody tr:hover td{background:var(--sidebar-hover-bg,#f1f5f9)!important}
.erp-table-system .gt-toolbar,.erp-table-system .toolbar,.erp-table-system .lp-top,.erp-table-system .global-list-toolbar,.erp-table-system .fee-toolbar,.erp-table-system .users-toolbar,.erp-table-system .academic-table-tools,.erp-table-system .enquiry-filter-bar{
    height:35px!important;
    min-height:35px!important;
    margin:0 0 6px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important
}
.erp-table-system .gt-toolbar input,.erp-table-system .gt-toolbar select,.erp-table-system .toolbar input,.erp-table-system .toolbar select{
    height:35px!important;
    min-height:35px!important
}
.erp-table-system .gt-footer,.erp-table-system .lp-bottom,.erp-table-system .table-footer,.erp-table-system .global-list-pager,.erp-table-system .enquiry-pager,.erp-table-system .fee-bottom,.erp-table-system .list-meta,.erp-table-system .pager{
    height:35px!important;
    min-height:35px!important;
    margin:6px 0 0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:11px!important
}
.erp-table-system .pager-actions,.erp-table-system .gt-pagination,.erp-table-system .gt-pager{
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    margin-left:auto!important
}
.erp-table-system .pager-page,.erp-table-system .gt-page,.erp-table-system .security-page-btn{
    min-width:28px!important;
    width:28px!important;
    height:28px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--theme-text,#111827)!important;
    display:inline-grid!important;
    place-items:center!important;
    border-radius:5px!important
}
.erp-table-system .pager-page.active,.erp-table-system .gt-page.active,.erp-table-system .security-page-btn.active{
    background:var(--sidebar-bg,#111827)!important;
    color:var(--sidebar-text,#fff)!important
}
.erp-table-system .pager-page:disabled,.erp-table-system .gt-page:disabled,.erp-table-system .security-page-btn:disabled{
    opacity:.35!important
}
.erp-table-system .pager-dots,.erp-table-system .gt-dots{
    padding:0 3px
}
.erp-table-system .row-actions{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center
}
.erp-table-system .row-action-box{
    position:absolute!important;
    top:0!important;
    left:0!important;
    z-index:10050!important;
    transform:translate(0,0)!important
}
html,body{
    height:100%;
    overflow:hidden
}
.app{
    height:100vh;
    min-height:100vh;
    overflow:hidden
}
.main{
    height:100vh;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden
}
.content{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    overflow-x:hidden
}
.header{
    height:60px!important;
    min-height:60px!important;
    flex:0 0 60px!important
}
.footer{
    height:50px!important;
    min-height:50px!important;
    flex:0 0 50px!important
}
.content{padding-top:25px!important}
table.table,table.theme-table,table.global-list-table,table.master-table,table.security-table,table.users-table,table.erp-table{
    width:100%!important;
    border-collapse:collapse!important;
    border:0!important
}
table.table thead th,table.theme-table thead th,table.global-list-table thead th,table.master-table thead th,table.security-table thead th,table.users-table thead th,table.erp-table thead th{
    height:35px!important;
    padding:6px 9px!important;
    background:var(--sidebar-bg,#111827)!important;
    color:var(--sidebar-text,#fff)!important;
    border:0!important;
    border-bottom:1px solid var(--sidebar-bg,#111827)!important;
    font-size:11px!important;
    font-weight:700!important;
    vertical-align:middle!important;
    white-space:nowrap
}
table.table tbody td,table.theme-table tbody td,table.global-list-table tbody td,table.master-table tbody td,table.security-table tbody td,table.users-table tbody td,table.erp-table tbody td{
    height:34px!important;
    padding:5px 9px!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important;
    border:0!important;
    font-size:12px!important;
    vertical-align:middle!important
}

.erp-module-shell,.ai-app,.student-page,.fee-app{margin-top:25px;}
.input,select,input,textarea,button{box-sizing:border-box;}
.input,select,input:not([type="checkbox"]):not([type="radio"]),textarea{min-height:35px;}
.page-head{margin-bottom:12px;}
.table-wrap{margin-top:0;}
.erp-table-system .erp-table{margin-top:0;}

@media(max-width:600px){
        }

.branch-list-ui{overflow:visible!important}
.branch-list-ui .table-wrap,.branch-list-ui .security-table-wrap{
    overflow:auto!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:10px!important
}
.branch-list-ui table,.branch-list-ui .table,.branch-list-ui .security-table{width:100%;border-collapse:separate!important;border-spacing:0!important}
.branch-list-ui table th,.branch-list-ui .table th,.branch-list-ui .security-table th{
    background:var(--theme-table-head-bg,#f1f5f9)!important;
    color:var(--theme-table-head-text,#111827)!important;
    font-size:12px!important;
    font-weight:700!important;
    text-align:left!important;
    padding:9px 11px!important;
    border-bottom:1px solid var(--theme-border,#d9dfe8)!important;
    white-space:nowrap!important
}
.branch-list-ui table td,.branch-list-ui .table td,.branch-list-ui .security-table td{
    background:var(--theme-table-row-bg,#fff)!important;
    color:var(--theme-table-row-text,#111827)!important;
    font-size:13px!important;
    padding:9px 11px!important;
    border-bottom:1px solid var(--theme-border,#d9dfe8)!important;
    vertical-align:middle!important
}
.branch-list-ui table tbody tr:hover td,.branch-list-ui .table tbody tr:hover td,.branch-list-ui .security-table tbody tr:hover td{
    background:var(--theme-table-row-hover-bg,#f8fafc)!important
}
.branch-list-ui table tbody tr:last-child td,.branch-list-ui .table tbody tr:last-child td,.branch-list-ui .security-table tbody tr:last-child td{
    border-bottom:0!important
}
.branch-list-ui .gt-toolbar,.branch-list-ui .toolbar,.branch-list-ui .users-toolbar,.branch-list-ui .security-toolbar,.branch-list-ui .enquiry-filter-bar{
    min-height:40px!important;
    height:auto!important;
    margin:0 0 10px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important
}
.branch-list-ui .gt-toolbar{justify-content:space-between!important}
.branch-list-ui .gt-show{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    font-size:12px!important;
    color:var(--theme-text,#111827)!important
}
.branch-list-ui .gt-size,.branch-list-ui .users-toolbar .select,.branch-list-ui .security-toolbar .input,.branch-list-ui .enquiry-filter-bar .input,.branch-list-ui .toolbar .select,.branch-list-ui .toolbar .input{
    height:35px!important;
    min-height:35px!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important;
    background:var(--theme-card,#fff)!important
}
.branch-list-ui .gt-search{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    font-size:12px!important;
    color:var(--theme-text,#111827)!important
}
.branch-list-ui .gt-search input{
    height:35px!important;
    min-width:220px!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important
}
.branch-list-ui .list-meta,.branch-list-ui .pager,.branch-list-ui .gt-footer,.branch-list-ui .erp-table-pagination{
    min-height:35px!important;
    height:auto!important;
    margin:8px 0 0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:11px!important
}
.branch-list-ui .pager-page,.branch-list-ui .security-page-btn,.branch-list-ui .gt-page{
    width:30px!important;
    height:30px!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important
}
.branch-list-ui .pager-page.active,.branch-list-ui .security-page-btn.active,.branch-list-ui .gt-page.active{
    background:var(--theme-primary,#6366f1)!important;
    color:#fff!important;
    border-color:var(--theme-primary,#6366f1)!important
}
.branch-list-ui .pager-actions,.branch-list-ui .gt-pager{display:flex!important;align-items:center!important;gap:5px!important}
.branch-list-ui .row-actions{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.branch-list-ui .menu-node{
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:10px!important;
    background:var(--theme-card,#fff)!important;
    overflow:hidden!important
}
.branch-list-ui .menu-row{min-height:44px!important;background:var(--theme-card,#fff)!important}
.branch-list-ui .menu-row:hover{background:var(--theme-table-row-hover-bg,#f8fafc)!important}
@media(max-width:700px){
    .branch-list-ui .gt-toolbar,.branch-list-ui .users-toolbar,.branch-list-ui .security-toolbar,.branch-list-ui .enquiry-filter-bar{
        align-items:stretch!important;
        flex-wrap:wrap!important
    }
    .branch-list-ui .gt-search{
        width:100%!important
    }
    .branch-list-ui .gt-search input{
        min-width:0!important;
        width:100%!important
    }
    .branch-list-ui .users-toolbar .input{
        max-width:none!important;
        flex:1 1 100%!important
    }
}


.erp-table-toolbar,.erp-table-toolbar.gt-toolbar,.erp-table-toolbar.global-list-toolbar,.erp-table-toolbar.academic-table-tools,.erp-table-toolbar.fee-toolbar,.erp-table-toolbar.lp-top,.erp-table-toolbar.enquiry-filter-bar{
    min-height:40px!important;
    height:auto!important;
    margin:0 0 10px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important
}
.erp-table-toolbar .gt-show,.erp-table-toolbar .gt-search,.erp-table-toolbar .gt-existing-show{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    font-size:12px!important;
    color:var(--theme-text,#111827)!important
}
.erp-table-toolbar .gt-size,.erp-table-toolbar .gt-existing-show select,.erp-table-toolbar select{
    height:35px!important;
    min-height:35px!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important
}
.erp-table-toolbar .gt-search input,.erp-table-toolbar input[type="search"],.erp-table-toolbar .global-search-wrap input{
    height:35px!important;
    min-width:220px!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important;
    padding:0 10px!important
}
.erp-table-pagination,.erp-table-pagination.gt-footer,.erp-table-pagination.lp-bottom,.erp-table-pagination.global-list-pager,.erp-table-pagination.enquiry-pager,.erp-table-pagination.fee-bottom,.erp-table-pagination.academic-pager{
    min-height:35px!important;
    height:auto!important;
    margin:8px 0 0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:11px!important;
    color:var(--theme-text,#111827)!important
}
.erp-table-pagination .gt-pagination,.erp-table-pagination .gt-pager,.erp-table-pagination .lp-pager,.erp-table-pagination .pager-buttons,.erp-table-pagination>div{
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    margin-left:auto!important
}
.erp-table-pagination .gt-page,.erp-table-pagination .lp-page,.erp-table-pagination .pagination-link,.erp-table-pagination .page-btn{
    min-width:30px!important;
    width:30px!important;
    height:30px!important;
    padding:0!important;
    border:1px solid var(--theme-border,#d9dfe8)!important;
    border-radius:7px!important;
    background:var(--theme-card,#fff)!important;
    color:var(--theme-text,#111827)!important;
    display:inline-grid!important;
    place-items:center!important;
    text-decoration:none!important
}
.erp-table-pagination .gt-page.active,.erp-table-pagination .lp-page.active,.erp-table-pagination .pagination-link.active,.erp-table-pagination .page-btn.active{
    background:var(--theme-primary,#6366f1)!important;
    color:#fff!important;
    border-color:var(--theme-primary,#6366f1)!important
}
.erp-table-pagination .gt-page:disabled,.erp-table-pagination .lp-page:disabled,.erp-table-pagination .pagination-link:disabled{opacity:.35!important}
.erp-global-table{width:100%!important}
@media(max-width:700px){
    .erp-table-toolbar,.erp-table-toolbar.global-list-toolbar,.erp-table-toolbar.academic-table-tools,.erp-table-toolbar.fee-toolbar,.erp-table-toolbar.lp-top{
        align-items:stretch!important;
        flex-wrap:wrap!important
    }
    .erp-table-toolbar .gt-search,.erp-table-toolbar .global-search-wrap{
        width:100%!important
    }
    .erp-table-toolbar .gt-search input,.erp-table-toolbar input[type="search"],.erp-table-toolbar .global-search-wrap input{
        min-width:0!important;
        width:100%!important
    }
    .erp-table-pagination{
        flex-wrap:wrap!important
    }
    .erp-table-pagination>span:first-child{
        width:100%!important
    }
    .erp-table-pagination .gt-pagination,.erp-table-pagination .gt-pager,.erp-table-pagination .lp-pager,.erp-table-pagination .pager-buttons,.erp-table-pagination>div{
        margin-left:0!important
    }
}

.pw { position:relative!important; display:block!important; width:100%; min-width:0; }
.pw>.input { width:100%!important; padding-right:48px!important; }
.pw>[data-password-eye] {
    position:absolute!important;
    top:1px!important;
    right:1px!important;
    bottom:1px!important;
    width:42px!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-left:1px solid var(--theme-border,#d1d5db)!important;
    border-radius:0 8px 8px 0!important;
    background:transparent!important;
    color:var(--theme-muted,var(--theme-text,#374151))!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.pw>[data-password-eye] svg {
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}
.pw>[data-password-eye]:hover { background:var(--theme-hover,rgba(100,116,139,.10))!important; color:var(--theme-primary,#4f46e5)!important; }

.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.page-head .page-actions.erp-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
.page-head .page-actions.erp-top-actions:empty{display:none}
.erp-top-actions [hidden]{display:none!important}

.page-head .page-actions,
.page-head .page-actions.erp-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 0 auto;padding:0}
.page-head .page-actions>a,
.page-head .page-actions>button,
.page-head .page-actions>.btn,
.page-head .page-actions>.btn-icon,
.page-head .page-actions>.btn-action-black,
.page-head .page-actions>.page-action-btn,
.page-head>.page-action-btn,
.erp-pin-btn{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  padding:0!important;margin:0!important;border-radius:10px!important;
  font-size:15px!important;line-height:1;gap:0!important;flex:0 0 40px;box-sizing:border-box;white-space:nowrap;overflow:hidden
}
.page-head .page-actions>*[hidden]{display:none!important}
.page-head .page-actions i,.erp-pin-btn i{margin:0!important;font-size:16px}
.page-head .page-actions svg{width:18px;height:18px}

.nav-subgroup>button {
    display:flex!important;
    align-items:center!important;
    gap:10px;
    width:100%;
    background:transparent;
    border:0;
    color:inherit;
    font:inherit;
    cursor:pointer;
    text-align:left!important;
}

.nav-subgroup>button:hover {
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
}

.nav-subgroup>button .chev {
    margin-left:auto;
    transition:transform .15s ease;
}

.nav-subgroup.open>button .chev {
    transform:rotate(90deg);
}

.nav-subgroup:not(.open)>.nav-subgroup-items {
    display:none;
}

.nav-subgroup-items {
    padding-left:14px;
}

.nav-subgroup>button:focus-visible {
    outline:2px solid #ffffff;
    outline-offset:2px;
}

@media (min-width:901px) {
    .app.sidebar-collapsed .sidebar .nav-sub {
        display:none!important;
    }
}

.sidebar .nav-icon,
.sidebar .nav a .nav-icon,
.sidebar .nav-group > button .nav-icon,
.sidebar .nav-subgroup > button .nav-icon,
.sidebar .nav a:hover .nav-icon,
.sidebar .nav a.active .nav-icon,
.sidebar .nav-group > button:hover .nav-icon,
.sidebar .nav-group.open > button .nav-icon,
.sidebar .nav-subgroup > button:hover .nav-icon,
.sidebar .nav-subgroup.open > button .nav-icon {
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:0!important;
    color:var(--icon,currentColor)!important;
}
.sidebar .nav-icon::before,
.sidebar .nav-icon::after,
.sidebar .nav-icon i::before,
.sidebar .nav-icon i::after {
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
}
.sidebar .nav-icon i {
    color:var(--icon,currentColor)!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
}
.sidebar .nav-group > .nav-sub {
    display:block!important;
    max-height:0;
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
    visibility:hidden;
    opacity:0;
    transition:max-height .22s ease, opacity .16s ease, visibility .22s;
}
.sidebar .nav-group:not(.open) > .nav-sub {
    display:block!important;
    max-height:0;
    visibility:hidden;
    opacity:0;
}
.sidebar .nav-group.open > .nav-sub {
    max-height:2400px;
    margin-top:2px!important;
    margin-bottom:6px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
    visibility:visible;
    opacity:1;
}
.sidebar .nav-subgroup > .nav-subgroup-items {
    display:block!important;
    max-height:0;
    overflow:hidden!important;
    visibility:hidden;
    opacity:0;
    transition:max-height .2s ease, opacity .16s ease, visibility .2s;
}
.sidebar .nav-subgroup.open > .nav-subgroup-items {
    max-height:1800px;
    visibility:visible;
    opacity:1;
}
.sidebar .nav-subgroup-items {
    padding-left:16px;
}
.sidebar .nav-subgroup-items > a {
    padding-left:12px!important;
    font-size:11px;
}
.sidebar .nav a.active {
    position:relative;
    font-weight:700;
}
.sidebar .nav a.active::before {
    content:"";
    position:absolute;
    left:0;
    top:7px;
    bottom:7px;
    width:3px;
    border-radius:2px;
    background:currentColor;
    opacity:.7;
}
.sidebar .nav-group > button[aria-expanded="true"],
.sidebar .nav-subgroup > button[aria-expanded="true"] {
    font-weight:600;
}
.sidebar .nav-group > button:focus-visible,
.sidebar .nav-subgroup > button:focus-visible,
.sidebar .nav a:focus-visible {
    outline:2px solid rgba(255,255,255,.8);
    outline-offset:1px;
}
@media (min-width:901px) {
    .app.sidebar-collapsed .sidebar .nav-sub {
        display:none!important;
        max-height:0!important;
    }
}
@media (prefers-reduced-motion:reduce) {
    .sidebar .nav-group > .nav-sub,
    .sidebar .nav-subgroup > .nav-subgroup-items {
        transition:none!important;
    }
}

.sidebar .nav-icon,
.sidebar .nav-icon:hover,
.sidebar .nav a:hover .nav-icon,
.sidebar .nav a.active .nav-icon,
.sidebar .nav-group > button:hover .nav-icon,
.sidebar .nav-group > button:focus-visible .nav-icon,
.sidebar .nav-group.open > button .nav-icon,
.sidebar .nav-subgroup > button:hover .nav-icon,
.sidebar .nav-subgroup.open > button .nav-icon {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    filter: none !important;
    color: var(--icon, currentColor) !important;
}
.sidebar .nav-icon::before,
.sidebar .nav-icon::after,
.sidebar .nav-icon i::before,
.sidebar .nav-icon i::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
.sidebar .nav-icon i {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    color: var(--icon, currentColor) !important;
}
.sidebar .nav-group > button .chev,
.sidebar .nav-subgroup > button .chev {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-left: auto;
    font-size: 17px !important;
    line-height: 1;
    color: currentColor;
    opacity: .9;
    transform: rotate(0deg);
    transition: transform .2s ease, opacity .2s ease;
}
.sidebar .nav-group > button .chev i,
.sidebar .nav-subgroup > button .chev i {
    font-size: 17px !important;
    line-height: 1;
}
.sidebar .nav-group.open > button .chev,
.sidebar .nav-subgroup.open > button .chev {
    transform: rotate(180deg);
    opacity: 1;
}
.sidebar .nav-subgroup > button {
    padding-left: 12px !important;
    min-height: 39px !important;
}
.sidebar .nav-subgroup-items {
    padding-left: 18px !important;
}
.sidebar .nav-subgroup-items > a {
    padding-left: 12px !important;
    font-size: 12px !important;
}
.sidebar .nav-group > button > span:not(.nav-icon):not(.chev),
.sidebar .nav-subgroup > button > span:not(.nav-icon):not(.chev),
.sidebar .nav a > span:not(.nav-icon) {
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}
@media (prefers-reduced-motion: reduce) {
    .sidebar .nav-group > button .chev,
    .sidebar .nav-subgroup > button .chev {
        transition: none !important;
    }
}
.sidebar .nav a,
.sidebar .nav-group > button,
.sidebar .nav-subgroup > button,
.sidebar .nav a:hover,
.sidebar .nav a:focus-visible,
.sidebar .nav a.active,
.sidebar .nav-group > button:hover,
.sidebar .nav-group > button:focus-visible,
.sidebar .nav-group.open > button,
.sidebar .nav-subgroup > button:hover,
.sidebar .nav-subgroup > button:focus-visible,
.sidebar .nav-subgroup.open > button,
.sidebar .nav-sub,
.sidebar .nav-subgroup-items {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
.sidebar .nav a:hover,
.sidebar .nav a:focus-visible,
.sidebar .nav a.active,
.sidebar .nav-group > button:hover,
.sidebar .nav-group > button:focus-visible,
.sidebar .nav-group.open > button,
.sidebar .nav-subgroup > button:hover,
.sidebar .nav-subgroup > button:focus-visible,
.sidebar .nav-subgroup.open > button {
    transform: none !important;
}
.sidebar .nav a.active::before {
    background: currentColor !important;
}

.sidebar .nav .nav-icon,
.sidebar .nav .nav-icon::before,
.sidebar .nav .nav-icon::after,
.sidebar .nav .nav-icon i,
.sidebar .nav .nav-icon svg,
.sidebar .nav a:hover .nav-icon,
.sidebar .nav a.active .nav-icon,
.sidebar .nav-group > button:hover .nav-icon,
.sidebar .nav-group > button:focus-visible .nav-icon,
.sidebar .nav-group.open > button .nav-icon,
.sidebar .nav-subgroup > button:hover .nav-icon,
.sidebar .nav-subgroup.open > button .nav-icon {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.field-error.is-warning {
    background: #fff;
    color: #000;
    border: 1px solid #000;
}
.field-error.is-warning::before {
    background: #fff;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.has-warning {
    outline: 1px dashed #000;
    outline-offset: -1px;
}

.doc-host{display:block}
.doc-apaar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:13px}
.doc-apaar>span{font-weight:700}
.doc-toggle{display:inline-flex;border:1px solid #d4d4d8;border-radius:10px;overflow:hidden}
.doc-toggle-btn{border:0;background:#fff;color:#18181b;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}
.doc-toggle-btn.is-active{background:#000;color:#fff}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.doc-card{border:1px solid #facc15;border-radius:12px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:6px;min-width:0}
.doc-card.is-off{opacity:.55}
.doc-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.doc-card-head strong{font-size:14px}
.doc-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:#f4f4f5;color:#52525b}
.doc-badge.is-required{background:#000;color:#fff}
.doc-badge.is-muted{background:#fef3c7;color:#92400e}
.doc-badge.is-ok{background:#dcfce7;color:#166534}
.doc-card-head strong{line-height:1.2;overflow-wrap:anywhere}
.doc-card .input{min-height:34px;height:34px}
.doc-apaar{margin-bottom:10px;padding:8px 12px;border:1px solid #e4e4e7;border-radius:10px;background:#fafafa}
.doc-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600}
.doc-file{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;min-height:18px}
.doc-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-file-name.is-empty,.doc-file-size{color:#71717a}
.doc-actions{display:flex;gap:6px;flex-wrap:wrap}
.doc-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #facc15;border-radius:9px;background:#fff;color:#18181b;cursor:pointer;text-decoration:none}
.doc-btn:hover{background:#000;color:#fff;border-color:#000}
.doc-btn.is-danger:hover{background:#b91c1c;border-color:#b91c1c}
.doc-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.doc-empty{padding:18px;text-align:center;color:#71717a;font-size:13px}
.doc-preview-media{width:100%;height:340px;border:0;border-radius:10px;object-fit:contain;background:#f4f4f5}
.doc-notice{margin-bottom:12px;padding:9px 12px;border-radius:10px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:600}

.academic-system-mode{min-width:140px}

.erp-toggle-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.erp-toggle-actions[hidden],.erp-toggle-actions button[hidden]{display:none!important}
.erp-toggle-actions.is-inline{justify-content:flex-end;margin:0 0 10px}
form.op-form[hidden],form[data-form-toggle][hidden],[data-toggle-panel][hidden],.erp-form-grid[hidden]{display:none!important}
.erp-table-tools{display:flex;justify-content:flex-end;margin:0 0 10px}
.erp-table-tools input{width:260px;max-width:100%;min-height:38px;border:1px solid #dbe2ea;border-radius:10px;padding:8px 12px;font-size:14px;box-sizing:border-box}
.erp-table-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;font-size:13px}
.erp-table-pager button:disabled{opacity:.4;cursor:not-allowed}
tr[hidden]{display:none!important}
.erp-roll-form{display:flex;flex-direction:column;gap:12px;text-align:left}
.erp-roll-field{display:flex;flex-direction:column;gap:6px}
.erp-roll-field label{font-size:12px;font-weight:600;color:#111}
.erp-roll-field select{width:100%;height:40px;border:1px solid #d1d5db;border-radius:8px;padding:0 10px;font-size:13px;background:#fff;color:#111}

.ops-error,.ops-success,.op-alert,.bp-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;margin:0 0 16px;font-size:14px;font-weight:500;border:1px solid transparent}
.ops-error,.op-alert.error,.bp-alert.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.ops-success,.op-alert.success,.bp-alert.success{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.import-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;align-items:end;margin-bottom:18px}
.import-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;min-width:0}
.import-form input[type=file]{height:auto;padding:7px 10px;background:#fff;border:1px solid #d1d5db}
.import-form .import-check{flex-direction:row;align-items:center;gap:8px;min-height:var(--erp-control-h);font-weight:600}
.import-form .import-check input{width:auto;min-height:0;height:auto}
.import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;grid-column:1/-1}
.import-actions .import-templates{display:flex;gap:8px;margin-left:auto}
.import-confirm{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.import-preview-head{margin:6px 0 10px}
.import-preview-head h3{margin:0 0 4px;font-size:16px}
.import-preview-head p{margin:0;color:#64748b;font-size:13px}
@media(max-width:1100px){.import-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.import-form{grid-template-columns:1fr}.import-actions .import-templates{margin-left:0}}
.erp-roll-form{gap:14px}
.erp-roll-field label{font-size:13px;font-weight:700}
.erp-roll-field select{height:var(--erp-control-h);border-radius:var(--erp-control-radius)}
.erp-roll-field select:focus{outline:none;border-color:var(--theme-primary,#6366f1);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.erp-roll-note{margin:0;padding:9px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb;color:#475569;font-size:12px;line-height:1.45}
.swal2-container .erp-alert .swal2-validation-message{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#fef2f2;color:#991b1b;font-size:13px;font-weight:600}

.aic{display:flex;flex-direction:column;min-width:0;text-align:left}
.aic-messages{display:flex;flex-direction:column;gap:12px;height:380px;padding:14px;overflow-y:auto;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;background:var(--page-bg,#f8fafc);scroll-behavior:smooth}
.aic-row{display:flex;align-items:flex-end;gap:8px;max-width:88%}
.aic-row.aic-user{align-self:flex-end;flex-direction:row-reverse}
.aic-row.aic-bot{align-self:flex-start}
.aic-avatar{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;font-size:13px}
.aic-bubble{padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;word-break:break-word;overflow-wrap:anywhere}
.aic-bot .aic-bubble{background:#fff;color:#111;border:1px solid var(--border-color,#e5e7eb);border-bottom-left-radius:4px}
.aic-user .aic-bubble{background:#111;color:#fff;border-bottom-right-radius:4px}
.aic-bot.aic-error .aic-bubble{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.aic-typing{display:inline-flex;align-items:center;gap:4px;height:18px}
.aic-typing i{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:aicDot 1.1s ease-in-out infinite}
.aic-typing i:nth-child(2){animation-delay:.15s}
.aic-typing i:nth-child(3){animation-delay:.3s}
@keyframes aicDot{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}
.aic-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.aic-suggestions[hidden]{display:none}
.aic-chip{height:32px;padding:0 13px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#111;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.aic-chip:hover,.aic-chip:focus-visible{background:#111;border-color:#111;color:#fff;outline:0}
.aic-form{position:relative;display:flex;align-items:flex-end;margin-top:12px}
.aic-input{flex:1;width:100%;min-height:44px!important;height:auto!important;max-height:110px;padding:11px 54px 11px 14px;resize:none;line-height:1.4;box-sizing:border-box}
.aic-send{position:absolute;right:6px;bottom:6px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#111;color:#fff;cursor:pointer;transition:opacity .15s}
.aic-send:hover{opacity:.85}
.aic-send:disabled{opacity:.45;cursor:not-allowed}
.aic-page{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:18px;padding:18px}
.aic-page-main{min-width:0}
.aic-page .aic-messages{height:min(520px,calc(100vh - 360px));min-height:320px}
.aic-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border-color,#e5e7eb)}
.aic-head strong{display:block;font-size:16px}
.aic-head span:not(.aic-head-icon):not(.aic-online){font-size:12px;color:#6b7280}
.aic-head-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#7c3aed,#ec4899 48%,#06b6d4);color:#fff;font-size:18px}
.aic-online{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#ecfdf5;color:#15803d;font-size:11px;font-weight:600}
.aic-online i{width:7px;height:7px;border-radius:50%;background:#22c55e}
.aic-side{padding:16px;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;background:var(--card-bg,#fff);align-self:start}
.aic-side h3{margin:0 0 12px;font-size:14px}
.aic-side-item{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--border-color,#e5e7eb)}
.aic-side-item:first-of-type{border-top:0;padding-top:0}
.aic-side-item>i{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f3f4f6;color:#111;font-size:14px}
.aic-side-item b{display:block;font-size:13px}
.aic-side-item span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#6b7280}
.swal2-container .erp-alert .aic-popup-body{text-align:left;margin-top:6px!important}
.swal2-container .erp-alert .aic-popup-body .aic-messages{height:320px}
.swal2-container .erp-alert .aic-popup-body .aic-row{max-width:92%}
@media(max-width:900px){.aic-page{grid-template-columns:1fr}.aic-side{order:2}.aic-page .aic-messages{height:min(460px,calc(100vh - 320px))}}
@media(max-width:600px){.aic-page{padding:12px}.aic-messages{padding:10px}}

.aic-bot-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:visible}
.aic-bot-btn::before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.35),rgba(34,211,238,0) 70%);opacity:0;transition:opacity .2s}
.aic-bot-btn:hover::before,.aic-bot-btn[aria-expanded="true"]::before{opacity:1}
.aic-robot{width:34px;height:34px;overflow:visible;animation:aicFloat 3s ease-in-out infinite;filter:drop-shadow(0 3px 5px rgba(79,70,229,.35))}
.aic-robot-eye{transform-box:fill-box;transform-origin:center;animation:aicBlink 4.2s infinite}
.aic-robot-bulb{animation:aicBulb 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.aic-bot-btn:hover .aic-robot{animation-duration:1.4s}
@keyframes aicFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-3deg)}}
@keyframes aicBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes aicBulb{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
.aic-drawer-backdrop{position:fixed;inset:0;z-index:1190;background:rgba(15,23,42,.28);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.aic-drawer-backdrop.is-open{opacity:1}
.aic-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1200;display:flex;flex-direction:column;width:min(440px,100vw);background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(238,242,255,.68));-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border-left:1px solid rgba(255,255,255,.65);box-shadow:-18px 0 50px rgba(30,27,75,.22);transform:translateX(104%);transition:transform .28s cubic-bezier(.22,.8,.3,1)}
.aic-drawer.is-open{transform:translateX(0)}
.aic-drawer-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(99,102,241,.14)}
.aic-drawer-head strong{display:block;font-size:16px;color:#111}
.aic-drawer-head small{display:block;margin-top:2px;font-size:12px;color:#6b7280}
.aic-drawer-bot{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.7);box-shadow:0 6px 18px rgba(99,102,241,.2)}
.aic-drawer-bot svg{width:32px;height:32px}
.aic-drawer-close{margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:rgba(255,255,255,.7);color:#111;cursor:pointer}
.aic-drawer-close:hover{background:#111;color:#fff}
.aic-drawer-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 16px 16px}
.aic-drawer-body .aic{flex:1;min-height:0}
.aic-drawer-body .aic-messages{flex:1;height:auto;background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.7)}
.aic-drawer .aic-bot .aic-bubble{background:rgba(255,255,255,.88)}
.aic-drawer .aic-chip{background:rgba(255,255,255,.8)}
body.aic-drawer-lock{overflow:hidden}
.aic-sources{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding-top:7px;border-top:1px dashed #d1d5db;font-size:11.5px;color:#6b7280}
.aic-sources i{margin-top:2px;color:#dc2626}
@media(max-width:600px){.aic-drawer{width:100vw}}
@media(prefers-reduced-motion:reduce){.aic-robot,.aic-robot-eye,.aic-robot-bulb{animation:none}.aic-drawer{transition:none}}

.header .header-icon.aic-bot-btn{width:46px!important;height:46px!important;min-width:46px!important;flex:0 0 46px}
.header .header-icon.aic-bot-btn svg.aic-robot{width:38px;height:38px;fill:none;stroke:none!important;color:inherit!important;overflow:visible}
.aic-bot-btn::after{content:"";position:absolute;inset:5px;border-radius:50%;border:2px solid rgba(99,102,241,.5);animation:aicPulse 2.4s ease-out infinite;pointer-events:none}
.aic-bot-btn:hover .aic-robot{animation:aicFloat 1.2s ease-in-out infinite,aicWiggle .9s ease-in-out infinite}
@keyframes aicPulse{0%{transform:scale(.75);opacity:.8}100%{transform:scale(1.4);opacity:0}}
@keyframes aicWiggle{0%,100%{rotate:0deg}30%{rotate:-6deg}70%{rotate:6deg}}
@media(prefers-reduced-motion:reduce){.aic-bot-btn::after,.aic-bot-btn:hover .aic-robot{animation:none}}

button[hidden],a.btn-icon[hidden],a.btn-action-black[hidden]{display:none!important}
