/* KONEVIX 1.17: orientation-aware icon-only Utility Dock. No nested scrollbars. */
.utility-dock.dock-widget .dock-brandline,
.utility-dock.dock-widget .dock-header {display:none!important}
.layout.dual-nav>.utility-dock.dock-widget .dock-body {
  width:max-content;min-width:0;max-width:calc(100vw - 28px);height:auto;max-height:none;
  padding:5px!important;box-sizing:border-box;
  background:transparent!important;border:0!important;box-shadow:none!important;
  overflow:visible!important;backdrop-filter:none!important;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation {
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:var(--dock-gap,7px)!important;flex-wrap:nowrap!important;
  width:max-content;max-width:calc(100vw - 28px);max-height:none!important;
  overflow:visible!important;box-sizing:border-box;
  padding:4px!important;margin:0!important;position:relative;
  background:transparent!important;border:0!important;box-shadow:none!important;
  scrollbar-width:none;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation::-webkit-scrollbar{display:none!important}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-vertical .utility-navigation{flex-direction:column!important}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .utility-navigation{flex-direction:row!important}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation>.nav-entry {flex:0 0 auto;max-width:none;position:relative}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav,
.layout.dual-nav>.utility-dock.dock-widget .dock-overflow-toggle{
  box-sizing:border-box;min-width:var(--dock-button-size,46px)!important;
  width:var(--dock-button-size,46px)!important;height:var(--dock-button-size,46px)!important;
  min-height:var(--dock-button-size,46px)!important;max-width:none!important;
  padding:6px!important;margin:0!important;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent!important;
  color:var(--color-text-primary,var(--text))!important;
  border:1px solid transparent!important;
  border-radius:calc(var(--dock-radius,18px) * .65)!important;
  box-shadow:none!important;
  transition:transform var(--dock-hover-speed,180ms) ease,
             background-color var(--dock-hover-speed,180ms) ease,
             border-color var(--dock-hover-speed,180ms) ease;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav:hover,
.layout.dual-nav>.utility-dock.dock-widget .dock-overflow-toggle:hover{
  transform:scale(var(--dock-hover-scale,1.1));
  background:var(--color-accent-soft,var(--color-info-bg))!important;
  border-color:var(--color-border-default,var(--border))!important;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav.active{
  background:var(--color-accent-soft,var(--color-info-bg))!important;
  color:var(--color-accent,#2876cb)!important;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav-label,
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav-caret{display:none!important}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav-icon,
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation .kv-nav-svg{
  width:var(--dock-icon-size,24px);height:var(--dock-icon-size,24px);
  min-width:var(--dock-icon-size,24px);display:block
}
/* Glass-free shell: only free-floating icons and their unread dots. */
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal {
  width:156px!important;height:16px!important;top:auto;bottom:12px;
}
.layout.dual-nav.du-utility-top>.utility-dock.dock-widget.dock-axis-horizontal {
  top:70px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
}
.layout.dual-nav.du-utility-bottom>.utility-dock.dock-widget.dock-axis-horizontal {
  bottom:12px!important;top:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .dock-body{
  position:absolute!important;top:0;left:50%!important;right:auto!important;bottom:auto;
  transform:translateX(-50%) translateY(3px) scale(.97)!important;
  transform-origin:center top;
}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal.dock-state-open .dock-body{
  transform:translateX(-50%)!important;
}
.layout.dual-nav.du-utility-bottom>.utility-dock.dock-widget.dock-axis-horizontal .dock-body{
  top:auto!important;bottom:0!important;transform-origin:center bottom;
}
.layout.dual-nav.du-utility-bottom>.utility-dock.dock-widget.dock-axis-horizontal.dock-state-open .dock-body{
  transform:translateX(-50%)!important;
}
/* Contextual panel is separate, not the background of the icon bar. */
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .dock-preview-host:not(:empty){
  top:calc(100% + 9px)!important;bottom:auto!important;
  left:50%!important;right:auto!important;transform:translateX(-50%);
  width:min(360px,calc(100vw - 30px))!important;max-height:min(65vh,460px);
}
.layout.dual-nav.du-utility-bottom>.utility-dock.dock-widget.dock-axis-horizontal .dock-preview-host:not(:empty){
  top:auto!important;bottom:calc(100% + 9px)!important;
}
/* Overflow appears as a popover, never pushes visible icon row into scrolling. */
.layout.dual-nav>.utility-dock.dock-widget .dock-overflow-popover{
  display:none;position:absolute;z-index:6;
  padding:8px;gap:var(--dock-gap,7px);
  border:1px solid var(--color-border-default,var(--border));border-radius:16px;
  background:var(--color-surface-primary,var(--card));
  box-shadow:0 12px 36px rgba(9,24,45,.16);
  box-sizing:border-box;width:max-content;max-width:calc(100vw - 28px);
  align-items:center;justify-content:center;
}
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation.dock-more-open .dock-overflow-popover{display:flex!important}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .dock-overflow-popover {
  flex-direction:row;flex-wrap:wrap;max-width:min(360px,calc(100vw - 28px));
  top:calc(100% + 6px);right:0;
}
.layout.dual-nav.du-utility-bottom>.utility-dock.dock-widget .dock-overflow-popover {
  top:auto!important;bottom:calc(100% + 6px)!important;
}
.layout.dual-nav>.utility-dock.dock-widget.dock-axis-vertical .dock-overflow-popover {
  flex-direction:column;flex-wrap:wrap;max-height:calc(100vh - 70px);
  top:0;right:calc(100% + 7px);
}
.layout.dual-nav.du-utility-left>.utility-dock.dock-widget.dock-axis-vertical .dock-overflow-popover {
  right:auto;left:calc(100% + 7px);
}
/* In the Admin Center, previews follow the selected orientation. */
.nav-preview-dock-horizontal>div{flex-wrap:nowrap;flex-direction:row;align-items:center}
.nav-preview-dock-vertical>div{flex-wrap:wrap;flex-direction:column;align-items:flex-start}
.kv-icon-library-custom{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  align-items:end;gap:10px;padding:12px;border:1px solid var(--color-border-default,var(--border));
  border-radius:14px;background:var(--color-surface-secondary,var(--theme-sidebar))
}
.kv-icon-library-custom label{display:grid;gap:7px;font-size:12px;color:var(--color-text-primary,var(--text));min-width:0}
.kv-icon-library-custom input{width:100%;min-width:0;box-sizing:border-box;min-height:39px}
.kv-icon-import{min-height:39px;padding:7px 13px;border-radius:10px;border:1px solid var(--color-border-default,var(--border));background:var(--color-accent-soft,var(--color-info-bg));color:var(--color-text-primary,var(--text));font-weight:700;cursor:pointer}
@media(max-width:900px){
  .layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal{position:fixed!important;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(96vw,400px)!important;height:54px!important}
  .layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .dock-body{left:50%!important;right:auto!important;width:max-content!important;max-width:calc(100vw - 24px)!important;top:auto!important;bottom:0!important}
  .layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .utility-navigation{width:max-content!important;max-width:calc(100vw - 24px)!important;max-height:none!important;overflow:visible!important;padding:4px!important}
  .layout.dual-nav>.utility-dock.dock-widget.dock-axis-horizontal .dock-preview-host:not(:empty){top:auto!important;bottom:calc(100% + 9px)!important}
  .kv-icon-library-custom{grid-template-columns:1fr}.kv-icon-library-custom input{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .layout.dual-nav>.utility-dock.dock-widget .utility-navigation .nav,
  .layout.dual-nav>.utility-dock.dock-widget .dock-overflow-toggle{transition:none!important;transform:none!important}
}
.kv-icon-library-grid .kv-icon-tile{position:relative;min-width:0}
.kv-icon-library-grid .kv-icon-tile>button[data-icon-pick]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:13px 7px;width:100%;min-height:92px;border-radius:14px;border:1px solid var(--color-border-default,var(--border));background:var(--color-surface-secondary,var(--theme-sidebar));color:var(--color-text-primary,var(--text));cursor:pointer}
.kv-icon-library-grid .kv-icon-tile>button[data-icon-pick]:hover,.kv-icon-library-grid .kv-icon-tile>button[data-icon-pick].selected{background:var(--color-accent-soft,var(--color-info-bg));border-color:var(--color-accent,#2876cb)}
.kv-icon-library-grid .kv-icon-tile>button[data-icon-pick] span{font-size:11px;overflow-wrap:anywhere;text-align:center}
.kv-icon-library-grid .kv-icon-tile .kv-icon-tile-remove{position:absolute;right:3px;top:3px;min-width:22px;min-height:22px;border:0;border-radius:7px;background:var(--color-surface-primary,var(--card));color:var(--color-text-secondary,var(--muted));cursor:pointer;font-size:17px}
.kv-icon-library-grid .kv-icon-tile .kv-icon-tile-remove:hover{color:var(--color-danger,#c52f42)}
/* Defeat inherited full-width navigation-entry layout (otherwise icons spread across the viewport). */
.layout.dual-nav>.utility-dock.dock-widget .utility-navigation>.nav-entry,
.layout.dual-nav>.utility-dock.dock-widget .dock-overflow-popover>.nav-entry{
  width:var(--dock-button-size,46px)!important;min-width:var(--dock-button-size,46px)!important;
  max-width:var(--dock-button-size,46px)!important;height:var(--dock-button-size,46px)!important;
  flex:0 0 var(--dock-button-size,46px)!important;margin:0!important;padding:0!important;
}
.layout.dual-nav>.utility-dock.dock-widget .dock-body {width:max-content!important}
