/* ===== assets/css/zs/zs-tokens.css ===== */
:root,[data-bs-theme="light"]{
--zn-font:"Poppins",sans-serif;
--zn-fs-xs:.75rem;--zn-fs:.8125rem;--zn-fs-lg:1rem;--zn-fs-xl:1.25rem;--zn-fs-hero:1.5rem;
--zn-fw:400;--zn-fw-m:500;--zn-fw-b:600;
--zn-head:#343a40;--zn-ink:#495057;--zn-mute:#6c7086;--zn-line:#eff2f7;--zn-field:#ced4da;
--zn-page:#f8f8fb;--zn-card:var(--bs-secondary-bg,#fff);--zn-soft:#f8f8fb;--zn-tint:rgba(85,110,230,.1);--zn-link:#3a53c5;
--zn-ok:#1a7346;--zn-ok-bg:rgba(52,195,143,.16);--zn-warn:#8f6210;--zn-warn-bg:rgba(241,180,76,.18);
--zn-bad:#b83232;--zn-bad-bg:rgba(244,106,106,.16);--zn-info:#3a53c5;--zn-info-bg:rgba(85,110,230,.12);
--zn-radius:6px;--zn-radius-pill:30px;--zn-shadow:0 .75rem 1.5rem rgba(18,38,63,.03);
--zn-ctl-h:38px;--zn-ibtn:36px;--zn-gap:24px;--zn-inset:20px;
--zn-s1:4px;--zn-s2:8px;--zn-s3:16px;--zn-s4:24px;--zn-row:12px;--zn-row-dense:8px;
--zn-pal-1:#556ee6;--zn-pal-2:#eb6834;--zn-pal-3:#1baf7a;--zn-pal-4:#eda100;--zn-pal-5:#e87ba4;--zn-pal-6:#008300;--zn-pal-7:#6250d6;--zn-pal-8:#e34948;
}
[data-bs-theme="dark"]{
--zn-head:#f6f6f6;--zn-ink:#c3cbe4;--zn-mute:#9aa3bd;--zn-line:#32394e;--zn-field:#3b4359;
--zn-page:#222736;--zn-card:var(--bs-secondary-bg,#2a3042);--zn-soft:rgba(255,255,255,.04);--zn-tint:rgba(110,135,240,.16);--zn-link:#a9b8ff;
--zn-ok:#6fd3a5;--zn-ok-bg:rgba(52,195,143,.16);--zn-warn:#f1c27a;--zn-warn-bg:rgba(241,180,76,.18);
--zn-bad:#ff8d86;--zn-bad-bg:rgba(244,106,106,.16);--zn-info:#a9b8ff;--zn-info-bg:rgba(85,110,230,.2);
--zn-shadow:0 .75rem 1.5rem rgba(0,0,0,.18);
--zn-pal-1:#6a80ea;--zn-pal-2:#d95926;--zn-pal-3:#199e70;--zn-pal-4:#c98500;--zn-pal-5:#d55181;--zn-pal-6:#1a9a1a;--zn-pal-7:#9085e9;--zn-pal-8:#e66767;
}

/* ===== assets/css/zs/zs-shell.css ===== */
:where(html.zs-shell) .main-content{overflow:clip}
:where(html.zs-shell) .page-title-box .breadcrumb{font-size:var(--zn-fs)}
:where(html.zs-shell) .page-title-box .breadcrumb-item>a{color:var(--zn-head);text-decoration:none}
:where(html.zs-shell) .page-title-box .breadcrumb-item>a:hover{color:var(--zn-link)}
:where(html.zs-shell) .page-title-box .breadcrumb-item+.breadcrumb-item::before,:where(html.zs-shell) .page-title-box .breadcrumb-item.active{color:var(--zn-mute)}
:where(html.zs-shell) .page-title-box h4{margin-inline-end:var(--zn-s3)}
:where(html.zs-shell) .page-title-box .page-title-right{flex-shrink:0}
:where(html.zs-shell) .page-title-box .breadcrumb-item.active{max-width:32ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:767.98px){:where(html.zs-shell) .page-title-box .breadcrumb-item.active{display:none}}
@media (max-width:575.98px){:where(html.zs-shell) .page-title-box .page-title-right{display:none}:where(html.zs-shell) .page-title-box h4{margin-bottom:0}}
:where(html.zs-shell) .footer{background-color:var(--bs-footer-bg);color:var(--zn-ink);font-size:var(--zn-fs)}
:where(html.zs-shell) .footer a{color:var(--zn-link)}
:where(html.zs-shell) #btnScrollTop{bottom:calc(var(--zs-fab-bottom,84px) + env(safe-area-inset-bottom,0px)) !important}
:where(html.zs-shell) body:not(:has(.vertical-menu)) .footer{left:0}
@media (max-width:992px){:where(html.zs-shell) .footer,:where(html.zs-shell) .vertical-collpsed .footer{left:0}}
:where(html.zs-shell) body:has(#btnScrollTop[style*="display: flex"]) .page-content{padding-bottom:120px}
:where(html.zs-shell) .right-bar .rightbar-title h5{font-size:var(--zn-fs-lg)}
:where(html.zs-shell) .right-bar .btn-group .btn{font-size:var(--zn-fs)}
:where(html.zs-shell) .right-bar [data-znmode]{--bs-btn-color:var(--zn-ink);--bs-btn-border-color:var(--zn-field);--bs-btn-hover-color:var(--zn-head);--bs-btn-hover-bg:var(--zn-line);--bs-btn-hover-border-color:var(--zn-field);--bs-btn-active-color:var(--zn-link);--bs-btn-active-bg:var(--zn-tint);--bs-btn-active-border-color:rgba(var(--zn-brand-rgb),.5)}
:where(html.zs-shell[data-bs-theme="dark"]) .right-bar .right-bar-toggle,:where(html.zs-shell[data-bs-theme="dark"]) .right-bar .right-bar-toggle:hover{background-color:var(--zn-line);color:var(--zn-head)}
:where(html.zs-shell) .right-bar .small{font-size:var(--zn-fs-xs);color:var(--zn-mute)!important}
:where(html.zs-shell) .zs-sidebar .menu-title{font-size:var(--zn-fs-xs);color:var(--zn-mute)}
:where(html.zs-shell) .zs-sidebar #sidebar-menu.menu-searching ul.sub-menu{display:block!important;height:auto!important}
:where(html.zs-shell) .zs-sidebar .zn-menu-search{position:sticky;top:0;z-index:10;padding:var(--zn-s2) var(--zn-inset);background:var(--zn-card)}
:where(html.zs-shell) .zs-sidebar .zn-menu-search::after{content:"";position:absolute;top:100%;left:0;right:0;height:16px;background:linear-gradient(var(--zn-card),transparent);opacity:0;pointer-events:none}
@supports (animation-timeline:scroll()){:where(html.zs-shell) .zs-sidebar .zn-menu-search::after{animation:zs-fade linear both;animation-timeline:scroll(nearest block);animation-range:0 24px}}
@keyframes zs-fade{to{opacity:1}}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar .zn-menu-search::after{display:none}
:where(html.zs-shell) .zs-sidebar .zn-ms-row{display:flex;align-items:center;gap:var(--zn-s2)}
:where(html.zs-shell) .zs-sidebar .zn-ms-wrap{position:relative;flex:1 1 auto;min-width:0}
:where(html.zs-shell) .zs-sidebar .zn-ms-wrap input{width:100%;height:var(--zn-ctl-h);padding:0 32px 0 40px;border:0;border-radius:var(--zn-radius-pill);outline:0;box-shadow:none;background-color:var(--bs-topbar-search-bg);color:var(--zn-ink);font-size:var(--zn-fs)}
:where(html.zs-shell) .zs-sidebar .zn-ms-wrap input::placeholder{color:var(--zn-mute);color:color-mix(in srgb,var(--zn-mute) 85%,var(--zn-ink))}
:where(html.zs-shell) .zs-sidebar .zn-ms-wrap input:focus{box-shadow:inset 0 0 0 1px rgba(var(--zn-brand-rgb),.45)}
:where(html.zs-shell) .zs-sidebar .zn-ms-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:16px;line-height:1;color:var(--zn-mute);pointer-events:none}
:where(html.zs-shell) .zs-sidebar .zn-ms-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;padding:0 4px;border:0;background:transparent;color:var(--zn-mute);font-size:20px;line-height:1;cursor:pointer}
:where(html.zs-shell) .zs-sidebar .zn-ms-wrap input:not(:placeholder-shown)~.zn-ms-clear{display:inline-block}
:where(html.zs-shell) .zs-sidebar .zn-ms-clear:hover{color:var(--zn-bad)}
:where(html.zs-shell) .zs-sidebar .zn-ms-reload{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--zn-ibtn);height:var(--zn-ibtn);padding:0;border:0;border-radius:var(--zn-radius);background-color:var(--zn-line);color:var(--zn-ink);font-size:16px;line-height:1;cursor:pointer;transition:color .15s ease,background-color .15s ease}
:where(html.zs-shell) .zs-sidebar :is(.zn-ms-reload:hover,.zn-ms-flat[aria-pressed="true"]){color:var(--zn-link);background-color:var(--zn-tint)}
:where(html.zs-shell) .zs-sidebar .zn-ms-reload:focus-visible{outline:2px solid rgba(var(--zn-brand-rgb),.45);outline-offset:1px}
:where(html.zs-shell) .zs-sidebar .zn-ms-reload[disabled]{opacity:.65;cursor:default}
:where(html.zs-shell) .zs-sidebar .zn-ms-reload.spinning i{display:inline-block;animation:zs-spin .8s linear infinite}
@keyframes zs-spin{to{transform:rotate(360deg)}}
:where(html.zs-shell) .zs-sidebar .zn-menu-noresult{display:none;padding:12px 24px;font-size:var(--zn-fs);color:var(--zn-mute)}
:where(html.zs-shell) .zs-sidebar #zn-flat-menu{display:none}
:where(html.zs-shell) .zs-sidebar #sidebar-menu.zn-flat-on #zn-flat-menu{display:block}
:where(html.zs-shell) .zs-sidebar #sidebar-menu.zn-flat-on #side-menu{display:none}
:where(html.zs-shell) .zs-sidebar #zn-flat-menu .zn-flat-grp{display:none;margin:2px 0 0;margin-inline-start:calc(1.75rem + .25em);font-size:var(--zn-fs-xs);line-height:1.3;color:var(--zn-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(html.zs-shell) .zs-sidebar #zn-flat-menu li:is(.zn-dup,.zn-path-hit) .zn-flat-grp{display:block}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar #sidebar-menu.zn-flat-on #side-menu{display:block}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar #sidebar-menu.zn-flat-on #zn-flat-menu{display:none}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar .zn-menu-search{padding:var(--zn-s2) 17px}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar :is(.zn-ms-wrap,.zn-ms-flat){display:none}
:where(html.zs-shell) .zs-sidebar #sidebar-menu.menu-searching #zn-fav-menu{display:none}
:where(html.zs-shell) body:not(.vertical-collpsed) .zs-sidebar #zn-fav-menu .zn-fav-rail{display:none}
:where(html.zs-shell) .zs-sidebar li.zn-has-star{position:relative}
:where(html.zs-shell) body:not(.vertical-collpsed) .zs-sidebar #sidebar-menu li.zn-has-star>a{padding-inline-end:2.25rem}
:where(html.zs-shell) .zs-sidebar #sidebar-menu ul li.zn-has-star:hover>a,:where(html.zs-shell) .zs-sidebar #sidebar-menu ul li.zn-has-star:hover>a i{color:var(--zn-head)}
:where(html.zs-shell) .zs-sidebar .zn-fav-star{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--zn-radius);background:transparent;color:var(--zn-mute);font-size:16px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,color .15s ease}
:where(html.zs-shell) .zs-sidebar :is(li.zn-has-star:hover>.zn-fav-star,li.zn-has-star>a:focus-visible+.zn-fav-star,.zn-fav-star:focus-visible){opacity:.6;pointer-events:auto}
:where(html.zs-shell) .zs-sidebar .zn-fav-star:focus-visible{outline:2px solid rgba(var(--zn-brand-rgb),.45);outline-offset:1px}
:where(html.zs-shell) .zs-sidebar .zn-fav-star[aria-pressed="true"]{color:var(--bs-warning);opacity:.85;pointer-events:auto}
:where(html.zs-shell) .zs-sidebar li.zn-has-star:hover>.zn-fav-star:hover{opacity:1;color:var(--bs-warning)}
:where(html.zs-shell) .zs-sidebar #zn-fav-menu .zn-fav-star[aria-pressed="true"]{opacity:0;pointer-events:none}
:where(html.zs-shell) .zs-sidebar #zn-fav-menu :is(li.zn-has-star:hover>.zn-fav-star,li.zn-has-star>a:focus-visible+.zn-fav-star,.zn-fav-star:focus-visible){opacity:.85;pointer-events:auto}
:where(html.zs-shell) .zs-sidebar #sidebar-menu.zn-fav-busy .zn-fav-star{cursor:progress}
@media (hover:none),(any-pointer:coarse){
:where(html.zs-shell) .zs-sidebar .zn-fav-star{opacity:.45;pointer-events:auto}
:where(html.zs-shell) .zs-sidebar .zn-fav-star[aria-pressed="true"],:where(html.zs-shell) .zs-sidebar #zn-fav-menu .zn-fav-star[aria-pressed="true"]{opacity:1;pointer-events:auto}
}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar .zn-fav-star{display:none}
:where(html.zs-shell) body.vertical-collpsed .zs-sidebar #zn-fav-menu{margin-bottom:var(--zn-s2);padding-bottom:var(--zn-s2);border-bottom:1px solid var(--zn-line)}
:where(html.zs-shell[data-bs-theme="dark"]) .vertical-menu.zs-sidebar{background:var(--zn-card)}
:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li a,:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li ul.sub-menu li a{color:var(--zn-ink)}
:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li a i{color:var(--zn-mute)}
:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li a:hover,:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li a:hover i,:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar #sidebar-menu ul li ul.sub-menu li a:hover{color:var(--zn-head)}
:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar :is(.mm-active>a,.mm-active>a i,.mm-active .active,.mm-active .active i,.mm-active>i){color:var(--zn-link)!important}
:where(html.zs-shell[data-bs-theme="dark"]) body.vertical-collpsed .zs-sidebar #sidebar-menu>ul>li:hover>a{background-color:var(--zn-line);color:var(--zn-head)}
:where(html.zs-shell[data-bs-theme="dark"]) body.vertical-collpsed .zs-sidebar #sidebar-menu>ul>li:hover>a i{color:var(--zn-head)}
:where(html.zs-shell[data-bs-theme="dark"]) body.vertical-collpsed .zs-sidebar #sidebar-menu>ul ul{background-color:var(--zn-card)}
:where(html.zs-shell[data-bs-theme="dark"]) body.vertical-collpsed .zs-sidebar #sidebar-menu>ul>li:hover ul{box-shadow:0 .5rem 1.25rem rgba(0,0,0,.45),0 0 0 1px var(--zn-field)}
:where(html.zs-shell[data-bs-theme="dark"]) body.vertical-collpsed .zs-sidebar #sidebar-menu>ul>li:hover>ul a{color:var(--zn-ink)}
:where(html.zs-shell[data-bs-theme="dark"]) .zs-sidebar .zn-ms-wrap input{background-color:var(--zn-line)}
:where(html.zs-shell) .card{--bs-card-border-radius:var(--zn-radius);--bs-card-inner-border-radius:var(--zn-radius);box-shadow:var(--zn-shadow)}
:where(html.zs-shell) input{border:1px solid var(--zn-field);border-radius:var(--zn-radius)}
:where(html.zs-shell) :is(.form-control,.form-select,.input-group-text){border-color:var(--zn-field);border-radius:var(--zn-radius)}
:where(html.zs-shell) :is(.form-control,.form-select):focus{border-color:rgba(var(--zn-brand-rgb),.5);box-shadow:none}
:where(html.zs-shell) :is(.form-control,.form-select).zn-req-field{border-left:var(--bs-border-width) solid var(--zn-field)!important}
:where(html.zs-shell) :is(.form-control,.form-select).zn-req-field:focus{border-left-color:rgba(var(--zn-brand-rgb),.5)!important}
:where(html.zs-shell) :is(.form-control,.form-select).zn-req-field:is(.zn-invalid,.is-invalid){border-left-color:var(--bs-danger)!important}
:where(html.zs-shell) .form-switch .form-check-input{height:1em}
:where(html.zs-shell) :where(.form-check:not(.form-switch))>.form-check-input[type="checkbox"]{width:1em;height:1em}
:where(html.zs-shell) .select2.select2-container .select2-selection{border-color:var(--zn-field);border-radius:var(--zn-radius)}
:where(html.zs-shell) .select2-container--default:is(.select2-container--focus,.select2-container--open) .select2-selection{border-color:rgba(var(--zn-brand-rgb),.5)!important;box-shadow:none!important}
:where(html.zs-shell) .select2-container .select2-dropdown .select2-search input{border:1px solid var(--zn-field)!important}
:where(html.zs-shell) .select2-container .select2-dropdown .select2-results ul{border-color:var(--zn-field)}
:where(html.zs-shell) .select2-container .select2-dropdown .select2-results ul .select2-results__option--highlighted[aria-selected]{background-color:var(--zn-brand)}
:where(html.zs-shell[data-bs-theme="dark"]) .select2.select2-container .select2-selection,:where(html.zs-shell[data-bs-theme="dark"]) .select2.select2-container.select2-container--open .select2-selection.select2-selection--single,:where(html.zs-shell[data-bs-theme="dark"]) .select2-container .select2-dropdown .select2-results ul{background-color:var(--bs-secondary-bg)}
:where(html.zs-shell[data-bs-theme="dark"]) .select2.select2-container.select2-container--disabled .select2-selection{background-color:var(--zn-line)}
:where(html.zs-shell[data-bs-theme="dark"]) .select2.select2-container .select2-selection .select2-selection__rendered{color:var(--zn-ink)}
:where(html.zs-shell[data-bs-theme="dark"]) .select2.select2-container .select2-selection--multiple .select2-selection__choice{border-color:var(--zn-field);background-color:var(--zn-line);color:var(--zn-ink)}
:where(html.zs-shell) .badge{font-size:var(--zn-fs-xs);font-weight:var(--zn-fw-m);border:0}
:where(html.zs-shell) .badge:is(.bg-primary-subtle,.bg-soft-primary,.badge-soft-primary,.bg-info-subtle,.bg-soft-info,.badge-soft-info){color:var(--zn-info)!important;background-color:var(--zn-info-bg)!important}
:where(html.zs-shell) .badge:is(.bg-success-subtle,.bg-soft-success,.badge-soft-success){color:var(--zn-ok)!important;background-color:var(--zn-ok-bg)!important}
:where(html.zs-shell) .badge:is(.bg-warning-subtle,.bg-soft-warning,.badge-soft-warning){color:var(--zn-warn)!important;background-color:var(--zn-warn-bg)!important}
:where(html.zs-shell) .badge:is(.bg-danger-subtle,.bg-soft-danger,.badge-soft-danger){color:var(--zn-bad)!important;background-color:var(--zn-bad-bg)!important}
:where(html.zs-shell) .badge:is(.bg-secondary-subtle,.bg-soft-secondary,.badge-soft-secondary,.bg-dark-subtle,.bg-soft-dark,.badge-soft-dark,.badge-soft-light){color:var(--zn-ink)!important;background-color:var(--zn-line)!important}
:where(html.zs-shell) .badge.bg-light{color:var(--zn-ink)!important}
:where(html.zs-shell) .badge.bg-light.text-success{color:var(--zn-ok)!important}
:where(html.zs-shell) .badge.bg-light.text-danger{color:var(--zn-bad)!important}
:where(html.zs-shell) .badge.bg-light.text-warning{color:var(--zn-warn)!important}
:where(html.zs-shell) .badge.bg-light:is(.text-primary,.text-info){color:var(--zn-link)!important}
:where(html.zs-shell) .badge.bg-warning{color:var(--bs-gray-800)}
:where(html.zs-shell[data-bs-theme="dark"]) .swal2-popup .swal2-title{color:var(--zn-head)!important}
:where(html.zs-shell[data-bs-theme="dark"]) .swal2-popup .swal2-html-container{color:var(--zn-mute)!important}
:root:where(.zs-shell){--znl-cell-bg:var(--bs-secondary-bg)}

/* ===== assets/css/zs/zs-topbar.css ===== */
.zs-topbar .navbar-header>.d-flex{align-items:center}
.zs-topbar .header-item{display:inline-flex;align-items:center;justify-content:center}
.zs-topbar .zn-search-results span{position:static;z-index:auto;font-size:inherit;line-height:inherit;color:inherit}
.zs-topbar :is(.zn-sr-item,.zn-mm-list a,.zn-mm-chip,.zn-user-item,.zs-apps .dropdown-icon-item,.zs-noti-more){font-size:var(--zn-fs);color:var(--zn-ink)}
.zs-topbar :is(.zn-sr-empty,.zn-mm-noresult,.zn-noti-empty>span){font-size:var(--zn-fs);color:var(--zn-mute)}
.zs-topbar :is(.zn-mm-label,.zn-mm-sublabel,.zn-user-switch-label,.zs-set-sec,.zn-sr-grp,.zs-meta,.zs-dl small,.zn-user-item small,.zs-noti-all,.zn-user-grp-count,.zn-megamenu .small){font-size:var(--zn-fs-xs);color:var(--zn-mute)}
.zs-topbar :is(.zn-mm-title,.zn-mm-head h5,.zn-noti-empty p,.zs-user-head h6){font-size:var(--zn-fs);font-weight:var(--zn-fw-b);color:var(--zn-head)}
.zs-topbar :is(.notification-item h6,.zn-mm-list a.is-recent,.zn-user-item:hover){color:var(--zn-head)}
.zs-topbar :is(.zn-sr-item:hover,.zn-sr-item.active,.zn-mm-chip:hover,.zn-mm-list a:hover,.zs-noti-all,.zs-noti-more,.zn-user-grp.open>.zn-user-grp-head,.zn-user-grp-count){color:var(--zn-link)}
.zs-topbar :is(.zn-mm-label,.zn-mm-sublabel,.zn-user-switch-label,.zs-set-sec,.zs-noti-all,.zs-noti-more,.zn-mm-list a.is-recent,.zs-env,.noti-icon .badge,.zn-user-grp-count){font-weight:var(--zn-fw-m)}
.zs-topbar :is(.zs-env,.noti-icon .badge){font-size:var(--zn-fs-xs);line-height:1}
.zs-topbar :is(.zn-sr-item>.bx,.zn-mm-search>.bx,.zn-mm-chip .bx,.zn-mm-title .bx,.zn-user-item>.bx){flex:0 0 auto;font-size:16px}
.zs-topbar :is(.zn-sr-item>.bx,.zn-mm-search>.bx,.zn-user-item>.bx){color:var(--zn-mute)}
.zs-topbar :is(.zn-mm-chip .bx,.zn-mm-title .bx,.zn-user-item>.bx-user-circle,.zs-apps .bx,.zn-sr-item:hover>.bx,.zn-sr-item.active>.bx){color:var(--zn-brand)}
.zs-topbar :is(.zn-sr-name,.zn-mm-chip span,.notification-item h6,.zn-user-item>span.flex-grow-1,.zn-user-item small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zs-topbar :is(.zn-sr-name,.zn-user-item>span.flex-grow-1,.notification-item .flex-grow-1){min-width:0}
.zs-topbar :is(.zn-sr-item:hover,.zn-sr-item.active,.zn-user-item:hover){background:var(--zn-soft)}
.zs-topbar :is(.zn-search-results,.zn-sr-item,.zs-apps .dropdown-icon-item){border-radius:var(--zn-radius)}
.zs-topbar :is(#zn-topsearch-input,#zn-mm-search-input,.zn-mm-chip,.zn-user-grp-count){border-radius:var(--zn-radius-pill)}
.zs-topbar :is(#zn-topsearch-input,#zn-mm-search-input){border:0 !important;box-shadow:none !important}
.zs-topbar :is(#zn-topsearch-input,#zn-mm-search-input):focus{box-shadow:inset 0 0 0 1px rgba(var(--zn-brand-rgb),.45) !important}
.zs-topbar .text-muted{color:var(--zn-mute) !important}
.zs-topbar :is(#divNotify,.zn-mm-body,.zn-user-switch-list,.zn-search-results){overflow-y:auto;scrollbar-width:thin}
.zs-topbar .logo :is(img,.badge){vertical-align:middle}
[data-bs-theme=dark] .zs-topbar .logo-lg img{filter:invert(1) hue-rotate(180deg)}
.zs-topbar .zs-env{margin-left:var(--zn-s2);color:var(--zn-ok);background:var(--zn-ok-bg)}
.zs-topbar .zs-env.badge-soft-danger{color:var(--zn-bad);background:var(--zn-bad-bg)}
.zs-topbar .logo-sm .zs-env{display:none}
@media (min-width:992.02px){[data-bs-theme=dark] .zs-topbar .navbar-brand-box{background:var(--zn-card)}}
@media (min-width:992px){
.vertical-collpsed .zs-topbar .navbar-brand-box{padding:0}
.vertical-collpsed .zs-topbar .logo span.logo-sm{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zn-s1);height:70px;line-height:1}
.vertical-collpsed .zs-topbar .logo-sm .zs-env{display:inline-block;margin:0}
}
.zs-topbar .zs-tenant{padding:0 var(--zn-s2)}
.zs-topbar #znTenantLogo{height:36px;width:auto;max-width:120px;object-fit:contain}
[data-bs-theme=dark] .zs-topbar #znTenantLogo{box-sizing:border-box;padding:3px 6px;border-radius:var(--zn-radius);background:#fff;filter:brightness(.9)}
@media (min-width:992px){
.zs-topbar .zs-search-menu{display:block;position:static;width:auto;min-width:0;margin:0;border:0;background:none;box-shadow:none;animation:none}
.zs-topbar #zn-topsearch-input{width:180px}
}
@media (min-width:1200px){.zs-topbar #zn-topsearch-input{width:240px}}
.zs-topbar .zn-search-results{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1050;min-width:280px;max-height:60vh;padding:var(--zn-s1);background:var(--zn-card);box-shadow:var(--bs-box-shadow-lg)}
.zs-topbar .zn-search-results.show{display:block}
.zs-topbar .zn-sr-item{display:flex;align-items:center;gap:var(--zn-s2);padding:var(--zn-s2) 12px;text-decoration:none}
.zs-topbar .zn-sr-name{flex:1 1 auto}
.zs-topbar .zn-sr-empty{padding:var(--zn-s2) 12px}
.zs-topbar #zn-mm-search-input{width:240px;max-width:48vw;height:var(--zn-ctl-h);padding:0 var(--zn-s3) 0 40px;background:var(--zn-line);outline:0;font-size:var(--zn-fs);color:var(--zn-ink)}
.zs-topbar .zn-mm-chip{display:inline-flex;align-items:center;gap:var(--zn-s1);max-width:220px;padding:var(--zn-s1) 12px;border:1px solid var(--zn-line);background:var(--zn-soft);text-decoration:none}
.zs-topbar .zn-mm-chip:hover{background:var(--zn-tint)}
.zs-topbar .zn-mm-body{max-height:60vh;padding:var(--zn-inset)}
.zs-topbar .zn-mm-grid{column-width:13rem;column-gap:var(--zn-gap)}
.zs-topbar .zn-mm-group{display:inline-block;width:100%;margin-bottom:var(--zn-s3);break-inside:avoid}
.zs-topbar .zn-mm-title{display:flex;align-items:center;gap:var(--zn-s2);margin:0 0 var(--zn-s2)}
.zs-topbar .zn-mm-list li{padding:var(--zn-s1) 0}
.zs-topbar .zn-mm-dot{display:inline-block;width:6px;height:6px;margin-right:var(--zn-s2);border-radius:50%;background:var(--zn-brand);vertical-align:middle}
.zs-topbar .zn-mm-sublabel{display:block;margin:var(--zn-s1) 0}
.zs-topbar .zn-mm-sub>ul{margin:0 0 0 var(--zn-s2)}
.zs-topbar .zn-mm-noresult{padding:var(--zn-s4) 0;text-align:center}
.zs-topbar .header-profile-user{width:32px;height:32px;padding:2px}
.zs-topbar .noti-icon .badge{background-color:#d33b3b !important;box-shadow:0 0 0 2px var(--zn-card)}
@media (min-width:600px){.zs-topbar :is(.zs-user,.zs-set){width:260px}}
.zs-topbar #divNotify{max-height:230px}
.zs-topbar .notification-item{display:block}
.zs-topbar .notification-item .avatar-xs{flex:0 0 2rem}
.zs-topbar .notification-item p.mb-1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zs-topbar .notification-item.is-read{opacity:.6}
.zs-topbar .zn-noti-empty{display:none;padding:var(--zn-s4) var(--zn-s3);text-align:center}
.zs-topbar .zn-noti-empty.show{display:block}
.zs-topbar .zs-apps .dropdown-icon-item{padding:12px var(--zn-s1) var(--zn-s2);line-height:1.5}
.zs-topbar .zs-apps .dropdown-icon-item .bx{display:block;margin-bottom:var(--zn-s1);font-size:24px;line-height:1}
.zs-topbar .zs-user .text-danger{color:var(--zn-bad) !important}
.zs-topbar .zn-user-switch{padding:var(--zn-s2) 0;border-bottom:1px solid var(--zn-line)}
.zs-topbar .zn-user-switch-label{display:block;padding:var(--zn-s1) var(--zn-s4)}
.zs-topbar .zn-user-switch-list{max-height:196px}
.zs-topbar .zn-user-item{display:flex;align-items:center;gap:var(--zn-s2);padding:.35rem 1.5rem;text-decoration:none}
.zs-topbar .zn-user-grp-count{flex:0 0 auto;padding:0 6px;background:var(--zn-tint);line-height:1.5}
.zs-topbar .zn-user-grp-caret{transition:transform .15s}
.zs-topbar .zn-user-grp.open .zn-user-grp-caret{transform:rotate(180deg)}
.zs-topbar .zn-user-grp-list{display:none;margin:0 0 var(--zn-s1) 32px;border-left:1px solid var(--zn-line)}
.zs-topbar .zn-user-grp.open>.zn-user-grp-list{display:block}
.zs-topbar .zn-user-grp-item{padding-left:12px}
@media (max-width:1199.98px){.zs-topbar #znTenantLogo{max-width:96px}}
@media (max-width:991.98px){
.zs-topbar .navbar-brand-box{padding:0 12px}
.zs-topbar #znTenantLogo{height:30px}
.zs-topbar .zs-search-menu .app-search{padding:12px}
.zs-topbar .zs-search-menu .zn-search-results{position:static;min-width:0;margin-top:var(--zn-s2);padding:0;box-shadow:none}
}
@media (max-width:600px){
.zs-topbar .navbar-header{padding-right:var(--zn-s1)}
.zs-topbar .navbar-brand-box{padding:0 var(--zn-s2)}
.zs-topbar .header-item{padding-left:6px;padding-right:6px}
.zs-topbar .noti-icon i{font-size:20px}
.zs-topbar .noti-icon .badge{top:10px;right:-4px}
.zs-topbar .zs-tenant{padding:0 var(--zn-s1)}
.zs-topbar #znTenantLogo{height:26px;max-width:64px}
[data-bs-theme=dark] .zs-topbar #znTenantLogo{padding:2px 4px}
}
@media (max-width:380px){
.zs-topbar .navbar-brand-box{display:block}
.zs-topbar #znTenantLogo{max-width:48px}
}

/* ===== assets/css/zs/zs-kit.css ===== */
:is(.zs,.zs-modal,.zs-swal){--bs-body-color:var(--zn-ink);--bs-emphasis-color:var(--zn-head);--bs-heading-color:var(--zn-head);--bs-secondary-color:var(--zn-mute);color:var(--zn-ink);font-variant-numeric:tabular-nums}
:where(.zs,.zs-modal,.zs-swal) a{color:var(--zn-link)}
.zs :is(h1,h2,h3,h4,h5,h6):not(:where(.page-title-box,.zn-pagehead) *){font-family:var(--zn-font);font-size:var(--zn-fs-lg);font-weight:600;line-height:1.2;color:var(--zn-head)}
.zs :is(h1,h2,h3){font-size:var(--zn-fs-xl)}
.zs .page-title-box{--bs-heading-color:initial}
.zs .zn-pagehead .zn-ph-title{font-family:var(--zn-font);letter-spacing:0;color:var(--zn-head)}
.zs .zn-pagehead .zn-ph-sub{font-size:var(--zn-fs-xs);text-transform:none;letter-spacing:0;color:var(--zn-mute)}
.zs .zn-pagehead .zn-ph-bc{font-size:var(--zn-fs)}
.zs .zn-pagehead .zn-ph-bc .breadcrumb-item a{color:var(--zn-mute)}
.zs .zn-pagehead .zn-ph-bc :is(.breadcrumb-item.active,.breadcrumb-item a:hover){color:var(--zn-link)}
.zs h6{font-size:var(--zn-fs)}
.zs :is(small,.small){font-size:var(--zn-fs-xs)}
.zs :is(b,strong){font-weight:600}
html .zs .card{border:0;border-radius:var(--zn-radius);background-color:var(--zn-card);box-shadow:var(--zn-shadow);margin-bottom:var(--zn-gap)}
html .zs .card:hover{box-shadow:var(--zn-shadow)}
.zs .card-body{padding:var(--zn-inset)}
.zs :is(.card-header,.card-footer){padding:12px var(--zn-inset);background:transparent;border-color:var(--zn-line)}
.zs .card-title{margin:0 0 16px;font-size:var(--zn-fs-lg);font-weight:600;line-height:1.2;color:var(--zn-head)}
.zs .card-title-desc{margin:0 0 16px;color:var(--zn-mute)}
.zs .badge{padding:0 .5rem;border:0;border-radius:4px;font-size:var(--zn-fs-xs);font-weight:500;line-height:1.5;letter-spacing:0;vertical-align:middle}
.zs .badge-soft-success{color:var(--zn-ok);background-color:var(--zn-ok-bg)}
.zs .badge-soft-warning{color:var(--zn-warn);background-color:var(--zn-warn-bg)}
.zs .badge-soft-danger{color:var(--zn-bad);background-color:var(--zn-bad-bg)}
.zs :is(.badge-soft-primary,.badge-soft-info){color:var(--zn-info);background-color:var(--zn-info-bg)}
.zs :is(.badge-soft-secondary,.badge-soft-dark,.badge-soft-light){color:var(--zn-ink);background-color:var(--zn-line)}
:is(.zs,.zs-modal,.zs-swal) .btn{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-weight:500;--bs-btn-border-radius:var(--zn-radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--zn-ctl-h)}
:is(.zs,.zs-modal,.zs-swal) .btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:var(--zn-fs-xs);--bs-btn-border-radius:4px;min-height:0}
:is(.zs,.zs-modal,.zs-swal) .btn>i{font-size:1rem;line-height:1}
html :is(.zs,.zs-modal,.zs-swal) .btn-primary{--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;border:1px solid transparent;background-color:var(--zn-brand);background-image:var(--zn-grad)}
:is(.zs,.zs-modal,.zs-swal) .btn-light{--bs-btn-color:var(--zn-head);--bs-btn-bg:var(--zn-line);--bs-btn-border-color:var(--zn-line);--bs-btn-hover-color:var(--zn-head);--bs-btn-hover-bg:var(--zn-field);--bs-btn-hover-border-color:var(--zn-field);--bs-btn-active-color:var(--zn-head);--bs-btn-active-bg:var(--zn-field);--bs-btn-active-border-color:var(--zn-field);--bs-btn-disabled-color:var(--zn-mute);--bs-btn-disabled-bg:var(--zn-line);--bs-btn-disabled-border-color:var(--zn-line)}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-primary,.btn-soft-primary:hover,.btn-soft-primary:focus,.btn-soft-primary:active){color:var(--zn-link);background-color:var(--zn-tint);border-color:transparent}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-danger,.btn-soft-danger:hover,.btn-soft-danger:focus,.btn-soft-danger:active){color:var(--zn-bad);background-color:var(--zn-bad-bg);border-color:transparent}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-warning,.btn-soft-warning:hover,.btn-soft-warning:focus,.btn-soft-warning:active){color:var(--zn-warn);background-color:var(--zn-warn-bg);border-color:transparent}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-success,.btn-soft-success:hover,.btn-soft-success:focus,.btn-soft-success:active){color:var(--zn-ok);background-color:var(--zn-ok-bg);border-color:transparent}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-info,.btn-soft-info:hover,.btn-soft-info:focus,.btn-soft-info:active){color:var(--zn-info);background-color:var(--zn-info-bg);border-color:transparent}
:is(.zs,.zs-modal,.zs-swal) :is(.btn-soft-primary,.btn-soft-danger,.btn-soft-warning,.btn-soft-success,.btn-soft-info):is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px currentColor}
:is(.zs,.zs-modal) .text-success{color:var(--zn-ok) !important}
:is(.zs,.zs-modal) .text-danger{color:var(--zn-bad) !important}
.zs .zs-ibtn{--bs-btn-padding-x:0;--bs-btn-padding-y:0;flex:none;min-height:0;width:var(--zn-ibtn);height:var(--zn-ibtn)}
.zs .zs-ibtn>i{font-size:18px}
.zs .form-label{margin-bottom:8px;font-weight:500;color:var(--zn-mute)}
.zs :is(.form-control,.form-select){min-height:var(--zn-ctl-h);padding-top:.5rem;padding-bottom:.5rem;color:var(--zn-ink);background-color:var(--zn-card);border-color:var(--zn-field);border-radius:var(--zn-radius)}
.zs :is(.form-control,.form-select):focus{border-color:rgba(var(--zn-brand-rgb),.55);box-shadow:none}
.zs :is(.form-control,.form-select).is-invalid{border-color:var(--zn-bad)}
.zs :is(.form-text,.invalid-feedback,.valid-feedback){margin-top:4px;font-size:var(--zn-fs-xs);color:var(--zn-mute)}
.zs .invalid-feedback{color:var(--zn-bad)}
.zs .valid-feedback{color:var(--zn-ok)}
:is(.zs,.zs-modal) .form-check-input:not(:checked,:indeterminate,:focus){border-color:color-mix(in srgb,var(--zn-mute) 85%,var(--zn-card))}
.zs .select2-container .select2-selection--single{height:var(--zn-ctl-h);margin-bottom:0;border:1px solid var(--zn-field);border-radius:var(--zn-radius);background-color:var(--zn-card)}
.zs .select2-container .select2-selection--single .select2-selection__rendered{padding-left:12px;line-height:36px;font-size:var(--zn-fs);color:var(--zn-ink)}
.zs .select2-container .select2-selection--single .select2-selection__arrow{height:36px}
.zs .select2-container .select2-selection--multiple{min-height:var(--zn-ctl-h);margin-bottom:0;border-color:var(--zn-field);border-radius:var(--zn-radius)}
.zs .select2-container .select2-selection .select2-selection__placeholder{color:var(--zn-mute)}
.zs .select2-container .select2-selection :is(.select2-selection__clear,.select2-selection__clear>span){font-size:16px;color:var(--zn-mute)}
:is(.zs,.zs-modal) .select2-container--default .select2-selection--single .select2-selection__clear{margin-right:24px !important}
:is(.zs,.zs-modal) .select2-container--default .select2-selection--single.select2-selection--clearable .select2-selection__rendered{padding-right:8px !important}
.zs input[type="date"]::-webkit-datetime-edit,.zs input[type="date"]::-webkit-datetime-edit-day-field,.zs input[type="date"]::-webkit-datetime-edit-month-field,.zs input[type="date"]::-webkit-datetime-edit-year-field{padding:0}
.zs .table{--bs-table-color:var(--zn-ink);--bs-table-border-color:var(--zn-line);--bs-table-hover-bg:var(--zn-soft);color:var(--zn-ink)}
.zs .table>thead>tr>th{font-weight:500;color:var(--zn-mute);text-transform:none;letter-spacing:0}
.zs .nav-link{font-weight:500}
.zs .nav-tabs-custom{border-bottom-width:1px;border-bottom-color:var(--zn-line)}
.zs .nav-tabs-custom .nav-link{padding:10px 16px;color:var(--zn-ink);background:transparent}
.zs .nav-tabs-custom .nav-link.active{color:var(--zn-link);background:transparent}
.zs .nav-tabs-custom .nav-link.active::after{background:var(--zn-grad)}
.zs .nav-tabs-custom .zs-count{margin-left:4px;font-size:var(--zn-fs-xs);font-weight:400;color:var(--zn-mute)}
.zs .zs-count{font-size:var(--zn-fs-xs);font-weight:400;color:var(--zn-mute)}
.zs .zs-count:empty{display:none}
.zs :where(.btn) .zs-count{color:inherit}
.zs :where(.zs-views,.zs-seg)>* .zs-count{color:var(--zn-ink)}
.zs :where(.zs-views,.zs-seg)>:where(.active,[aria-pressed="true"],.btn-check:checked+label) .zs-count{color:var(--zn-mute)}
[data-bs-theme="dark"] .zs :where(.zs-views,.zs-seg)>:where(.active,[aria-pressed="true"],.btn-check:checked+label) .zs-count{color:inherit}
.zs .collapse-horizontal.show{overflow:visible}
.zs .verti-timeline{border-left-width:2px}
.zs .verti-timeline .event-list{padding-bottom:var(--zn-gap)}
.zs .verti-timeline .event-list:last-child{padding-bottom:0}
.zs .zs-detail{display:grid;gap:var(--zn-gap);max-width:96rem;margin-bottom:var(--zn-gap)}
.zs :is(.zs-detail>*,.zs-stack){display:flex;flex-direction:column;gap:var(--zn-gap);min-width:0}
.zs :is(.zs-detail>*,.zs-stack,.zs-band,.zs-fm)>.card{margin-bottom:0}
@media (min-width:1200px){.zs .zs-detail{grid-template-columns:minmax(0,3fr) minmax(0,9fr);align-items:start}}
.zs .zs-form{max-width:76rem}
.zs .zs-list .table-responsive{max-height:70vh;overflow:auto}
.zs .zs-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--zn-gap);margin-bottom:var(--zn-gap)}
.zs .zs-band>*{grid-column:span 12;min-width:0}
@media (min-width:768px){.zs .zs-band>:is(.zs-c3,.zs-c6){grid-column:span 6}}
@media (min-width:1200px){.zs .zs-band>.zs-c3{grid-column:span 3}.zs .zs-band>.zs-c4{grid-column:span 4}.zs .zs-band>.zs-c8{grid-column:span 8}}
.zs .zs-dash>:last-child{margin-bottom:0}
.zs .zs-fm{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--zn-gap);margin-bottom:var(--zn-gap)}
.zs .zs-fm>*{min-width:0}
@media (min-width:992px){.zs .zs-fm{grid-template-columns:230px minmax(0,1fr)}}
@media (min-width:1366px){.zs .zs-fm{grid-template-columns:280px minmax(0,1fr)}}
@media (min-width:992px) and (max-width:1599.98px){.zs .zs-fm:has(>.zs-fm-aside){grid-template-rows:auto 1fr}.zs .zs-fm:has(>.zs-fm-aside)>:first-child+*{grid-row:span 2}.zs .zs-fm>.zs-fm-aside{grid-column:1}}
@media (min-width:1600px){.zs .zs-fm:has(>.zs-fm-aside){grid-template-columns:280px minmax(0,1fr) 280px}}
.zs .zs-fm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.zs .zs-fm-tile{display:flex;flex-direction:column;gap:4px;min-height:120px;padding:16px;border:1px solid var(--zn-line);border-radius:var(--zn-radius);color:var(--zn-ink);text-decoration:none}
.zs .zs-fm-tile>i{margin-bottom:8px;font-size:24px}
.zs a.zs-fm-tile:hover{border-color:var(--zn-field)}
.zs .zs-fm-name{font-weight:500;color:var(--zn-head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zs .zs-fm-meta{margin-top:auto;color:var(--zn-mute)}
.zs .zs-fm .categories-list{margin:0;padding:0;list-style:none}
.zs .zs-fm .categories-list a{display:flex;align-items:center;gap:8px}
.zs .zs-fm .categories-list i{font-size:16px}
.zs .zs-fm .categories-list li.active>a{color:var(--zn-link)}
.zs .zs-ch{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px}
.zs .zs-ch .card-title{margin:0}
.zs .zs-ch .card-title-desc{margin:4px 0 0}
.zs .zs-ch-tool{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;margin-left:auto}
.zs .zs-k{margin:0 0 4px;font-weight:500;color:var(--zn-mute)}
.zs .zs-v{font-size:var(--zn-fs-xl);font-weight:600;line-height:1.2;color:var(--zn-head)}
.zs .zs-s{margin:4px 0 0;color:var(--zn-mute)}
.zs .zs-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px var(--zn-inset)}
.zs .zs-bar-l{flex:1 1 280px;min-width:0}
.zs .zs-bar-r{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
.zs .zs-bar .search-box:not(:where(.dropdown-menu *)){max-width:22rem}
.zs .zs-bar .zs-ibtn{width:var(--zn-ctl-h);height:var(--zn-ctl-h)}
.zs .search-box .form-control{--zs-ring:var(--zn-line);border-radius:var(--zn-radius-pill);background-color:var(--zn-soft);border-color:var(--zs-ring)}
.zs .search-box:not(:where(.card,.modal,.dropdown-menu) *) .form-control{--zs-ring:var(--zn-field);background-color:var(--zn-card)}
:where(html.zs-shell) .zs .search-box .form-control.zn-req-field:not(:focus,.zn-invalid,.is-invalid){border-left-color:var(--zs-ring) !important}
.zs .zs-views{position:relative;display:inline-flex;flex-wrap:nowrap;gap:4px;max-width:100%;min-width:0;padding:4px;overflow-x:auto;vertical-align:middle;scrollbar-width:none;background:var(--zn-line);border-radius:var(--zn-radius)}
.zs .zs-views::-webkit-scrollbar{display:none}
.zs .zs-views.zs-more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.zs .zs-views.zs-more-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px);mask-image:linear-gradient(90deg,transparent,#000 24px)}
.zs .zs-views.zs-more-l.zs-more-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.zs :is(.zs-views,.zs-seg)>:is(a,button,label){display:inline-flex;flex:none;align-items:center;justify-content:center;gap:8px;padding:5px 12px;border:0;border-radius:4px;background:transparent;color:var(--zn-ink);font-weight:500;white-space:nowrap;text-decoration:none}
.zs :is(.zs-views,.zs-seg)>:is(a,button,label):hover{color:var(--zn-head)}
.zs :is(.zs-views,.zs-seg)>:is(.active,.active:hover,[aria-pressed="true"]),.zs :is(.zs-views,.zs-seg)>.btn-check:checked+label{background:var(--zn-card);color:var(--zn-head);box-shadow:0 1px 2px rgba(18,38,63,.08),0 2px 8px -4px rgba(18,38,63,.22)}
[data-bs-theme="dark"] .zs :is(.zs-views,.zs-seg)>:is(.active,.active:hover,[aria-pressed="true"]),[data-bs-theme="dark"] .zs :is(.zs-views,.zs-seg)>.btn-check:checked+label{background:var(--zn-tint);background:color-mix(in srgb,var(--zn-brand) 24%,var(--zn-card));color:var(--zn-link);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.zs :is(.zs-views,.zs-seg)>label{margin:0;line-height:1.5;cursor:pointer;user-select:none}
.zs :is(.zs-views,.zs-seg)>.btn-check:focus-visible+label{outline:2px solid rgba(var(--zn-brand-rgb),.5);outline-offset:1px}
.zs :is(.zs-views,.zs-seg) i{font-size:16px;color:var(--zn-mute)}
.zs :is(.zs-views,.zs-seg)>:is(.active,[aria-pressed="true"],.btn-check:checked+label) i{color:var(--zn-link)}
.zs :is(.zs-views,.zs-seg)>.btn{min-height:0}
.zs :is(.zs-views,.zs-seg)>.btn:focus-visible{box-shadow:none;outline:2px solid rgba(var(--zn-brand-rgb),.5);outline-offset:1px}
.zs .zs-filters-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--zn-radius-pill);background:var(--zn-brand);background:color-mix(in srgb,var(--zn-brand) 85%,#000);color:#fff;font-size:var(--zn-fs-xs);font-weight:500;line-height:1}
.zs .zs-filters-count:is([hidden],:empty){display:none}
.zs .zs-filters>*{padding:16px var(--zn-inset) var(--zn-inset);border-top:1px solid var(--zn-line)}
.zs .zs-seg{position:relative;display:inline-flex;flex-wrap:wrap;gap:4px;max-width:100%;min-height:var(--zn-ctl-h);padding:4px;vertical-align:middle;background:var(--zn-line);border-radius:var(--zn-radius)}
.zs .zs-kpi .card-body{display:flex;align-items:flex-start;gap:16px}
.zs .zs-kpi .card-body>:first-child{flex:1 1 auto;min-width:0}
.zs .zs-kpi .zs-k{margin-bottom:8px}
.zs :is(.zs-kpi,.zs-figs) .zs-v{white-space:nowrap}
.zs .zs-kpi .avatar-sm{flex:none;align-self:center}
@media (min-width:1200px) and (max-width:1365.98px){.zs .zs-band>.zs-c3.zs-kpi .avatar-sm{display:none}}
.zs .zs-kpi .avatar-title{font-size:24px;color:var(--zn-link);background-color:var(--zn-tint)}
.zs .zs-kpi-foot{display:flex;flex-wrap:nowrap;align-items:center;gap:4px 8px;padding:12px var(--zn-inset);border-top:1px solid var(--zn-line);color:var(--zn-mute)}
.zs .zs-kpi-foot>:last-child:not(.badge){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zs :is(a.zs-kpi,.zs-kpi[role="button"]){cursor:pointer;text-decoration:none}
html .zs :is(a.zs-kpi,.zs-kpi[role="button"]):hover{box-shadow:var(--zn-shadow),0 0 0 1px var(--zn-field)}
.zs .zs-stats{display:flex;flex-flow:row wrap;gap:16px var(--zn-gap);padding:16px var(--zn-inset)}
.zs .zs-stat{min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none}
.zs .zs-stat[data-v="0"]{display:none}
.zs .zs-stat .zs-v{font-size:var(--zn-fs-lg)}
.zs .zs-stat .zs-k{margin:4px 0 0;font-weight:400}
.zs :is(a,button).zs-stat:hover .zs-k{color:var(--zn-link)}
.zs .zs-stat-warn .zs-v{color:var(--zn-warn)}
.zs .zs-stat-bad .zs-v{color:var(--zn-bad)}
.zs .zs-ctx{display:flex;flex-wrap:wrap;align-items:center;gap:16px var(--zn-gap);margin:0 0 var(--zn-gap)}
.zs .zs-ctx-main{flex:1 1 18rem;min-width:0}
.zs .zs-ctx .zs-ctx-t{margin:0}
.zs .zs-ctx-m{margin:4px 0 0;color:var(--zn-mute)}
.zs .zs-ctx-m:empty{display:none}
.zs .zs-ctx>.zs-stats{margin-left:auto;padding:0;gap:8px var(--zn-gap)}
@media (max-width:767.98px){.zs .zs-ctx>.zs-stats{flex:1 1 100%;margin-left:0}}
.zs .zs-h240{height:240px}
.zs .zs-h300{height:300px}
.zs .zs-h360{height:360px}
.zs .zs-donut{position:relative}
.zs .zs-donut-c{position:absolute;inset:0 0 48px;display:grid;place-content:center;text-align:center;pointer-events:none}
.zs .zs-donut:has(+.zs-legend)>.zs-donut-c{inset:0}
.zs-tt-v{float:right;margin-left:16px;font-weight:600}
:is(.zs,.zs-modal) .zs-overview{margin:0}
:is(.zs,.zs-modal) .zs-overview>div{display:flex;flex-wrap:wrap;gap:4px 16px;padding:var(--zn-row) 0;border-top:1px solid var(--zn-line)}
:is(.zs,.zs-modal) .zs-overview>div:first-child{padding-top:0;border-top:0}
:is(.zs,.zs-modal) .zs-overview dt{flex:0 0 40%;min-width:6.75rem;font-weight:500;color:var(--zn-mute)}
:is(.zs,.zs-modal) .zs-overview dd{flex:1 1 8rem;margin:0;min-width:0;overflow-wrap:anywhere}
.zs .zs-overview-acts{display:grid;gap:8px;margin-top:var(--zn-inset)}
.zs .zs-ident{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.zs .zs-ident-av{display:grid;place-items:center;flex:none;width:50px;height:50px;overflow:hidden;border-radius:50%;background:var(--zn-tint);color:var(--zn-link);font-size:var(--zn-fs-lg);font-weight:600}
.zs .zs-ident-av img{width:100%;height:100%;object-fit:cover}
.zs .zs-ident-main{flex:1 1 240px;min-width:0}
.zs .zs-ident-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.zs .zs-ident-name{margin:0;font-size:var(--zn-fs-xl);overflow-wrap:anywhere}
.zs .zs-ident-meta{display:flex;flex-wrap:wrap;gap:4px var(--zn-inset);margin:8px 0 0;padding:0;list-style:none;color:var(--zn-mute)}
.zs .zs-ident-meta i{margin-right:4px;font-size:16px;vertical-align:-2px;color:var(--zn-brand)}
.zs .zs-ident-meta>li{display:flex;align-items:baseline;gap:4px;min-width:0}
.zs .zs-ident-meta>li>i{position:relative;top:2px;flex:none;margin-right:0}
.zs .zs-ident-meta>li>span{min-width:0}
.zs .zs-ident-meta>li:empty{display:none}
.zs .zs-ident-act{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.zs .zs-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px var(--zn-gap)}
.zs .zs-ident+.zs-figs{margin-top:var(--zn-gap);padding-top:var(--zn-gap);border-top:1px solid var(--zn-line)}
.zs table.zs-table[class]{width:100%;margin:0;border-collapse:separate;border-spacing:0}
.zs table.zs-table[class]>:is(thead,tbody,tfoot)>tr>:is(th,td){height:auto;padding:var(--zn-row);font-size:var(--zn-fs);line-height:1.5;vertical-align:middle;background:transparent;border:0;border-bottom:1px solid var(--zn-line)}
.zs table.zs-table.zs-dense[class]>:is(thead,tbody,tfoot)>tr>:is(th,td){padding:var(--zn-row-dense) var(--zn-row)}
.zs table.zs-table[class]>thead>tr>th{position:sticky;top:0;z-index:2;font-weight:500;color:var(--zn-mute);text-align:left;text-transform:none;letter-spacing:0;white-space:nowrap;user-select:auto;background:var(--zn-card)}
.zs table.zs-table[class]>tbody>tr:hover>:is(td,th){background:var(--zn-soft)}
.zs table.zs-table[class]>tbody>tr:last-child>:is(td,th){border-bottom:0}
.zs table.zs-table[class]>tfoot>tr>:is(td,th){font-weight:600;color:var(--zn-head);border-top:1px solid var(--zn-line);border-bottom:0}
.zs table.zs-table[class]>*>tr>:is(.zs-num,.dt-right,.dt-type-numeric){text-align:right;white-space:nowrap}
.zs table.zs-table[class]>*>tr>.dt-type-date{text-align:left}
.zs .zs-table .zs-ibtn{width:32px;height:32px}
.zs table.zs-table[class]>tbody>tr>td.zs-wrap{min-width:10rem;max-width:24rem;white-space:normal}
.zs table.zs-table.dtr-inline.collapsed[class]>tbody>tr>:is(td,th).dtr-control{position:relative;padding-left:36px}
.zs table.zs-table.dtr-inline.collapsed[class]>thead>tr>th:not(.dtr-hidden):not(:not(.dtr-hidden)~th){padding-left:36px}
.zs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control::before{content:"+";border:1px solid var(--zn-field) !important;background-color:transparent;color:var(--zn-mute);box-shadow:none}
.zs table.dataTable.dtr-inline.collapsed>tbody>tr:hover>td.dtr-control::before{border-color:var(--zn-link) !important;color:var(--zn-link)}
.zs table.dataTable.dtr-inline.collapsed>tbody>tr.dtr-expanded>td.dtr-control::before{content:"\2212";border-color:var(--zn-mute) !important;background-color:var(--zn-mute);color:var(--zn-card)}
.zs div.dt-container table.dataTable>tbody>tr.child>td{background:var(--zn-soft);color:var(--zn-ink);white-space:normal}
.zs div.dt-container table.dataTable>tbody>tr.child ul.dtr-details{display:block;width:100%}
.zs div.dt-container table.dataTable>tbody>tr.child ul.dtr-details>li{display:grid;grid-template-columns:7rem minmax(0,1fr);column-gap:12px;align-items:baseline;padding:8px 0;border-bottom-color:var(--zn-line)}
.zs div.dt-container table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}
.zs div.dt-container table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{padding-bottom:0;border-bottom:0}
.zs div.dt-container table.dataTable>tbody>tr.child :is(.dtr-title,.dtr-data){min-width:0;white-space:normal;overflow-wrap:anywhere}
.zs div.dt-container table.dataTable>tbody>tr.child .dtr-title{font-weight:500;color:var(--zn-mute)}
.zs div.dt-container table.dataTable>tbody>tr.child .zs-clamp2{display:block;overflow:visible;-webkit-line-clamp:none}
.zs .znxls-anchor>button.znxls-btn{top:0;right:0;width:32px;height:32px;border-radius:var(--zn-radius);background-color:var(--zn-line);color:var(--zn-head);font-size:16px;opacity:1}
.zs .znxls-anchor>button.znxls-btn:hover{background-color:var(--zn-field);color:var(--zn-head)}
.zs .znxls-anchor>button.znxls-btn:focus-visible{outline:2px solid rgba(var(--zn-brand-rgb),.5);outline-offset:1px}
@media (min-width:768px){
.zs .znxls-anchor:has(>*>table.zs-table:not(.zs-dense),>table.zs-table:not(.zs-dense))>.znxls-btn{top:6px;right:4px}
.zs .znxls-anchor>table.zs-table:not(.zs-dense)[class]>thead>tr>:last-child,.zs .znxls-anchor>*>table.zs-table:not(.zs-dense)[class]>thead>tr>:last-child,
.zs .znxls-anchor>table.zs-table:not(.zs-dense)[class]>:is(tbody,tfoot)>tr>.zs-num:last-child:not(:has(.btn)),.zs .znxls-anchor>*>table.zs-table:not(.zs-dense)[class]>:is(tbody,tfoot)>tr>.zs-num:last-child:not(:has(.btn)){padding-right:44px}
}
.zs .znxls-anchor:has(>*>table.zs-table.zs-dense,>table.zs-table.zs-dense){padding-top:32px}
@media (max-width:767.98px){.zs .znxls-anchor:has(>*>table.zs-table,>table.zs-table){padding-top:32px}}
.zs .znxls-anchor:has(>*>table:not(.zs-table),>table:not(.zs-table)){padding-top:32px}
.zs .card>.card-body:first-child>:is(.card-title,.zs-ch):not(.mb-0,.mb-1,.mb-2,:has(.zs-ch-tool,a,button,select,input,.btn,.dropdown)):first-child:has(+.znxls-anchor>table.zs-table,+.znxls-anchor>*>table.zs-table){padding-right:44px}
.zs .card>.card-body:first-child>:is(.card-title,.zs-ch):not(.mb-0,.mb-1,.mb-2,:has(.zs-ch-tool,a,button,select,input,.btn,.dropdown)):first-child+.znxls-anchor:has(>table.zs-table,>*>table.zs-table){position:static;padding-top:0}
.zs .card>.card-body:first-child>:is(.card-title,.zs-ch):not(.mb-0,.mb-1,.mb-2,:has(.zs-ch-tool,a,button,select,input,.btn,.dropdown)):first-child+.znxls-anchor:has(>table.zs-table,>*>table.zs-table)>button.znxls-btn{top:calc(var(--zn-inset) - 6px);right:var(--zn-inset)}
@media (min-width:768px){.zs .card>.card-body:first-child>:is(.card-title,.zs-ch):not(.mb-0,.mb-1,.mb-2,:has(.zs-ch-tool,a,button,select,input,.btn,.dropdown)):first-child+.znxls-anchor table.zs-table:not(.zs-dense)[class] :is(thead>tr>:last-child,:is(tbody,tfoot)>tr>.zs-num:last-child){padding-right:var(--zn-row)}}
.zs .card :is(.table-responsive,div.zs-dt .dt-layout-table>*){--zs-edge:color-mix(in srgb,var(--zn-head) 10%,transparent);background:linear-gradient(90deg,var(--zn-card) 20px,transparent) left/24px 100% no-repeat local,linear-gradient(270deg,var(--zn-card) 20px,transparent) right/24px 100% no-repeat local,linear-gradient(90deg,var(--zs-edge),transparent) left/20px 100% no-repeat scroll,linear-gradient(270deg,var(--zs-edge),transparent) right/20px 100% no-repeat scroll;container-type:scroll-state}
@container not scroll-state(scrollable:y){.zs table.zs-table[class]>thead>tr>th{background:transparent}}
.zs div.dt-container>.row{--bs-gutter-x:0}
.zs div.zs-dt .dt-layout-row{margin:0 0 16px}
.zs div.zs-dt .dt-layout-row:last-child{margin:16px 0 0}
.zs div.zs-dt .dt-layout-table>*{overflow-x:auto}
.zs div.zs-dt .dt-search input.form-control{width:16rem;min-width:0;height:var(--zn-ctl-h);margin-left:0;padding:0 16px;font-size:var(--zn-fs);background-color:var(--zn-soft);border-radius:var(--zn-radius-pill)}
.zs div.zs-dt :is(.dt-search input.form-control,.dt-search input.form-control:focus,.dt-length select.form-select){box-shadow:none}
.zs div.zs-dt .dt-length select.form-select{min-height:var(--zn-ctl-h);font-size:var(--zn-fs);border-radius:var(--zn-radius)}
.zs div.zs-dt .dt-length label{font-size:var(--zn-fs);color:var(--zn-mute)}
.zs div.zs-dt .dt-info{padding:0;font-size:var(--zn-fs);color:var(--zn-mute)}
.zs div.zs-dt .pagination .page-item .page-link{width:auto;min-width:32px;height:32px;margin:0 3px;padding:0 6px;border-radius:var(--zn-radius-pill) !important;background:transparent;color:var(--zn-ink);font-size:var(--zn-fs);font-weight:500}
.zs div.zs-dt .pagination .page-item .page-link:hover{background:var(--zn-tint);color:var(--zn-link)}
.zs div.zs-dt .pagination .page-item.active .page-link{color:#fff !important;background:var(--zn-brand) !important;background:color-mix(in srgb,var(--zn-brand) 85%,#000) !important;box-shadow:none}
.zs div.zs-dt .pagination .page-item.disabled .page-link{color:var(--zn-mute);opacity:.5}
.zs div.zs-dt th .dt-column-header{justify-content:flex-start;align-items:flex-end}
.zs div.zs-dt th .dt-column-header>.dt-column-title{flex-grow:0}
.zs div.zs-dt th .dt-column-header>.dt-column-order{flex:none}
.zs div.zs-dt :is(th.dt-type-numeric,th.dt-right,th.zs-num) .dt-column-header{flex-direction:row;justify-content:flex-end}
.zs div.zs-dt th.dt-type-date .dt-column-header{flex-direction:row}
.zs div.dt-container .dt-buttons :is(.btn,.dt-button){font-size:var(--zn-fs);box-shadow:none;transform:none}
.zs div.dt-container .dt-buttons .btn>span{display:inline-flex;align-items:center;gap:8px}
.zs div.dt-container .dt-buttons .btn>span>i{font-size:16px;line-height:1}
.zs div.dt-container .dt-buttons .btn{border-radius:var(--zn-radius)}
.zs div.dt-container .dt-buttons.btn-group>.btn:not(:last-child),.zs div.dt-container .dt-buttons.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}
.zs div.dt-container .dt-buttons.btn-group>.btn:not(:first-child),.zs div.dt-container .dt-buttons.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}
.zs div.dt-container .dt-buttons .btn.zs-ibtn{padding:0}
:is(.zs,body[data-zs]) div.dt-button-collection .dropdown-item{font-size:var(--zn-fs)}
@media (max-width:767.98px){.zs div.zs-dt :is(.dt-length,.dt-search,.dt-info,.dt-paging){text-align:left}.zs div.zs-dt .dt-paging ul.pagination{justify-content:flex-start !important}}
@media (max-width:767.98px){
.zs div.zs-dt>.row:not(.dt-layout-table){align-items:center;column-gap:16px}
.zs div.zs-dt>.row:not(.dt-layout-table)>*{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:8px 16px;width:auto;min-width:0;margin-left:0 !important}
.zs div.zs-dt>.row:not(.dt-layout-table)>:has(>.dt-search){flex:1 1 10rem}
.zs div.zs-dt>.row:not(.dt-layout-table) .dt-search{flex:1 1 auto;min-width:0}
}
@media (max-width:575.98px){.zs div.zs-dt .dt-search input.form-control{width:100%}.zs :is(.table-responsive,div.zs-dt .dt-layout-table>*)>table.zs-table>*>tr>*{white-space:nowrap}}
.zs .zs-form-actions{display:flex;flex-flow:row wrap;justify-content:flex-end;gap:8px}
.zs .card.zs-form-actions{padding:12px var(--zn-inset)}
.zs .zs-sticky{position:sticky;bottom:16px;z-index:5}
body:has(.zs .zs-sticky){--zs-fab-bottom:5.75rem}
html:not(.zs-shell) body[data-zs] #btnScrollTop{bottom:calc(var(--zs-fab-bottom,24px) + env(safe-area-inset-bottom,0px)) !important}
body[data-zs] #btnScrollTop{right:4px !important;width:32px !important;height:32px !important}
body[data-zs] #btnScrollTop>i{font-size:20px !important}
@supports (animation-timeline:scroll()){@media (max-width:575.98px){body[data-zs] #btnScrollTop{animation:zs-fab linear both;animation-timeline:scroll(root block);animation-range:150vh 160vh}}}
@keyframes zs-fab{from{visibility:hidden;opacity:0}to{visibility:visible;opacity:1}}
body[data-zs] .main-content{overflow:clip}
.zs .zs-steps{display:flex;flex-wrap:wrap;gap:8px var(--zn-gap);margin:0 0 var(--zn-gap);padding:0;list-style:none}
.zs .zs-steps>li{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--zn-mute)}
.zs .zs-step-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--zn-line);color:var(--zn-ink);font-size:var(--zn-fs-xs);font-weight:600}
.zs .zs-steps>.active{color:var(--zn-head)}
.zs .zs-steps>.active .zs-step-n{background:var(--zn-brand);background:color-mix(in srgb,var(--zn-brand) 85%,#000);color:#fff}
.zs .zs-steps>.done .zs-step-n{background:var(--zn-ok-bg);color:var(--zn-ok)}
.zs-modal{--bs-modal-padding:var(--zn-inset);--bs-modal-footer-gap:8px}
.zs-modal .modal-title{font-size:var(--zn-fs-lg)}
.zs-modal .modal-footer{padding:12px var(--zn-inset)}
:is(.zs,.zs-modal) .zs-sec{margin:0 0 16px;font-size:var(--zn-fs-lg);font-weight:600;line-height:1.2;color:var(--zn-head)}
:is(.zs,.zs-modal) *+.zs-sec{margin-top:var(--zn-gap)}
.modal.zs-modal .modal-dialog:not([class*="modal-fullscreen"]){width:calc(100% - 2 * var(--zn-s3))}
.zs-modal .modal-header>:is(.modal-title,:has(>.modal-title)){padding-right:3rem}
body[data-zs] .modal .modal-header:has(.btn:not(.btn-close),.nav)::after{opacity:.08}
:is(.zs,.zs-modal) .dropdown-menu.show[style*="fixed"]{animation:none}
:is(.zs,.zs-modal) .dropdown-menu.show[data-popper-placement^="bottom"][style*="fixed"]{top:0 !important}
.zs-swal{--swal2-width:25rem;--swal2-padding:var(--zn-gap) var(--zn-inset) var(--zn-inset);--swal2-border-radius:var(--zn-radius);--swal2-background:var(--zn-card);--swal2-color:var(--zn-ink);font-family:var(--zn-font)}
.zs-swal.swal2-popup{padding:var(--swal2-padding) !important;border-radius:var(--zn-radius) !important;font-family:var(--zn-font) !important}
.zs-swal .swal2-icon{margin:0 auto 16px !important;font-size:8.8px;border-radius:var(--zn-radius)}
.zs-swal .swal2-icon .swal2-icon-content{font-size:24px;font-weight:600}
.zs-swal .swal2-icon:is(.swal2-info,.swal2-question,.swal2-warning,.swal2-error,.swal2-success){border-color:transparent !important;background-color:var(--zn-info-bg) !important;color:var(--zn-info) !important}
.zs-swal .swal2-icon.swal2-warning{background-color:var(--zn-warn-bg) !important;color:var(--zn-warn) !important}
.zs-swal .swal2-icon.swal2-error{background-color:var(--zn-bad-bg) !important;color:var(--zn-bad) !important}
.zs-swal .swal2-icon.swal2-success{background-color:var(--zn-ok-bg) !important;color:var(--zn-ok) !important}
.zs-swal .swal2-title{padding:0 !important;font-size:var(--zn-fs-lg) !important;font-weight:600;line-height:1.2;color:var(--zn-head) !important}
.zs-swal .swal2-html-container{margin:0 !important;padding:8px 0 0;font-size:var(--zn-fs) !important;line-height:1.5;color:var(--zn-mute) !important}
.zs-swal.zs-swal-pre .swal2-html-container{text-align:left;white-space:pre-wrap}
.zs-swal .swal2-actions{gap:8px;margin:var(--zn-gap) 0 0 !important}
.zs-swal .swal2-cancel.btn:not(:hover,:focus-visible,:active){color:var(--bs-btn-color);background-color:var(--bs-btn-bg)}
.zs-swal .swal2-actions>.btn,.zs-swal .swal2-actions>.btn:hover{filter:none;box-shadow:none !important;transform:none}
.zs-swal .swal2-actions>:is(.btn-soft-primary,.btn-soft-danger,.btn-soft-warning):is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px currentColor !important}
.zs .zs-state{display:flex;flex-direction:column;align-items:center;padding:48px var(--zn-inset);text-align:center}
.zs .zs-state-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:50%;background:var(--zn-tint);color:var(--zn-link);font-size:24px}
.zs .zs-state-title{margin:0;font-size:var(--zn-fs-lg);font-weight:600;line-height:1.2;color:var(--zn-head)}
.zs .zs-state-text{max-width:52ch;margin:8px 0 0;color:var(--zn-mute)}
.zs .zs-state .btn{margin-top:16px}
.zs .zs-state-empty>.zs-state-icon{background:var(--zn-line);color:var(--zn-mute)}
.zs .zs-state-error>.zs-state-icon{background:var(--zn-bad-bg);color:var(--zn-bad)}
.zs .zs-state-denied>.zs-state-icon{background:var(--zn-warn-bg);color:var(--zn-warn)}
.zs .zs-state-done>.zs-state-icon{background:var(--zn-ok-bg);color:var(--zn-ok)}
.zs .zn-loader-text{font-size:var(--zn-fs);font-weight:400;letter-spacing:0;color:var(--zn-mute)}
.zs .zn-loader-spin b{font-weight:600;letter-spacing:0;color:var(--zn-link)}
.zs .zs-skel{position:relative;display:grid;gap:12px;padding:16px 0}
.zs .zs-skel-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--zn-gap)}
.zs :is(.zs-skel-line,.zs-skel-card){height:12px;border-radius:4px;background:var(--zn-line);animation:zs-pulse 1.4s ease-in-out infinite}
.zs .zs-skel-line{background:var(--zn-field);opacity:.6}
.zs .zs-skel-line:nth-child(3n+2){width:72%}
.zs .zs-skel-card{height:100px;border-radius:var(--zn-radius)}
.zs .zs-skel-chart .zs-skel-card{height:240px}
.zs .zs-skel-elapsed{position:absolute;top:0;right:0;font-size:var(--zn-fs-xs);color:var(--zn-mute)}
.zs .zs-skel-line.zs-skel-head{display:none;width:180px;max-width:60%;height:16px;margin-bottom:4px}
.zs .zs-skel-table:not(:is(.card,.modal) *){margin-bottom:var(--zn-gap);padding:var(--zn-inset);border-radius:var(--zn-radius);background:var(--zn-card);box-shadow:var(--zn-shadow)}
.zs .zs-skel-table:not(:is(.card,.modal) *)>.zs-skel-head{display:block}
.zs .zs-skel-table:not(:is(.card,.modal) *)>.zs-skel-elapsed{top:var(--zn-inset);right:var(--zn-inset)}
@keyframes zs-pulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.zs :is(.zs-skel-line,.zs-skel-card){animation:none}}
.zs .zs-rank{margin:0;padding:0;list-style:none}
.zs .zs-rank>li+li{margin-top:16px}
.zs .zs-rank-row{display:flex;align-items:baseline;gap:12px}
.zs .zs-rank-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zs .zs-rank-val{font-weight:500;color:var(--zn-head);white-space:nowrap}
.zs .zs-rank progress{display:block;width:100%;height:4px;margin-top:4px;overflow:hidden;border:0;border-radius:4px;background:var(--zn-line);color:var(--zn-brand);-webkit-appearance:none;appearance:none}
.zs .zs-rank progress::-webkit-progress-bar{background:var(--zn-line)}
.zs .zs-rank progress::-webkit-progress-value{background:var(--zn-brand);border-radius:4px}
.zs .zs-rank progress::-moz-progress-bar{background:var(--zn-brand);border-radius:4px}
.zs .zs-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:16px var(--zn-gap);margin:16px 0 0;padding:0;list-style:none}
.zs .zs-legend>li{min-width:0}
.zs .zs-legend-n{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zs .zs-legend-v{margin:4px 0 0 16px;font-weight:500;color:var(--zn-head);white-space:nowrap}
.zs .zs-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;vertical-align:1px;background:var(--zs-c,var(--zn-mute))}
.zs .zs-pal-1{--zs-c:var(--zn-pal-1)}.zs .zs-pal-2{--zs-c:var(--zn-pal-2)}.zs .zs-pal-3{--zs-c:var(--zn-pal-3)}.zs .zs-pal-4{--zs-c:var(--zn-pal-4)}
.zs .zs-pal-5{--zs-c:var(--zn-pal-5)}.zs .zs-pal-6{--zs-c:var(--zn-pal-6)}.zs .zs-pal-7{--zs-c:var(--zn-pal-7)}.zs .zs-pal-8{--zs-c:var(--zn-pal-8)}
:is(.zs,.zs-modal) .zs-bans{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 var(--zn-gap)}
:is(.zs,.zs-modal) .zs-bans:not(:has(>*)){display:none}
:is(.zs,.zs-modal) .zs-ban{--zs-ban:var(--zn-tint);--zs-ban-c:var(--zn-link);display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 16px;border:0;border-radius:var(--zn-radius);background:var(--zs-ban);color:var(--zn-ink)}
:is(.zs,.zs-modal) .zs-ban>i{flex:none;font-size:20px;line-height:1;color:var(--zs-ban-c)}
:is(.zs,.zs-modal) .zs-ban b{font-weight:600;color:var(--zn-head)}
:is(.zs,.zs-modal) .zs-ban-b{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
:is(.zs,.zs-modal) .zs-ban-s{display:block;margin-top:4px}
:is(.zs,.zs-modal) .zs-ban:has(>.btn){align-items:center}
:is(.zs,.zs-modal) .zs-ban>.btn{flex:none;margin-left:auto}
:is(.zs,.zs-modal) .zs-ban-warn{--zs-ban:var(--zn-warn-bg);--zs-ban-c:var(--zn-warn)}
:is(.zs,.zs-modal) .zs-ban-bad{--zs-ban:var(--zn-bad-bg);--zs-ban-c:var(--zn-bad)}
:is(.zs,.zs-modal) .zs-ban-ok{--zs-ban:var(--zn-ok-bg);--zs-ban-c:var(--zn-ok)}
:is(.zs,.zs-modal) .zs-ban-mute{--zs-ban:var(--zn-line);--zs-ban-c:var(--zn-mute)}
.zs .zs-num{text-align:right;white-space:nowrap}
.zs .zs-mute{color:var(--zn-mute)}
.zs .zs-sub{display:block;font-size:var(--zn-fs-xs);color:var(--zn-mute)}
.zs .zs-fs-xs{font-size:var(--zn-fs-xs)}
.zs .zs-fs{font-size:var(--zn-fs)}
.zs .zs-fs-lg{font-size:var(--zn-fs-lg)}
.zs .zs-fs-xl{font-size:var(--zn-fs-xl);line-height:1.2}
.zs .zs-fs-hero{font-size:var(--zn-fs-hero);font-weight:600;line-height:1.2;color:var(--zn-head)}
.zs .zs-fw-m{font-weight:500}
.zs .zs-fw-b{font-weight:600}
.zs .zs-scroll{max-height:60vh;overflow:auto}
.zs :is(.zs-scroll,.zs-list .table-responsive)::after{content:"";position:sticky;bottom:0;left:0;z-index:3;display:block;height:24px;margin-top:-24px;background:linear-gradient(transparent,var(--zn-card));transform:scaleY(.5);transform-origin:bottom;pointer-events:none}
@supports (animation-timeline:scroll()){.zs :is(.zs-scroll,.zs-list .table-responsive)::after{animation:zs-foot linear both;animation-timeline:scroll(nearest block);animation-range:calc(100% - 24px) 100%}}
@keyframes zs-foot{from{transform:none}to{transform:scaleY(.5)}}
@media (max-width:575.98px){.zs :is(.zs-scroll,.zs-list .table-responsive){max-height:none}}
.zs .zs-hide{display:none}
.zs .zs-clamp2{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.zs .zs-unit{margin-left:4px;font-size:var(--zn-fs);font-weight:400;color:var(--zn-mute)}

