/* Shared metric-card contract */
*{box-sizing:border-box}
:root{
  --kn-navy:#0b3a67;
  --kn-blue:#0b73ba;
  --kn-pale:#e8f3fb;
  --kn-line:#c8d8e5;
  --kn-ink:#14263a;
  --kn-page-bg:#f3f7fb;
  --kn-page-max:1180px;
  --kn-header-max:1520px;
  --kn-page-gutter:16px;
  --kn-page-top:28px;
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:86px;background:var(--kn-page-bg)}
body{margin:0;background:var(--kn-page-bg);font-family:Arial,"Noto Sans KR",sans-serif}
body.konnect-app-shell{background:var(--kn-page-bg)!important;overflow-x:clip}
body.konnect-app-shell.konnect-nav-open{overflow:hidden!important}
.konnect-shared-header{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:68px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:var(--kn-navy)!important;
  color:#fff!important;
}
.konnect-legacy-header{display:none!important}
.konnect-header-shell{
  width:min(var(--kn-header-max),calc(100% - 2 * var(--kn-page-gutter)))!important;
  min-width:0!important;
  margin:auto!important;
  padding:10px 0!important;
  display:grid!important;
  grid-template-columns:minmax(178px,auto) minmax(0,1fr) auto auto auto!important;
  align-items:center!important;
  gap:7px!important;
  color:#fff!important;
}
.konnect-home-link{
  all:unset!important;
  display:flex!important;
  align-items:baseline!important;
  cursor:pointer!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:19px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.konnect-home-link span{display:inline-flex!important;align-items:baseline!important;gap:5px!important}
.konnect-home-link em{font-style:normal!important;font-size:12px!important;color:#fff!important}
.konnect-home-link small{display:none!important;font-size:10px!important;color:#c7dcef!important;margin-left:5px!important}
.konnect-global-nav{all:unset!important;display:block!important;min-width:0!important}
.konnect-global-nav__title{display:none!important}
.konnect-global-nav__groups{display:flex!important;align-items:center!important;gap:0!important;min-width:0!important}
.konnect-global-nav details{all:unset!important;display:block!important;position:relative!important}
.konnect-global-nav summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  min-height:42px!important;
  padding:0 7px!important;
  border-radius:9px!important;
  color:#fff!important;
  background:transparent!important;
  font:800 13px/1.2 Arial,"Noto Sans KR",sans-serif!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.konnect-global-nav summary::-webkit-details-marker{display:none!important}
.konnect-global-nav details.active>summary,
.konnect-global-nav summary:hover,
.konnect-global-nav summary:focus-visible{background:#fff!important;color:#0b4f84!important}
.konnect-global-nav details[open]:not(.active)>summary{background:#dcecf8!important;color:#0b4f84!important;box-shadow:inset 0 0 0 1px #8eb8d7!important}
.konnect-global-nav details[open]>summary:after{content:'▴';margin-left:7px;font-size:11px}
.konnect-global-nav details:not([open])>summary:after{content:'▾';margin-left:7px;font-size:11px;opacity:.75}
.konnect-global-nav__items{
  position:absolute!important;
  left:0!important;
  top:calc(100% + 6px)!important;
  z-index:920!important;
  width:250px!important;
  padding:7px!important;
  border:1px solid var(--kn-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 14px 34px #001b3640!important;
}
.konnect-global-nav__items a{
  display:flex!important;
  align-items:center!important;
  min-height:43px!important;
  padding:9px 11px!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:8px!important;
  color:#123c60!important;
  background:#fff!important;
  text-decoration:none!important;
  text-align:left!important;
  font:800 14px/1.3 Arial,"Noto Sans KR",sans-serif!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.konnect-global-nav__items a:hover,
.konnect-global-nav__items a:focus-visible,
.konnect-global-nav__items a[aria-current="page"]{background:var(--kn-pale)!important;color:#075e9f!important}
.konnect-account{position:relative!important;min-width:0!important}
.konnect-account__toggle{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:100%!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 10px!important;
  border:1px solid #ffffff55!important;
  border-radius:11px!important;
  background:#174f7f!important;
  color:#fff!important;
  font:800 14px/1 Arial,"Noto Sans KR",sans-serif!important;
  white-space:nowrap!important;
}
.konnect-account__identity{display:flex!important;align-items:center!important;min-width:0!important;overflow:hidden!important}
.konnect-account__name{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
.konnect-account__role{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
.konnect-account__role:before{content:' \00b7 '}
.konnect-account__more{flex:0 0 auto!important;font-size:18px!important;line-height:1!important}
.konnect-account__compact-icon{display:none!important;width:22px!important;height:22px!important}
.konnect-account__compact-icon svg{display:block!important;width:100%!important;height:100%!important}
.konnect-account__menu{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 7px)!important;
  width:180px!important;
  padding:7px!important;
  border:1px solid var(--kn-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 14px 34px #001b3640!important;
}
.konnect-account__menu[hidden]{display:none!important}
.konnect-account__menu-identity{display:none;min-width:0;margin:0 2px 6px;padding:9px 9px 10px;border-bottom:1px solid var(--kn-line);color:var(--kn-ink)}
.konnect-account__menu-identity b,.konnect-account__menu-identity small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.konnect-account__menu-identity b{font-size:14px;line-height:1.35}
.konnect-account__menu-identity small{margin-top:3px;color:#61798d;font-size:12px;font-weight:700;line-height:1.35}
.konnect-account__menu button{
  display:block!important;
  width:100%!important;
  min-height:48px!important;
  padding:9px 11px!important;
  border:0!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--kn-ink)!important;
  text-align:left!important;
  font:800 15px/1 Arial,"Noto Sans KR",sans-serif!important;
  font-size:15px!important;
  line-height:1!important;
}
.konnect-account__menu button:hover{background:var(--kn-pale)!important}
.konnect-home-link:focus-visible,
.konnect-global-nav summary:focus-visible,
.konnect-global-nav a:focus-visible,
.konnect-account button:focus-visible{outline:3px solid #ffd45e!important;outline-offset:2px!important}
.konnect-language-switch{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:46px!important;
  height:46px!important;
  padding:0 10px!important;
  border:1px solid #ffffff66!important;
  border-radius:10px!important;
  background:#174f7f!important;
  color:#fff!important;
  text-decoration:none!important;
  font:900 14px/1 Arial,"Noto Sans KR",sans-serif!important;
  white-space:nowrap!important;
}
body>.konnect-language-switch{position:fixed!important;right:14px!important;top:14px!important;z-index:2147483000!important;background:#0b4f84!important;box-shadow:0 5px 18px #001b3640!important}
body.konnect-app-shell main:not(.login-main){
  width:min(var(--kn-page-max),calc(100% - 2 * var(--kn-page-gutter)))!important;
  max-width:var(--kn-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.konnect-app-shell main.main,
body.konnect-app-shell main#overview{padding-top:var(--kn-page-top)!important;background:transparent!important}
body.konnect-app-shell main.main>.wrap{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.konnect-app-shell .shell{width:100%!important;max-width:none!important;margin:0!important}
body.konnect-app-shell #adminView,
body.konnect-app-shell #adminDetail{width:100%!important;max-width:none!important}
body.konnect-app-shell #adminView.admin-panel-mode>:not(#adminDetail){display:none!important}
body.konnect-app-shell #adminView.admin-panel-mode #adminDetail{margin-top:0!important}
body.konnect-app-shell :is(.metric,.kpi,.command,.admin-summary button){min-height:104px}
body.konnect-app-shell #metrics>.metric{min-height:132px}
:is(a[href],button)[class~="metric"],
:is(a[href],button)[class~="kpi"],
a.mini,a.money[href],.quality a,.alert.drilldown,
[data-summary-filter],[data-item-filter],[data-billing-filter],[data-tx],
[data-state],[data-quality],[data-user-filter],[data-group-target],
[data-detail-target],[data-metric]{position:relative!important;padding-right:42px!important;cursor:pointer}
:is(a[href],button)[class~="metric"]::after,
:is(a[href],button)[class~="kpi"]::after,
a.mini::after,a.money[href]::after,.quality a::after,.alert.drilldown::after,
[data-summary-filter]::after,[data-item-filter]::after,[data-billing-filter]::after,
[data-tx]::after,[data-state]::after,[data-quality]::after,[data-user-filter]::after,
[data-group-target]::after,[data-detail-target]::after,[data-metric]::after{
  content:'→';
  position:absolute;
  top:13px;
  right:14px;
  color:#0873b9;
  font-weight:900;
  line-height:1;
}
.alert.alert-action{cursor:pointer}
.konnect-filter-context{
  width:100%;
  margin:0 0 16px;
  padding:12px 15px;
  border:1px solid #b8d5e9;
  border-radius:12px;
  background:#eaf5fc;
  color:#174d72;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:14px;
  font-weight:800;
}
.konnect-filter-context a{flex:0 0 auto;color:#056aa9;text-decoration:underline;text-underline-offset:3px}
body.konnect-app-shell :is(.summary,.kpis,.stats,.summary-grid)>:is(.metric,.kpi,button,a){min-height:112px;height:100%}
@media(min-width:1481px) and (max-width:1520px){
  .konnect-header-shell{grid-template-columns:minmax(170px,auto) minmax(0,1fr) auto auto auto!important;gap:5px!important}
  .konnect-home-link{font-size:18px!important}
  .konnect-home-link em{font-size:10px!important}
  .konnect-global-nav summary{padding:0 5px!important;font-size:13px!important}
  .konnect-account__toggle{padding:0 8px!important;font-size:13px!important}
}
@media(max-width:1480px){
  html{scroll-padding-top:150px}
  .konnect-shared-header{min-height:0!important}
  .konnect-header-shell{padding:14px 0!important;grid-template-columns:minmax(0,1fr) minmax(0,auto) auto!important;gap:8px!important}
  .konnect-home-link{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:20px!important}
  .konnect-global-nav{grid-column:1/-1!important;grid-row:2!important}
  .konnect-global-nav__title{
    display:flex!important;
    width:100%!important;
    height:56px!important;
    align-items:center!important;
    padding:0 17px!important;
    border:1px solid #ffffff55!important;
    border-radius:13px!important;
    background:#174f7f!important;
    color:#fff!important;
    font:900 16px/1.2 Arial,"Noto Sans KR",sans-serif!important;
    text-align:left!important;
  }
  .konnect-global-nav__title:before{content:'☰';font-size:24px;margin-right:12px}
  .konnect-global-nav__title:after{content:'▾';margin-left:auto}
  .konnect-global-nav.open .konnect-global-nav__title:after{content:'▴'}
  .konnect-global-nav__groups{display:none!important;max-height:min(68dvh,620px)!important;padding:8px 0 14px!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable!important}
  .konnect-global-nav.open .konnect-global-nav__groups{display:flex!important}
  .konnect-global-nav details{width:100%!important}
  .konnect-global-nav summary{min-height:50px!important;padding:0 17px!important;font-size:16px!important;text-align:left!important;background:transparent!important;color:#fff!important}
  .konnect-global-nav details:not(.active):not([open])>summary:hover{background:#ffffff18!important;color:#fff!important}
  .konnect-global-nav__items{position:static!important;width:100%!important;margin-top:4px!important;padding:7px!important;box-shadow:none!important}
  .konnect-global-nav__items a{min-height:48px!important;padding:12px 14px!important;font-size:16px!important;text-align:left!important}
  .konnect-account{grid-column:2!important;grid-row:1!important;max-width:min(42vw,190px)!important}
  .konnect-language-switch{grid-column:3!important;grid-row:1!important}
}
@media(max-width:600px){
  :root{--kn-page-top:22px}
  body.konnect-app-shell main:not(.login-main){width:calc(100% - 2 * var(--kn-page-gutter))!important}
  .konnect-home-link{font-size:17px!important}
  .konnect-home-link em{font-size:10px!important}
  .konnect-home-link small{display:none!important}
  .konnect-account{max-width:min(36vw,150px)!important}
  .konnect-account__toggle{height:46px!important;min-height:46px!important;padding:0 8px!important;gap:4px!important}
  .konnect-account__role{display:none!important}
  .konnect-filter-context{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:370px){
  :root{--kn-page-gutter:12px}
  .konnect-header-shell{padding:9px 0!important}
  .konnect-home-link{font-size:16px!important}
  .konnect-home-link em{font-size:9px!important}
  .konnect-home-link small{display:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

@media(min-width:1481px){.top>.wrap{overflow:visible}.konnect-nav{overflow:visible}.konnect-nav-group{position:relative}}

body:has([role='dialog']:not(.hidden))>.konnect-language-switch,body:has(.modal:not(.hidden))>.konnect-language-switch{visibility:hidden!important;pointer-events:none!important}

/* Keep compact table labels readable across all Control Hub menus. */
body.konnect-app-shell table th,
body.konnect-app-shell table :is(button,.btn,.pill,.badge,.status,.ok,.error){
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Permission-aware global search */
.konnect-search{position:relative!important;min-width:0!important}
.konnect-search__toggle{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:46px!important;min-width:86px!important;padding:0 10px!important;border:1px solid #ffffff55!important;border-radius:10px!important;background:#174f7f!important;color:#fff!important;font:800 13px/1 Arial,"Noto Sans KR",sans-serif!important;cursor:pointer!important;white-space:nowrap!important}
.konnect-search__toggle>span{font-size:22px!important;line-height:1!important;transform:rotate(-20deg)}
.konnect-search__toggle kbd{padding:3px 5px;border:1px solid #ffffff40;border-radius:5px;background:#0b3a67;color:#d9eaf7;font:700 10px/1 Arial,sans-serif}
.konnect-search__toggle:focus-visible,.konnect-search-close:focus-visible,.konnect-search-result:focus-visible{outline:3px solid #ffd45e!important;outline-offset:2px!important}
.konnect-search-dialog[hidden]{display:none!important}
.konnect-search-dialog{position:fixed;inset:0;z-index:2147483400;display:flex;align-items:flex-start;justify-content:center;padding:clamp(18px,7vh,72px) 16px 18px;background:#061d32b8;backdrop-filter:blur(5px);overflow:auto}
.konnect-search-panel{width:min(760px,100%);max-height:min(82dvh,760px);display:flex;flex-direction:column;min-width:0;border:1px solid #b9cede;border-radius:18px;background:#f8fbfe;box-shadow:0 28px 70px #00182e80;overflow:hidden}
.konnect-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 15px;background:linear-gradient(135deg,#0b3a67,#0879bd);color:#fff}
.konnect-search-head small{display:block;margin-bottom:5px;color:#bfe5fb;font-weight:900;letter-spacing:.15em}
.konnect-search-head h2{margin:0;font-size:25px;line-height:1.2}
.konnect-search-close{flex:0 0 auto;width:44px;height:44px;border:1px solid #ffffff66;border-radius:11px;background:#ffffff18;color:#fff;font-size:20px;cursor:pointer}
.konnect-search-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:18px 20px 8px;padding:5px 5px 5px 14px;border:2px solid #7fb2d4;border-radius:13px;background:#fff}
.konnect-search-form>span{color:#0873b9;font-size:24px;transform:rotate(-20deg)}
.konnect-search-form input{width:100%;min-width:0;height:46px;padding:0;border:0!important;outline:0!important;background:transparent!important;color:#14263a!important;font:700 16px/1.3 Arial,"Noto Sans KR",sans-serif!important;box-shadow:none!important}
.konnect-search-form button{min-width:76px;height:44px;border:0;border-radius:9px;background:#0873b9;color:#fff;font-weight:900;cursor:pointer}
.konnect-search-help{margin:0 22px 10px;color:#557087;font-size:13px;line-height:1.45}
.konnect-search-results{min-height:150px;padding:2px 20px 22px;overflow:auto;overscroll-behavior:contain}
.konnect-search-results__section{margin-top:14px}
.konnect-search-results__section h3{margin:0 0 7px;color:#516b80;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.konnect-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;min-width:0;margin-bottom:7px;padding:12px 14px;border:1px solid #d0dee8;border-radius:11px;background:#fff;color:#16354f;text-decoration:none;box-shadow:0 3px 10px #0b3a6709}
.konnect-search-result:hover{border-color:#6ca8cf;background:#eef8ff}
.konnect-search-result.exact{border-color:#e8b84d;background:#fff9e8}
.konnect-search-result__kicker{grid-column:2;grid-row:1/3;align-self:center;padding:5px 7px;border-radius:7px;background:#e8f3fb;color:#0a669f;font-size:11px;font-weight:900;white-space:nowrap}
.konnect-search-result b{grid-column:1;min-width:0;overflow-wrap:anywhere;font-size:15px}
.konnect-search-result small{grid-column:1;min-width:0;color:#61798d;overflow-wrap:anywhere}
.konnect-search-empty,.konnect-search-loading,.konnect-search-error{margin-top:14px;padding:22px;border:1px dashed #b8cbda;border-radius:12px;background:#fff;color:#5b7184;text-align:center;font-weight:700}
.konnect-search-error{border-color:#e2aaa3;background:#fff3f1;color:#9c3428}
body.konnect-search-open{overflow:hidden!important}

/* Keep the current screen usable while the destination document starts. */
.konnect-page-transition{position:fixed;inset:0 0 auto;z-index:2147483500;height:4px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;background:#ffffff38;transition:opacity .08s ease,visibility 0s linear .08s}
.konnect-page-transition__bar{display:block;width:38%;height:100%;border-radius:0 999px 999px 0;background:#42b9ef;box-shadow:0 0 14px #63caff;transform:translateX(-110%)}
html.konnect-navigating .konnect-page-transition{opacity:1;visibility:visible;transition:opacity .08s ease}
html.konnect-navigating .konnect-page-transition__bar{animation:konnect-progress .65s ease-out infinite}
html.konnect-navigating body{cursor:progress}
@keyframes konnect-progress{0%{transform:translateX(-110%)}70%{transform:translateX(190%)}100%{transform:translateX(290%)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:konnect-old .12s ease both}
::view-transition-new(root){animation:konnect-new .16s ease both}
@keyframes konnect-old{to{opacity:.72}}
@keyframes konnect-new{from{opacity:.82}to{opacity:1}}

@media(max-width:1480px){
  .konnect-header-shell{grid-template-columns:minmax(0,1fr) auto minmax(0,auto) auto!important}
  .konnect-search{grid-column:2!important;grid-row:1!important}
  .konnect-search__toggle{width:46px!important;min-width:46px!important;padding:0!important}
  .konnect-search__toggle b,.konnect-search__toggle kbd{display:none!important}
  .konnect-account{grid-column:3!important;grid-row:1!important}
  .konnect-language-switch{grid-column:4!important;grid-row:1!important}
}
@media(max-width:600px){
  .konnect-header-shell{grid-template-columns:minmax(0,1fr) 46px 46px 46px!important;grid-template-rows:auto auto!important;column-gap:7px!important;row-gap:8px!important;padding:10px 0!important}
  .konnect-home-link{grid-column:1!important;grid-row:1!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .konnect-search{grid-column:2!important;grid-row:1!important}
  .konnect-language-switch{grid-column:3!important;grid-row:1!important}
  .konnect-account{grid-column:4!important;grid-row:1!important;max-width:none!important}
  .konnect-global-nav{grid-column:1/-1!important;grid-row:2!important}
  .konnect-global-nav__title{height:48px!important}
  .konnect-search__toggle,.konnect-language-switch,.konnect-account__toggle{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:11px!important;justify-content:center!important}
  .konnect-account__identity,.konnect-account__more{display:none!important}
  .konnect-account__compact-icon{display:block!important}
  .konnect-account__menu{width:min(220px,calc(100vw - 24px))!important}
  .konnect-account__menu-identity{display:block}
  .konnect-search-dialog{padding:10px}
  .konnect-search-panel{max-height:calc(100dvh - 20px);border-radius:15px}
  .konnect-search-head{padding:18px 16px 13px}
  .konnect-search-head h2{font-size:21px}
  .konnect-search-form{margin:14px 12px 7px;padding-left:10px}
  .konnect-search-form button{min-width:58px}
  .konnect-search-help{margin:0 14px 8px}
  .konnect-search-results{padding:2px 12px 16px}
  .konnect-search-result{grid-template-columns:minmax(0,1fr);gap:4px}
  .konnect-search-result__kicker{grid-column:1;grid-row:auto;justify-self:start}
}
@media(prefers-reduced-motion:reduce){.konnect-page-transition,.konnect-page-transition__bar{transition:none!important;animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
