/* ==========================================================================
   KMT UI — Perfex mapping layer
   Re-skins Perfex / Bootstrap 3 / Tailwind markup with the KMT tokens.
   Scoped to html.kmt so it never leaks when the module is off.
   ========================================================================== */

/* ---------- 1. Canvas ---------- */
html.kmt,html.kmt body{background:var(--k-bg)!important;color:var(--k-text)}
html.kmt body.app::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 520px at 100% -10%,var(--k-glow-1),transparent 60%),
    radial-gradient(800px 520px at 0% 30%,var(--k-glow-2),transparent 60%),
    linear-gradient(var(--k-grid-line) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,var(--k-grid-line) 1px,transparent 1px) 0 0/44px 44px;
}
html.kmt a{color:var(--k-accent-ink)}
html.kmt a:hover,html.kmt a:focus{color:var(--k-text)}
html.kmt hr{border-color:var(--k-line)}
html.kmt .text-muted,html.kmt .text-muted a{color:var(--k-text-2)!important}
html.kmt small,html.kmt .small{color:inherit}
html.kmt code,html.kmt kbd,html.kmt pre,html.kmt samp{font-family:var(--k-mono)}
html.kmt code{background:var(--k-accent-soft);color:var(--k-accent-ink);border-radius:6px;padding:2px 6px;direction:ltr;unicode-bidi:isolate}
html.kmt pre{background:var(--k-surface-2);color:var(--k-text);border:1px solid var(--k-line);border-radius:var(--k-r)}
html.kmt .bold,html.kmt b,html.kmt strong{font-weight:700}
html.kmt .text-success{color:var(--k-success)!important}
html.kmt .text-danger{color:var(--k-danger)!important}
html.kmt .text-warning{color:var(--k-warning)!important}
html.kmt .text-info{color:var(--k-info)!important}
html.kmt .text-primary{color:var(--k-accent-ink)!important}
html.kmt img.k-avatar{object-fit:cover;padding:0}

/* ---------- 2. Shell: sidebar, header, wrapper ---------- */
html.kmt #wrapper{
  margin:0!important;margin-inline-start:var(--k-side-w)!important;
  padding-top:var(--k-head-h);background:transparent!important;min-height:100dvh!important;height:auto!important;
  transition:margin var(--k-t) var(--k-ease);
}
html.kmt body:not(:has(#menu)) #wrapper{margin-inline-start:0!important}
html.kmt #wrapper .content{padding:var(--k-s6) clamp(16px,2.2vw,32px) var(--k-s10);max-width:var(--k-max);margin-inline:auto;min-width:0}

/* sidebar */
html.kmt #menu.k-side{
  position:fixed!important;top:0;bottom:0;left:auto;right:auto;inset-inline-start:0;
  width:var(--k-side-w)!important;min-height:0!important;height:100dvh;margin:0!important;padding:0;
  display:flex;flex-direction:column;z-index:var(--k-z-side);
  background:linear-gradient(180deg,var(--k-surface),var(--k-bg-2));
  border:0;border-inline-end:1px solid var(--k-line);
  transition:width var(--k-t) var(--k-ease),transform var(--k-t-slow) var(--k-ease),box-shadow var(--k-t) var(--k-ease);
}
html.kmt .k-side__brand{height:var(--k-head-h);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-bottom:1px solid var(--k-line)}
html.kmt .k-side__brand .k-brand img{width:36px;height:36px}
html.kmt .k-side__scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 12px 16px;scrollbar-width:thin;scrollbar-color:var(--k-line-2) transparent}
html.kmt .k-side__foot{flex-shrink:0;padding:10px 12px;border-top:1px solid var(--k-line)}
html.kmt .k-side__rail{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border-radius:var(--k-r);border:0;background:transparent;color:var(--k-text-2);font:600 var(--k-fs-sm)/1.4 var(--k-font);cursor:pointer}
html.kmt .k-side__rail:hover{background:var(--k-neutral-soft);color:var(--k-text)}
html.kmt .k-side__rail:focus-visible{outline:0;box-shadow:var(--k-focus)}
html.kmt .k-side__rail .k-ico{width:19px;height:19px}

html.kmt #side-menu{margin:0!important;padding:0}
html.kmt #side-menu>li{border:0!important;margin:0;float:none}
html.kmt #side-menu>li.k-side__group{padding:18px 12px 6px;font-size:11px;font-weight:700;color:var(--k-text-3);letter-spacing:.2px;white-space:nowrap;overflow:hidden}
html.kmt #side-menu>li.k-side__group:first-child{padding-top:6px}
html.kmt #side-menu>li.k-side__group span{display:flex;align-items:center;gap:8px}
html.kmt #side-menu>li.k-side__group span::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--k-line),transparent)}
html.kmt[dir="rtl"] #side-menu>li.k-side__group span::after{background:linear-gradient(270deg,var(--k-line),transparent)}
html.kmt .sidebar ul.nav li a,
html.kmt #side-menu>li>a{
  display:flex!important;align-items:center;gap:12px;padding:9px 12px!important;margin:1px 0 0!important;border-radius:var(--k-r)!important;
  color:var(--k-text-2)!important;font:600 var(--k-fs-base)/1.5 var(--k-font)!important;border:1px solid transparent!important;
  background:transparent!important;box-shadow:none!important;white-space:nowrap;
  transition:background-color var(--k-t-fast),color var(--k-t-fast),border-color var(--k-t-fast);
}
html.kmt #side-menu>li>a .menu-icon{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;color:var(--k-text-3);margin:0!important;float:none!important;font-size:16px}
html.kmt #side-menu>li>a .menu-icon .k-ico{width:20px;height:20px}
html.kmt #side-menu>li>a .menu-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
html.kmt #side-menu>li>a:hover{background:var(--k-neutral-soft)!important;color:var(--k-text)!important}
html.kmt #side-menu>li>a:hover .menu-icon{color:var(--k-text)}
html.kmt #side-menu>li>a:focus-visible{outline:0;box-shadow:var(--k-focus)!important}
html.kmt #side-menu>li.active>a{
  background:linear-gradient(90deg,transparent,var(--k-accent-soft))!important;color:var(--k-text)!important;border-color:var(--k-accent-line)!important;
}
html.kmt[dir="rtl"] #side-menu>li.active>a{background:linear-gradient(270deg,transparent,var(--k-accent-soft))!important}
html.kmt #side-menu>li.active>a .menu-icon{color:var(--k-accent)}
html.kmt #side-menu>li.active>a::before{content:"";position:absolute;inset-inline-start:-12px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--k-grad)}
html.kmt[dir="rtl"] #side-menu>li.active>a::before{border-radius:3px 0 0 3px}
html.kmt #side-menu>li{position:relative}
html.kmt .k-side__chev{margin:0!important;display:grid;place-items:center;color:var(--k-text-3);transition:transform var(--k-t) var(--k-ease)}
html.kmt .k-side__chev::before{content:none!important}
html.kmt .k-side__chev .k-ico{width:16px;height:16px}
html.kmt #side-menu>li.active>a .k-side__chev,html.kmt #side-menu>li>a[aria-expanded="true"] .k-side__chev{transform:rotate(180deg)}
html.kmt .k-side__badge{margin:0;font-size:11px;padding:1px 8px;border-radius:99px;line-height:1.6;background:var(--k-accent-soft)!important;color:var(--k-accent-ink)!important;direction:ltr}
html.kmt .k-side__badge.k-badge--warning{background:var(--k-warning-soft)!important;color:var(--k-warning)!important}
html.kmt .k-side__badge.k-badge--danger{background:var(--k-danger-soft)!important;color:var(--k-danger)!important}
html.kmt .k-side__badge.k-badge--success{background:var(--k-success-soft)!important;color:var(--k-success)!important}
html.kmt #side-menu .nav-second-level{padding:2px 0 6px!important;margin:0;margin-inline-start:22px;border-inline-start:1px solid var(--k-line);padding-inline-start:10px!important;background:transparent!important}
html.kmt #side-menu .nav-second-level li a{padding:7px 12px!important;font-size:var(--k-fs-sm)!important;font-weight:400!important;color:var(--k-text-2)!important}
html.kmt #side-menu .nav-second-level li a:hover{color:var(--k-text)!important;background:var(--k-neutral-soft)!important}
html.kmt #side-menu .nav-second-level li.active a{color:var(--k-accent-ink)!important;background:var(--k-accent-soft)!important;font-weight:600!important}
html.kmt #side-menu .nav-second-level .badge{margin-inline-start:auto}
/* pinned projects (Perfex view) */
html.kmt #side-menu .pinned-separator{border-color:var(--k-line)}
html.kmt #side-menu li.pinned_project a{font-size:var(--k-fs-sm)!important}

/* setup customizer (Perfex "settings" side panel) */
html.kmt #setup-menu-wrapper{
  position:fixed!important;top:0;bottom:0;left:auto;right:auto;inset-inline-start:var(--k-side-w);width:268px!important;z-index:calc(var(--k-z-side) - 1);
  background:var(--k-surface)!important;border-inline-end:1px solid var(--k-line);box-shadow:var(--k-shadow-lg);overflow-y:auto;padding:12px;min-height:0!important;margin:0!important
}
html.kmt #setup-menu{margin-top:calc(var(--k-head-h) - 12px)!important}
html.kmt #setup-menu>li>a{display:flex!important;align-items:center;gap:10px;border-radius:var(--k-r)!important;padding:9px 12px!important;color:var(--k-text-2)!important;background:transparent!important;font-weight:600!important;border:1px solid transparent!important;box-shadow:none!important}
html.kmt #setup-menu>li>a:hover,html.kmt #setup-menu>li.active>a{background:var(--k-neutral-soft)!important;color:var(--k-text)!important}
html.kmt #setup-menu .nav-second-level{margin-inline-start:16px;border-inline-start:1px solid var(--k-line)}
html.kmt #setup-menu .customizer-heading,html.kmt #setup-menu-wrapper .customizer-heading{color:var(--k-text)}

/* header */
html.kmt #header.k-header{
  position:fixed!important;top:0;left:auto;right:auto;inset-inline-start:var(--k-side-w);inset-inline-end:0;height:var(--k-head-h)!important;
  z-index:var(--k-z-head);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(12px,2vw,28px);
  background:var(--k-glass)!important;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--k-line-soft);box-shadow:none!important;transition:inset-inline-start var(--k-t) var(--k-ease);
}
html.kmt .k-header__start,html.kmt .k-header__end{display:flex;align-items:center;gap:10px;min-width:0}
html.kmt .k-header__start{flex:1}
html.kmt .k-header__crumbs{min-width:0;overflow:hidden}
html.kmt .k-header__crumbs .k-crumbs{flex-wrap:nowrap;white-space:nowrap}
html.kmt .k-header__crumbs .k-crumbs li{overflow:hidden;text-overflow:ellipsis}
html.kmt .k-header__icons{display:flex!important;align-items:center;gap:6px;margin:0!important;float:none!important;padding:0;list-style:none}
html.kmt .k-header__icons>li{float:none!important;position:relative;display:flex;align-items:center}
html.kmt .k-header__icons>li>a,html.kmt .k-header__icons>li>button{padding:0!important;line-height:1!important;margin:0!important}
html.kmt .k-header__icons>li>a.k-iconbtn,html.kmt .k-header__icons>li>button.k-iconbtn{width:40px!important;height:40px!important;min-height:0!important}
html.kmt .k-header__icons>li>a.k-profile__btn{height:46px!important}
html.kmt .k-header__icons>li>a.k-iconbtn{display:inline-grid!important;color:var(--k-text-2)!important}
html.kmt .k-header__icons>li>a.k-iconbtn:hover,html.kmt .k-header__icons>li.open>a.k-iconbtn{color:var(--k-text)!important;background:var(--k-neutral-soft)!important;border-color:var(--k-line-2)}
html.kmt .k-iconbtn--accent{background:var(--k-btn-primary)!important;color:var(--k-btn-primary-text)!important;border-color:transparent!important}
html.kmt .k-header__icons>li>a.k-iconbtn--accent:hover{filter:saturate(1.1);color:var(--k-btn-primary-text)!important}
html.kmt .k-dot--ok{background:var(--k-success);color:#041022}
html.kmt .k-spin-slow{animation:k-spin 6s linear infinite}
/* Perfex notifications trigger (markup from its own view) */
html.kmt .k-notif>a.notifications-icon{
  width:40px;height:40px;border-radius:var(--k-r);display:inline-grid!important;place-items:center;border:1px solid var(--k-line);color:var(--k-text-2)!important;padding:0!important;background:transparent!important
}
html.kmt .k-notif>a.notifications-icon:hover,html.kmt .k-notif.open>a.notifications-icon{color:var(--k-text)!important;background:var(--k-neutral-soft)!important;border-color:var(--k-line-2)}
html.kmt .k-notif>a.notifications-icon>span{display:grid!important;place-items:center;width:auto!important;height:auto!important;margin:0!important}
html.kmt .k-notif>a.notifications-icon i{color:currentColor!important;font-size:17px}
html.kmt .k-notif .icon-notifications{top:-4px!important;right:auto!important;left:auto!important;inset-inline-end:-4px;background:var(--k-danger)!important;color:#fff!important;box-shadow:0 0 0 2px var(--k-bg);margin:0!important;font-weight:700;direction:ltr}
html.kmt .k-notif .dropdown-menu.notifications{width:min(400px,calc(100vw - 24px))!important;max-height:min(520px,70vh);overflow:auto;padding:6px!important}
html.kmt .notification-box{border-radius:var(--k-r-sm);color:var(--k-text)}
html.kmt .unread-notification .notification-box{background:var(--k-accent-soft)}
html.kmt .notification-title{color:var(--k-text)!important}
html.kmt .notification-date{color:var(--k-text-3)!important}

/* search trigger */
html.kmt .k-searchbtn{
  display:inline-flex;align-items:center;gap:10px;height:40px;min-width:260px;padding:0 10px 0 14px;border-radius:var(--k-r);
  border:1px solid var(--k-line);background:var(--k-surface-2);color:var(--k-text-3);font:400 var(--k-fs-sm)/1 var(--k-font);cursor:pointer;
  transition:border-color var(--k-t-fast),color var(--k-t-fast);
}
html.kmt[dir="rtl"] .k-searchbtn{padding:0 14px 0 10px}
html.kmt .k-searchbtn:hover{border-color:var(--k-line-2);color:var(--k-text-2)}
html.kmt .k-searchbtn:focus-visible{outline:0;box-shadow:var(--k-focus)}
html.kmt .k-searchbtn .k-ico{width:18px;height:18px}
html.kmt .k-searchbtn__text{flex:1;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.kmt .k-searchbtn__keys{display:inline-flex;gap:3px}

/* profile */
html.kmt .k-profile__btn{display:flex!important;align-items:center;gap:10px;padding:4px 6px!important;border-radius:var(--k-r);color:var(--k-text)!important;background:transparent!important;border:1px solid transparent;margin-inline-start:4px}
html.kmt .k-profile__btn:hover,html.kmt .k-profile.open .k-profile__btn{background:var(--k-neutral-soft)!important;border-color:var(--k-line)}
html.kmt .k-profile__btn .k-avatar{--_s:34px}
html.kmt .k-profile__name{font-weight:600;font-size:var(--k-fs-sm);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.kmt .k-profile__chev{width:16px;height:16px;color:var(--k-text-3)}
html.kmt .k-profile__menu{width:280px}
html.kmt .k-profile__menu .k-menu__head{display:flex!important}
html.kmt .k-profile__menu .k-avatar{--_s:40px}
html.kmt .k-langs{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 6px}
html.kmt .k-langs a{width:auto!important;padding:5px 10px!important;border:1px solid var(--k-line);font-size:var(--k-fs-xs)!important}
html.kmt .k-langs a.is-active{border-color:var(--k-accent-line);color:var(--k-accent-ink)!important;background:var(--k-accent-soft)}
html.kmt .k-menu__fa{width:18px;text-align:center;color:var(--k-text-3)}

/* command palette content (Perfex search output) */
html.kmt .k-cmdk__input{
  flex:1;min-width:0;height:58px;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;
  color:var(--k-text);font:400 18px/1.4 var(--k-font)!important;padding:0!important;
}
html.kmt .k-cmdk__input::placeholder{color:var(--k-text-3)}
html.kmt .k-cmdk__input::-webkit-search-cancel-button{display:none}
html.kmt #top_search{position:relative}
html.kmt #top_search_button button{color:var(--k-text-3);background:transparent;border:0}
html.kmt #top_search_button button:not(.search_remove){display:none}
html.kmt #search_results{display:block}
html.kmt #search_results:empty~.k-cmdk__hint{display:block}
html.kmt .k-cmdk__hint{display:none;margin:8px 10px 6px;font-size:var(--k-fs-sm);color:var(--k-text-3)}
html.kmt #search_results:not(:empty)~.k-cmdk__hint{display:none}
html.kmt #search_results .search-results,html.kmt #search_results>ul{position:static!important;display:block!important;float:none;width:100%!important;box-shadow:none!important;border:0!important;background:transparent!important;margin:0;padding:0;max-height:none!important}
html.kmt #search_results .dropdown-header,html.kmt #search_results li.dropdown-header{padding:12px 10px 6px!important;font-size:11px;font-weight:700;color:var(--k-accent)!important;letter-spacing:.3px;background:transparent!important}
html.kmt #search_results li a{display:block;padding:9px 12px!important;border-radius:var(--k-r-sm);color:var(--k-text)!important;white-space:normal}
html.kmt #search_results li a:hover,html.kmt #search_results li a:focus{background:var(--k-accent-soft)!important;outline:0}
html.kmt #search_results li.divider{background:var(--k-line)!important}
html.kmt #search-history{position:static!important;float:none;width:100%!important;box-shadow:none!important;border:0!important;background:transparent!important;margin:0;display:none}
html.kmt #search-history.display-block{display:block}
html.kmt #search-history li a{padding:8px 12px!important;border-radius:var(--k-r-sm);color:var(--k-text-2)!important}
html.kmt #search-history li a:hover{background:var(--k-neutral-soft)!important}
html.kmt .k-cmdk .highlight{background:var(--k-gold-soft);color:var(--k-gold)}

/* rail (desktop collapsed) */
@media (min-width:769px){
  html.kmt.k-rail #menu.k-side{width:var(--k-rail-w)!important}
  html.kmt.k-rail #wrapper{margin-inline-start:var(--k-rail-w)!important}
  html.kmt.k-rail #header.k-header{inset-inline-start:var(--k-rail-w)}
  html.kmt.k-rail #setup-menu-wrapper{inset-inline-start:var(--k-rail-w)}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .k-side__label,
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .menu-text,
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .k-side__chev,
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .k-side__badge,
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .nav-second-level{display:none!important}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) #side-menu>li.k-side__group span{font-size:0}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) #side-menu>li.k-side__group{padding:12px 8px 6px}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) #side-menu>li>a{justify-content:center;padding:10px!important}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .k-side__brand{padding:0 18px;justify-content:center}
  html.kmt.k-rail #menu.k-side:not(:hover):not(:focus-within) .k-side__rail{justify-content:center}
  html.kmt.k-rail #menu.k-side:hover,html.kmt.k-rail #menu.k-side:focus-within{width:var(--k-side-w)!important;box-shadow:var(--k-shadow-lg)}
  html.kmt .k-only-mobile,html.kmt .k-only-mobile-block{display:none!important}
  /* Perfex Shift+F full hide still works */
  html.kmt body.hide-sidebar:not(.show-sidebar) #menu.k-side{transform:translateX(-100%)}
  html.kmt[dir="rtl"] body.hide-sidebar:not(.show-sidebar) #menu.k-side{transform:translateX(100%)}
  html.kmt body.hide-sidebar:not(.show-sidebar) #wrapper{margin-inline-start:0!important}
  html.kmt body.hide-sidebar:not(.show-sidebar) #header.k-header{inset-inline-start:0}
}
html.kmt .k-side-scrim{display:none}

/* mobile & tablet: sidebar becomes a drawer (Perfex .page-small / .show-sidebar) */
@media (max-width:768px){
  html.kmt{--k-head-h:60px}
  html.kmt #menu.k-side{width:min(300px,86vw)!important;transform:translateX(-105%);box-shadow:none}
  html.kmt[dir="rtl"] #menu.k-side{transform:translateX(105%)}
  html.kmt body.show-sidebar #menu.k-side{transform:none!important;box-shadow:var(--k-shadow-lg)}
  html.kmt body.show-sidebar .k-side-scrim{display:block;position:fixed;inset:0;z-index:calc(var(--k-z-side) - 1);background:var(--k-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  html.kmt #wrapper,html.kmt body.page-small #wrapper,html.kmt body.page-small.show-sidebar #wrapper{margin:0!important}
  html.kmt #header.k-header{inset-inline-start:0!important;padding:0 12px}
  html.kmt #setup-menu-wrapper{inset-inline-start:0;width:min(300px,86vw)!important;z-index:var(--k-z-side)}
  html.kmt .k-only-desktop,html.kmt .k-only-desktop-flex{display:none!important}
  html.kmt .k-searchbtn{min-width:0;width:40px;padding:0!important;justify-content:center}
  html.kmt .k-searchbtn__text,html.kmt .k-searchbtn__keys,html.kmt .k-profile__name,html.kmt .k-profile__chev{display:none}
  html.kmt .k-header__crumbs .k-crumbs li:not(:last-child){display:none}
  html.kmt .k-header__crumbs .k-crumbs li:last-child::before{display:none}
  html.kmt .k-header__end{gap:6px}
  html.kmt .k-header__icons{gap:4px}
  html.kmt .k-iconbtn,html.kmt .k-notif>a.notifications-icon{width:38px;height:38px}
  html.kmt .k-profile__btn{padding:2px!important;margin:0}
  html.kmt .k-header__icons .dropdown-menu{position:fixed!important;top:calc(var(--k-head-h) + 6px)!important;left:12px!important;right:12px!important;width:auto!important;max-width:none}
  html.kmt #wrapper .content{padding:var(--k-s4) 14px var(--k-s8)}
}
@media (max-width:400px){
  html.kmt .k-header__icons>li.header-timers{display:none}
}

/* ---------- 3. Panels / cards ---------- */
html.kmt .panel_s,html.kmt .panel{background:transparent;border:0;box-shadow:none}
html.kmt .panel_s>.panel-body,html.kmt .panel-body,html.kmt .panel_s .panel-body{
  background:var(--k-surface)!important;color:var(--k-text);border:1px solid var(--k-line)!important;border-radius:var(--k-r-lg)!important;
  box-shadow:var(--k-shadow-sm)!important;padding:var(--k-s6);
}
html.kmt .panel-heading,html.kmt .panel_s .panel-heading,html.kmt .panel-default>.panel-heading{
  background:var(--k-surface-2)!important;color:var(--k-text)!important;border:1px solid var(--k-line)!important;border-bottom:0!important;
  border-radius:var(--k-r-lg) var(--k-r-lg) 0 0!important;padding:14px var(--k-s6);font-weight:700
}
html.kmt .panel-heading+.panel-body{border-top-left-radius:0!important;border-top-right-radius:0!important}
html.kmt .panel-footer{background:var(--k-surface-2)!important;border:1px solid var(--k-line)!important;border-top:0!important;border-radius:0 0 var(--k-r-lg) var(--k-r-lg)!important;color:var(--k-text-2)}
html.kmt .panel-body:has(+.panel-footer){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
html.kmt .panel-title{color:var(--k-text);font-weight:700}
html.kmt .well{background:var(--k-surface-2);border:1px solid var(--k-line);border-radius:var(--k-r);box-shadow:none;color:var(--k-text)}
html.kmt .panel-group .panel{border-radius:var(--k-r-lg)}
html.kmt h4.tw-font-semibold,html.kmt .tw-font-semibold.tw-text-lg{color:var(--k-text)}
html.kmt .page-header,html.kmt .content>.row>.col-md-12>h4:first-child{border-color:var(--k-line)}
html.kmt .list-group-item{background:var(--k-surface);border-color:var(--k-line);color:var(--k-text)}
html.kmt a.list-group-item:hover{background:var(--k-surface-2)}
html.kmt .list-group-item.active{background:var(--k-accent-soft);border-color:var(--k-accent-line);color:var(--k-accent-ink)}

/* ---------- 4. Buttons ---------- */
html.kmt .btn{
  font-family:var(--k-font)!important;font-weight:600;font-size:var(--k-fs-sm);line-height:1.5;border-radius:var(--k-r)!important;
  min-height:38px;padding:7px 16px;border:1px solid transparent;box-shadow:none!important;text-shadow:none;
  transition:background-color var(--k-t) var(--k-ease),border-color var(--k-t) var(--k-ease),color var(--k-t) var(--k-ease),box-shadow var(--k-t) var(--k-ease),filter var(--k-t);
}
html.kmt .btn:focus,html.kmt .btn:active:focus,html.kmt .btn.active:focus{outline:0!important}
html.kmt .btn:focus-visible{box-shadow:var(--k-focus)!important}
html.kmt .btn-xs{min-height:28px;padding:2px 10px;font-size:var(--k-fs-xs);border-radius:8px!important}
html.kmt .btn-sm{min-height:32px;padding:4px 12px;border-radius:var(--k-r-sm)!important}
html.kmt .btn-lg{min-height:48px;padding:10px 22px;font-size:var(--k-fs-md)}
html.kmt .btn-primary,html.kmt .btn-primary:hover,html.kmt .btn-primary:focus,html.kmt .btn-primary:active,html.kmt .btn-primary.active,html.kmt .open>.dropdown-toggle.btn-primary{
  background:var(--k-btn-primary)!important;border-color:transparent!important;color:var(--k-btn-primary-text)!important;
}
html.kmt .btn-primary{box-shadow:0 8px 22px -14px rgba(34,211,238,.7)!important}
html.kmt .btn-primary:hover{filter:saturate(1.1) brightness(1.04);box-shadow:0 12px 28px -14px rgba(34,211,238,.85)!important}
html.kmt .btn-default,html.kmt .btn-default:focus,html.kmt .btn-default:active,html.kmt .open>.dropdown-toggle.btn-default{
  background:var(--k-surface-2)!important;border-color:var(--k-line-2)!important;color:var(--k-text)!important
}
html.kmt .btn-default:hover{border-color:var(--k-accent-line)!important;color:var(--k-accent-ink)!important;background:var(--k-surface-2)!important}
html.kmt .btn-default.active{background:var(--k-accent-soft)!important;border-color:var(--k-accent-line)!important;color:var(--k-accent-ink)!important}
html.kmt .btn-success,html.kmt .btn-success:hover,html.kmt .btn-success:focus{background:var(--k-success)!important;border-color:transparent!important;color:#04150e!important}
html.kmt[data-kt="light"] .btn-success,html.kmt[data-kt="light"] .btn-success:hover{color:#fff!important}
html.kmt .btn-info,html.kmt .btn-info:hover,html.kmt .btn-info:focus{background:var(--k-info-soft)!important;border-color:color-mix(in srgb,var(--k-info) 45%,transparent)!important;color:var(--k-info)!important}
html.kmt .btn-warning,html.kmt .btn-warning:hover,html.kmt .btn-warning:focus{background:var(--k-warning-soft)!important;border-color:color-mix(in srgb,var(--k-warning) 45%,transparent)!important;color:var(--k-warning)!important}
html.kmt .btn-danger,html.kmt .btn-danger:focus{background:var(--k-danger-soft)!important;border-color:color-mix(in srgb,var(--k-danger) 45%,transparent)!important;color:var(--k-danger)!important}
html.kmt .btn-danger:hover{background:var(--k-danger)!important;color:#fff!important}
html.kmt .btn-link{color:var(--k-accent-ink)!important;background:transparent!important;border-color:transparent!important}
html.kmt .btn-link:hover{background:var(--k-accent-soft)!important;text-decoration:none}
html.kmt .btn.disabled,html.kmt .btn[disabled]{opacity:.5}
html.kmt .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0!important}
html.kmt .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-start-end-radius:0!important;border-end-end-radius:0!important}
html.kmt .btn-group>.btn:last-child:not(:first-child),html.kmt .btn-group>.dropdown-toggle:not(:first-child){border-start-start-radius:0!important;border-end-start-radius:0!important}
html.kmt .btn-icon{min-height:30px;padding:4px 8px}
html.kmt .btn-bottom-toolbar{
  background:var(--k-glass)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--k-line)!important;
  box-shadow:0 -10px 30px -20px rgba(0,0,0,.5)!important;width:auto!important;left:0!important;right:0!important;inset-inline-start:var(--k-side-w)!important;margin:0!important;padding:12px 24px!important;z-index:50
}
html.kmt.k-rail .btn-bottom-toolbar{inset-inline-start:var(--k-rail-w)!important}
@media (max-width:768px){html.kmt .btn-bottom-toolbar{inset-inline-start:0!important}}

/* ---------- 5. Forms ---------- */
html.kmt label,html.kmt .control-label{color:var(--k-text);font-weight:600;font-size:var(--k-fs-sm)}
html.kmt .form-group{margin-bottom:var(--k-s5)}
html.kmt .form-control,
html.kmt .bootstrap-select>.dropdown-toggle,
html.kmt .bootstrap-select .btn.dropdown-toggle,
html.kmt .input-group .form-control,
html.kmt select.form-control,
html.kmt .tagit,html.kmt ul.tagit{
  background:var(--k-surface-2)!important;border:1px solid var(--k-line-2)!important;color:var(--k-text)!important;
  border-radius:var(--k-r)!important;box-shadow:none!important;font-family:var(--k-font)!important;
  min-height:42px;height:auto;padding:8px 14px;font-size:16px;line-height:1.6;
  transition:border-color var(--k-t) var(--k-ease),box-shadow var(--k-t) var(--k-ease),background-color var(--k-t);
}
@media (min-width:769px){html.kmt .form-control,html.kmt .bootstrap-select .btn.dropdown-toggle{font-size:var(--k-fs-base)}}
html.kmt textarea.form-control{min-height:96px}
html.kmt .form-control::placeholder{color:var(--k-text-3)!important;opacity:1}
html.kmt .form-control:hover,html.kmt .bootstrap-select>.dropdown-toggle:hover{border-color:color-mix(in srgb,var(--k-accent) 30%,var(--k-line-2))!important}
html.kmt .form-control:focus,html.kmt .bootstrap-select.open>.dropdown-toggle,html.kmt .bootstrap-select>.dropdown-toggle:focus{
  border-color:var(--k-accent)!important;box-shadow:var(--k-focus)!important;outline:0!important;background:var(--k-surface)!important
}
html.kmt .form-control[disabled],html.kmt .form-control[readonly],html.kmt fieldset[disabled] .form-control{background:var(--k-surface-3)!important;color:var(--k-text-2)!important;opacity:1}
html.kmt .has-error .form-control,html.kmt .form-control.error,html.kmt input.error{border-color:var(--k-danger)!important}
html.kmt .has-error .help-block,html.kmt p.text-danger,html.kmt label.error,html.kmt .form-group p.text-danger{color:var(--k-danger)!important;font-size:var(--k-fs-xs);font-weight:400;margin-top:6px}
html.kmt .help-block{color:var(--k-text-3)}
html.kmt .input-group-addon,html.kmt .input-group-btn>.btn{
  background:var(--k-surface-3)!important;border-color:var(--k-line-2)!important;color:var(--k-text-2)!important;border-radius:var(--k-r)!important
}
html.kmt[dir="rtl"] .input-group .form-control:first-child,html.kmt[dir="rtl"] .input-group-addon:first-child{border-radius:0 var(--k-r) var(--k-r) 0!important}
html.kmt[dir="rtl"] .input-group .form-control:last-child,html.kmt[dir="rtl"] .input-group-addon:last-child{border-radius:var(--k-r) 0 0 var(--k-r)!important}
html.kmt[dir="rtl"] .input-group .form-control:not(:first-child):not(:last-child){border-radius:0!important}
html.kmt .bootstrap-select .filter-option{color:var(--k-text)}
html.kmt .bootstrap-select .bs-placeholder .filter-option{color:var(--k-text-3)!important}
html.kmt .bootstrap-select .dropdown-menu{padding:6px}
html.kmt .bootstrap-select .dropdown-menu li a{border-radius:var(--k-r-sm)}
html.kmt .bootstrap-select .dropdown-menu li.selected a{background:var(--k-accent-soft)!important;color:var(--k-accent-ink)!important}
html.kmt .bootstrap-select .bs-searchbox .form-control{min-height:38px}
html.kmt .bootstrap-select .caret{border-top-color:var(--k-text-3)}

/* Perfex checkbox / radio (label::before box) */
html.kmt .checkbox label,html.kmt .radio label{color:var(--k-text);font-weight:400;font-size:var(--k-fs-base)}
html.kmt .checkbox label::before,html.kmt .radio label::before{
  background:var(--k-surface-2)!important;border:1.5px solid var(--k-line-2)!important;width:18px!important;height:18px!important;border-radius:6px!important;
  transition:background-color var(--k-t-fast),border-color var(--k-t-fast)
}
html.kmt .radio label::before{border-radius:50%!important}
html.kmt .checkbox input[type=checkbox]:checked+label::before,html.kmt .checkbox input[type=radio]:checked+label::before{background:var(--k-accent)!important;border-color:var(--k-accent)!important}
html.kmt .checkbox input[type=checkbox]:checked+label::after{color:var(--k-text-inv)!important}
html.kmt .radio input[type=radio]:checked+label::before{border-color:var(--k-accent)!important}
html.kmt .radio label::after{background:var(--k-accent)!important}
html.kmt .checkbox input[type=checkbox]:focus-visible+label::before,html.kmt .radio input[type=radio]:focus-visible+label::before{box-shadow:var(--k-focus)}
/* Perfex on/off switch */
html.kmt .onoffswitch-label{border:0!important;border-radius:99px!important;background:var(--k-line-2)!important}
html.kmt .onoffswitch-label::before{border:0!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.3)}
html.kmt .onoffswitch-checkbox:checked+.onoffswitch-label{background:var(--k-accent)!important}

/* datetimepicker (xdsoft) & daterangepicker */
html.kmt .xdsoft_datetimepicker{background:var(--k-surface)!important;border:1px solid var(--k-line-2)!important;border-radius:var(--k-r-md)!important;box-shadow:var(--k-shadow-lg)!important;color:var(--k-text);font-family:var(--k-font)!important;padding:10px!important}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar td,html.kmt .xdsoft_datetimepicker .xdsoft_calendar th{background:transparent!important;border-color:var(--k-line)!important;color:var(--k-text)!important;border-radius:8px}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar th{color:var(--k-text-3)!important}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month{opacity:.4}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar td:hover,html.kmt .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{background:var(--k-accent-soft)!important;color:var(--k-accent-ink)!important}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,html.kmt .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:var(--k-accent)!important;color:var(--k-text-inv)!important;box-shadow:none!important}
html.kmt .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:var(--k-gold)!important;font-weight:700}
html.kmt .xdsoft_datetimepicker .xdsoft_label{background:transparent!important;color:var(--k-text)!important}
html.kmt .xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{background:var(--k-surface)!important;border-color:var(--k-line-2)!important}
html.kmt .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{border-color:var(--k-line)!important}
html.kmt .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:transparent!important;border-color:var(--k-line)!important;color:var(--k-text)!important}
html.kmt[data-kt="dark"] .xdsoft_datetimepicker .xdsoft_next,html.kmt[data-kt="dark"] .xdsoft_datetimepicker .xdsoft_prev,html.kmt[data-kt="dark"] .xdsoft_datetimepicker .xdsoft_today_button{filter:invert(1)}

/* ---------- 6. Tables & DataTables ---------- */
html.kmt .table{color:var(--k-text);background:transparent;margin-bottom:0}
html.kmt .table>thead>tr>th,html.kmt table.dataTable thead th,html.kmt table.dataTable thead td{
  background:var(--k-surface-2)!important;color:var(--k-text-2)!important;font-weight:600!important;font-size:var(--k-fs-sm)!important;
  border-bottom:1px solid var(--k-line)!important;border-top:0!important;padding:12px 14px!important;white-space:nowrap;vertical-align:middle
}
html.kmt .table>tbody>tr>td,html.kmt .table>tbody>tr>th,html.kmt .table>tfoot>tr>td{border-top:1px solid var(--k-line)!important;padding:12px 14px!important;vertical-align:middle;line-height:1.65}
html.kmt .table-striped>tbody>tr:nth-of-type(odd){background:color-mix(in srgb,var(--k-surface-2) 55%,transparent)}
html.kmt .table-hover>tbody>tr:hover,html.kmt table.dataTable tbody tr:hover{background:var(--k-accent-soft)!important}
html.kmt .table-bordered,html.kmt .table-bordered>tbody>tr>td,html.kmt .table-bordered>thead>tr>th{border-color:var(--k-line)!important}
html.kmt table.dataTable{border-collapse:separate!important;border-spacing:0}
html.kmt table.dataTable tbody tr{background:transparent!important}
html.kmt table.dataTable tbody tr.selected,html.kmt table.dataTable tbody tr.active{background:var(--k-accent-soft)!important}
html.kmt table.dataTable thead .sorting::after,html.kmt table.dataTable thead .sorting_asc::after,html.kmt table.dataTable thead .sorting_desc::after{opacity:.5;color:var(--k-text-3)}
html.kmt table.dataTable thead .sorting_asc,html.kmt table.dataTable thead .sorting_desc{color:var(--k-text)!important}
html.kmt table.dataTable thead .sorting_asc::after,html.kmt table.dataTable thead .sorting_desc::after{opacity:1;color:var(--k-accent)}
html.kmt .table-responsive{border:0!important}
html.kmt .dataTables_wrapper{color:var(--k-text-2)}
html.kmt .dataTables_wrapper .dataTables_length select,html.kmt .dataTables_wrapper .dataTables_filter input{
  background:var(--k-surface-2)!important;border:1px solid var(--k-line-2)!important;color:var(--k-text)!important;border-radius:var(--k-r)!important;min-height:38px;box-shadow:none!important
}
html.kmt .dataTables_wrapper .dataTables_filter input:focus{border-color:var(--k-accent)!important;box-shadow:var(--k-focus)!important}
html.kmt .dataTables_wrapper .dataTables_info{color:var(--k-text-3)!important;font-size:var(--k-fs-sm)}
html.kmt .dataTables_wrapper .dataTables_processing{
  background:var(--k-glass)!important;border:1px solid var(--k-line-2)!important;border-radius:var(--k-r)!important;color:var(--k-text)!important;box-shadow:var(--k-shadow)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)
}
html.kmt .dataTables_empty{padding:var(--k-s10) var(--k-s4)!important;color:var(--k-text-2)!important;text-align:center!important;background:transparent!important}
html.kmt .dt-buttons .btn,html.kmt .dt-button{background:var(--k-surface-2)!important;border:1px solid var(--k-line-2)!important;color:var(--k-text-2)!important}
html.kmt .dt-buttons .btn:hover{color:var(--k-text)!important;border-color:var(--k-accent-line)!important}
html.kmt .row-options{color:var(--k-text-3)}
html.kmt .row-options a{color:var(--k-text-2)}
html.kmt .row-options a:hover{color:var(--k-accent-ink)}
html.kmt .row-options a._delete,html.kmt .row-options .text-danger{color:var(--k-danger)!important}
html.kmt table .tw-text-neutral-500{color:var(--k-text-3)!important}
html.kmt .table-loading{opacity:1!important}
html.kmt .table-loading tbody{opacity:.35}

/* pagination */
html.kmt .pagination{display:inline-flex;gap:4px;flex-wrap:wrap}
html.kmt .pagination>li>a,html.kmt .pagination>li>span{
  float:none;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;margin:0!important;
  border-radius:var(--k-r-sm)!important;border:1px solid var(--k-line)!important;background:var(--k-surface)!important;color:var(--k-text-2)!important;direction:ltr
}
html.kmt .pagination>li>a:hover{border-color:var(--k-accent-line)!important;color:var(--k-text)!important}
html.kmt .pagination>.active>a,html.kmt .pagination>.active>span,html.kmt .pagination>.active>a:hover{background:var(--k-accent-soft)!important;border-color:var(--k-accent-line)!important;color:var(--k-accent-ink)!important}
html.kmt .pagination>.disabled>a,html.kmt .pagination>.disabled>span{opacity:.45}

/* ---------- 7. Tabs ---------- */
html.kmt .nav-tabs{border-bottom:1px solid var(--k-line)!important;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px}
html.kmt .nav-tabs::-webkit-scrollbar{display:none}
html.kmt .nav-tabs>li{float:none;margin-bottom:-1px;flex-shrink:0}
html.kmt .nav-tabs>li>a{
  border:0!important;border-radius:0!important;background:transparent!important;color:var(--k-text-2)!important;font-weight:600;padding:11px 16px!important;margin:0!important;position:relative;white-space:nowrap
}
html.kmt .nav-tabs>li>a::after{content:"";position:absolute;inset-inline:10px;bottom:0;height:2px;border-radius:2px;background:var(--k-grad);transform:scaleX(0);transition:transform var(--k-t) var(--k-ease)}
html.kmt .nav-tabs>li>a:hover{color:var(--k-text)!important}
html.kmt .nav-tabs>li.active>a,html.kmt .nav-tabs>li.active>a:hover,html.kmt .nav-tabs>li.active>a:focus{color:var(--k-text)!important;background:transparent!important}
html.kmt .nav-tabs>li.active>a::after{transform:scaleX(1)}
html.kmt .horizontal-scrollable-tabs .arrow-left,html.kmt .horizontal-scrollable-tabs .arrow-right{background:var(--k-surface)!important;color:var(--k-text-2)!important;border-color:var(--k-line)!important}
html.kmt .horizontal-tabs,html.kmt .horizontal-scrollable-tabs{border-color:var(--k-line)!important}
html.kmt .nav-pills>li>a{border-radius:var(--k-r-sm);color:var(--k-text-2)}
html.kmt .nav-pills>li.active>a,html.kmt .nav-pills>li.active>a:hover{background:var(--k-accent-soft)!important;color:var(--k-accent-ink)!important}
html.kmt .tab-content{color:var(--k-text)}
html.kmt .nav>li>a:hover,html.kmt .nav>li>a:focus{background-color:var(--k-neutral-soft)}
html.kmt .customer-profile-group-heading,html.kmt .project-tabs{border-color:var(--k-line)}

/* ---------- 8. Dropdowns, popovers, tooltips ---------- */
html.kmt .dropdown-menu{
  background:var(--k-glass)!important;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid var(--k-line-2)!important;border-radius:var(--k-r-md)!important;box-shadow:var(--k-shadow-lg)!important;padding:6px;color:var(--k-text);min-width:200px
}
html.kmt .dropdown-menu>li>a{display:flex;align-items:center;gap:10px;color:var(--k-text)!important;padding:8px 12px;border-radius:var(--k-r-sm);font-size:var(--k-fs-base);line-height:1.55;white-space:normal}
html.kmt .dropdown-menu>li>a .k-ico{width:18px;height:18px;color:var(--k-text-3)}
html.kmt .dropdown-menu>li>a:hover,html.kmt .dropdown-menu>li>a:focus{background:var(--k-accent-soft)!important;color:var(--k-text)!important}
html.kmt .dropdown-menu>li>a:hover .k-ico{color:var(--k-accent)}
html.kmt .dropdown-menu>.active>a,html.kmt .dropdown-menu>.active>a:hover{background:var(--k-accent-soft)!important;color:var(--k-accent-ink)!important}
html.kmt .dropdown-menu .divider{background:var(--k-line)!important;margin:6px 4px}
html.kmt .dropdown-header{color:var(--k-text-3)!important;font-size:11px;font-weight:700;padding:8px 12px 4px}
html.kmt .popover{background:var(--k-surface)!important;border:1px solid var(--k-line-2)!important;border-radius:var(--k-r-md)!important;box-shadow:var(--k-shadow-lg)!important;color:var(--k-text);font-family:var(--k-font)}
html.kmt .popover-title{background:var(--k-surface-2)!important;border-color:var(--k-line)!important;color:var(--k-text)}
html.kmt .popover.top>.arrow::after{border-top-color:var(--k-surface)!important}
html.kmt .popover.bottom>.arrow::after{border-bottom-color:var(--k-surface)!important}
html.kmt .tooltip-inner{background:#0b1328!important;color:#e6edf8!important;font-family:var(--k-font);border-radius:8px;padding:6px 10px;font-size:var(--k-fs-xs);border:1px solid #2a3a63}
html.kmt .tooltip.top .tooltip-arrow{border-top-color:#0b1328!important}
html.kmt .tooltip.bottom .tooltip-arrow{border-bottom-color:#0b1328!important}

/* ---------- 9. Modals ---------- */
html.kmt .modal-backdrop{background:var(--k-overlay)!important}
html.kmt .modal-backdrop.in{opacity:1!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
html.kmt .modal-content{background:var(--k-surface)!important;border:1px solid var(--k-line-2)!important;border-radius:var(--k-r-lg)!important;box-shadow:var(--k-shadow-lg)!important;color:var(--k-text)}
html.kmt .modal-header{border-bottom:1px solid var(--k-line)!important;padding:18px 24px;background:transparent!important;border-radius:var(--k-r-lg) var(--k-r-lg) 0 0}
html.kmt .modal-title{font-weight:700;font-size:var(--k-fs-lg);color:var(--k-text)}
html.kmt .modal-body{padding:24px}
html.kmt .modal-footer{border-top:1px solid var(--k-line)!important;padding:14px 24px;background:var(--k-surface-2)!important;border-radius:0 0 var(--k-r-lg) var(--k-r-lg)}
html.kmt .close{color:var(--k-text-2)!important;opacity:.8;text-shadow:none;font-weight:400}
html.kmt .close:hover{opacity:1;color:var(--k-text)!important}
html.kmt .modal.fade .modal-dialog{transition:transform var(--k-t-slow) var(--k-ease)}

/* ---------- 10. Labels, badges, alerts, progress ---------- */
html.kmt .label{display:inline-flex;align-items:center;gap:5px;font-family:var(--k-font);font-weight:600;font-size:11.5px;line-height:1.6;padding:2px 10px;border-radius:99px;border:1px solid transparent}
html.kmt .label-default{background:var(--k-neutral-soft)!important;color:var(--k-text-2)!important;border-color:var(--k-line)!important}
html.kmt .label-primary,html.kmt .label-info{background:var(--k-info-soft)!important;color:var(--k-info)!important}
html.kmt .label-success{background:var(--k-success-soft)!important;color:var(--k-success)!important}
html.kmt .label-warning{background:var(--k-warning-soft)!important;color:var(--k-warning)!important}
html.kmt .label-danger{background:var(--k-danger-soft)!important;color:var(--k-danger)!important}
html.kmt .badge{font-family:var(--k-font);font-weight:700;border-radius:99px;background:var(--k-accent-soft);color:var(--k-accent-ink);direction:ltr}
html.kmt .bg-info,html.kmt .bg-success,html.kmt .bg-warning,html.kmt .bg-danger{color:#fff}
html.kmt .alert{border-radius:var(--k-r)!important;border:1px solid var(--k-line-2)!important;background:var(--k-surface-2)!important;color:var(--k-text)!important;box-shadow:none;line-height:1.8}
html.kmt .alert-success{background:var(--k-success-soft)!important;border-color:color-mix(in srgb,var(--k-success) 40%,transparent)!important}
html.kmt .alert-danger{background:var(--k-danger-soft)!important;border-color:color-mix(in srgb,var(--k-danger) 40%,transparent)!important}
html.kmt .alert-warning{background:var(--k-warning-soft)!important;border-color:color-mix(in srgb,var(--k-warning) 40%,transparent)!important}
html.kmt .alert-info{background:var(--k-info-soft)!important;border-color:color-mix(in srgb,var(--k-info) 40%,transparent)!important}
html.kmt .alert a{color:var(--k-accent-ink)!important;font-weight:600}
/* Perfex floating alerts (alert_float) → toast look */
html.kmt .float-alert{
  border-radius:var(--k-r-md)!important;background:var(--k-glass)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid var(--k-line-2)!important;border-inline-start:3px solid var(--k-accent)!important;box-shadow:var(--k-shadow-lg)!important;color:var(--k-text)!important;font-family:var(--k-font)
}
html.kmt .float-alert.alert-success{border-inline-start-color:var(--k-success)!important}
html.kmt .float-alert.alert-danger{border-inline-start-color:var(--k-danger)!important}
html.kmt .float-alert.alert-warning{border-inline-start-color:var(--k-warning)!important}
html.kmt .progress{background:var(--k-line)!important;border-radius:99px!important;box-shadow:none!important;height:8px}
html.kmt .progress-bar{background:var(--k-grad)!important;box-shadow:none!important;border-radius:99px}
html.kmt .progress-bar-success{background:var(--k-success)!important}
html.kmt .progress-bar-danger{background:var(--k-danger)!important}
html.kmt .progress-bar-warning{background:var(--k-warning)!important}

/* ---------- 11. Kanban (leads, tasks, projects) ---------- */
html.kmt .kan-ban-col{background:transparent!important}
html.kmt .kan-ban-col .panel-heading,html.kmt .kan-ban-col .panel-heading-bg{border-radius:var(--k-r-md) var(--k-r-md) 0 0!important;border:1px solid var(--k-line)!important;border-bottom:0!important;font-weight:700;color:#fff}
html.kmt .kan-ban-content-wrapper,html.kmt .kan-ban-col .kan-ban-content{background:var(--k-surface-2)!important;border:1px solid var(--k-line)!important;border-top:0!important;border-radius:0 0 var(--k-r-md) var(--k-r-md)!important}
html.kmt .kan-ban-col li.lead-kan-ban,html.kmt .kan-ban-col .panel-body,html.kmt li.task,html.kmt .kan-ban-col li[data-lead-id],html.kmt .kan-ban-col .kanban-card{
  background:var(--k-surface)!important;border:1px solid var(--k-line)!important;border-radius:var(--k-r)!important;box-shadow:var(--k-shadow-sm)!important;color:var(--k-text)
}
html.kmt .kan-ban-col li.lead-kan-ban:hover,html.kmt .kan-ban-col li[data-lead-id]:hover{border-color:var(--k-accent-line)!important}
html.kmt .ui-sortable-placeholder,html.kmt .kan-ban-col .ui-state-highlight{background:var(--k-accent-soft)!important;border:1px dashed var(--k-accent-line)!important;border-radius:var(--k-r)!important;visibility:visible!important}
html.kmt .kan-ban-expand-top,html.kmt .kanban-load-more{color:var(--k-text-2)!important}

/* ---------- 12. Activity feeds, misc Perfex widgets ---------- */
html.kmt .activity-feed .feed-item{border-inline-start:1px solid var(--k-line-2)!important;border-left-color:var(--k-line-2)}
html.kmt .activity-feed .feed-item::after{background:var(--k-surface)!important;border:2px solid var(--k-accent)!important}
html.kmt .activity-feed .feed-item .date{color:var(--k-text-3)!important}
html.kmt .activity-feed .feed-item .text{color:var(--k-text)}
html.kmt .widget-dragger{background:var(--k-line-2)!important}
html.kmt .screen-options-area,html.kmt .screen-options-btn{background:var(--k-surface)!important;border-color:var(--k-line)!important;color:var(--k-text-2)!important}
html.kmt .top_stats_wrapper{background:var(--k-surface)!important;border:1px solid var(--k-line)!important;border-radius:var(--k-r-lg)!important}
html.kmt .ribbon span{font-family:var(--k-font)}
html.kmt .staff-profile-image-small,html.kmt .client-profile-image-small{border-radius:50%;object-fit:cover}
html.kmt .lead-info-heading,html.kmt .lead-field-heading{color:var(--k-text-2)}
html.kmt .lead-information-col .bold,html.kmt .lead-information-col p{color:var(--k-text)}
html.kmt .ticket-reply,html.kmt .ticket-note,html.kmt .ticketstaffnotes{background:var(--k-surface)!important;border-color:var(--k-line)!important}
html.kmt .ticket-reply.client,html.kmt .client-reply{background:var(--k-surface-2)!important}
html.kmt .mce-tinymce,html.kmt .tox-tinymce{border-radius:var(--k-r)!important;border-color:var(--k-line-2)!important}
html.kmt .dropzone,html.kmt .dropzone-previews{background:var(--k-surface-2)!important;border:1.5px dashed var(--k-line-2)!important;border-radius:var(--k-r-md)!important;color:var(--k-text-2)}
html.kmt .dropzone:hover{border-color:var(--k-accent-line)!important}
html.kmt .tagit-choice,html.kmt .tagit .tagit-choice{background:var(--k-accent-soft)!important;border:1px solid var(--k-accent-line)!important;color:var(--k-accent-ink)!important;border-radius:99px!important}
html.kmt ul.tagit input[type=text]{background:transparent!important;color:var(--k-text)!important}
html.kmt .ui-autocomplete{background:var(--k-surface)!important;border-color:var(--k-line-2)!important;color:var(--k-text)}
html.kmt #newsfeed{background:var(--k-bg)!important;color:var(--k-text)}
html.kmt #newsfeed .panel_s>.panel-body{background:var(--k-surface)!important}

/* fullcalendar */
html.kmt .fc{--fc-border-color:var(--k-line);--fc-page-bg-color:var(--k-surface);--fc-neutral-bg-color:var(--k-surface-2);--fc-today-bg-color:var(--k-accent-soft);--fc-button-bg-color:var(--k-surface-2);--fc-button-border-color:var(--k-line-2);--fc-button-text-color:var(--k-text);--fc-button-hover-bg-color:var(--k-surface-3);--fc-button-hover-border-color:var(--k-accent-line);--fc-button-active-bg-color:var(--k-accent-soft);--fc-button-active-border-color:var(--k-accent-line);font-family:var(--k-font)}
html.kmt .fc .fc-button{border-radius:var(--k-r-sm)!important;text-transform:none;font-weight:600;box-shadow:none!important}
html.kmt .fc .fc-col-header-cell-cushion,html.kmt .fc .fc-daygrid-day-number{color:var(--k-text-2)}
html.kmt .fc .fc-daygrid-day,html.kmt .fc .fc-day-other,html.kmt .fc td,html.kmt .fc th{background:transparent!important}
html.kmt .fc .fc-day-other .fc-daygrid-day-top{opacity:.45}
html.kmt .fc .fc-day-today{background:var(--k-accent-soft)!important}
html.kmt .fc .fc-scrollgrid,html.kmt .fc table{border-color:var(--k-line)!important}
html.kmt .fc .fc-toolbar-title{font-size:var(--k-fs-lg);font-weight:700;color:var(--k-text)}

/* ---------- 13. Tailwind colour utilities used in Perfex views ---------- */
html.kmt .tw-bg-white,html.kmt .tw-bg-neutral-50{background-color:var(--k-surface)!important}
html.kmt .tw-bg-neutral-100,html.kmt .tw-bg-neutral-200,html.kmt .tw-bg-neutral-200\/60{background-color:var(--k-surface-2)!important}
html.kmt .tw-bg-neutral-300{background-color:var(--k-surface-3)!important}
html.kmt .tw-text-neutral-900,html.kmt .tw-text-neutral-800,html.kmt .tw-text-gray-900{color:var(--k-text)!important}
html.kmt .tw-text-neutral-700,html.kmt .tw-text-neutral-600{color:var(--k-text-2)!important}
html.kmt .tw-text-neutral-500,html.kmt .tw-text-neutral-400{color:var(--k-text-3)!important}
html.kmt .tw-text-neutral-300{color:var(--k-line-2)!important}
html.kmt .tw-text-primary-600,html.kmt .tw-text-primary-700{color:var(--k-accent-ink)!important}
html.kmt .tw-border-neutral-100,html.kmt .tw-border-neutral-200,html.kmt .tw-border-neutral-300,html.kmt .tw-border-neutral-300\/80,html.kmt .tw-border-neutral-400,html.kmt .tw-border-neutral-600\/20,html.kmt .tw-border-neutral-900\/10,html.kmt .tw-border-neutral-900\/20{border-color:var(--k-line)!important}
html.kmt .tw-divide-neutral-100>*+*,html.kmt .tw-divide-neutral-200>*+*,html.kmt .tw-divide-neutral-300>*+*{border-color:var(--k-line)!important}
html.kmt .tw-shadow-sm{box-shadow:var(--k-shadow-sm)!important}
html.kmt .tw-rounded-lg{border-radius:var(--k-r-lg)!important}
html.kmt .tw-rounded-md{border-radius:var(--k-r)!important}
html.kmt .hover\:tw-bg-neutral-100:hover,html.kmt .hover\:tw-bg-neutral-50:hover{background-color:var(--k-surface-2)!important}
html.kmt .hover\:tw-text-neutral-800:hover,html.kmt .hover\:tw-text-neutral-700:hover{color:var(--k-text)!important}

/* ---------- 14. Responsive guards: no horizontal page scroll ---------- */
html.kmt body{overflow-x:hidden}
html.kmt #wrapper,html.kmt #wrapper .content{max-width:100vw}
html.kmt .table-responsive,html.kmt .dataTables_wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
html.kmt img{max-width:100%}
html.kmt .row{min-width:0}
@media (max-width:768px){
  html.kmt .modal-dialog{margin:12px!important;width:auto!important}
  html.kmt .panel_s>.panel-body,html.kmt .panel-body{padding:var(--k-s4)}
}

/* ---------- 15. Print ---------- */
@media print{
  html.kmt #menu,html.kmt #header,html.kmt .k-cmdk,html.kmt .btn-bottom-toolbar{display:none!important}
  html.kmt #wrapper{margin:0!important;padding:0!important}
  html.kmt body::before{display:none}
}
html.kmt .k-header__icons>li>a.k-iconbtn--accent,html.kmt .k-header__icons>li>a.k-iconbtn--accent:hover,html.kmt .k-header__icons>li.open>a.k-iconbtn--accent{color:var(--k-btn-primary-text)!important;background:var(--k-btn-primary)!important;border-color:transparent!important}
/* bootstrap-select copies .k-select onto its wrapper: style only the inner toggle */
html.kmt .bootstrap-select.k-select{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;width:100%!important}
html.kmt .bootstrap-select.k-select>.dropdown-toggle{min-height:44px}
html.kmt .bootstrap-select.k-select--sm{width:auto!important;min-width:120px}
html.kmt .bootstrap-select.k-select--sm>.dropdown-toggle{min-height:36px!important;padding:4px 12px!important;font-size:var(--k-fs-sm)!important;border-radius:var(--k-r-sm)!important}
/* DataTables: RTL sort arrows + empty state */
html.kmt[dir="rtl"] table.dataTable thead .sorting,html.kmt[dir="rtl"] table.dataTable thead .sorting_asc,html.kmt[dir="rtl"] table.dataTable thead .sorting_desc{padding-left:28px!important;padding-right:14px!important}
html.kmt[dir="rtl"] table.dataTable thead .sorting::before,html.kmt[dir="rtl"] table.dataTable thead .sorting::after,
html.kmt[dir="rtl"] table.dataTable thead .sorting_asc::before,html.kmt[dir="rtl"] table.dataTable thead .sorting_asc::after,
html.kmt[dir="rtl"] table.dataTable thead .sorting_desc::before,html.kmt[dir="rtl"] table.dataTable thead .sorting_desc::after{right:auto!important;left:10px!important}
html.kmt table.dataTable tbody tr:has(>td.dataTables_empty){background:transparent!important}
html.kmt td.dataTables_empty::before{
  content:"";display:block;width:56px;height:56px;margin:0 auto 12px;border-radius:16px;border:1px solid var(--k-line);
  background:var(--k-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13.5 6.3 5.8A2 2 0 0 1 8.2 4.5h7.6a2 2 0 0 1 1.9 1.3L20 13.5V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M4 13.5h4.5l1.2 2h4.6l1.2-2H20'/%3E%3C/svg%3E") center/26px no-repeat;
}
html.kmt td.dataTables_empty{font-weight:600;color:var(--k-text-2)!important}

/* ---------- 16. Admin dashboard ---------- */
html.kmt .k-dash-head{margin-top:4px}
html.kmt .dashboard .content>.row>.col-md-12.mtop20{margin-top:0!important}
html.kmt .widget{margin-bottom:var(--k-s5)}
html.kmt .widget .panel_s{margin-bottom:0}
html.kmt .widget-dragger{opacity:0;transition:opacity var(--k-t)}
html.kmt .widget:hover .widget-dragger{opacity:.6}
/* quick stats → KPI cards */
html.kmt .top_stats_wrapper{padding:var(--k-s5) var(--k-s6)!important;box-shadow:var(--k-shadow-sm);transition:border-color var(--k-t),box-shadow var(--k-t),transform var(--k-t);min-height:132px}
html.kmt .top_stats_wrapper:hover{border-color:var(--k-accent-line)!important;box-shadow:var(--k-shadow);transform:translateY(-2px)}
html.kmt .top_stats_wrapper>div:first-child{flex-wrap:wrap;gap:12px;margin:0!important}
html.kmt .top_stats_wrapper>div:first-child>div{width:100%;color:var(--k-text-2)!important;font-weight:600;font-size:var(--k-fs-sm)}
html.kmt .top_stats_wrapper>div:first-child>div svg{
  width:38px!important;height:38px!important;padding:9px;border-radius:var(--k-r);flex-shrink:0;margin:0!important;margin-inline-end:12px!important;
  background:var(--k-accent-soft);color:var(--k-accent)!important;border:1px solid var(--k-accent-line)
}
html.kmt .top_stats_wrapper>div:first-child>span{
  font-size:var(--k-fs-2xl)!important;font-weight:900!important;color:var(--k-text)!important;direction:ltr;unicode-bidi:isolate;line-height:1.2
}
html.kmt .quick-stats-leads .top_stats_wrapper>div:first-child>div svg{background:rgba(139,92,246,.12);color:var(--k-violet)!important;border-color:rgba(139,92,246,.35)}
html.kmt .quick-stats-projects .top_stats_wrapper>div:first-child>div svg{background:var(--k-success-soft);color:var(--k-success)!important;border-color:color-mix(in srgb,var(--k-success) 40%,transparent)}
html.kmt .quick-stats-tasks .top_stats_wrapper>div:first-child>div svg{background:var(--k-gold-soft);color:var(--k-gold)!important;border-color:var(--k-gold-line)}
html.kmt .progress-bar-mini,html.kmt .progress.progress-bar-mini{height:6px!important;margin-top:14px!important}
/* finance overview & widget text */
html.kmt .finance-summary .text-stats-wrapper,html.kmt .finance-summary a{color:var(--k-text)!important}
html.kmt .finance-summary .text-muted{color:var(--k-text-3)!important}
html.kmt .finance-summary .progress-finance-status{font-weight:600}
html.kmt .widget .panel-body h4,html.kmt .widget .panel-body .tw-font-semibold{color:var(--k-text)}
html.kmt .widget .home-summary .nav-tabs{margin-bottom:var(--k-s4)}
/* dashboard options (Perfex screen options) */
html.kmt .screen-options-btn{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--k-line-2)!important;border-radius:var(--k-r)!important;
  background:var(--k-surface-2)!important;color:var(--k-text-2)!important;padding:6px 12px;font-size:var(--k-fs-sm);margin:var(--k-s4) clamp(16px,2.2vw,32px) 0;width:auto;position:static
}
html.kmt .screen-options-btn:hover{color:var(--k-text)!important;border-color:var(--k-accent-line)!important}
html.kmt .screen-options-area{background:var(--k-surface)!important;border:1px solid var(--k-line)!important;border-radius:var(--k-r-lg);margin:var(--k-s3) clamp(16px,2.2vw,32px) 0;color:var(--k-text)}
html.kmt #header.k-header{margin:0!important;width:auto!important}
@media (max-width:768px){
  html.kmt body:not(.show-sidebar) #menu.k-side{visibility:hidden;transition:transform var(--k-t-slow) var(--k-ease),visibility 0s linear var(--k-t-slow)}
  html.kmt body.show-sidebar #menu.k-side{visibility:visible;transition:transform var(--k-t-slow) var(--k-ease)}
}
html.kmt{overflow-x:clip}
html.kmt table.dataTable tbody td{color:var(--k-text-2)}
html.kmt table.dataTable tbody td>a:not(.btn),html.kmt table.dataTable tbody td>span>a:not(.btn){color:var(--k-text)!important;font-weight:600}
html.kmt table.dataTable tbody td>a:not(.btn):hover{color:var(--k-accent-ink)!important}
html.kmt[dir="rtl"] table.dataTable thead .sorting,html.kmt[dir="rtl"] table.dataTable thead .sorting_asc,html.kmt[dir="rtl"] table.dataTable thead .sorting_desc{padding-left:34px!important}
html.kmt .bootstrap-select .btn.dropdown-toggle.disabled,html.kmt .bootstrap-select .btn.dropdown-toggle[disabled],html.kmt .bootstrap-select.disabled>.dropdown-toggle{background:var(--k-surface-3)!important;color:var(--k-text-2)!important;opacity:1!important;border-color:var(--k-line)!important}
html.kmt .bootstrap-select.form-control{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;height:auto!important}
/* native file inputs */
html.kmt input[type=file]{color:var(--k-text-2);font-family:var(--k-font);font-size:var(--k-fs-sm);max-width:100%}
html.kmt input[type=file].form-control{padding:6px 8px!important;height:auto}
html.kmt input[type=file]::file-selector-button{
  font:600 var(--k-fs-sm)/1 var(--k-font);padding:9px 14px;margin-inline-end:12px;border-radius:var(--k-r-sm);cursor:pointer;
  border:1px solid var(--k-line-2);background:var(--k-surface-3);color:var(--k-text);transition:border-color var(--k-t-fast),color var(--k-t-fast)
}
html.kmt input[type=file]::file-selector-button:hover{border-color:var(--k-accent-line);color:var(--k-accent-ink)}
/* Tailwind colour utilities with responsive / state prefixes */
html.kmt [class*="tw-border-neutral-"]:not(.tw-border-transparent){border-color:var(--k-line)!important}
html.kmt [class*="hover:tw-bg-neutral-"]:hover{background-color:var(--k-neutral-soft)!important}
html.kmt [class*="hover:tw-text-neutral-8"]:hover,html.kmt [class*="focus:tw-text-neutral-8"]:focus{color:var(--k-text)!important}
html.kmt [class*="data-[active=true]:tw-bg-white"][data-active="true"]{background:var(--k-accent-soft)!important;border-color:var(--k-accent-line)!important;color:var(--k-text)!important;box-shadow:none!important}
/* reports landing: menu columns as cards */
html.kmt .content div:has(>ul.reports){background:var(--k-surface);border:1px solid var(--k-line)!important;border-radius:var(--k-r-lg);padding:var(--k-s5)!important;box-shadow:var(--k-shadow-sm)}
html.kmt ul.reports{padding:0;list-style:none}
html.kmt ul.reports a{color:var(--k-text-2)!important;font-weight:600}
html.kmt ul.reports a svg{color:var(--k-text-3)!important}
