
/* ==========================
   Shared GitHub-like design tokens
   ========================== */
:root{
  --kg-app-bg: #f6f8fa;
  --kg-panel-bg: #ffffff;
  --kg-panel-bg-subtle: #f6f8fa;
  --kg-panel-bg-hover: #f3f4f6;
  --kg-border: #d0d7de;
  --kg-border-muted: #d8dee4;
  --kg-fg-muted: #57606a;
  --kg-fg-subtle: #6e7781;
  --kg-radius: 12px;
  --kg-radius-sm: 8px;
  --kg-focus-ring: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .18);
  --kg-shadow-soft: 0 1px 0 rgba(27,31,36,.04);
  --kg-shadow-hover: 0 8px 22px rgba(27,31,36,.08);
}

:root[data-bs-theme="dark"],
[data-bs-theme="dark"]{
  --kg-app-bg: #0d1117;
  --kg-panel-bg: #161b22;
  --kg-panel-bg-subtle: #0d1117;
  --kg-panel-bg-hover: #1f2630;
  --kg-border: #30363d;
  --kg-border-muted: #21262d;
  --kg-fg-muted: #8b949e;
  --kg-fg-subtle: #7d8590;
  --kg-shadow-soft: 0 1px 0 rgba(1,4,9,.45);
  --kg-shadow-hover: 0 8px 24px rgba(1,4,9,.35);
}

.btn-touch { padding: .5rem .75rem; }
    .nav-touch .nav-link, .nav-touch .dropdown-item { padding-top: .6rem; padding-bottom: .6rem; }
    .k-card { border-radius: 1rem; box-shadow: 0 .25rem 1rem rgba(0,0,0,.06); }
    footer a { text-decoration: none; }

    @media (max-width: 576px) {
      .btn-touch { padding: .45rem .65rem; }
    }

    /* чтобы в offcanvas list-group выглядело "touch" */
    .offcanvas .list-group-item { padding-top: .75rem; padding-bottom: .75rem; }

    /* Mobile offcanvas: fullscreen + safe-areas */
    @media (max-width: 576px){
      .kg-offcanvas.offcanvas{
        width: 100vw;
      }
      .kg-offcanvas .offcanvas-header{
        padding-top: calc(1rem + env(safe-area-inset-top));
      }
      .kg-offcanvas .offcanvas-body{
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
      }
    }

.btn-touch { padding: .5rem .75rem; }
    .nav-touch .nav-link, .nav-touch .dropdown-item { padding-top: .6rem; padding-bottom: .6rem; }
    .k-card { border-radius: 1rem; box-shadow: 0 .25rem 1rem rgba(0,0,0,.06); }
    footer a { text-decoration: none; }

    @media (max-width: 576px) {
      .btn-touch { padding: .45rem .65rem; }
    }

    .offcanvas .list-group-item { padding-top: .75rem; padding-bottom: .75rem; }

    /* ==========
       GLOBAL UI helpers (avatar + mono)
       ========== */
    .kg-mono{
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    }

    .min-w-0{
      min-width:0;
    }

    .kg-avatar{
      width: var(--kg-avatar-size, 40px);
      height: var(--kg-avatar-size, 40px);
      border-radius: 999px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      flex: 0 0 auto;

      background: var(--kg-avatar-bg, var(--bs-tertiary-bg));
      color: var(--kg-avatar-fg, var(--bs-body-color));

      font-weight: 900;
      line-height: 1;
      letter-spacing: -0.02em;
    }

    .kg-avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .kg-avatar-icon i{
      font-size: calc(var(--kg-avatar-size, 40px) * 0.60);
      line-height: 1;
      display: block;
    }

    .kg-avatar-initial{
      font-weight: 900;
      font-size: calc(var(--kg-avatar-size, 40px) * 0.45);
      line-height: 1;
      letter-spacing: -0.02em;
    }

/* ==========================
       KG FLASH TOASTS (adaptive)
       ========================== */

    .kg-flash-container{
      position: fixed;
      z-index: 1080; /* выше offcanvas/backdrop */
      display: flex;
      flex-direction: column;
      gap: .5rem;
      pointer-events: none; /* контейнер не перехватывает клики */
      max-height: calc(100vh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
      overflow: visible;  /* важно: без подрезаний */
      padding: .25rem;
    }

    /* Mobile: снизу, почти на всю ширину + safe-area */
    @media (max-width: 576px){
      .kg-flash-container{
        top: auto;
        bottom: calc(.75rem + env(safe-area-inset-bottom));
        left: .75rem;
        right: .75rem;
        align-items: stretch;
      }
      .kg-flash-container .kg-toast{
        width: 100%;
      }
    }

    /* Desktop: снизу справа + safe-area */
    @media (min-width: 577px){
      .kg-flash-container{
        right: 1rem;
        bottom: calc(1rem + env(safe-area-inset-bottom));
        top: auto;
        left: auto;
        align-items: flex-end;
      }
      .kg-flash-container .kg-toast{
        width: 380px;
        max-width: 380px;
      }
    }

    /* Toast style (no shadows) */
    .kg-toast{
      pointer-events: auto; /* тост кликабельный */
      position: relative;
      border-radius: 14px;
      overflow: hidden;

      /* “glass” */
      background: rgba(var(--bs-body-bg-rgb), .96);
      -webkit-backdrop-filter: saturate(1.2) blur(10px);
      backdrop-filter: saturate(1.2) blur(10px);

      border: 1px solid rgba(0,0,0,.10);
      box-shadow: none; /* УБРАЛИ */
      color: var(--bs-body-color);
    }

    :root[data-bs-theme="dark"] .kg-toast{
      border-color: rgba(255,255,255,.14);
      box-shadow: none; /* УБРАЛИ */
      background: rgba(var(--bs-body-bg-rgb), .86);
    }

    /* Accent bar (left) */
    .kg-toast::before{
      content:"";
      position:absolute;
      left:0; top:0; bottom:0;
      width: 5px;
      background: rgba(var(--kg-accent-rgb, var(--bs-primary-rgb)), .9);
    }

    /* Layout inside */
    .kg-toast-inner{
      display:flex;
      gap: .75rem;
      padding: .75rem .85rem;
      align-items:flex-start;
    }

    .kg-toast-icon{
      width: 34px;
      height: 34px;
      border-radius: 999px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex: 0 0 auto;

      background: rgba(var(--kg-accent-rgb, var(--bs-primary-rgb)), .12);
      color: rgba(var(--kg-accent-rgb, var(--bs-primary-rgb)), .95);
    }

    .kg-toast-body{
      min-width: 0;
      line-height: 1.25;
    }
    .kg-toast-body .kg-toast-text{
      font-size: .95rem;
      word-wrap: break-word;
    }

    /* Close */
    .kg-toast .btn-close{
      opacity: .7;
    }
    .kg-toast .btn-close:hover{ opacity: 1; }
    :root[data-bs-theme="dark"] .kg-toast .btn-close{
      filter: invert(1) grayscale(100%);
      opacity: .75;
    }

    /* Progress bar */
    .kg-toast-progress{
      height: 2px;
      background: rgba(0,0,0,.06);
    }
    :root[data-bs-theme="dark"] .kg-toast-progress{
      background: rgba(255,255,255,.08);
    }
    .kg-toast-progress > span{
      display:block;
      height:100%;
      width:100%;
      transform-origin: left;
      background: rgba(var(--kg-accent-rgb, var(--bs-primary-rgb)), .65);
      animation: kgToastProgress linear forwards;
      animation-duration: var(--kg-delay, 4500ms);
    }
    .kg-toast:hover .kg-toast-progress > span{
      animation-play-state: paused; /* только визуально */
    }
    @keyframes kgToastProgress{
      from{ transform: scaleX(1); }
      to{ transform: scaleX(0); }
    }

    /* Category -> accent vars */
    .kg-toast[data-kg="success"]{ --kg-accent-rgb: var(--bs-success-rgb); }
    .kg-toast[data-kg="danger"] { --kg-accent-rgb: var(--bs-danger-rgb); }
    .kg-toast[data-kg="warning"]{ --kg-accent-rgb: var(--bs-warning-rgb); }
    .kg-toast[data-kg="info"]   { --kg-accent-rgb: var(--bs-info-rgb); }
    .kg-toast[data-kg="primary"]{ --kg-accent-rgb: var(--bs-primary-rgb); }
    .kg-toast[data-kg="secondary"]{ --kg-accent-rgb: var(--bs-secondary-rgb); }
    .kg-toast[data-kg="dark"]   { --kg-accent-rgb: var(--bs-dark-rgb); }
    .kg-toast[data-kg="light"]  { --kg-accent-rgb: var(--bs-light-rgb); }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce){
      .kg-toast-progress > span{ animation: none; }
    }

/* =========================================================
       CultGeo internal project UI layer
       GitHub-like, restrained, responsive. Scoped to project pages.
       ========================================================= */

    .kg-project-shell{
      --kg-app-bg: #f6f8fa;
      --kg-panel-bg: #ffffff;
      --kg-panel-bg-subtle: #f6f8fa;
      --kg-panel-bg-hover: #f3f4f6;
      --kg-border: #d0d7de;
      --kg-border-muted: #d8dee4;
      --kg-fg-muted: #57606a;
      --kg-fg-subtle: #6e7781;
      --kg-radius: 12px;
      --kg-radius-sm: 8px;
      --kg-focus-ring: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .18);
      --kg-shadow-soft: 0 1px 0 rgba(27,31,36,.04);
      --kg-shadow-hover: 0 8px 22px rgba(27,31,36,.08);
      background: var(--kg-app-bg);
    }

    :root[data-bs-theme="dark"] .kg-project-shell,
    [data-bs-theme="dark"] .kg-project-shell{
      --kg-app-bg: #0d1117;
      --kg-panel-bg: #161b22;
      --kg-panel-bg-subtle: #0d1117;
      --kg-panel-bg-hover: #1f2630;
      --kg-border: #30363d;
      --kg-border-muted: #21262d;
      --kg-fg-muted: #8b949e;
      --kg-fg-subtle: #7d8590;
      --kg-shadow-soft: 0 1px 0 rgba(1,4,9,.45);
      --kg-shadow-hover: 0 8px 24px rgba(1,4,9,.35);
    }

    .kg-project-shell header.sticky-top,
    .kg-project-shell footer{
      background: var(--kg-panel-bg) !important;
      border-color: var(--kg-border) !important;
    }

    .kg-project-shell main > .container-xxl{
      padding-top: 1rem !important;
      padding-bottom: 1.5rem !important;
    }

    .kg-project-shell .container-xxl{
      max-width: 1480px;
    }

    .kg-project-shell .navbar-brand{
      letter-spacing: -.02em;
    }

    .kg-project-shell .btn,
    .kg-project-shell .form-control,
    .kg-project-shell .form-select,
    .kg-project-shell .input-group-text,
    .kg-project-shell .dropdown-menu,
    .kg-project-shell .list-group-item,
    .kg-project-shell .modal-content,
    .kg-project-shell .offcanvas,
    .kg-project-shell .alert{
      border-color: var(--kg-border);
    }

    .kg-project-shell .btn{
      border-radius: var(--kg-radius-sm);
      font-weight: 600;
      box-shadow: var(--kg-shadow-soft);
    }

    .kg-project-shell .btn-sm{
      border-radius: 7px;
      font-weight: 600;
    }

    .kg-project-shell .btn:hover{
      transform: translateY(-1px);
    }

    .kg-project-shell .btn:active{
      transform: translateY(0);
    }

    .kg-project-shell .btn-outline-secondary,
    .kg-project-shell .btn-light{
      color: var(--bs-body-color);
      background: var(--kg-panel-bg);
      border-color: var(--kg-border);
    }

    .kg-project-shell .btn-outline-secondary:hover,
    .kg-project-shell .btn-light:hover{
      background: var(--kg-panel-bg-hover);
      border-color: var(--kg-border);
      color: var(--bs-body-color);
    }

    .kg-project-shell .btn-link{
      box-shadow: none;
      font-weight: 600;
    }

    .kg-project-shell .btn:focus-visible,
    .kg-project-shell .form-control:focus,
    .kg-project-shell .form-select:focus,
    .kg-project-shell .form-check-input:focus{
      box-shadow: var(--kg-focus-ring);
      border-color: rgba(var(--bs-primary-rgb), .55);
    }

    .kg-project-shell .card,
    .kg-project-shell .k-card,
    .kg-project-shell .kg-card,
    .kg-project-shell .kg-dashboard-card,
    .kg-project-shell .kg-dashboard-hero,
    .kg-project-shell .kg-dashboard-stat,
    .kg-project-shell .kg-dashboard-icon,
    .kg-project-shell .kg-table-clip,
    .kg-project-shell .kg-map-shell,
    .kg-project-shell .kg-graph-shell,
    .kg-project-shell .kg-timeline-shell,
    .kg-project-shell .kg-analytics-side,
    .kg-project-shell .kg-schema-stat-card,
    .kg-project-shell .kg-analytics-stat,
    .kg-project-shell .kg-selected-item,
    .kg-project-shell .kg-empty-note{
      background: var(--kg-panel-bg) !important;
      border: 1px solid var(--kg-border) !important;
      border-radius: var(--kg-radius) !important;
      box-shadow: var(--kg-shadow-soft) !important;
    }

    .kg-project-shell .card-header,
    .kg-project-shell .kg-analytics-side-head{
      background: var(--kg-panel-bg-subtle) !important;
      border-bottom: 1px solid var(--kg-border) !important;
      font-weight: 650;
    }

    .kg-project-shell .card:hover,
    .kg-project-shell .kg-dashboard-link-card:hover,
    .kg-project-shell .kg-selected-item:hover{
      box-shadow: var(--kg-shadow-hover) !important;
    }

    .kg-project-shell .text-muted,
    .kg-project-shell .kg-muted,
    .kg-project-shell .small.text-muted{
      color: var(--kg-fg-muted) !important;
    }

    .kg-project-shell h1,
    .kg-project-shell h2,
    .kg-project-shell h3,
    .kg-project-shell .h1,
    .kg-project-shell .h2,
    .kg-project-shell .h3,
    .kg-project-shell .h4{
      letter-spacing: -.025em;
      font-weight: 750;
    }

    .kg-project-shell .breadcrumb{
      margin-bottom: 0;
    }

    .kg-project-shell .breadcrumb a,
    .kg-project-shell .breadcrumb-item{
      color: var(--kg-fg-muted);
      text-decoration: none;
    }

    .kg-project-shell .badge{
      font-weight: 600;
      border-radius: 999px;
    }

    .kg-project-shell .badge.text-bg-light,
    .kg-project-shell .badge.bg-light,
    .kg-project-shell .badge.border{
      color: var(--bs-body-color) !important;
      background: var(--kg-panel-bg-subtle) !important;
      border-color: var(--kg-border) !important;
    }

    .kg-project-shell .form-label{
      color: var(--kg-fg-muted);
      font-size: .82rem;
      font-weight: 650;
      margin-bottom: .28rem;
    }

    .kg-project-shell .form-control,
    .kg-project-shell .form-select,
    .kg-project-shell .input-group-text{
      border-radius: var(--kg-radius-sm);
      background-color: var(--kg-panel-bg);
    }

    .kg-project-shell .input-group > .form-control:not(:first-child),
    .kg-project-shell .input-group > .form-select:not(:first-child){
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }

    .kg-project-shell .input-group > .input-group-text:not(:last-child){
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }

    .kg-project-shell textarea.form-control{
      min-height: 7rem;
    }

    .kg-project-shell .dropdown-menu{
      border-radius: var(--kg-radius);
      background: var(--kg-panel-bg);
      box-shadow: 0 12px 30px rgba(27,31,36,.14) !important;
      padding: .45rem;
    }

    .kg-project-shell .dropdown-item{
      border-radius: 7px;
      padding: .46rem .58rem;
    }

    .kg-project-shell .dropdown-item:hover,
    .kg-project-shell .dropdown-item:focus{
      background: var(--kg-panel-bg-hover);
    }

    .kg-project-shell .list-group{
      border-radius: var(--kg-radius);
      overflow: hidden;
      border-color: var(--kg-border);
    }

    .kg-project-shell .list-group-item{
      background: var(--kg-panel-bg);
      border-color: var(--kg-border-muted);
    }

    .kg-project-shell .list-group-item-action:hover,
    .kg-project-shell .list-group-item-action:focus{
      background: var(--kg-panel-bg-hover);
    }

    .kg-project-shell .table-responsive,
    .kg-project-shell .kg-table-scroll{
      border-radius: var(--kg-radius);
      scrollbar-width: thin;
    }

    .kg-project-shell table.table{
      --bs-table-bg: transparent;
      --bs-table-striped-bg: rgba(175,184,193,.08);
      --bs-table-hover-bg: rgba(var(--bs-primary-rgb), .055);
      margin-bottom: 0;
    }

    .kg-project-shell .table > :not(caption) > * > *{
      padding: .72rem .78rem;
      border-bottom-color: var(--kg-border-muted);
      vertical-align: middle;
    }

    .kg-project-shell .table thead th,
    .kg-project-shell thead.table-light th{
      background: var(--kg-panel-bg-subtle) !important;
      color: var(--kg-fg-muted);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .02em;
      text-transform: uppercase;
      border-bottom-color: var(--kg-border);
      white-space: nowrap;
    }

    .kg-project-shell .table tbody tr:last-child > *{
      border-bottom-width: 0;
    }

    .kg-project-shell .table a:not(.btn){
      font-weight: 650;
      text-decoration: none;
    }

    .kg-project-shell .table a:not(.btn):hover{
      text-decoration: underline;
    }

    .kg-project-shell .nav-tabs{
      gap: .25rem;
      border-bottom-color: var(--kg-border) !important;
    }

    .kg-project-shell .nav-tabs .nav-link{
      border: 0;
      border-bottom: 2px solid transparent;
      border-radius: 8px 8px 0 0;
      color: var(--kg-fg-muted);
      font-weight: 650;
      padding: .65rem .75rem;
    }

    .kg-project-shell .nav-tabs .nav-link:hover{
      color: var(--bs-body-color);
      background: var(--kg-panel-bg-hover);
      border-bottom-color: var(--kg-border);
    }

    .kg-project-shell .nav-tabs .nav-link.active{
      color: var(--bs-body-color);
      background: transparent;
      border-bottom-color: rgba(var(--bs-primary-rgb), .9);
    }

    .kg-project-shell .kg-subtabs .nav-link,
    .kg-project-shell .nav-pills .nav-link{
      border-radius: 999px;
      font-weight: 650;
      color: var(--kg-fg-muted);
    }

    .kg-project-shell .kg-subtabs .nav-link.active,
    .kg-project-shell .nav-pills .nav-link.active{
      color: var(--bs-body-color);
      background: rgba(var(--bs-primary-rgb), .12);
      border: 1px solid rgba(var(--bs-primary-rgb), .24);
    }

    .kg-project-shell .alert{
      border-radius: var(--kg-radius);
      box-shadow: var(--kg-shadow-soft);
    }

    .kg-project-shell .modal-content,
    .kg-project-shell .offcanvas{
      border-radius: var(--kg-radius);
      background: var(--kg-panel-bg);
    }

    .kg-project-shell .offcanvas .card,
    .kg-project-shell .offcanvas .k-card{
      box-shadow: none !important;
    }

    .kg-project-shell .kg-btn-icon,
    .kg-project-shell .btn.icon-only{
      width: 2.15rem;
      min-width: 2.15rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .kg-project-shell .kg-action-nowrap,
    .kg-project-shell .btn-group{
      white-space: nowrap;
    }

    .kg-project-shell .kg-empty-state,
    .kg-project-shell .kg-empty-note{
      color: var(--kg-fg-muted);
      background: var(--kg-panel-bg-subtle) !important;
      border-style: dashed !important;
    }

    .kg-project-shell .kg-dashboard-link-card,
    .kg-project-shell .kg-dashboard-stat,
    .kg-project-shell .kg-repo-row,
    .kg-project-shell .kg-frame-node,
    .kg-project-shell .kg-attr-pill,
    .kg-project-shell .kg-analytics-chip{
      border-color: var(--kg-border) !important;
      background: var(--kg-panel-bg) !important;
      border-radius: var(--kg-radius-sm);
    }

    .kg-project-shell .kg-attr-pill,
    .kg-project-shell .kg-analytics-chip{
      border-radius: 999px;
    }

    .kg-project-shell .kg-analytics-toolbar,
    .kg-project-shell .kg-analytics-filter,
    .kg-project-shell .kg-timeline-filter{
      min-width: 0;
    }

    .kg-project-shell .kg-map-shell,
    .kg-project-shell .kg-graph-shell,
    .kg-project-shell .kg-timeline-shell{
      overflow: hidden;
    }



    .kg-project-shell .kg-repo-row{
      margin-left: -.25rem;
      margin-right: -.25rem;
      padding: 1rem .25rem !important;
      border-bottom-color: var(--kg-border-muted) !important;
    }

    .kg-project-shell .kg-repo-row:hover{
      background: var(--kg-panel-bg-subtle);
    }

    .kg-project-shell .kg-repo-name a{
      color: var(--bs-primary);
      font-size: 1.03rem;
    }

    .kg-project-shell .page-link{
      color: var(--bs-body-color);
      background: var(--kg-panel-bg);
      border-color: var(--kg-border);
      font-weight: 600;
    }

    .kg-project-shell .page-link:hover{
      background: var(--kg-panel-bg-hover);
    }

    .kg-project-shell .active > .page-link,
    .kg-project-shell .page-link.active{
      background: var(--bs-primary);
      border-color: var(--bs-primary);
      color: #fff;
    }

    .kg-project-shell .leaflet-control,
    .kg-project-shell .vis-timeline,
    .kg-project-shell .vis-panel{
      font-family: var(--bs-body-font-family) !important;
    }

    /* GitHub-like compact row cards for mobile tables. */
    @media (max-width: 767.98px){
      .kg-project-shell main > .container-xxl{
        padding-left: .75rem;
        padding-right: .75rem;
      }

      .kg-project-shell .card-body,
      .kg-project-shell .card-header,
      .kg-project-shell .list-group-item{
        padding-left: .85rem;
        padding-right: .85rem;
      }

      .kg-project-shell .d-flex.justify-content-between,
      .kg-project-shell .d-flex.align-items-start.justify-content-between,
      .kg-project-shell .d-flex.align-items-center.justify-content-between{
        gap: .65rem;
      }

      .kg-project-shell .btn,
      .kg-project-shell .btn-sm,
      .kg-project-shell .form-control,
      .kg-project-shell .form-select{
        min-height: 2.35rem;
      }

      .kg-project-shell .btn-group{
        flex-wrap: wrap;
      }

      .kg-project-shell .kg-mobile-table{
        display: block;
      }

      .kg-project-shell .kg-mobile-table thead{
        display: none;
      }

      .kg-project-shell .kg-mobile-table tbody,
      .kg-project-shell .kg-mobile-table tr,
      .kg-project-shell .kg-mobile-table td{
        display: block;
        width: 100%;
      }

      .kg-project-shell .kg-mobile-table tbody{
        display: grid;
        gap: .7rem;
        padding: .75rem;
        background: var(--kg-panel-bg-subtle);
      }

      .kg-project-shell .kg-mobile-table tr{
        border: 1px solid var(--kg-border);
        border-radius: var(--kg-radius);
        background: var(--kg-panel-bg);
        overflow: hidden;
        box-shadow: var(--kg-shadow-soft);
      }

      .kg-project-shell .kg-mobile-table td{
        border-bottom: 1px solid var(--kg-border-muted) !important;
        padding: .68rem .75rem !important;
      }

      .kg-project-shell .kg-mobile-table td:last-child{
        border-bottom: 0 !important;
      }

      .kg-project-shell .kg-mobile-table td::before{
        content: attr(data-label);
        display: block;
        margin-bottom: .15rem;
        color: var(--kg-fg-muted);
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .02em;
        text-transform: uppercase;
      }

      .kg-project-shell .kg-mobile-table td[data-label="" ]::before,
      .kg-project-shell .kg-mobile-table td:not([data-label])::before{
        display: none;
      }

      .kg-project-shell .table-responsive{
        overflow: visible;
      }

      .kg-project-shell .kg-repo-title{
        max-width: 100%;
      }

      .kg-project-shell .kg-tabstrip{
        margin-left: -.75rem;
        margin-right: -.75rem;
        padding-left: .75rem;
        padding-right: .75rem;
      }
    }

/* Project second-level workbar. GitHub-like, but shared for schema/analytics/notes. */
    .kg-workbar{
      margin: -.25rem 0 1rem;
      border-bottom: 1px solid var(--kg-border, var(--bs-border-color));
      overflow: visible;
      position: relative;
      z-index: 80;
    }
    .kg-workbar-inner{
      display:flex;
      align-items:center;
      gap:.2rem;
      flex-wrap:wrap;
      min-width:0;
    }
    .kg-workbar .dropdown{
      position:relative;
    }
    .kg-workbar-link,
    .kg-workbar .dropdown-toggle,
    .kg-workbar-button{
      display:inline-flex;
      align-items:center;
      gap:.42rem;
      min-height: 42px;
      padding:.62rem .72rem .58rem;
      border:0;
      border-bottom:2px solid transparent;
      border-radius:8px 8px 0 0;
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      background:transparent;
      font-weight:650;
      text-decoration:none;
      white-space:nowrap;
      appearance:none;
      line-height:1.2;
    }
    .kg-workbar-link:hover,
    .kg-workbar .dropdown-toggle:hover,
    .kg-workbar .dropdown-toggle.show,
    .kg-workbar-button:hover,
    .kg-workbar-button.show{
      color:var(--bs-body-color);
      background:var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
      text-decoration:none;
    }
    .kg-workbar-link.active,
    .kg-workbar .dropdown-toggle.active,
    .kg-workbar-button.active{
      color:var(--bs-body-color);
      border-bottom-color:rgba(var(--bs-primary-rgb), .95);
      background:transparent;
    }
    .kg-workbar-spacer{ flex:1 1 auto; }
    .kg-workbar .dropdown-menu{
      min-width: 15rem;
      z-index: 2200;
      border-radius: 12px;
    }
    .kg-workbar .dropdown-item{
      display:flex;
      align-items:center;
      gap:.15rem;
      min-height: 34px;
    }
    .kg-workbar .dropdown-item.active{
      background:rgba(var(--bs-primary-rgb), .10);
      color:var(--bs-body-color);
      font-weight:700;
    }
    @media(max-width: 767.98px){
      .kg-workbar{
        margin-left:-.75rem;
        margin-right:-.75rem;
        padding-left:.75rem;
        padding-right:.75rem;
      }
      .kg-workbar-inner{
        gap:.1rem;
      }
      .kg-workbar-link,
      .kg-workbar .dropdown-toggle,
      .kg-workbar-button{
        min-height:42px;
        padding-left:.58rem;
        padding-right:.58rem;
        font-size:.92rem;
      }
      .kg-workbar-spacer{ display:none; }
      .kg-workbar .dropdown-menu-end{
        right:auto;
        left:0;
      }
    }

    /* Project README and notes. */
    .kg-readme-card{
      overflow:hidden;
    }
    .kg-project-dashboard-clean .kg-clean-readme-shell{
      max-width: 980px;
      margin: 0 auto;
    }
    .kg-project-dashboard-clean .kg-readme-card{
      border-radius: 12px;
    }
    .kg-readme-header-clean{
      background: var(--bs-body-bg);
    }
    .kg-empty-state-clean{
      border:1px dashed var(--kg-border, var(--bs-border-color));
      background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-empty-icon{
      width: 46px;
      height: 46px;
      border-radius: 999px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--kg-border, var(--bs-border-color));
      background: var(--bs-body-bg);
      font-size:1.35rem;
    }
    .kg-readme-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      padding:.8rem 1rem;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border-bottom:1px solid var(--kg-border, var(--bs-border-color));
    }
    .kg-readme-body{
      padding:1rem;
    }
    .kg-markdown-body{
      font-size:.96rem;
      line-height:1.62;
      overflow-wrap:anywhere;
    }
    .kg-markdown-body > :first-child{ margin-top:0; }
    .kg-markdown-body > :last-child{ margin-bottom:0; }
    .kg-markdown-body h1,
    .kg-markdown-body h2,
    .kg-markdown-body h3,
    .kg-markdown-body h4,
    .kg-markdown-body h5,
    .kg-markdown-body h6{
      margin:1.25rem 0 .65rem;
      padding-bottom:.25rem;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
      letter-spacing:-.025em;
    }
    .kg-markdown-body h1{ font-size:1.55rem; }
    .kg-markdown-body h2{ font-size:1.28rem; }
    .kg-markdown-body h3{ font-size:1.12rem; }
    .kg-markdown-body p,
    .kg-markdown-body ul,
    .kg-markdown-body ol,
    .kg-markdown-body blockquote,
    .kg-markdown-body pre{ margin-bottom:.85rem; }
    .kg-markdown-body pre{
      padding:.85rem;
      border-radius:10px;
      border:1px solid var(--kg-border, var(--bs-border-color));
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      overflow:auto;
    }
    .kg-markdown-body code{
      padding:.12rem .32rem;
      border-radius:6px;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border:1px solid var(--kg-border-muted, var(--bs-border-color));
      font-size:.88em;
    }
    .kg-markdown-body pre code{
      border:0;
      padding:0;
      background:transparent;
    }
    .kg-markdown-body blockquote{
      padding:.6rem .85rem;
      border-left:4px solid var(--kg-border, var(--bs-border-color));
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border-radius:0 10px 10px 0;
    }
    .kg-md-internal-link,
    .kg-md-note-link{
      display:inline-flex;
      align-items:center;
      gap:.18rem;
      padding:.05rem .32rem;
      border-radius:999px;
      border:1px solid rgba(var(--bs-primary-rgb), .24);
      background:rgba(var(--bs-primary-rgb), .07);
      text-decoration:none;
      font-weight:650;
    }
    .kg-md-note-link{
      border-color:rgba(var(--bs-info-rgb), .28);
      background:rgba(var(--bs-info-rgb), .08);
    }
    .kg-md-broken-link{
      display:inline-flex;
      padding:.05rem .32rem;
      border-radius:999px;
      border:1px dashed var(--bs-danger);
      color:var(--bs-danger);
    }
    .kg-md-editor-layout{
      display:grid;
      grid-template-columns:minmax(0, 1fr) 320px;
      gap:1rem;
      align-items:start;
    }
    .kg-md-editor-layout-no-preview{
      grid-template-columns:minmax(0, 1fr) 340px;
    }
    .kg-md-editor-layout-full{
      grid-template-columns:minmax(0, 1fr);
    }
    .kg-md-editor-page .kg-md-editor{
      overflow:hidden;
    }
    .kg-md-editor textarea{
      min-height:68vh;
      font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size:.94rem;
      line-height:1.55;
      resize:vertical;
    }
    .kg-md-code-shell{
      display:grid;
      grid-template-columns:3.35rem minmax(0,1fr);
      border:1px solid var(--bs-border-color);
      border-radius:var(--bs-border-radius);
      overflow:hidden;
      background:var(--bs-body-bg);
    }
    .kg-md-code-shell textarea.form-control{
      border:0;
      border-radius:0;
      box-shadow:none;
      min-height:68vh;
    }
    .kg-md-line-gutter{
      overflow:hidden;
      padding:.375rem .55rem .375rem .25rem;
      border-right:1px solid var(--bs-border-color);
      background:var(--bs-tertiary-bg);
      color:var(--bs-secondary-color);
      font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size:.84rem;
      line-height:1.55;
      text-align:right;
      user-select:none;
    }
    .kg-md-line-gutter div{height:1.457rem;}
    .kg-md-view-pane{
      min-height:68vh;
      padding:1rem;
      border:1px solid var(--bs-border-color);
      border-radius:var(--bs-border-radius);
      background:var(--bs-body-bg);
    }
    .kg-md-toolbar-wrap{
      position:sticky;
      top:64px;
      z-index:60;
      background:var(--bs-body-bg);
      padding:.55rem .75rem;
    }
    .kg-md-toolbar-row{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:.75rem;
      flex-wrap:wrap;
    }
    .kg-md-toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      align-items:center;
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      margin-bottom:0;
    }
    .kg-md-toolbar .btn{
      min-width:2.2rem;
    }
    .kg-md-side{
      position:sticky;
      top:5.5rem;
    }
    .kg-entity-picker-list,
    .kg-note-picker-list{
      max-height:48vh;
      overflow:auto;
    }
    .kg-entity-picker-list .list-group-item,
    .kg-note-picker-list .list-group-item{
      border-left:0;
      border-right:0;
    }
    .kg-note-row{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      padding:1rem;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
    }
    .kg-note-row:last-child{ border-bottom:0; }
    .kg-note-row:hover{ background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg)); }


    .kg-project-search-page .kg-search-bucket{ overflow:hidden; }
    .kg-search-result-icon{
      width:2rem;
      height:2rem;
      border-radius:10px;
      border:1px solid var(--kg-border, var(--bs-border-color));
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
    }
    .kg-search-result .badge{
      max-width:100%;
      white-space:normal;
      text-align:left;
    }

    .kg-header-icon-btn{
      width:2.5rem;
      padding-left:0;
      padding-right:0;
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }

    .kg-quick-search-modal .modal-dialog{
      max-width:720px;
    }
    .kg-quick-search-box{
      border:1px solid var(--bs-border-color);
      border-radius:14px;
      overflow:hidden;
      background:var(--bs-body-bg);
      box-shadow:0 14px 40px rgba(15,23,42,.14);
    }
    .kg-quick-search-input{
      border:0;
      box-shadow:none!important;
      font-size:1.05rem;
      padding:.95rem 1rem;
    }
    .kg-quick-search-box .input-group-text{
      border:0;
      background:transparent;
      padding-left:1rem;
      color:var(--bs-secondary-color);
    }
    .kg-quick-search-results{
      max-height:430px;
      overflow:auto;
    }
    .kg-quick-search-item{
      display:flex;
      gap:.75rem;
      padding:.72rem .85rem;
      color:var(--bs-body-color);
      text-decoration:none;
      border-top:1px solid color-mix(in srgb,var(--bs-border-color) 70%,transparent);
    }
    .kg-quick-search-item:hover,
    .kg-quick-search-item:focus{
      background:var(--bs-tertiary-bg);
      color:var(--bs-body-color);
    }
    .kg-quick-search-icon{
      width:2rem;
      height:2rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--bs-border-color);
      border-radius:10px;
      background:var(--bs-body-bg);
      color:var(--bs-secondary-color);
      flex:0 0 auto;
    }
    .kg-quick-search-meta{
      color:var(--bs-secondary-color);
      font-size:.78rem;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .kg-quick-search-empty{
      padding:1.1rem;
      color:var(--bs-secondary-color);
      text-align:center;
      border-top:1px solid color-mix(in srgb,var(--bs-border-color) 70%,transparent);
    }
    .kg-quick-search-footer{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:.75rem;
      padding:.65rem .85rem;
      border-top:1px solid var(--bs-border-color);
      background:var(--bs-tertiary-bg);
    }

    /* Project overview as a research repository page. */

    .kg-project-dashboard,
    .kg-entity-content,
    .kg-entities-page{
      width:100%;
      max-width:100%;
      min-width:0;
    }

    .kg-dashboard-grid{
      display:grid;
      grid-template-columns:minmax(0, 1fr);
      gap:1.5rem;
      align-items:start;
      width:100%;
      max-width:100%;
      min-width:0;
    }

    .kg-dashboard-main,
    .kg-project-about-col{
      min-width:0;
    }

    @media(min-width:1200px){
      .kg-dashboard-grid{
        grid-template-columns:minmax(0, 3fr) minmax(260px, 1fr);
      }
    }
    .kg-project-dashboard-research .k-card{
      border-radius:12px;
    }
    .kg-research-files{
      overflow:hidden;
    }
    .kg-research-files-head,
    .kg-research-files-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      padding:.75rem 1rem;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border-bottom:1px solid var(--kg-border, var(--bs-border-color));
    }
    .kg-research-files-foot{
      background:var(--bs-body-bg);
      border-top:1px solid var(--kg-border-muted, var(--bs-border-color));
      border-bottom:0;
    }
    .kg-research-file-table{
      display:block;
      background:var(--bs-body-bg);
    }
    .kg-research-file-row{
      display:grid;
      grid-template-columns: 28px minmax(0, 1fr) minmax(170px, 240px) auto;
      align-items:center;
      gap:.75rem;
      padding:.72rem 1rem;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
    }
    .kg-research-file-row:last-child{ border-bottom:0; }
    .kg-research-file-row:hover{
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-file-icon{
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      text-align:center;
      font-size:1.05rem;
    }
    .kg-file-icon.pinned{
      color:rgba(var(--bs-primary-rgb), .95);
    }
    .kg-file-title{
      color:var(--bs-body-color);
      font-weight:650;
      text-decoration:none;
    }
    .kg-file-title:hover{
      color:var(--bs-primary);
      text-decoration:underline;
    }
    .kg-file-path,
    .kg-file-meta{
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:.84rem;
    }
    .kg-file-actions{
      display:flex;
      justify-content:flex-end;
    }
    .kg-research-empty{
      padding:2.25rem 1rem;
      text-align:center;
      background:var(--bs-body-bg);
    }
    .kg-project-about-col{
      position:relative;
    }
    @media(min-width:1200px){
      .kg-project-about-col{
        position:sticky;
        top:5.25rem;
      }
    }
    .kg-about-box{
      padding:0 0 1rem;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
    }
    .kg-about-box:last-child{
      border-bottom:0;
    }
    .kg-about-description{
      color:var(--bs-body-color);
      font-size:.94rem;
      line-height:1.45;
      overflow-wrap:anywhere;
    }
    .kg-about-meta{
      display:grid;
      gap:.45rem;
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:.88rem;
    }
    .kg-about-meta > div,
    .kg-about-meta-link{
      display:flex;
      align-items:center;
      gap:.5rem;
      min-width:0;
    }
    .kg-about-meta-link{
      border:0;
      background:transparent;
      color:inherit;
      padding:0;
      text-align:left;
      cursor:pointer;
    }
    .kg-about-meta-link:hover{
      color:var(--bs-primary);
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .kg-about-meta i{
      width:1rem;
      flex:0 0 auto;
    }
    .kg-about-stats{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:.5rem;
    }
    .kg-about-stats a{
      padding:.55rem .5rem;
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-radius:10px;
      background:var(--bs-body-bg);
      color:var(--bs-body-color);
      text-align:center;
      text-decoration:none;
      min-width:0;
    }
    .kg-about-stats a:hover{
      border-color:rgba(var(--bs-primary-rgb), .35);
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-about-stats strong{
      display:block;
      font-size:1.03rem;
      line-height:1.1;
    }
    .kg-about-stats span{
      display:block;
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:.74rem;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .kg-participant-list{
      display:grid;
      gap:.65rem;
    }
    .kg-participant-row{
      display:flex;
      align-items:center;
      gap:.65rem;
      min-width:0;
    }
    .kg-participant-avatar{
      width:2rem;
      height:2rem;
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      border:1px solid var(--kg-border, var(--bs-border-color));
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      font-size:.82rem;
      font-weight:800;
    }
    @media(max-width: 991.98px){
      .kg-md-editor-layout,
      .kg-md-editor-layout-no-preview{ grid-template-columns:1fr; }
      .kg-md-side{ position:static; }
      .kg-md-toolbar-wrap{ top:0; }
    }
    @media(max-width: 767.98px){
      .kg-readme-header{ padding:.75rem .85rem; }
      .kg-readme-body{ padding:.85rem; }
      .kg-note-row{ display:block; padding:.85rem; }
      .kg-note-row .kg-note-actions{ margin-top:.75rem; }
      .kg-research-file-row{
        grid-template-columns:28px minmax(0,1fr) auto;
        gap:.6rem;
        padding:.78rem .85rem;
      }
      .kg-file-meta{
        grid-column:2 / -1;
        white-space:normal;
      }
      .kg-file-actions{
        grid-column:3;
        grid-row:1;
      }
      .kg-research-files-head{
        padding:.75rem .85rem;
      }
      .kg-about-box{
        padding:1rem;
        border:1px solid var(--kg-border, var(--bs-border-color));
        border-radius:12px;
        background:var(--bs-body-bg);
      }
    }

/* ==========================
       GitHub-like polish for repository pages
       ========================== */
    .kg-project-shell{
      color-scheme: light;
    }
    .kg-project-shell .kg-repo-header{
      padding: .15rem 0 0;
    }
    .kg-project-shell .kg-repo-header > .d-flex:first-of-type{
      padding: .15rem 0 .2rem;
    }
    .kg-project-shell .kg-repo-title{
      display:flex;
      align-items:center;
      gap:.4rem;
      font-size:1.22rem;
      font-weight:700;
    }
    .kg-project-shell .kg-repo-title::before{
      content:"\F3D7";
      font-family:"bootstrap-icons";
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:1rem;
      line-height:1;
    }
    .kg-project-shell .kg-repo-title a span:last-child{
      color:var(--bs-primary);
      font-weight:700;
    }
    .kg-project-shell .kg-repo-header .border-bottom{
      margin-left:calc(var(--bs-gutter-x) * -.5);
      margin-right:calc(var(--bs-gutter-x) * -.5);
      padding-left:calc(var(--bs-gutter-x) * .5);
      padding-right:calc(var(--bs-gutter-x) * .5);
      background:linear-gradient(to bottom, var(--kg-panel-bg, var(--bs-body-bg)), var(--kg-panel-bg-subtle, var(--bs-tertiary-bg)));
    }
    .kg-project-shell .kg-repo-dropdown .dropdown-item{
      gap:.15rem;
    }
    .kg-project-shell .kg-search-result{
      transition: background-color .12s ease;
    }
    .kg-project-shell .kg-search-result .fw-semibold{
      color:var(--bs-primary);
    }
    .kg-project-shell .kg-search-result:hover .fw-semibold{
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .kg-project-shell .kg-tag-badge{
      display:inline-flex;
      align-items:center;
      gap:.28rem;
      max-width:100%;
      min-height:1.55rem;
      padding:.22rem .58rem;
      border-radius:999px;
      font-size:.78rem;
      font-weight:700;
      line-height:1.15;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
    }
    .kg-project-shell .kg-tag-badge::before{
      content:"";
      width:.42rem;
      height:.42rem;
      border-radius:999px;
      background:currentColor;
      opacity:.85;
      box-shadow:0 0 0 1px rgba(255,255,255,.45);
    }
    .kg-project-shell .kg-tag-widget{
      overflow:hidden;
    }
    .kg-project-shell .kg-tag-widget .card-body{
      background:linear-gradient(to bottom, var(--kg-panel-bg, var(--bs-body-bg)), var(--kg-panel-bg-subtle, var(--bs-tertiary-bg)));
    }
    .kg-project-shell .kg-tags-toolbar{
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-radius:12px 12px 0 0;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      padding:.75rem;
    }
    .kg-project-shell .kg-label-list{
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-top:0;
      border-radius:0 0 12px 12px;
      overflow:hidden;
      background:var(--kg-panel-bg, var(--bs-body-bg));
    }
    .kg-project-shell .kg-label-row{
      display:grid;
      grid-template-columns:minmax(230px, 340px) minmax(0,1fr) auto;
      gap:1rem;
      align-items:center;
      padding:1rem;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
    }
    .kg-project-shell .kg-label-row:last-child{
      border-bottom:0;
    }
    .kg-project-shell .kg-label-row:hover{
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-project-shell .kg-label-description{
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:.9rem;
      overflow-wrap:anywhere;
    }
    .kg-project-shell .kg-label-meta{
      display:flex;
      flex-wrap:wrap;
      gap:.35rem;
      margin-top:.4rem;
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      font-size:.8rem;
    }
    .kg-project-shell .kg-label-count{
      display:inline-flex;
      align-items:center;
      gap:.32rem;
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      white-space:nowrap;
      font-weight:650;
    }
    .kg-project-shell .kg-tag-search-chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      max-width:100%;
    }
    .kg-project-shell .kg-tag-color-dot,
    .kg-project-shell .kg-search-tag-swatch{
      width:.72rem;
      height:.72rem;
      border-radius:999px;
      border:1px solid rgba(27,31,36,.16);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
      flex:0 0 auto;
    }
    .kg-project-shell .kg-quick-search-item .kg-tag-color-dot{
      margin-top:.2rem;
    }
    .kg-project-shell .kg-card-actions{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:.35rem;
      flex-wrap:wrap;
    }

    /* GitHub-like discussion threads. */
    .kg-project-shell .kg-issues-toolbar{
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-radius:12px 12px 0 0;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      padding: .85rem;
    }
    .kg-project-shell .kg-issues-list{
      border-top-left-radius:0;
      border-top-right-radius:0;
      overflow:hidden;
    }
    .kg-project-shell .kg-issue-row{
      display:flex;
      align-items:flex-start;
      gap:.85rem;
      padding:1rem;
    }
    .kg-project-shell .kg-issue-row:hover{
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-project-shell .kg-issue-state{
      width:1.35rem;
      display:flex;
      justify-content:center;
      padding-top:.12rem;
      font-size:1.04rem;
      flex:0 0 auto;
    }
    .kg-project-shell .kg-issue-state.is-open{ color:#1f883d; }
    .kg-project-shell .kg-issue-state.is-closed{ color:#8250df; }
    .kg-project-shell .kg-issue-title{
      font-weight:700;
      color:var(--bs-body-color);
      overflow-wrap:anywhere;
    }
    .kg-project-shell .kg-issue-row:hover .kg-issue-title{
      color:var(--bs-primary);
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .kg-project-shell .kg-issue-comments{
      min-width:3.5rem;
      text-align:right;
      white-space:nowrap;
      padding-top:.1rem;
    }
    .kg-project-shell .kg-issue-heading{
      letter-spacing:-.025em;
      overflow-wrap:anywhere;
    }
    .kg-project-shell .kg-timeline-thread{
      position:relative;
    }
    .kg-project-shell .kg-timeline-thread::before{
      content:"";
      position:absolute;
      left:1.25rem;
      top:4.5rem;
      bottom:0;
      width:2px;
      background:var(--kg-border-muted, var(--bs-border-color));
      z-index:0;
    }
    .kg-project-shell .kg-thread-card{
      position:relative;
      z-index:1;
    }
    .kg-project-shell .kg-markdown-body{
      font-size:.96rem;
      line-height:1.62;
      overflow-wrap:anywhere;
    }
    .kg-project-shell .kg-markdown-body > :last-child{ margin-bottom:0; }
    .kg-project-shell .kg-markdown-body h1,
    .kg-project-shell .kg-markdown-body h2,
    .kg-project-shell .kg-markdown-body h3{
      margin-top:1rem;
      margin-bottom:.55rem;
      font-weight:750;
    }
    .kg-project-shell .kg-markdown-body pre,
    .kg-project-shell .kg-markdown-body code{
      border-radius:6px;
      background:var(--bs-tertiary-bg);
    }
    .kg-project-shell .kg-issue-sidebar{
      position:sticky;
      top:5rem;
    }
    .kg-project-shell .kg-sidebar-section a{
      text-decoration:none;
      overflow-wrap:anywhere;
    }
    .kg-project-shell .kg-sidebar-section a:hover{
      text-decoration:underline;
    }
    .kg-project-shell .kg-issue-form .form-control,
    .kg-project-shell .kg-issue-form .form-select{
      border-radius:8px;
    }
    .kg-project-shell .card,
    .kg-project-shell .k-card,
    .kg-project-shell .kg-label-list,
    .kg-project-shell .kg-issues-list,
    .kg-project-shell .kg-issues-toolbar,
    .kg-project-shell .kg-tags-toolbar{
      border-radius: 8px;
      box-shadow: none !important;
    }
    .kg-project-shell .card-header,
    .kg-project-shell .card-footer{
      border-color: var(--kg-border-muted, var(--bs-border-color));
      background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg)) !important;
    }
    .kg-project-shell .kg-thread-card{
      border-radius: 8px;
      box-shadow: none !important;
    }
    .kg-project-shell .kg-thread-card .card-header{
      padding: .68rem .85rem;
    }
    .kg-project-shell .kg-thread-card .card-body{
      padding: .95rem;
    }
    .kg-project-shell .kg-md-editor-tabs .nav-link{
      font-size: .88rem;
      font-weight: 650;
      color: var(--kg-fg-muted, var(--bs-secondary-color));
      border-radius: 6px 6px 0 0;
    }
    .kg-project-shell .kg-md-editor-tabs .nav-link.active{
      color: var(--bs-body-color);
      background: var(--kg-panel-bg, var(--bs-body-bg));
      border-color: var(--kg-border, var(--bs-border-color)) var(--kg-border, var(--bs-border-color)) var(--kg-panel-bg, var(--bs-body-bg));
    }
    .kg-project-shell .kg-md-preview{
      min-height: 10.5rem;
      border: 1px solid var(--kg-border, var(--bs-border-color));
      border-top: 0;
      border-radius: 0 0 8px 8px;
      padding: .85rem;
      background: var(--kg-panel-bg, var(--bs-body-bg));
    }
    .kg-project-shell .kg-md-preview.is-empty{
      color: var(--kg-fg-muted, var(--bs-secondary-color));
    }
    @media (max-width: 991.98px){
      .kg-project-shell .kg-issue-sidebar{
        position:static;
      }
      .kg-project-shell .kg-timeline-thread::before{
        display:none;
      }
    }
    @media (max-width: 767.98px){
      .kg-project-shell .kg-issue-row{
        gap:.65rem;
        padding:.85rem;
      }
      .kg-project-shell .kg-issue-comments{
        display:none;
      }
      .kg-project-shell .kg-issues-toolbar{
        padding:.75rem;
      }
    }

    @media (max-width: 767.98px){
      .kg-project-shell .kg-label-row{
        grid-template-columns:1fr;
        gap:.7rem;
        padding:.85rem;
      }
      .kg-project-shell .kg-card-actions{
        justify-content:flex-start;
      }
      .kg-project-shell .kg-tags-toolbar .input-group,
      .kg-project-shell .kg-project-search-page .input-group-lg{
        flex-wrap:nowrap;
      }
      .kg-project-shell .kg-project-search-page .input-group-lg .btn{
        padding-left:.8rem;
        padding-right:.8rem;
      }
    }

/* README-vitrine with interactive CultGeo blocks. */
    .kg-readme-public-shell{max-width:1180px;margin:0 auto;}
    .kg-readme-public-hero{
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-radius:12px;
      background:var(--bs-body-bg);
      padding:1rem 1.1rem;
      margin-bottom:1rem;
    }
    .kg-readme-block{
      border:1px solid var(--kg-border, var(--bs-border-color));
      border-radius:10px;
      background:var(--bs-body-bg);
      margin:1rem 0;
      overflow:hidden;
    }
    .kg-readme-block-head{
      min-height:52px;
      padding:.7rem .85rem;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:.75rem;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border-bottom:1px solid var(--kg-border, var(--bs-border-color));
    }
    .kg-readme-block-icon,
    .kg-readme-row-icon{
      width:32px;
      height:32px;
      border-radius:8px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--kg-border, var(--bs-border-color));
      background:var(--bs-body-bg);
      color:var(--kg-fg-muted, var(--bs-secondary-color));
      flex:0 0 auto;
    }
    .kg-readme-block-title{font-weight:650;line-height:1.2;}
    .kg-readme-block-meta{font-size:.8rem;color:var(--kg-fg-muted, var(--bs-secondary-color));}
    .kg-readme-block-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
    .kg-readme-block-body{padding:0;}
    .kg-readme-map,
    .kg-readme-graph{
      height:420px;
      width:100%;
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
    }
    .kg-readme-timeline{padding:.75rem;}
    .kg-readme-timeline-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem;}
    .kg-readme-timeline-controls .form-control{max-width:360px;}
    .kg-readme-timeline-list{display:grid;gap:.45rem;max-height:420px;overflow:auto;}
    .kg-readme-timeline-row{
      width:100%;
      border:1px solid var(--kg-border-muted, var(--bs-border-color));
      background:var(--bs-body-bg);
      border-radius:8px;
      padding:.55rem .65rem;
      display:grid;
      grid-template-columns:9rem minmax(0,1fr);
      text-align:left;
      gap:.75rem;
    }
    .kg-readme-timeline-row:hover{background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));}
    .kg-readme-timeline-date{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--kg-fg-muted, var(--bs-secondary-color));font-size:.84rem;}
    .kg-readme-object-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;}
    .kg-readme-object-main{min-width:0;}
    .kg-readme-object-stats{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;}
    .kg-readme-object-stats span{
      border:1px solid var(--kg-border, var(--bs-border-color));
      background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
      border-radius:999px;
      padding:.25rem .55rem;
      font-size:.82rem;
      white-space:nowrap;
    }
    .kg-readme-list{display:grid;}
    .kg-readme-list-row{
      display:flex;
      align-items:center;
      gap:.65rem;
      padding:.65rem .85rem;
      text-decoration:none;
      border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
      color:var(--bs-body-color);
    }
    .kg-readme-list-row:last-child{border-bottom:0;}
    .kg-readme-list-row:hover{background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));}
    .kg-readme-metric{padding:1rem;text-align:center;}
    .kg-readme-metric-number{font-size:2.15rem;font-weight:750;letter-spacing:-.04em;line-height:1;}
    .kg-readme-note-card{padding:1rem;}
    .kg-readme-block-empty{padding:1rem;display:flex;align-items:center;gap:.75rem;color:var(--kg-fg-muted, var(--bs-secondary-color));background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));}
    .kg-readme-block-empty-icon{width:32px;height:32px;border-radius:8px;border:1px dashed var(--kg-border, var(--bs-border-color));display:flex;align-items:center;justify-content:center;background:var(--bs-body-bg);}
    .kg-readme-block-fullscreen{
      position:fixed;
      inset:1rem;
      z-index:1090;
      margin:0!important;
      display:flex;
      flex-direction:column;
      box-shadow:0 18px 60px rgba(15,23,42,.28);
    }
    .kg-readme-block-fullscreen .kg-readme-block-body{flex:1;min-height:0;display:flex;}
    .kg-readme-block-fullscreen .kg-readme-map,
    .kg-readme-block-fullscreen .kg-readme-graph,
    .kg-readme-block-fullscreen .kg-readme-timeline{height:auto;min-height:0;flex:1;}
    .kg-readme-block-fullscreen .kg-readme-timeline-list{max-height:none;}
    .kg-block-picker-list{max-height:52vh;overflow:auto;}
    .kg-block-picker-row{display:flex;align-items:flex-start;gap:.65rem;width:100%;text-align:left;}
    .kg-block-picker-code{font-size:.78rem;color:var(--kg-fg-muted, var(--bs-secondary-color));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
    .kg-md-directive-preview{border:1px solid var(--kg-border, var(--bs-border-color));border-radius:10px;padding:.75rem;background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));display:flex;align-items:center;gap:.65rem;margin:.75rem 0;}
    @media (max-width:768px){
      .kg-readme-block-head{align-items:flex-start;flex-direction:column;}
      .kg-readme-block-actions{width:100%;}
      .kg-readme-block-actions .btn{flex:1 1 auto;}
      .kg-readme-map,.kg-readme-graph{height:340px;}
      .kg-readme-object-card{display:block;}
      .kg-readme-object-stats{justify-content:flex-start;margin-top:.75rem;}
      .kg-readme-timeline-row{grid-template-columns:1fr;gap:.2rem;}
      .kg-readme-block-fullscreen{inset:.5rem;}
    }

/* Final GitHub-like polish for Markdown, tags, discussions and analytics. */
    .kg-project-shell .kg-readme-card,
    .kg-project-shell .kg-thread-card,
    .kg-project-shell .kg-issues-list,
    .kg-project-shell .kg-label-list,
    .kg-project-shell .kg-tags-toolbar,
    .kg-project-shell .kg-issues-toolbar{
      border-radius: 6px !important;
      box-shadow: none !important;
    }

    .kg-project-shell .kg-readme-header{
      min-height: 48px;
      padding: .68rem .85rem;
      background: var(--kg-panel-bg-subtle) !important;
      border-bottom: 1px solid var(--kg-border) !important;
    }

    .kg-project-shell .kg-readme-body{
      padding: 1.15rem;
      background: var(--kg-panel-bg);
    }

    .kg-project-shell .kg-markdown-body{
      max-width: 100%;
      color: var(--bs-body-color);
    }

    .kg-project-shell .kg-markdown-body h1,
    .kg-project-shell .kg-markdown-body h2{
      padding-bottom: .32rem;
      border-bottom: 1px solid var(--kg-border-muted);
    }

    .kg-project-shell .kg-markdown-body h1{ font-size: 1.75rem; }
    .kg-project-shell .kg-markdown-body h2{ font-size: 1.38rem; margin-top: 1.6rem; }
    .kg-project-shell .kg-markdown-body h3{ font-size: 1.16rem; margin-top: 1.25rem; }

    .kg-project-shell .kg-markdown-body a{
      color: var(--bs-primary);
      text-decoration: none;
    }
    .kg-project-shell .kg-markdown-body a:hover{
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .kg-project-shell .kg-md-table-wrap{
      width: 100%;
      overflow-x: auto;
      margin: .85rem 0 1rem;
      border: 1px solid var(--kg-border);
      border-radius: 6px;
    }
    .kg-project-shell .kg-markdown-body table,
    .kg-project-shell .kg-md-table-wrap table{
      width: 100%;
      border-collapse: collapse;
      margin: 0;
      font-size: .92rem;
    }
    .kg-project-shell .kg-markdown-body th,
    .kg-project-shell .kg-markdown-body td,
    .kg-project-shell .kg-md-table-wrap th,
    .kg-project-shell .kg-md-table-wrap td{
      padding: .55rem .75rem;
      border: 1px solid var(--kg-border-muted);
      vertical-align: top;
    }
    .kg-project-shell .kg-markdown-body th,
    .kg-project-shell .kg-md-table-wrap th{
      background: var(--kg-panel-bg-subtle);
      font-weight: 700;
    }
    .kg-project-shell .kg-markdown-body tr:nth-child(2n) td,
    .kg-project-shell .kg-md-table-wrap tr:nth-child(2n) td{
      background: color-mix(in srgb, var(--kg-panel-bg-subtle) 72%, transparent);
    }

    .kg-project-shell .kg-md-editor{
      border-radius: 6px !important;
    }
    .kg-project-shell .kg-md-toolbar-wrap{
      background: var(--kg-panel-bg-subtle);
    }
    .kg-project-shell .kg-md-code-shell{
      border-radius: 6px;
      border-color: var(--kg-border) !important;
      background: var(--kg-panel-bg);
    }
    .kg-project-shell .kg-md-code-shell textarea{
      border-radius: 0;
      border-color: transparent !important;
    }
    .kg-project-shell .kg-md-line-gutter{
      background: var(--kg-panel-bg-subtle);
      border-right: 1px solid var(--kg-border-muted);
    }

    .kg-project-shell .kg-label-row{
      grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto;
      padding: .78rem .9rem;
    }
    .kg-project-shell .kg-label-description{
      font-size: .88rem;
    }
    .kg-project-shell .kg-tags-toolbar,
    .kg-project-shell .kg-issues-toolbar{
      padding: .7rem;
      background: var(--kg-panel-bg-subtle) !important;
    }

    .kg-project-shell .kg-issues-page > .d-flex:first-child,
    .kg-project-shell .kg-tags-content > .d-flex:first-child{
      margin-bottom: .75rem !important;
    }
    .kg-project-shell .kg-issue-row{
      padding: .82rem .95rem;
    }
    .kg-project-shell .kg-issue-title{
      font-weight: 650;
    }
    .kg-project-shell .kg-issue-comments{
      align-self: flex-start;
    }
    .kg-project-shell .kg-timeline-thread::before{
      left: 1rem;
      background: var(--kg-border-muted);
    }
    .kg-project-shell .kg-issue-sidebar .card-header,
    .kg-project-shell .kg-thread-card .card-header{
      padding: .6rem .75rem;
    }

    .kg-project-shell .kg-analytics-header-actions{
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: .5rem;
      flex-wrap: wrap;
    }
    .kg-project-shell .kg-map-control-card,
    .kg-project-shell .kg-graph-control-card,
    .kg-project-shell .kg-timeline-control-card{
      margin-top: .75rem;
      border: 1px solid var(--kg-border) !important;
      border-radius: 6px !important;
      background: var(--kg-panel-bg-subtle) !important;
      box-shadow: none !important;
      padding: .85rem;
    }
    .kg-project-shell .kg-map-shell,
    .kg-project-shell .kg-graph-shell,
    .kg-project-shell .kg-timeline-shell,
    .kg-project-shell .kg-analytics-side{
      border-radius: 6px !important;
      box-shadow: none !important;
    }
    .kg-project-shell .kg-map-canvas-head,
    .kg-project-shell .kg-graph-canvas-head{
      background: var(--kg-panel-bg-subtle);
      border-bottom: 1px solid var(--kg-border);
    }

    @media (max-width: 991.98px){
      .kg-project-shell .kg-label-row{
        grid-template-columns: 1fr;
      }
      .kg-project-shell .kg-analytics-header-actions{
        justify-content: flex-start;
        width: 100%;
      }
    }

    @media (max-width: 767.98px){
      .kg-project-shell .kg-readme-body{ padding: .85rem; }
      .kg-project-shell .kg-markdown-body h1{ font-size: 1.45rem; }
      .kg-project-shell .kg-markdown-body h2{ font-size: 1.22rem; }
      .kg-project-shell .kg-issue-row{
        display: grid;
        grid-template-columns: 1.25rem minmax(0, 1fr);
      }
      .kg-project-shell .kg-issues-toolbar .row > [class*="col-"]{
        flex: 0 0 100%;
        max-width: 100%;
      }
    }

/* CultGeo GitHub-like polish layer */
  .kg-schema-content .card,
  .kg-tags-content .card,
  .kg-issues-content .card,
  .kg-project-notes .card,
  .kg-source-content .card,
  .kg-entity-content .card,
  .kg-term-content .card{
    border-color:#d0d7de;
    border-radius:6px!important;
    box-shadow:none!important;
  }
  .kg-schema-content .card-header,
  .kg-tags-content .card-header,
  .kg-issues-content .card-header,
  .kg-project-notes .card-header,
  .kg-source-content .card-header,
  .kg-entity-content .card-header,
  .kg-term-content .card-header{
    background:#f6f8fa!important;
    border-bottom:1px solid #d0d7de;
    padding:.72rem .9rem;
  }
  .kg-schema-content .btn,
  .kg-tags-content .btn,
  .kg-issues-content .btn,
  .kg-project-notes .btn,
  .kg-source-content .btn,
  .kg-entity-content .btn,
  .kg-term-content .btn{ border-radius:6px; }
  .kg-schema-content .form-control,
  .kg-schema-content .form-select,
  .kg-tags-content .form-control,
  .kg-tags-content .form-select,
  .kg-issues-content .form-control,
  .kg-issues-content .form-select,
  .kg-source-content .form-control,
  .kg-source-content .form-select,
  .kg-entity-content .form-control,
  .kg-entity-content .form-select,
  .kg-term-content .form-control,
  .kg-term-content .form-select{
    border-radius:6px;
    border-color:#d0d7de;
  }
  .kg-schema-content .form-control:focus,
  .kg-schema-content .form-select:focus,
  .kg-tags-content .form-control:focus,
  .kg-tags-content .form-select:focus,
  .kg-issues-content .form-control:focus,
  .kg-issues-content .form-select:focus,
  .kg-source-content .form-control:focus,
  .kg-source-content .form-select:focus,
  .kg-entity-content .form-control:focus,
  .kg-entity-content .form-select:focus,
  .kg-term-content .form-control:focus,
  .kg-term-content .form-select:focus{
    border-color:#0969da;
    box-shadow:0 0 0 .2rem rgba(9,105,218,.14);
  }
  .kg-schema-content .breadcrumb,
  .kg-source-content .breadcrumb,
  .kg-term-content .breadcrumb{ margin-bottom:.65rem; }
  .kg-schema-content .list-group,
  .kg-term-content .list-group,
  .kg-tags-content .kg-label-list,
  .kg-issues-content .kg-issues-list{ border-radius:6px; overflow:hidden; border-color:#d0d7de; }
  .kg-schema-content .list-group-item,
  .kg-entity-content .list-group-item,
  .kg-source-content .list-group-item,
  .kg-term-content .list-group-item,
  .kg-issues-content .list-group-item{ border-color:#d0d7de; }
  .kg-schema-stat-card,
  .kg-source-stat,
  .kg-analytics-stat{
    border:1px solid #d0d7de!important;
    border-radius:6px!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  .kg-schema-stat-number{ font-size:1.45rem!important; }
  .kg-schema-stat-card{ padding:.85rem 1rem; min-height:100%; }
  .kg-schema-stat-label{ color:#57606a; font-size:.78rem; text-transform:uppercase; font-weight:650; letter-spacing:.02em; }
  .kg-schema-stat-value{ color:#24292f; font-size:1.05rem; font-weight:700; margin-top:.25rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .kg-relation-passport-card .list-group{ border:1px solid #d0d7de; border-radius:6px; }
  .kg-frame-detail-tabs{
    border-bottom:1px solid #d0d7de;
    gap:0!important;
    margin-bottom:1rem!important;
  }
  .kg-frame-detail-tabs .nav-link{
    border:0!important;
    border-radius:0!important;
    color:#57606a;
    padding:.65rem .85rem;
    margin-bottom:-1px;
    background:transparent!important;
  }
  .kg-frame-detail-tabs .nav-link:hover{ color:#24292f; border-bottom:2px solid #d0d7de!important; }
  .kg-frame-detail-tabs .nav-link.active{
    color:#24292f!important;
    font-weight:600;
    border-bottom:2px solid #fd8c73!important;
  }
  .kg-schema-content .dropdown-menu{
    border-radius:6px;
    border-color:#d0d7de;
    box-shadow:0 8px 24px rgba(140,149,159,.2)!important;
  }
  .kg-json-preview,
  .kg-geo-preview,
  .kg-markdown-body pre{
    border-radius:6px!important;
    border:1px solid #d0d7de;
    background:#f6f8fa!important;
  }
  .kg-markdown-body{
    color:#24292f;
    line-height:1.6;
  }
  .kg-markdown-body table{
    display:block;
    width:max-content;
    max-width:100%;
    overflow:auto;
    border-spacing:0;
    border-collapse:collapse;
    margin:1rem 0;
  }
  .kg-markdown-body th,
  .kg-markdown-body td{
    padding:6px 13px;
    border:1px solid #d0d7de;
  }
  .kg-markdown-body tr:nth-child(2n){ background:#f6f8fa; }
  .kg-tag-widget-inline{
    border:1px solid #d0d7de;
    border-radius:6px;
    background:#f6f8fa;
    padding:.55rem .7rem;
  }
  .kg-tag-widget-inline .kg-assigned-tag{ max-width:100%; }
  .kg-tag-remove{
    border:0;background:transparent;color:#57606a;line-height:1;padding:0 .1rem;
  }
  .kg-tag-remove:hover{ color:#cf222e; }
  .kg-github-modal{ border-radius:6px; border-color:#d0d7de; }
  .kg-github-modal .modal-header,
  .kg-github-modal .modal-footer{ background:#f6f8fa; }
  .kg-label-list{ border:1px solid #d0d7de; border-radius:6px; background:#fff; overflow:hidden; }
  .kg-label-row{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(0,1fr) auto;
    gap:1rem;
    align-items:center;
    padding:.8rem 1rem;
    border-bottom:1px solid #d0d7de;
  }
  .kg-label-row:last-child{ border-bottom:0; }
  .kg-label-row:hover{ background:#f6f8fa; }
  .kg-label-meta{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.35rem; color:#57606a; font-size:.82rem; }
  .kg-label-description{ color:#57606a; font-size:.92rem; min-width:0; }
  .kg-label-count{ display:inline-flex; align-items:center; gap:.25rem; color:#57606a; font-size:.86rem; }
  .kg-issues-list{ border:1px solid #d0d7de!important; border-radius:6px!important; overflow:hidden; }
  .kg-issue-row{ border-left:0!important; border-right:0!important; padding:.85rem 1rem!important; }
  .kg-issue-row:first-child{ border-top:0!important; }
  .kg-issue-row:hover{ background:#f6f8fa!important; }
  .kg-issue-title{ color:#24292f; font-weight:600; }
  .kg-issue-title:hover{ color:#0969da; }
  .kg-issues-toolbar{ border:1px solid #d0d7de!important; border-radius:6px!important; background:#f6f8fa!important; padding:.75rem!important; }
  .kg-source-optional-section{
    border:1px solid #d0d7de;
    border-radius:6px;
    background:#f6f8fa;
    padding:.75rem .9rem;
  }
  .kg-source-optional-section[open]{ background:#fff; }
  .kg-source-optional-section summary{ cursor:pointer; list-style:none; }
  .kg-source-optional-section summary::-webkit-details-marker{ display:none; }
  .kg-source-optional-section summary:before{ content:'▸'; display:inline-block; margin-right:.4rem; color:#57606a; }
  .kg-source-optional-section[open] summary:before{ transform:rotate(90deg); }
  .kg-entity-title-row .kg-kbd{ background:transparent; border:0; padding:0; font-size:.86em; }
  .kg-entity-frame-badges .badge{ border-radius:999px; background:#f6f8fa!important; color:#24292f; }
  .kg-frame-property-block,
  .kg-property-card,
  .kg-relation-attr-card{
    border:1px solid #d0d7de!important;
    border-radius:6px!important;
    overflow:hidden;
    background:#fff;
  }
  .kg-frame-property-head,
  .kg-property-head{ background:#f6f8fa!important; border-bottom:1px solid #d0d7de!important; }
  .kg-relation-attr-card{ padding:1rem; }
  .kg-geo-preview-wrap{
    border:1px solid #d0d7de;
    border-radius:6px;
    background:#f6f8fa;
    padding:.45rem .6rem;
  }
  .kg-geo-preview-wrap summary{ cursor:pointer; }
  .kg-geo-preview-wrap pre{ max-height:220px; overflow:auto; }
  @media(max-width: 991.98px){
    .kg-label-row{ grid-template-columns:1fr; gap:.5rem; }
    .kg-label-row .kg-card-actions{ justify-content:flex-start; }
    .kg-issues-toolbar .row{ row-gap:.5rem; }
  }

/* MD note history */
.kg-note-history-list{display:grid;gap:1rem}
.kg-note-history-card{overflow:hidden}
.kg-note-history-meta-diff{display:grid;gap:.35rem;border:1px solid var(--bs-border-color);border-radius:.8rem;background:var(--bs-tertiary-bg);padding:.75rem .85rem;font-size:.92rem}
.kg-note-diff-wrap{overflow:auto;border:1px solid var(--bs-border-color);border-radius:.85rem;background:var(--bs-body-bg)}
.kg-note-diff-table{width:100%;border-collapse:collapse;min-width:860px;font-size:.82rem}
.kg-note-diff-table th{position:sticky;top:0;z-index:1;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);padding:.55rem .65rem;text-align:left;font-weight:700}
.kg-note-diff-table td{border-bottom:1px solid var(--bs-border-color);vertical-align:top;padding:0}
.kg-note-diff-table pre{margin:0;padding:.42rem .65rem;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:.8rem;line-height:1.45;background:transparent;color:inherit}
.kg-note-diff-num{width:4.5rem;text-align:right!important;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);user-select:none;padding:.42rem .55rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:.78rem}
.kg-note-diff-table tr.is-insert td{background:rgba(var(--bs-success-rgb),.07)}
.kg-note-diff-table tr.is-delete td{background:rgba(var(--bs-danger-rgb),.07)}
.kg-note-diff-table tr.is-replace td{background:rgba(var(--bs-warning-rgb),.10)}
.kg-note-diff-table tr.is-equal td{background:var(--bs-body-bg)}
@media(max-width:767.98px){.kg-note-diff-table{min-width:720px}.kg-note-diff-num{width:3.4rem}}

/* Compact history views */
.kg-history-compact-table{font-size:.92rem}
.kg-history-compact-table th{white-space:nowrap}
.kg-history-compact-table td{vertical-align:middle;padding:.62rem .75rem}
.kg-history-field-list{display:flex;gap:.35rem;flex-wrap:wrap}
.kg-history-field-list-compact{max-width:28rem}
.kg-history-diff-modal .modal-body{background:var(--bs-tertiary-bg)}
.kg-history-json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.kg-history-json-panel{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.75rem;overflow:hidden;min-width:0}
.kg-history-json-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid var(--bs-border-color);font-weight:700;background:var(--bs-body-bg)}
.kg-history-json{max-height:62vh;overflow:auto;margin:0;padding:.85rem;font-size:.78rem;line-height:1.45;background:transparent;white-space:pre;color:inherit}
.kg-note-diff-wrap-flat{border:0;border-radius:0}
@media(max-width:991.98px){.kg-history-json-grid{grid-template-columns:1fr}.kg-history-json{max-height:48vh}.kg-history-compact-table{min-width:860px}}

/* =========================================================
   Account, profile and project directory UI
   GitHub-like layer aligned with internal project pages.
   ========================================================= */
.kg-project-shell .kg-account-page,
.kg-project-shell .kg-follow-page{
  min-width: 0;
  overflow-x: auto;
  padding-bottom: .1rem;
}

.kg-project-shell .kg-account-page-head{
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--kg-border, var(--bs-border-color));
}

.kg-project-shell .kg-account-page-head h1,
.kg-project-shell .kg-account-page-head .h4,
.kg-project-shell .kg-account-page-head .h3{
  margin-bottom: .15rem;
  letter-spacing: -.025em;
}

/* Profile page */
.kg-project-shell .kg-profile-page > .row{
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1rem;
}

.kg-project-shell .kg-profile-sidebar-card{
  overflow: hidden;
}

.kg-project-shell .kg-profile-sidebar-card .card-body{
  padding: 1.15rem;
}

@media (min-width: 992px){
  .kg-project-shell .kg-profile-sidebar-card{
    position: sticky;
    top: 5.25rem;
  }

  .kg-project-shell .kg-profile-sidebar-card .card-body > .d-flex.align-items-center.gap-3:first-child{
    flex-direction: column;
    align-items: flex-start !important;
  }
}

.kg-project-shell .kg-profile-sidebar-card .kg-avatar{
  border: 1px solid var(--kg-border, var(--bs-border-color));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

.kg-project-shell .kg-statlink,
.kg-project-shell .kg-profile-sidebar-card a:not(.btn){
  color: var(--bs-body-color);
}

.kg-project-shell .kg-statlink:hover,
.kg-project-shell .kg-profile-sidebar-card a:not(.btn):hover{
  color: var(--bs-primary);
  text-decoration: none;
}

.kg-project-shell .kg-profile-tabs{
  flex-wrap: wrap;
  margin-bottom: 0;
}

.kg-project-shell .kg-profile-tabs .badge,
.kg-project-shell .kg-project-list-tabs .badge{
  vertical-align: middle;
}

.kg-project-shell .kg-profile-section-card .card-header,
.kg-project-shell .kg-project-list-card .card-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 3rem;
}

.kg-project-shell .kg-profile-project-card{
  height: 100%;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.kg-project-shell .kg-profile-project-card:hover{
  transform: translateY(-1px);
  border-color: rgba(var(--bs-primary-rgb), .35) !important;
}

.kg-project-shell .kg-profile-page .list-group-item,
.kg-project-shell .kg-follow-page .list-group-item{
  border-color: var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-profile-page .list-group-item:hover,
.kg-project-shell .kg-follow-page .list-group-item:hover{
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}

.kg-project-shell .kg-profile-page .list-group-item .fw-semibold,
.kg-project-shell .kg-follow-page .list-group-item .fw-semibold{
  min-width: 0;
}

/* Profile settings */
.kg-project-shell .kg-profile-settings-page .kg-settings-layout{
  align-items: flex-start;
}

@media (min-width: 992px){
  .kg-project-shell .kg-profile-settings-page .kg-settings-nav-card{
    position: sticky;
    top: 5.25rem;
  }
}

.kg-project-shell .kg-settings-nav-card{
  overflow: hidden;
}

.kg-project-shell .kg-settings-nav .list-group-item{
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .72rem .9rem;
  border-left: 3px solid transparent !important;
  font-weight: 600;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
}

.kg-project-shell .kg-settings-nav .list-group-item i{
  width: 1.15rem;
  color: var(--kg-fg-subtle, var(--bs-secondary-color));
}

.kg-project-shell .kg-settings-nav .list-group-item:hover{
  color: var(--bs-body-color);
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
}

.kg-project-shell .kg-settings-nav .list-group-item.active{
  color: var(--bs-body-color) !important;
  background: rgba(var(--bs-primary-rgb), .08) !important;
  border-color: var(--kg-border-muted, var(--bs-border-color)) !important;
  border-left-color: rgba(var(--bs-primary-rgb), .95) !important;
}

.kg-project-shell .kg-settings-nav .list-group-item.active i{
  color: rgba(var(--bs-primary-rgb), .95);
}

.kg-project-shell .kg-settings-content-card .card-body{
  padding: 1.25rem !important;
}

@media (min-width: 768px){
  .kg-project-shell .kg-settings-content-card .card-body{
    padding: 1.5rem !important;
  }
}

.kg-project-shell .kg-profile-settings-page h2{
  font-weight: 750;
  letter-spacing: -.02em;
}

.kg-project-shell .kg-profile-settings-page form > .row.border-bottom,
.kg-project-shell .kg-profile-settings-page form > .row.py-3{
  margin-left: 0;
  margin-right: 0;
}

.kg-project-shell .kg-profile-settings-page form > .row.border-bottom{
  border-bottom-color: var(--kg-border-muted, var(--bs-border-color)) !important;
}

.kg-project-shell .kg-profile-settings-page form > .row.border-bottom:hover,
.kg-project-shell .kg-profile-settings-page form > .row.py-3:hover{
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), .035), transparent 48%);
}

.kg-project-shell .kg-profile-settings-page .border.rounded-3.p-3,
.kg-project-shell .kg-profile-settings-page label.border.rounded-3.p-3{
  border-color: var(--kg-border, var(--bs-border-color)) !important;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  box-shadow: var(--kg-shadow-soft, none);
}

.kg-project-shell .kg-profile-settings-page label.border.rounded-3.p-3{
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.kg-project-shell .kg-profile-settings-page label.border.rounded-3.p-3:hover{
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
  border-color: rgba(var(--bs-primary-rgb), .38) !important;
}

.kg-project-shell .kg-profile-settings-page label.border.rounded-3.p-3:has(.form-check-input:checked){
  border-color: rgba(var(--bs-primary-rgb), .55) !important;
  background: rgba(var(--bs-primary-rgb), .07);
}

.kg-project-shell .kg-profile-settings-page .border-danger.rounded-3{
  background: rgba(var(--bs-danger-rgb), .035) !important;
}

.kg-project-shell .kg-profile-settings-page .table-responsive{
  border: 1px solid var(--kg-border, var(--bs-border-color));
  border-radius: var(--kg-radius, 12px);
  overflow: auto;
}

.kg-project-shell .kg-profile-settings-page .list-group{
  border: 1px solid var(--kg-border, var(--bs-border-color));
}

/* Project directory */
.kg-project-shell .kg-project-list-page .kg-project-list-tabs{
  margin-top: -.25rem;
}

.kg-project-shell .kg-project-search-card .card-body{
  padding: 1rem;
}

.kg-project-shell .kg-project-list-card{
  overflow: hidden;
}

.kg-project-shell .kg-project-list-card > .card-body{
  padding-top: 0;
  padding-bottom: 0;
}

.kg-project-shell .kg-repo-row{
  border-bottom: 1px solid var(--kg-border-muted, var(--bs-border-color));
  padding: 1rem 0;
  transition: background-color .12s ease;
}

.kg-project-shell .kg-repo-row:last-child{
  border-bottom: 0 !important;
}

.kg-project-shell .kg-repo-name{
  font-weight: 750;
}

.kg-project-shell .kg-repo-name a{
  text-decoration: none;
}

.kg-project-shell .kg-repo-name a:hover{
  text-decoration: underline;
}

.kg-project-shell .kg-meta{
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  font-size: .875rem;
}

.kg-project-shell .kg-pill{
  border: 1px solid var(--kg-border, var(--bs-border-color));
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color: var(--kg-fg-muted, var(--bs-secondary-color));
}

/* Follow lists and account companion pages */
.kg-project-shell .kg-follow-page .card,
.kg-project-shell .kg-follow-page .kg-card{
  overflow: hidden;
}

.kg-project-shell .kg-follow-page .btn.active{
  color: var(--bs-body-color);
  background: rgba(var(--bs-primary-rgb), .10);
  border-color: rgba(var(--bs-primary-rgb), .35);
}

@media (max-width: 767.98px){
  .kg-project-shell .kg-profile-sidebar-card .card-body{
    padding: 1rem;
  }

  .kg-project-shell .kg-profile-page .kg-avatar[style*="96px"]{
    --kg-avatar-size: 72px !important;
  }

  .kg-project-shell .kg-settings-nav .list-group-item{
    min-height: 2.55rem;
  }

  .kg-project-shell .kg-project-list-card > .card-body{
    padding-left: .85rem;
    padding-right: .85rem;
  }
}

/* Profile refresh: GitHub-like pins, activity and settings polish */
.kg-project-shell .kg-avatar{
  border-radius: 28%;
}

.kg-project-shell .kg-profile-bio{
  color: var(--bs-body-color);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.kg-project-shell .kg-profile-project-card .badge,
.kg-project-shell .kg-profile-page .list-group-item .badge{
  font-weight: 600;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-pins-modal .modal-content{
  border-radius: 1rem;
  border: 1px solid var(--kg-border, var(--bs-border-color));
}

.kg-project-shell .kg-pin-picker{
  border: 1px solid var(--kg-border, var(--bs-border-color));
  border-radius: .85rem;
  overflow: hidden;
}

.kg-project-shell .kg-pin-picker .list-group-item{
  cursor: pointer;
  border-color: var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-pin-picker .list-group-item:hover{
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
}

.kg-project-shell .kg-contribution-shell{
  --kg-contribution-cell-min: 10px;
  --kg-contribution-cell-max: 15px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: .1rem;
}

.kg-project-shell .kg-contribution-months{
  display: grid;
  grid-template-columns: repeat(var(--kg-contribution-weeks), minmax(var(--kg-contribution-cell-min), 1fr));
  gap: 4px;
  margin-left: 2.05rem;
  margin-bottom: .35rem;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  font-size: .75rem;
  line-height: 1;
  min-width: calc(var(--kg-contribution-weeks) * var(--kg-contribution-cell-min));
}

.kg-project-shell .kg-contribution-months span{
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
}

.kg-project-shell .kg-contribution-body{
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: .4rem;
  overflow-x: visible;
  padding-bottom: .25rem;
}

.kg-project-shell .kg-contribution-days{
  display: grid;
  grid-template-rows: repeat(7, minmax(var(--kg-contribution-cell-min), var(--kg-contribution-cell-max)));
  gap: 4px;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  font-size: .68rem;
  line-height: 1;
  align-items: center;
  text-align: right;
  padding-top: 1px;
}

.kg-project-shell .kg-contribution-grid{
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(7, minmax(var(--kg-contribution-cell-min), var(--kg-contribution-cell-max)));
  grid-auto-columns: minmax(var(--kg-contribution-cell-min), 1fr);
  gap: 4px;
  min-width: calc(var(--kg-contribution-weeks) * var(--kg-contribution-cell-min));
}

.kg-project-shell .kg-contribution-cell{
  width: 100%;
  min-width: var(--kg-contribution-cell-min);
  max-width: var(--kg-contribution-cell-max);
  height: auto;
  min-height: var(--kg-contribution-cell-min);
  aspect-ratio: 1 / 1;
  display: inline-block;
  border-radius: 3px;
  border: 1px solid rgba(27,31,36,.06);
  flex: 0 0 auto;
  justify-self: stretch;
}

.kg-project-shell .kg-contribution-level-0{ background: var(--bs-tertiary-bg); }
.kg-project-shell .kg-contribution-level-1{ background: rgba(var(--bs-success-rgb), .22); }
.kg-project-shell .kg-contribution-level-2{ background: rgba(var(--bs-success-rgb), .40); }
.kg-project-shell .kg-contribution-level-3{ background: rgba(var(--bs-success-rgb), .62); }
.kg-project-shell .kg-contribution-level-4{ background: rgba(var(--bs-success-rgb), .86); }

.kg-project-shell .kg-contribution-cell.is-outside-range{
  opacity: .35;
}

.kg-project-shell .kg-contribution-cell.is-today{
  outline: 2px solid rgba(var(--bs-primary-rgb), .42);
  outline-offset: 1px;
}

.kg-project-shell .kg-contribution-legend{
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.kg-project-shell .kg-contribution-legend .kg-contribution-cell{
  width: 12px;
  height: 12px;
  min-width: 12px;
  min-height: 12px;
}

.kg-project-shell .kg-contribution-project-card{
  min-height: 3.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem .85rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .85rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  color: var(--bs-body-color);
  transition: background-color .12s ease, border-color .12s ease, transform .12s ease;
}

.kg-project-shell .kg-contribution-project-card:hover{
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
  border-color: rgba(var(--bs-primary-rgb), .35);
  transform: translateY(-1px);
}

.kg-project-shell .kg-contribution-project-card > span:first-child{
  display: flex;
  flex-direction: column;
}

.kg-project-shell .kg-contribution-project-card .kg-repo-path{
  display: block;
  font-weight: 750;
  color: var(--bs-body-color);
}

.kg-project-shell .kg-profile-timeline{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding-left: .2rem;
}

.kg-project-shell .kg-profile-timeline::before{
  content: "";
  position: absolute;
  top: 1.7rem;
  bottom: .75rem;
  left: .72rem;
  width: 2px;
  background: var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-profile-timeline-day{
  position: relative;
  z-index: 1;
  width: max-content;
  max-width: 100%;
  padding: .2rem .55rem;
  margin: .3rem 0 .15rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: 999px;
  background: var(--bs-body-bg);
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  font-size: .76rem;
  font-weight: 700;
}

.kg-project-shell .kg-profile-timeline-item{
  position: relative;
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: .65rem;
  color: var(--bs-body-color);
  text-decoration: none;
}

.kg-project-shell .kg-profile-timeline-dot{
  position: relative;
  z-index: 1;
  width: 1.45rem;
  height: 1.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: 50%;
  background: var(--bs-body-bg);
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  font-size: .75rem;
}

.kg-project-shell .kg-profile-timeline-content{
  display: block;
  padding: .72rem .85rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .85rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  transition: background-color .12s ease, border-color .12s ease;
}

.kg-project-shell .kg-profile-timeline-item:hover .kg-profile-timeline-content{
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
  border-color: rgba(var(--bs-primary-rgb), .35);
}

.kg-project-shell .kg-avatar-icon-choice{
  width: 44px;
  height: 44px;
  border-radius: .75rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

.kg-project-shell .kg-avatar-icon-choice i{
  font-size: 1.15rem;
}

.kg-project-shell .kg-profile-settings-page .btn-check:checked + .kg-avatar-icon-choice,
.kg-project-shell .kg-profile-settings-page .btn-check:checked + label.btn-outline-secondary{
  color: var(--bs-body-color) !important;
  background: var(--bs-tertiary-bg) !important;
  border-color: var(--bs-body-color) !important;
  box-shadow: inset 0 0 0 1px var(--bs-body-color);
}

.kg-project-shell .kg-profile-settings-page .table-active,
.kg-project-shell .kg-profile-settings-page table .active,
.kg-project-shell .kg-profile-settings-page .list-group-item.active{
  --bs-table-bg-state: var(--bs-tertiary-bg);
  --bs-table-color-state: var(--bs-body-color);
}

.kg-project-shell .kg-settings-nav .list-group-item.active{
  color: var(--bs-body-color) !important;
  background: var(--bs-tertiary-bg) !important;
  border-left-color: var(--bs-body-color) !important;
}

.kg-project-shell .kg-settings-nav .list-group-item.active i{
  color: var(--bs-body-color) !important;
}

/* =========================================================
   Profile settings, admin and organizations polish
   ========================================================= */
.kg-project-shell .kg-settings-nav .list-group-item.active,
.kg-project-shell .kg-admin-nav .list-group-item.active{
  color: var(--bs-body-color) !important;
  background: var(--kg-panel-bg-subtle) !important;
  border-left: 3px solid var(--bs-body-color) !important;
  font-weight: 700;
}
.kg-project-shell .kg-settings-nav .list-group-item.active i,
.kg-project-shell .kg-admin-nav .list-group-item.active i{
  color: var(--bs-body-color);
}
.kg-project-shell .kg-square-choice,
.kg-project-shell .kg-avatar-icon-choice{
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0 !important;
  border-radius: .72rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.kg-project-shell .kg-avatar-icon-choice i{
  font-size: 1.25rem;
}
.kg-project-shell .btn-check:checked + .kg-square-choice,
.kg-project-shell .btn-check:checked + .kg-avatar-icon-choice{
  background: var(--kg-panel-bg-subtle) !important;
  border-color: var(--bs-body-color) !important;
  color: var(--bs-body-color) !important;
  box-shadow: inset 0 0 0 2px var(--bs-body-color) !important;
}
.kg-project-shell .kg-settings-info-card,
.kg-project-shell .kg-danger-zone,
.kg-project-shell .kg-billing-hero{
  background: var(--kg-panel-bg);
}
.kg-project-shell .kg-danger-zone-head{
  background: rgba(var(--bs-danger-rgb), .04);
}
.kg-project-shell .kg-admin-stat-icon,
.kg-project-shell .kg-org-avatar{
  width: 42px;
  height: 42px;
  border-radius: .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--kg-panel-bg-subtle);
  border: 1px solid var(--kg-border);
  color: var(--kg-fg-muted);
  flex: 0 0 auto;
}
.kg-project-shell .kg-org-avatar-lg{
  width: 72px;
  height: 72px;
  border-radius: 1.1rem;
  font-size: 1.8rem;
}
.kg-project-shell .kg-admin-check-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .55rem;
}
.kg-project-shell .kg-admin-check{
  border: 1px solid var(--kg-border);
  border-radius: .75rem;
  padding: .65rem .8rem;
  display: flex;
  gap: .5rem;
  align-items: center;
  background: var(--kg-panel-bg-subtle);
}
.kg-project-shell .kg-header-icon-btn.dropdown-toggle::after{
  display: none;
}

/* =========================================================
   Account data export, profile appearance, repositories and moderation
   ========================================================= */
.kg-project-shell .kg-profile-theme-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .75rem;
}
.kg-project-shell .kg-profile-theme-choice{
  display: grid;
  grid-template-columns: auto 76px minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid var(--kg-border, var(--bs-border-color));
  border-radius: .9rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.kg-project-shell .kg-profile-theme-choice:hover{
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
  border-color: rgba(var(--bs-primary-rgb), .35);
}
.kg-project-shell .kg-profile-theme-choice.is-selected{
  border-color: var(--bs-body-color);
  box-shadow: inset 0 0 0 1px var(--bs-body-color);
}
.kg-project-shell .kg-profile-theme-preview{
  position: relative;
  width: 76px;
  height: 52px;
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .8rem;
  overflow: hidden;
  background: var(--bs-body-bg);
}
.kg-project-shell .kg-theme-preview-avatar{
  width: 28px;
  height: 28px;
  border-radius: .5rem;
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  flex: 0 0 auto;
}
.kg-project-shell .kg-theme-preview-lines{
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
  flex: 1 1 auto;
}
.kg-project-shell .kg-theme-preview-lines span{
  display: block;
  height: 5px;
  border-radius: 999px;
  background: var(--bs-tertiary-bg);
}
.kg-project-shell .kg-theme-preview-lines span:nth-child(2){ width: 80%; }
.kg-project-shell .kg-theme-preview-lines span:nth-child(3){ width: 55%; }
.kg-project-shell .kg-profile-theme-preview-research{
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .08), var(--bs-body-bg));
}
.kg-project-shell .kg-profile-theme-preview-atlas{
  background-image:
    linear-gradient(rgba(var(--bs-success-rgb), .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--bs-success-rgb), .12) 1px, transparent 1px);
  background-size: 12px 12px;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card{
  border-top: 4px solid rgba(var(--bs-primary-rgb), .65);
}
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card .card-header{
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), .06), transparent 55%);
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card{
  background-image:
    linear-gradient(rgba(var(--bs-success-rgb), .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--bs-success-rgb), .055) 1px, transparent 1px);
  background-size: 22px 22px;
}
.kg-project-shell .kg-profile-theme-atlas .kg-avatar{
  border-radius: .9rem;
}
.kg-project-shell .kg-settings-repo-card{
  background: var(--kg-panel-bg, var(--bs-body-bg));
  border-color: var(--kg-border, var(--bs-border-color)) !important;
}
.kg-project-shell .kg-settings-repo-tabs{
  min-height: 3.25rem;
}
.kg-project-shell .kg-settings-repo-owner{
  letter-spacing: -.01em;
}
.kg-project-shell .kg-settings-repo-row:last-child{
  border-bottom: 0 !important;
}
.kg-project-shell .kg-collaborator-list{
  max-width: 680px;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .8rem;
  overflow: hidden;
  background: var(--bs-body-bg);
}
.kg-project-shell .kg-collaborator-row{
  padding-left: .75rem;
  padding-right: .75rem;
  border-bottom: 1px solid var(--kg-border-muted, var(--bs-border-color));
}
.kg-project-shell .kg-collaborator-row:last-child{
  border-bottom: 0;
}
.kg-project-shell .kg-mini-avatar{
  width: 36px;
  height: 36px;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  flex: 0 0 auto;
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-profile-theme-choice{
    grid-template-columns: auto minmax(0, 1fr);
  }
  .kg-project-shell .kg-profile-theme-preview{
    display: none;
  }
}

/* =========================================================
   Profile settings design fixes, ru UI and profile themes
   ========================================================= */
.kg-project-shell .kg-profile-settings-page,
.kg-project-shell .kg-profile-settings-page *{
  min-width: 0;
}
.kg-project-shell .kg-profile-settings-page{
  max-width: 100%;
  overflow-x: clip;
}
.kg-project-shell .kg-profile-settings-page .kg-settings-layout{
  margin-left: 0;
  margin-right: 0;
}
.kg-project-shell .kg-profile-settings-page .kg-settings-layout > [class*="col-"]{
  padding-left: .5rem;
  padding-right: .5rem;
}
.kg-project-shell .kg-settings-content-card,
.kg-project-shell .kg-settings-nav-card,
.kg-project-shell .kg-settings-repo-card{
  max-width: 100%;
}
.kg-project-shell .kg-settings-content-card .card-body{
  overflow-x: clip;
}

.kg-project-shell .kg-profile-settings-page form > .row.border-bottom:hover,
.kg-project-shell .kg-profile-settings-page form > .row.py-3:hover{
  background: transparent !important;
}

.kg-project-shell .kg-avatar{
  border-radius: .9rem;
}
.kg-project-shell .kg-profile-settings-page #avatarPreview{
  border-radius: 1rem !important;
}
.kg-project-shell .kg-profile-settings-page .kg-square-choice,
.kg-project-shell .kg-profile-settings-page .kg-avatar-icon-choice{
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: .72rem !important;
}

.kg-project-shell .kg-profile-theme-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kg-project-shell .kg-profile-theme-choice{
  grid-template-columns: auto 86px minmax(0, 1fr);
  border-color: var(--kg-border, var(--bs-border-color));
}
.kg-project-shell .kg-profile-theme-choice:hover{
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  border-color: var(--kg-border, var(--bs-border-color));
}
.kg-project-shell .kg-profile-theme-choice.is-selected{
  border-color: var(--bs-body-color);
  box-shadow: inset 0 0 0 2px var(--bs-body-color);
}
.kg-project-shell .kg-profile-theme-preview{
  width: 86px;
  border-radius: .9rem;
}
.kg-project-shell .kg-profile-theme-preview-classic{
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .10), var(--bs-body-bg) 58%);
}
.kg-project-shell .kg-profile-theme-preview-classic .kg-theme-preview-avatar{
  background: rgba(var(--bs-primary-rgb), .14);
}
.kg-project-shell .kg-profile-theme-preview-research{
  background:
    linear-gradient(135deg, rgba(122, 92, 38, .16), rgba(255, 248, 232, .58)),
    var(--bs-body-bg);
}
.kg-project-shell .kg-profile-theme-preview-research .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-research .kg-theme-preview-lines span{
  background: rgba(122, 92, 38, .24);
}
.kg-project-shell .kg-profile-theme-preview-atlas{
  background-color: rgba(35, 116, 74, .055);
  background-image:
    linear-gradient(rgba(35, 116, 74, .18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35, 116, 74, .18) 1px, transparent 1px),
    radial-gradient(circle at 76% 28%, rgba(35, 116, 74, .28) 0 3px, transparent 4px);
  background-size: 12px 12px, 12px 12px, 100% 100%;
}
.kg-project-shell .kg-profile-theme-preview-atlas .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-atlas .kg-theme-preview-lines span{
  background: rgba(35, 116, 74, .20);
}

.kg-project-shell .kg-profile-theme-classic .kg-profile-sidebar-card{
  border-top: 4px solid rgba(var(--bs-primary-rgb), .50);
}
.kg-project-shell .kg-profile-theme-classic .kg-profile-section-card .card-header{
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), .055), transparent 62%);
}
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card{
  border-color: rgba(122, 92, 38, .24) !important;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, .34), transparent 180px),
    var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card{
  border-top: 4px solid rgba(122, 92, 38, .72);
}
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card .card-header{
  background: rgba(122, 92, 38, .065);
}
.kg-project-shell .kg-profile-theme-research .kg-avatar{
  border-radius: .65rem;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card{
  border-color: rgba(35, 116, 74, .24) !important;
  background-color: var(--kg-panel-bg, var(--bs-body-bg));
  background-image:
    linear-gradient(rgba(35, 116, 74, .060) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35, 116, 74, .060) 1px, transparent 1px),
    linear-gradient(135deg, rgba(35, 116, 74, .080), transparent 45%);
  background-size: 22px 22px, 22px 22px, 100% 100%;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card{
  border-top: 4px solid rgba(35, 116, 74, .72);
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card .card-header{
  background: rgba(35, 116, 74, .060);
}
.kg-project-shell .kg-profile-theme-atlas .kg-avatar{
  border-radius: 1.05rem;
}

.kg-project-shell .kg-settings-repo-row a,
.kg-project-shell .kg-collaborator-row .text-truncate,
.kg-project-shell .kg-profile-theme-choice .text-muted{
  min-width: 0;
}

@media (max-width: 1199.98px){
  .kg-project-shell .kg-profile-theme-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-profile-settings-page .kg-settings-layout > [class*="col-"]{
    padding-left: 0;
    padding-right: 0;
  }
  .kg-project-shell .kg-profile-theme-choice{
    grid-template-columns: auto minmax(0, 1fr);
  }
  .kg-project-shell .kg-profile-theme-preview{
    display: none;
  }
}

/* =========================================================
   Profile polish pass: distinct themes, activity cleanup, overflow fixes
   ========================================================= */
.kg-project-shell .kg-profile-page,
.kg-project-shell .kg-profile-page *{
  min-width: 0;
}
.kg-project-shell .kg-profile-page{
  max-width: 100%;
  overflow-x: clip;
}
.kg-project-shell .kg-profile-page > .row{
  margin-left: 0;
  margin-right: 0;
  align-items: flex-start;
}
.kg-project-shell .kg-profile-page > .row > [class*="col-"]{
  padding-left: .5rem;
  padding-right: .5rem;
}
@media (min-width: 992px){
  .kg-project-shell .kg-profile-page-tab-overview .kg-profile-sidebar-card{
    margin-top: -.35rem;
  }
}
.kg-project-shell .kg-contribution-card .card-body{
  overflow-x: clip;
}
.kg-project-shell .kg-contribution-shell{
  --kg-contribution-cell-min: 9px;
  --kg-contribution-cell-max: 13px;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-right: 2px;
}
.kg-project-shell .kg-contribution-grid,
.kg-project-shell .kg-contribution-months{
  gap: 3px;
}
.kg-project-shell .kg-contribution-cell.is-today{
  outline: none !important;
  outline-offset: 0 !important;
}
.kg-project-shell .kg-profile-activity-summary{
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .9rem;
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-profile-activity-summary-icon{
  width: 2.1rem;
  height: 2.1rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  color: var(--kg-profile-accent, var(--bs-primary));
  flex: 0 0 auto;
}

.kg-project-shell .kg-settings-repo-tab{
  display: inline-flex;
  align-items: center;
  gap: .1rem;
  min-height: 2.2rem;
  padding: .35rem .6rem;
  border: 1px solid transparent;
  border-radius: .65rem;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  text-decoration: none;
  font-weight: 650;
}
.kg-project-shell .kg-settings-repo-tab:hover{
  color: var(--bs-body-color);
  background: var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-settings-repo-tab.is-active{
  color: var(--bs-body-color);
  background: var(--kg-panel-bg, var(--bs-body-bg));
  border-color: var(--kg-border, var(--bs-border-color));
  box-shadow: var(--kg-shadow-soft, none);
}

.kg-project-shell .kg-profile-theme-choice{
  min-height: 7.4rem;
  align-items: stretch;
}
.kg-project-shell .kg-profile-theme-choice > .d-block{
  align-self: center;
}
.kg-project-shell .kg-profile-theme-preview{
  height: 74px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}
.kg-project-shell .kg-profile-theme-preview .kg-theme-preview-avatar{
  width: 22px;
  height: 22px;
}
.kg-project-shell .kg-theme-preview-mark{
  position: absolute;
  right: .55rem;
  top: .4rem;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--bs-body-color);
}
.kg-project-shell .kg-profile-theme-preview-classic .kg-theme-preview-mark{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: rgba(var(--bs-primary-rgb), .85);
}
.kg-project-shell .kg-profile-theme-preview-research .kg-theme-preview-mark{
  font-family: Georgia, "Times New Roman", serif;
  color: rgb(122, 76, 30);
}
.kg-project-shell .kg-profile-theme-preview-atlas .kg-theme-preview-mark{
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  color: rgb(23, 110, 72);
  text-transform: uppercase;
}

.kg-project-shell .kg-profile-theme-classic{
  --kg-profile-accent: #0969da;
  --kg-profile-accent-soft: rgba(9, 105, 218, .10);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-research{
  --kg-profile-accent: #7a4c1e;
  --kg-profile-accent-soft: rgba(122, 76, 30, .12);
  --kg-profile-heading-font: Georgia, "Times New Roman", serif;
}
.kg-project-shell .kg-profile-theme-atlas{
  --kg-profile-accent: #176e48;
  --kg-profile-accent-soft: rgba(23, 110, 72, .12);
  --kg-profile-heading-font: "Trebuchet MS", "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card .h5,
.kg-project-shell .kg-profile-page .kg-profile-section-card .card-header .fw-semibold{
  font-family: var(--kg-profile-heading-font);
}
.kg-project-shell .kg-profile-page .kg-profile-tabs .nav-link.active{
  color: var(--kg-profile-accent, var(--bs-body-color)) !important;
  border-bottom-color: var(--kg-profile-accent, var(--bs-body-color)) !important;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card{
  position: relative;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--kg-profile-accent, var(--bs-primary));
  opacity: .85;
}
.kg-project-shell .kg-profile-theme-classic .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-classic .kg-profile-section-card{
  box-shadow: 0 1px 0 rgba(27, 31, 36, .04) !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card{
  border-color: rgba(122, 76, 30, .30) !important;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, .62), rgba(255, 248, 232, .18) 42%, transparent),
    radial-gradient(circle at 15% 0%, rgba(122, 76, 30, .10), transparent 34%),
    var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card .card-header{
  border-bottom-color: rgba(122, 76, 30, .22) !important;
  background: rgba(122, 76, 30, .08) !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-bio{
  padding-left: .75rem;
  border-left: 3px solid rgba(122, 76, 30, .32);
  font-family: Georgia, "Times New Roman", serif;
}
.kg-project-shell .kg-profile-theme-research .badge.text-bg-light{
  background: rgba(122, 76, 30, .08) !important;
  color: #5f3a17 !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card{
  border-color: rgba(23, 110, 72, .32) !important;
  background-color: var(--kg-panel-bg, var(--bs-body-bg));
  background-image:
    linear-gradient(rgba(23, 110, 72, .085) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 110, 72, .085) 1px, transparent 1px),
    radial-gradient(circle at 92% 12%, rgba(23, 110, 72, .16), transparent 18%),
    linear-gradient(135deg, rgba(23, 110, 72, .10), transparent 48%);
  background-size: 24px 24px, 24px 24px, 100% 100%, 100% 100%;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card .card-header{
  border-bottom-color: rgba(23, 110, 72, .22) !important;
  background: rgba(23, 110, 72, .075) !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-mono,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card .text-muted.kg-mono{
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  letter-spacing: .02em;
}
.kg-project-shell .kg-profile-theme-atlas .badge.text-bg-light{
  background: rgba(23, 110, 72, .08) !important;
  color: #145f40 !important;
}

@media (max-width: 575.98px){
  .kg-project-shell .kg-profile-page > .row > [class*="col-"]{
    padding-left: 0;
    padding-right: 0;
  }
  .kg-project-shell .kg-contribution-shell{
    --kg-contribution-cell-min: 8px;
    --kg-contribution-cell-max: 11px;
  }
}

/* =========================================================
   Profile settings corrections: status dates and final theme polish
   ========================================================= */
.kg-project-shell .kg-profile-page.kg-account-page{
  overflow-x: clip !important;
  max-width: 100%;
}

.kg-project-shell .kg-account-status-list{
  display: flex;
  flex-direction: column;
  gap: .55rem;
}

.kg-project-shell .kg-account-status-item{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem .75rem;
  min-width: 0;
}

@media (min-width: 992px){
  .kg-project-shell .kg-profile-page-tab-overview .kg-profile-sidebar-card{
    margin-top: -2.85rem !important;
  }
}

.kg-project-shell .kg-profile-theme-classic{
  --kg-profile-accent: #0969da;
  --kg-profile-accent-soft: rgba(9, 105, 218, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kg-project-shell .kg-profile-theme-classic .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-classic .kg-profile-section-card{
  border-radius: .9rem !important;
}

.kg-project-shell .kg-profile-theme-classic .kg-profile-section-card .card-header{
  background:
    linear-gradient(90deg, rgba(9, 105, 218, .075), transparent 64%),
    var(--kg-panel-bg, var(--bs-body-bg)) !important;
}

.kg-project-shell .kg-profile-theme-classic .btn-primary{
  box-shadow: 0 .25rem .8rem rgba(9, 105, 218, .16);
}

.kg-project-shell .kg-profile-theme-research{
  --kg-profile-accent: #7a4c1e;
  --kg-profile-accent-soft: rgba(122, 76, 30, .14);
  --kg-profile-heading-font: Georgia, "Times New Roman", serif;
}

.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card{
  border-color: rgba(122, 76, 30, .35) !important;
  border-radius: .55rem !important;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, .74), rgba(255, 248, 232, .26) 42%, transparent),
    radial-gradient(circle at 8% 0%, rgba(122, 76, 30, .13), transparent 30%),
    repeating-linear-gradient(0deg, rgba(122, 76, 30, .025) 0 1px, transparent 1px 26px),
    var(--kg-panel-bg, var(--bs-body-bg)) !important;
}

.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card::after{
  content: "Research profile";
  position: absolute;
  right: .9rem;
  top: .75rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(122, 76, 30, .54);
  pointer-events: none;
}

.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card .h5,
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card .card-header .fw-semibold{
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.015em;
}

.kg-project-shell .kg-profile-theme-research .kg-profile-tabs .nav-link{
  font-family: Georgia, "Times New Roman", serif;
}

.kg-project-shell .kg-profile-theme-research .kg-avatar{
  border-radius: .35rem !important;
  box-shadow: .22rem .22rem 0 rgba(122, 76, 30, .12) !important;
}

.kg-project-shell .kg-profile-theme-research .kg-profile-bio{
  background: rgba(255, 248, 232, .58);
  border: 1px solid rgba(122, 76, 30, .16);
  border-left: 4px solid rgba(122, 76, 30, .44);
  border-radius: .35rem;
  padding: .75rem .8rem;
  font-family: Georgia, "Times New Roman", serif;
}

.kg-project-shell .kg-profile-theme-research .badge.text-bg-light,
.kg-project-shell .kg-profile-theme-research .kg-contribution-level-1,
.kg-project-shell .kg-profile-theme-research .kg-contribution-level-2,
.kg-project-shell .kg-profile-theme-research .kg-contribution-level-3,
.kg-project-shell .kg-profile-theme-research .kg-contribution-level-4{
  color: #5f3a17 !important;
}

.kg-project-shell .kg-profile-theme-atlas{
  --kg-profile-accent: #176e48;
  --kg-profile-accent-soft: rgba(23, 110, 72, .14);
  --kg-profile-heading-font: "Trebuchet MS", "Segoe UI", sans-serif;
}

.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card{
  border-color: rgba(23, 110, 72, .38) !important;
  border-radius: 1.1rem !important;
  background-color: var(--kg-panel-bg, var(--bs-body-bg)) !important;
  background-image:
    linear-gradient(rgba(23, 110, 72, .105) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 110, 72, .105) 1px, transparent 1px),
    radial-gradient(circle at 92% 14%, rgba(23, 110, 72, .20), transparent 18%),
    linear-gradient(135deg, rgba(23, 110, 72, .12), transparent 48%) !important;
  background-size: 22px 22px, 22px 22px, 100% 100%, 100% 100% !important;
}

.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card::after{
  content: "N 55° · E 37°";
  position: absolute;
  right: .9rem;
  top: .75rem;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(23, 110, 72, .62);
  pointer-events: none;
}

.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card .h5,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card .card-header .fw-semibold,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-tabs .nav-link{
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.kg-project-shell .kg-profile-theme-atlas .kg-avatar{
  border-radius: 1rem !important;
  box-shadow: 0 0 0 3px rgba(23, 110, 72, .10) !important;
}

.kg-project-shell .kg-profile-theme-atlas .kg-profile-bio{
  padding: .75rem .85rem;
  border-radius: .9rem;
  border: 1px dashed rgba(23, 110, 72, .34);
  background: rgba(23, 110, 72, .045);
}

.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card .card-header{
  background: rgba(23, 110, 72, .095) !important;
}

.kg-project-shell .kg-profile-theme-atlas .badge.text-bg-light{
  background: rgba(23, 110, 72, .10) !important;
  color: #145f40 !important;
  border: 1px solid rgba(23, 110, 72, .14);
}

.kg-project-shell .kg-profile-theme-preview-research{
  background:
    repeating-linear-gradient(0deg, rgba(122, 76, 30, .08) 0 1px, transparent 1px 12px),
    linear-gradient(135deg, rgba(122, 76, 30, .20), rgba(255, 248, 232, .78)),
    var(--bs-body-bg) !important;
  border-color: rgba(122, 76, 30, .30) !important;
}

.kg-project-shell .kg-profile-theme-preview-atlas{
  background-color: rgba(23, 110, 72, .06) !important;
  background-image:
    linear-gradient(rgba(23, 110, 72, .25) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 110, 72, .25) 1px, transparent 1px),
    radial-gradient(circle at 76% 28%, rgba(23, 110, 72, .34) 0 3px, transparent 4px) !important;
  background-size: 10px 10px, 10px 10px, 100% 100% !important;
  border-color: rgba(23, 110, 72, .30) !important;
}

.kg-project-shell .kg-profile-page.kg-account-page{
  overflow-x: hidden !important;
  overflow-x: clip !important;
}

/* =========================================================
   Final profile alignment and team workspace polish
   ========================================================= */
@media (min-width: 992px){
  .kg-project-shell .kg-profile-page > .row{
    align-items: flex-start;
  }
  .kg-project-shell .kg-profile-page .kg-profile-sidebar-card{
    margin-top: -3.15rem !important;
    top: 4.65rem;
  }
}

.kg-project-shell .kg-team-page,
.kg-project-shell .kg-team-settings-page{
  min-width: 0;
  overflow-x: clip;
}

.kg-project-shell .kg-team-page .card,
.kg-project-shell .kg-team-settings-page .card{
  max-width: 100%;
}

.kg-project-shell .kg-org-avatar{
  width: 42px;
  height: 42px;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  color: var(--bs-secondary-color);
  flex: 0 0 auto;
}

.kg-project-shell .kg-org-avatar-lg{
  width: 64px;
  height: 64px;
  border-radius: 1.1rem;
  font-size: 1.55rem;
}

.kg-project-shell .kg-team-page .kg-org-hero{
  background:
    radial-gradient(circle at 92% 8%, rgba(var(--bs-primary-rgb), .10), transparent 25%),
    var(--kg-panel-bg, var(--bs-body-bg));
}

.kg-project-shell .kg-team-settings-page .list-group-item{
  border-color: var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-team-settings-page .form-select-sm{
  min-width: 9.5rem;
}

@media (max-width: 575.98px){
  .kg-project-shell .kg-team-settings-page .list-group-item .d-flex{
    flex-wrap: wrap;
  }
  .kg-project-shell .kg-team-settings-page .form-select-sm{
    min-width: 100%;
  }
}

/* =========================================================
   Admin panel refinements
   ========================================================= */
.kg-project-shell .kg-admin-users-table td{
  vertical-align: middle;
}
.kg-project-shell .kg-admin-badge-list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  min-width: 220px;
}
.kg-project-shell .kg-admin-badge-list .badge{
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}
.kg-project-shell .kg-admin-chart-card .card-header{
  background: var(--kg-panel-bg-subtle);
}
.kg-project-shell .kg-admin-bars{
  display: grid;
  gap: .85rem;
}
.kg-project-shell .kg-admin-bar-row{
  min-width: 0;
}
.kg-project-shell .kg-admin-bar-icon{
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid var(--kg-border);
  border-radius: .6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--kg-panel-bg-subtle);
  color: var(--kg-fg-muted);
  flex: 0 0 auto;
}
.kg-project-shell .kg-admin-bar-track{
  width: 100%;
  height: .58rem;
  border-radius: 999px;
  overflow: hidden;
  background: var(--kg-panel-bg-subtle);
  border: 1px solid var(--kg-border);
}
.kg-project-shell .kg-admin-bar-fill{
  min-width: .25rem;
  height: 100%;
  border-radius: 999px;
  background: var(--bs-body-color);
  opacity: .82;
}
.kg-project-shell .kg-admin-form-section-title{
  font-weight: 700;
  margin-bottom: .55rem;
}
.kg-project-shell .kg-admin-check-list{
  display: grid;
  gap: .55rem;
}
.kg-project-shell .kg-admin-check-row{
  align-items: flex-start;
  margin: 0;
}
.kg-project-shell .kg-admin-check-row .form-check-input{
  margin-top: .2rem;
  flex: 0 0 auto;
}
@media (max-width: 767.98px){
  .kg-project-shell .kg-admin-badge-list{
    min-width: 180px;
  }
}

/* =========================================================
   Account status requests and compact header counters
   ========================================================= */
.kg-project-shell .kg-status-request-list{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.kg-project-shell .kg-status-request-card{
  overflow:hidden;
}
.kg-project-shell .kg-status-request-summary{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem;
}
.kg-project-shell .kg-status-request-icon{
  width:2.75rem;
  height:2.75rem;
  border-radius:.85rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}
.kg-project-shell .kg-status-request-icon i{
  font-size:1.15rem;
}
.kg-project-shell .kg-status-criteria{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .5rem;
}
.kg-project-shell .kg-status-criteria span{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:999px;
  padding:.22rem .55rem;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.78rem;
  line-height:1.25;
}
.kg-project-shell .kg-status-request-action{
  width:12.5rem;
  flex:0 0 auto;
  margin-left:auto;
}
.kg-project-shell .kg-status-request-form{
  border-top:1px solid var(--kg-border, var(--bs-border-color));
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  padding:1rem;
}
.kg-project-shell .kg-status-history-table thead th{
  font-size:.78rem;
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-weight:700;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  border-bottom:1px solid var(--kg-border, var(--bs-border-color));
}
.kg-project-shell .kg-status-history-details-row:hover > td{
  background:transparent;
}
.kg-project-shell .kg-status-history-details{
  padding:1rem;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  border-top:1px solid var(--kg-border, var(--bs-border-color));
}
.kg-project-shell .kg-status-clarify-form{
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:var(--kg-radius-sm, .75rem);
  padding:.85rem;
  background:var(--kg-panel-bg, var(--bs-body-bg));
}
@media (max-width: 991.98px){
  .kg-project-shell .kg-status-request-summary{
    flex-direction:column;
  }
  .kg-project-shell .kg-status-request-action{
    width:100%;
    margin-left:0;
  }
}

@media (max-width: 575.98px){
  .kg-project-shell .kg-status-history-table{
    min-width:720px;
  }
}


/* =========================================================
   Profile themes v2: restrained theme accents and status profiles
   ========================================================= */
.kg-project-shell .kg-profile-theme-grid-compact{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}
.kg-project-shell .kg-profile-theme-choice-clean{
  min-height: 8rem;
  border-radius: .9rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.kg-project-shell .kg-profile-theme-choice-clean:hover{
  transform: translateY(-1px);
}
.kg-project-shell .kg-profile-theme-choice-classic{
  --kg-profile-accent: #0969da;
  --kg-profile-accent-soft: rgba(9, 105, 218, .12);
}
.kg-project-shell .kg-profile-theme-choice-research{
  --kg-profile-accent: #8a5a2b;
  --kg-profile-accent-soft: rgba(138, 90, 43, .12);
}
.kg-project-shell .kg-profile-theme-choice-atlas{
  --kg-profile-accent: #1f7a4f;
  --kg-profile-accent-soft: rgba(31, 122, 79, .12);
}
.kg-project-shell .kg-profile-theme-choice-clean.is-selected{
  border-color: var(--kg-profile-accent, var(--bs-primary)) !important;
  box-shadow: 0 0 0 .2rem var(--kg-profile-accent-soft, rgba(var(--bs-primary-rgb), .12)) !important;
}
.kg-project-shell .kg-profile-theme-choice-clean .kg-profile-theme-preview{
  border-radius: .75rem;
}
.kg-project-shell .kg-profile-status-theme-card{
  background:
    linear-gradient(90deg, rgba(var(--bs-primary-rgb), .055), transparent 58%),
    var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-status-theme-icon{
  width: 2.15rem;
  height: 2.15rem;
  border-radius: .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .10);
  border: 1px solid rgba(var(--bs-primary-rgb), .16);
  flex: 0 0 auto;
}

.kg-project-shell .kg-profile-theme-classic{
  --kg-profile-accent: #0969da;
  --kg-profile-accent-rgb: 9, 105, 218;
  --kg-profile-accent-soft: rgba(9, 105, 218, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-research{
  --kg-profile-accent: #8a5a2b;
  --kg-profile-accent-rgb: 138, 90, 43;
  --kg-profile-accent-soft: rgba(138, 90, 43, .12);
  --kg-profile-heading-font: Georgia, "Times New Roman", serif;
}
.kg-project-shell .kg-profile-theme-atlas{
  --kg-profile-accent: #1f7a4f;
  --kg-profile-accent-rgb: 31, 122, 79;
  --kg-profile-accent-soft: rgba(31, 122, 79, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kg-project-shell .kg-profile-page .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-page .kg-profile-section-card{
  border-color: var(--kg-border, var(--bs-border-color)) !important;
  border-radius: .9rem !important;
  background-color: var(--kg-panel-bg, var(--bs-body-bg)) !important;
  background-image: none !important;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card::after{
  content: none !important;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card::before{
  background: var(--kg-profile-accent, var(--bs-primary)) !important;
  opacity: .82 !important;
}
.kg-project-shell .kg-profile-page .kg-profile-section-card .card-header{
  border-bottom-color: var(--kg-border-muted, var(--bs-border-color)) !important;
  background:
    linear-gradient(90deg, rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .075), transparent 62%),
    var(--kg-panel-bg, var(--bs-body-bg)) !important;
}
.kg-project-shell .kg-profile-page .kg-profile-sidebar-card .h5,
.kg-project-shell .kg-profile-page .kg-profile-section-card .card-header .fw-semibold{
  font-family: var(--kg-profile-heading-font) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.kg-project-shell .kg-profile-page .kg-profile-tabs .nav-link{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.kg-project-shell .kg-profile-page .kg-profile-tabs .nav-link.active{
  color: var(--kg-profile-accent, var(--bs-primary)) !important;
  border-bottom-color: var(--kg-profile-accent, var(--bs-primary)) !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card{
  background-image:
    linear-gradient(180deg, rgba(250, 244, 232, .56), transparent 42%),
    linear-gradient(90deg, rgba(138, 90, 43, .035) 0 1px, transparent 1px) !important;
  background-size: 100% 100%, 18px 18px !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-section-card{
  background-image: none !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-bio{
  background: rgba(138, 90, 43, .045) !important;
  border: 1px solid rgba(138, 90, 43, .13) !important;
  border-left: 3px solid rgba(138, 90, 43, .36) !important;
  border-radius: .7rem !important;
  padding: .72rem .8rem !important;
  font-family: var(--kg-profile-heading-font) !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card{
  background-image:
    linear-gradient(rgba(31, 122, 79, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 122, 79, .055) 1px, transparent 1px),
    radial-gradient(circle at 90% 10%, rgba(31, 122, 79, .10), transparent 20%) !important;
  background-size: 26px 26px, 26px 26px, 100% 100% !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-section-card{
  background-image: none !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-profile-bio{
  background: rgba(31, 122, 79, .045) !important;
  border: 1px solid rgba(31, 122, 79, .13) !important;
  border-radius: .75rem !important;
  padding: .72rem .8rem !important;
}
.kg-project-shell .kg-profile-theme-atlas .kg-mono,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card .text-muted.kg-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
  letter-spacing: 0 !important;
}
.kg-project-shell .kg-profile-theme-research .kg-contribution-card,
.kg-project-shell .kg-profile-theme-atlas .kg-contribution-card,
.kg-project-shell .kg-profile-theme-research .kg-contribution-card .card-body,
.kg-project-shell .kg-profile-theme-atlas .kg-contribution-card .card-body{
  background-color: var(--kg-panel-bg, var(--bs-body-bg)) !important;
  background-image: none !important;
}
.kg-project-shell .kg-profile-theme-research .kg-profile-activity-summary,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-activity-summary{
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg)) !important;
  border-color: var(--kg-border-muted, var(--bs-border-color)) !important;
}

.kg-project-shell .kg-profile-theme-preview-research{
  background:
    linear-gradient(180deg, rgba(250, 244, 232, .86), rgba(255,255,255,.66)),
    linear-gradient(90deg, rgba(138, 90, 43, .12) 0 2px, transparent 2px) !important;
  background-size: 100% 100%, 18px 18px !important;
  border-color: rgba(138, 90, 43, .28) !important;
}
.kg-project-shell .kg-profile-theme-preview-atlas{
  background-color: rgba(31, 122, 79, .045) !important;
  background-image:
    linear-gradient(rgba(31, 122, 79, .16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 122, 79, .16) 1px, transparent 1px),
    linear-gradient(135deg, rgba(31, 122, 79, .10), transparent 52%) !important;
  background-size: 13px 13px, 13px 13px, 100% 100% !important;
  border-color: rgba(31, 122, 79, .28) !important;
}

.kg-project-shell .kg-profile-role-badge,
.kg-project-shell .kg-profile-role-contributor,
.kg-project-shell .kg-profile-role-maintainer{
  border: 1px solid transparent;
  font-weight: 750;
  letter-spacing: .01em;
  box-shadow: none;
}
.kg-project-shell .kg-profile-role-contributor{
  color: #0f5132 !important;
  background:
    linear-gradient(135deg, rgba(25, 135, 84, .18), rgba(25, 135, 84, .07)) !important;
  border-color: rgba(25, 135, 84, .22) !important;
}
.kg-project-shell .kg-profile-role-maintainer{
  color: #4b3200 !important;
  background:
    linear-gradient(135deg, rgba(255, 193, 7, .34), rgba(108, 117, 125, .10)) !important;
  border-color: rgba(255, 193, 7, .36) !important;
}
.kg-project-shell .kg-profile-status-contributor{
  --kg-status-accent: #198754;
  --kg-status-accent-rgb: 25, 135, 84;
}
.kg-project-shell .kg-profile-status-maintainer{
  --kg-status-accent: #b58100;
  --kg-status-accent-rgb: 181, 129, 0;
}
.kg-project-shell .kg-profile-status-contributor .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-status-maintainer .kg-profile-sidebar-card{
  box-shadow:
    0 1px 0 rgba(27, 31, 36, .04),
    0 0 0 .22rem rgba(var(--kg-status-accent-rgb), .08) !important;
}
.kg-project-shell .kg-profile-status-contributor .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-status-maintainer .kg-profile-sidebar-card::before{
  background: linear-gradient(180deg, var(--kg-profile-accent, var(--bs-primary)), var(--kg-status-accent)) !important;
  width: 5px !important;
}
.kg-project-shell .kg-profile-status-hero{
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(var(--kg-status-accent-rgb), .20);
  border-radius: .95rem;
  overflow: hidden;
  color: var(--bs-body-color);
  background:
    radial-gradient(circle at 96% 10%, rgba(var(--kg-status-accent-rgb), .14), transparent 24%),
    linear-gradient(90deg, rgba(var(--kg-status-accent-rgb), .10), transparent 70%),
    var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-status-hero::after{
  content: "";
  position: absolute;
  inset: auto 1rem 0 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(var(--kg-status-accent-rgb), .42), transparent);
  opacity: .9;
}
.kg-project-shell .kg-profile-status-hero-icon{
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--kg-status-accent);
  background: rgba(var(--kg-status-accent-rgb), .10);
  border: 1px solid rgba(var(--kg-status-accent-rgb), .18);
}
.kg-project-shell .kg-profile-status-hero .small{
  color: var(--kg-fg-muted, var(--bs-secondary-color));
}
.kg-project-shell .kg-profile-status-maintainer .kg-profile-status-hero-maintainer{
  border-color: rgba(181, 129, 0, .28);
  background:
    radial-gradient(circle at 96% 10%, rgba(255, 193, 7, .22), transparent 25%),
    linear-gradient(90deg, rgba(255, 193, 7, .14), transparent 68%),
    var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-status-maintainer .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(255, 193, 7, .18),
    0 .65rem 1.4rem rgba(27, 31, 36, .10) !important;
}
.kg-project-shell .kg-profile-status-contributor .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(25, 135, 84, .14),
    0 .65rem 1.4rem rgba(27, 31, 36, .08) !important;
}

@media (max-width: 991.98px){
  .kg-project-shell .kg-profile-theme-grid-compact{
    grid-template-columns: 1fr;
  }
  .kg-project-shell .kg-profile-status-hero{
    padding: .85rem;
  }
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-profile-theme-choice-clean{
    min-height: auto;
  }
  .kg-project-shell .kg-profile-theme-choice-clean .kg-profile-theme-preview{
    display: flex;
  }
}

/* =========================================================
   Profile themes v3: public themes + gated role themes
   ========================================================= */
.kg-project-shell .kg-settings-label{
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
}
.kg-project-shell .kg-profile-theme-group{
  padding: .95rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: 1rem;
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-profile-theme-grid-public,
.kg-project-shell .kg-profile-theme-grid-status{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kg-project-shell .kg-profile-theme-choice-clean{
  position: relative;
  overflow: hidden;
}
.kg-project-shell .kg-profile-theme-choice-clean.is-locked{
  cursor: not-allowed;
  opacity: .64;
  filter: grayscale(.12);
}
.kg-project-shell .kg-profile-theme-choice-clean.is-locked:hover{
  transform: none;
  background: var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-profile-theme-choice-clean.is-locked .form-check-input,
.kg-project-shell .kg-profile-theme-choice-clean.is-locked .kg-profile-theme-preview,
.kg-project-shell .kg-profile-theme-choice-clean.is-locked .d-block{
  pointer-events: none;
}
.kg-project-shell .kg-profile-theme-choice-contributor{
  --kg-profile-accent: #198754;
  --kg-profile-accent-soft: rgba(25, 135, 84, .12);
}
.kg-project-shell .kg-profile-theme-choice-maintainer{
  --kg-profile-accent: #24292f;
  --kg-profile-accent-soft: rgba(36, 41, 47, .12);
}
.kg-project-shell .kg-profile-theme-choice-staff{
  --kg-profile-accent: #b42318;
  --kg-profile-accent-soft: rgba(180, 35, 24, .12);
}
.kg-project-shell .kg-profile-theme-preview-contributor{
  background:
    radial-gradient(circle at 80% 18%, rgba(25, 135, 84, .24), transparent 25%),
    linear-gradient(135deg, rgba(25, 135, 84, .14), rgba(255,255,255,.68)) !important;
  border-color: rgba(25, 135, 84, .28) !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer{
  background:
    linear-gradient(90deg, rgba(181, 129, 0, .24) 0 4px, transparent 4px),
    linear-gradient(135deg, rgba(36, 41, 47, .16), rgba(255,255,255,.72)) !important;
  border-color: rgba(36, 41, 47, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-staff{
  background:
    radial-gradient(circle at 84% 18%, rgba(180, 35, 24, .20), transparent 24%),
    linear-gradient(135deg, rgba(180, 35, 24, .13), rgba(255,255,255,.72)) !important;
  border-color: rgba(180, 35, 24, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-contributor .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-contributor .kg-theme-preview-lines span{
  background: rgba(25, 135, 84, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-maintainer .kg-theme-preview-lines span{
  background: rgba(36, 41, 47, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-staff .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-staff .kg-theme-preview-lines span{
  background: rgba(180, 35, 24, .22) !important;
}
.kg-project-shell .kg-profile-theme-preview-contributor .kg-theme-preview-mark{
  color: #198754 !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer .kg-theme-preview-mark{
  color: #24292f !important;
}
.kg-project-shell .kg-profile-theme-preview-staff .kg-theme-preview-mark{
  color: #b42318 !important;
}

.kg-project-shell .kg-profile-theme-contributor{
  --kg-profile-accent: #198754;
  --kg-profile-accent-rgb: 25, 135, 84;
  --kg-profile-accent-soft: rgba(25, 135, 84, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-maintainer{
  --kg-profile-accent: #24292f;
  --kg-profile-accent-rgb: 36, 41, 47;
  --kg-profile-accent-soft: rgba(36, 41, 47, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-staff{
  --kg-profile-accent: #b42318;
  --kg-profile-accent-rgb: 180, 35, 24;
  --kg-profile-accent-soft: rgba(180, 35, 24, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kg-project-shell .kg-profile-theme-classic .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-research .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-atlas .kg-profile-sidebar-card::before{
  content: none !important;
}

.kg-project-shell .kg-profile-theme-contributor .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-maintainer .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-staff .kg-profile-sidebar-card::before{
  content: "" !important;
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--kg-profile-accent, var(--bs-primary)) !important;
  opacity: .92 !important;
}
.kg-project-shell .kg-profile-theme-contributor .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-maintainer .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-staff .kg-profile-sidebar-card{
  box-shadow:
    0 1px 0 rgba(27, 31, 36, .04),
    0 0 0 .22rem rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .075) !important;
}
.kg-project-shell .kg-profile-theme-contributor .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-maintainer .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-staff .kg-profile-section-card .card-header{
  background:
    linear-gradient(90deg, rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .085), transparent 64%),
    var(--kg-panel-bg, var(--bs-body-bg)) !important;
}
.kg-project-shell .kg-profile-theme-contributor .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(25, 135, 84, .12),
    0 .65rem 1.4rem rgba(27, 31, 36, .07) !important;
}
.kg-project-shell .kg-profile-theme-maintainer .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(36, 41, 47, .10),
    0 0 0 5px rgba(181, 129, 0, .08),
    0 .65rem 1.4rem rgba(27, 31, 36, .08) !important;
}
.kg-project-shell .kg-profile-theme-staff .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(180, 35, 24, .11),
    0 .65rem 1.4rem rgba(27, 31, 36, .08) !important;
}
.kg-project-shell .kg-profile-theme-maintainer .kg-profile-sidebar-card::before{
  background: linear-gradient(180deg, #24292f, #b58100) !important;
}
.kg-project-shell .kg-profile-theme-staff .kg-profile-sidebar-card::before{
  background: linear-gradient(180deg, #b42318, #24292f) !important;
}
.kg-project-shell .kg-profile-theme-contributor .kg-profile-bio,
.kg-project-shell .kg-profile-theme-maintainer .kg-profile-bio,
.kg-project-shell .kg-profile-theme-staff .kg-profile-bio{
  background: rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .045) !important;
  border: 1px solid rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .13) !important;
  border-radius: .75rem !important;
  padding: .72rem .8rem !important;
}

@media (max-width: 991.98px){
  .kg-project-shell .kg-profile-theme-grid-public,
  .kg-project-shell .kg-profile-theme-grid-status{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Profile themes v4: compact theme picker + extended role themes
   ========================================================= */
.kg-project-shell .kg-profile-theme-grid-all{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}
.kg-project-shell .kg-profile-theme-grid-all .kg-profile-theme-choice-clean{
  min-height: 8.4rem;
}
.kg-project-shell .kg-profile-theme-grid-all .badge{
  font-size: .68rem;
  line-height: 1.15;
  padding: .23rem .48rem;
}

.kg-project-shell .kg-profile-theme-choice-contributor,
.kg-project-shell .kg-profile-theme-choice-contributor_field,
.kg-project-shell .kg-profile-theme-choice-contributor_matrix{
  --kg-profile-accent: #198754;
  --kg-profile-accent-soft: rgba(25, 135, 84, .12);
}
.kg-project-shell .kg-profile-theme-choice-maintainer,
.kg-project-shell .kg-profile-theme-choice-maintainer_grid,
.kg-project-shell .kg-profile-theme-choice-maintainer_archive{
  --kg-profile-accent: #24292f;
  --kg-profile-accent-soft: rgba(36, 41, 47, .12);
}
.kg-project-shell .kg-profile-theme-choice-staff,
.kg-project-shell .kg-profile-theme-choice-staff_console,
.kg-project-shell .kg-profile-theme-choice-staff_command{
  --kg-profile-accent: #b42318;
  --kg-profile-accent-soft: rgba(180, 35, 24, .12);
}

.kg-project-shell .kg-profile-theme-preview-contributor_field{
  background:
    linear-gradient(rgba(25, 135, 84, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 135, 84, .055) 1px, transparent 1px),
    linear-gradient(135deg, rgba(25, 135, 84, .13), rgba(255,255,255,.76)) !important;
  background-size: 18px 18px, 18px 18px, 100% 100% !important;
  border-color: rgba(25, 135, 84, .28) !important;
}
.kg-project-shell .kg-profile-theme-preview-contributor_matrix{
  background:
    radial-gradient(circle at 18% 22%, rgba(25, 135, 84, .30) 0 3px, transparent 4px),
    radial-gradient(circle at 42% 44%, rgba(25, 135, 84, .22) 0 3px, transparent 4px),
    radial-gradient(circle at 70% 24%, rgba(25, 135, 84, .18) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(25, 135, 84, .12), rgba(255,255,255,.78)) !important;
  border-color: rgba(25, 135, 84, .28) !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer_grid{
  background:
    linear-gradient(rgba(36, 41, 47, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 41, 47, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(181, 129, 0, .35) 0 4px, transparent 4px),
    linear-gradient(135deg, rgba(36, 41, 47, .13), rgba(255,255,255,.78)) !important;
  background-size: 17px 17px, 17px 17px, 100% 100%, 100% 100% !important;
  border-color: rgba(36, 41, 47, .26) !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer_archive{
  background:
    repeating-linear-gradient(0deg, rgba(36, 41, 47, .055) 0 1px, transparent 1px 12px),
    linear-gradient(90deg, rgba(181, 129, 0, .28) 0 4px, transparent 4px),
    linear-gradient(135deg, rgba(138, 90, 43, .12), rgba(255,255,255,.80)) !important;
  border-color: rgba(36, 41, 47, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-staff_console{
  background:
    linear-gradient(90deg, rgba(36, 41, 47, .28) 0 5px, transparent 5px),
    linear-gradient(rgba(180, 35, 24, .07) 1px, transparent 1px),
    linear-gradient(135deg, rgba(180, 35, 24, .12), rgba(255,255,255,.76)) !important;
  background-size: 100% 100%, 20px 20px, 100% 100% !important;
  border-color: rgba(180, 35, 24, .26) !important;
}
.kg-project-shell .kg-profile-theme-preview-staff_command{
  background:
    radial-gradient(circle at 84% 18%, rgba(180, 35, 24, .24), transparent 24%),
    repeating-linear-gradient(135deg, rgba(180, 35, 24, .075) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, rgba(36, 41, 47, .12), rgba(255,255,255,.78)) !important;
  border-color: rgba(180, 35, 24, .26) !important;
}

.kg-project-shell .kg-profile-theme-preview-contributor_field .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-contributor_field .kg-theme-preview-lines span,
.kg-project-shell .kg-profile-theme-preview-contributor_matrix .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-contributor_matrix .kg-theme-preview-lines span{
  background: rgba(25, 135, 84, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer_grid .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-maintainer_grid .kg-theme-preview-lines span,
.kg-project-shell .kg-profile-theme-preview-maintainer_archive .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-maintainer_archive .kg-theme-preview-lines span{
  background: rgba(36, 41, 47, .24) !important;
}
.kg-project-shell .kg-profile-theme-preview-staff_console .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-staff_console .kg-theme-preview-lines span,
.kg-project-shell .kg-profile-theme-preview-staff_command .kg-theme-preview-avatar,
.kg-project-shell .kg-profile-theme-preview-staff_command .kg-theme-preview-lines span{
  background: rgba(180, 35, 24, .22) !important;
}
.kg-project-shell .kg-profile-theme-preview-contributor_field .kg-theme-preview-mark,
.kg-project-shell .kg-profile-theme-preview-contributor_matrix .kg-theme-preview-mark{
  color: #198754 !important;
}
.kg-project-shell .kg-profile-theme-preview-maintainer_grid .kg-theme-preview-mark,
.kg-project-shell .kg-profile-theme-preview-maintainer_archive .kg-theme-preview-mark{
  color: #24292f !important;
}
.kg-project-shell .kg-profile-theme-preview-staff_console .kg-theme-preview-mark,
.kg-project-shell .kg-profile-theme-preview-staff_command .kg-theme-preview-mark{
  color: #b42318 !important;
}

.kg-project-shell .kg-profile-theme-contributor_field{
  --kg-profile-accent: #198754;
  --kg-profile-accent-rgb: 25, 135, 84;
  --kg-profile-accent-soft: rgba(25, 135, 84, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-contributor_matrix{
  --kg-profile-accent: #198754;
  --kg-profile-accent-rgb: 25, 135, 84;
  --kg-profile-accent-soft: rgba(25, 135, 84, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-maintainer_grid{
  --kg-profile-accent: #24292f;
  --kg-profile-accent-rgb: 36, 41, 47;
  --kg-profile-accent-soft: rgba(36, 41, 47, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kg-project-shell .kg-profile-theme-maintainer_archive{
  --kg-profile-accent: #6f4e1f;
  --kg-profile-accent-rgb: 111, 78, 31;
  --kg-profile-accent-soft: rgba(111, 78, 31, .12);
  --kg-profile-heading-font: Georgia, "Times New Roman", serif;
}
.kg-project-shell .kg-profile-theme-staff_console{
  --kg-profile-accent: #b42318;
  --kg-profile-accent-rgb: 180, 35, 24;
  --kg-profile-accent-soft: rgba(180, 35, 24, .12);
  --kg-profile-heading-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
.kg-project-shell .kg-profile-theme-staff_command{
  --kg-profile-accent: #b42318;
  --kg-profile-accent-rgb: 180, 35, 24;
  --kg-profile-accent-soft: rgba(180, 35, 24, .12);
  --kg-profile-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kg-project-shell .kg-profile-theme-contributor_field .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-sidebar-card::before{
  content: "" !important;
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  opacity: .92 !important;
  background: var(--kg-profile-accent, var(--bs-primary)) !important;
}
.kg-project-shell .kg-profile-theme-contributor_field .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-sidebar-card,
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-sidebar-card{
  box-shadow:
    0 1px 0 rgba(27, 31, 36, .04),
    0 0 0 .22rem rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .075) !important;
}
.kg-project-shell .kg-profile-theme-contributor_field .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-section-card .card-header,
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-section-card .card-header{
  background:
    linear-gradient(90deg, rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .085), transparent 64%),
    var(--kg-panel-bg, var(--bs-body-bg)) !important;
}
.kg-project-shell .kg-profile-theme-contributor_field .kg-profile-sidebar-card{
  background-image:
    linear-gradient(rgba(25, 135, 84, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 135, 84, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(25, 135, 84, .045), transparent 42%) !important;
  background-size: 22px 22px, 22px 22px, 100% 100% !important;
}
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-profile-sidebar-card{
  background-image:
    radial-gradient(circle at 84% 12%, rgba(25, 135, 84, .13), transparent 24%),
    radial-gradient(circle at 12px 12px, rgba(25, 135, 84, .08) 0 2px, transparent 3px) !important;
  background-size: 100% 100%, 24px 24px !important;
}
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-sidebar-card{
  background-image:
    linear-gradient(rgba(36, 41, 47, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 41, 47, .06) 1px, transparent 1px),
    radial-gradient(circle at 88% 12%, rgba(181, 129, 0, .12), transparent 23%) !important;
  background-size: 20px 20px, 20px 20px, 100% 100% !important;
}
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-sidebar-card{
  background-image:
    repeating-linear-gradient(0deg, rgba(111, 78, 31, .045) 0 1px, transparent 1px 13px),
    linear-gradient(180deg, rgba(111, 78, 31, .05), transparent 45%) !important;
}
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-sidebar-card{
  background-image:
    linear-gradient(90deg, rgba(36, 41, 47, .055) 0 1px, transparent 1px),
    linear-gradient(rgba(180, 35, 24, .045) 1px, transparent 1px),
    radial-gradient(circle at 88% 12%, rgba(180, 35, 24, .12), transparent 24%) !important;
  background-size: 18px 18px, 18px 18px, 100% 100% !important;
}
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-sidebar-card{
  background-image:
    repeating-linear-gradient(135deg, rgba(180, 35, 24, .055) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, rgba(36, 41, 47, .05), transparent 44%) !important;
}
.kg-project-shell .kg-profile-theme-contributor_field .kg-avatar,
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(25, 135, 84, .12),
    0 .65rem 1.4rem rgba(27, 31, 36, .07) !important;
}
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-avatar,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(36, 41, 47, .10),
    0 0 0 5px rgba(181, 129, 0, .08),
    0 .65rem 1.4rem rgba(27, 31, 36, .08) !important;
}
.kg-project-shell .kg-profile-theme-staff_console .kg-avatar,
.kg-project-shell .kg-profile-theme-staff_command .kg-avatar{
  box-shadow:
    0 0 0 3px rgba(180, 35, 24, .11),
    0 .65rem 1.4rem rgba(27, 31, 36, .08) !important;
}
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-sidebar-card::before{
  background: linear-gradient(180deg, #24292f, #b58100) !important;
}
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-sidebar-card::before,
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-sidebar-card::before{
  background: linear-gradient(180deg, #b42318, #24292f) !important;
}
.kg-project-shell .kg-profile-theme-contributor_field .kg-profile-bio,
.kg-project-shell .kg-profile-theme-contributor_matrix .kg-profile-bio,
.kg-project-shell .kg-profile-theme-maintainer_grid .kg-profile-bio,
.kg-project-shell .kg-profile-theme-maintainer_archive .kg-profile-bio,
.kg-project-shell .kg-profile-theme-staff_console .kg-profile-bio,
.kg-project-shell .kg-profile-theme-staff_command .kg-profile-bio{
  background: rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .045) !important;
  border: 1px solid rgba(var(--kg-profile-accent-rgb, 9, 105, 218), .13) !important;
  border-radius: .75rem !important;
  padding: .72rem .8rem !important;
}

@media (max-width: 1199.98px){
  .kg-project-shell .kg-profile-theme-grid-all{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-profile-theme-grid-all{
    grid-template-columns: 1fr;
  }
}

/* ==========================
   Shared app header
   ========================== */
.kg-app-header{
  background:var(--kg-panel-bg, var(--bs-body-bg)) !important;
  border-color:var(--kg-border, var(--bs-border-color)) !important;
  z-index:1030;
}
.kg-app-navbar{
  min-height:58px;
  padding:.45rem 0;
}
.kg-header-inner{
  gap:.75rem;
  min-width:0;
}
.kg-app-header .navbar-brand{
  letter-spacing:-.025em;
  color:var(--bs-body-color);
  min-width:0;
}
.kg-app-header .navbar-brand:hover{
  color:var(--bs-primary);
}
.kg-header-actions{
  min-width:0;
}
.kg-app-header .kg-header-icon-btn{
  width:2.5rem;
  min-width:2.5rem;
  height:2.5rem;
  padding:0;
  border-radius:.65rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  line-height:1;
  flex:0 0 auto;
}
.kg-app-header .kg-header-icon-btn.dropdown-toggle::after{
  display:none;
}
.kg-app-header .kg-header-notification-btn{
  gap:0;
  max-width:2.5rem;
  overflow:visible;
}
.kg-app-header .kg-header-notification-btn .bi{
  flex:0 0 auto;
}
.kg-app-header .kg-header-count-badge{
  position:absolute;
  top:-.32rem;
  right:-.32rem;
  min-width:1.16rem;
  max-width:2.25rem;
  height:1.16rem;
  padding:0 .34rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bs-danger);
  color:#fff;
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 2px var(--kg-panel-bg, var(--bs-body-bg));
  pointer-events:none;
}
.kg-header-dropdown{
  min-width:14rem;
  padding:.45rem;
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:12px;
  background:var(--kg-panel-bg, var(--bs-body-bg));
  box-shadow:0 12px 28px rgba(27,31,36,.12) !important;
}
.kg-header-create-menu{
  min-width:18rem;
}
.kg-header-project-menu{
  min-width:22rem;
}
.kg-header-user-menu{
  min-width:15rem;
}
.kg-header-dropdown .dropdown-item{
  border-radius:8px;
  padding:.55rem .6rem;
  min-width:0;
}
.kg-header-dropdown .dropdown-item:hover,
.kg-header-dropdown .dropdown-item:focus{
  background:var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
}
.kg-header-dropdown .dropdown-header{
  padding:.45rem .6rem .3rem;
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.kg-header-project-item{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.kg-header-project-icon{
  width:2rem;
  height:2rem;
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
}
.kg-header-project-title,
.kg-header-project-path{
  display:block;
  max-width:17rem;
}
.kg-header-project-title{
  font-weight:700;
  color:var(--bs-body-color);
  line-height:1.25;
}
.kg-header-project-path{
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.78rem;
  line-height:1.25;
}
.kg-mobile-projects-card .list-group{
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:var(--kg-radius, 12px);
  overflow:hidden;
}
@media (max-width: 575.98px){
  .kg-app-navbar{
    min-height:54px;
  }
  .kg-app-header .navbar-brand{
    max-width:7.5rem;
  }
  .kg-header-mobile-actions{
    gap:.35rem !important;
  }
  .kg-app-header .kg-header-icon-btn{
    width:2.35rem;
    min-width:2.35rem;
    height:2.35rem;
    border-radius:.6rem;
  }
  .kg-app-header .kg-header-notification-btn{
    max-width:2.35rem;
    padding:0;
  }
  .kg-app-header .kg-header-count-badge{
    top:-.28rem;
    right:-.28rem;
  }
  .kg-header-dropdown{
    max-width:calc(100vw - 1rem);
  }
  .kg-header-create-menu,
  .kg-header-project-menu{
    min-width:min(18rem, calc(100vw - 1rem));
  }
}

/* ==========================
   Notifications page, GitHub-like inbox
   ========================== */
.kg-project-shell .kg-notifications-page{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.kg-project-shell .kg-notification-count{
  min-width:1.45rem;
  height:1.45rem;
  padding:0 .45rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--bs-danger);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
@media (min-width: 992px){
  .kg-project-shell .kg-notifications-page aside{
    position:sticky;
    top:5.25rem;
  }
}
.kg-project-shell .kg-notification-left-card{
  overflow:hidden;
}
.kg-project-shell .kg-notification-nav-caption{
  padding:.72rem .9rem .52rem;
  border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.kg-project-shell .kg-notification-settings-nav .list-group-item{
  gap:.55rem;
}
.kg-project-shell .kg-notification-settings-nav .list-group-item > span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kg-project-shell .kg-notification-settings-nav .badge{
  flex:0 0 auto;
  font-weight:750;
}
.kg-project-shell .kg-notification-content-card{
  overflow:hidden;
}
.kg-project-shell .kg-notifications-toolbar{
  padding:.8rem .95rem;
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-notification-filter-label{
  font-weight:800;
  letter-spacing:-.015em;
}
.kg-project-shell .kg-notification-list{
  padding:0;
  background:var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-notification-item{
  position:relative;
  display:flex;
  gap:.85rem;
  padding:1rem 1rem;
  border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color-translucent));
  background:var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-notification-item:last-child{
  border-bottom:0;
}
.kg-project-shell .kg-notification-item:hover{
  background:var(--kg-panel-bg-hover, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-notification-item.is-unread{
  background:linear-gradient(90deg, rgba(var(--bs-primary-rgb), .075), var(--kg-panel-bg, var(--bs-body-bg)) 46%);
}
.kg-project-shell .kg-notification-item.is-unread::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--bs-primary);
}
.kg-project-shell .kg-notification-avatar-wrap{
  position:relative;
  flex:0 0 auto;
  width:48px;
}
.kg-project-shell .kg-notification-type-icon{
  position:absolute;
  right:0;
  bottom:-.15rem;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--kg-panel-bg, var(--bs-body-bg));
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.72rem;
}
.kg-project-shell .kg-notification-item.tone-primary .kg-notification-type-icon{
  background:rgba(var(--bs-primary-rgb), .12);
  color:var(--bs-primary);
}
.kg-project-shell .kg-notification-item.tone-success .kg-notification-type-icon{
  background:rgba(var(--bs-success-rgb), .12);
  color:var(--bs-success);
}
.kg-project-shell .kg-notification-item.tone-warning .kg-notification-type-icon{
  background:rgba(var(--bs-warning-rgb), .16);
  color:var(--bs-warning-text-emphasis, #9a6700);
}
.kg-project-shell .kg-notification-item.tone-danger .kg-notification-type-icon{
  background:rgba(var(--bs-danger-rgb), .12);
  color:var(--bs-danger);
}
.kg-project-shell .kg-notification-content{
  flex:1 1 auto;
}
.kg-project-shell .kg-notification-title-line{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  line-height:1.35;
}
.kg-project-shell .kg-notification-unread-dot{
  width:.52rem;
  height:.52rem;
  border-radius:999px;
  display:inline-flex;
  background:var(--bs-primary);
  flex:0 0 auto;
}
.kg-project-shell .kg-notification-kind{
  padding:.12rem .42rem;
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:999px;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.72rem;
  font-weight:750;
}
.kg-project-shell .kg-notification-title{
  color:var(--bs-body-color);
  font-weight:750;
  text-decoration:none;
}
.kg-project-shell a.kg-notification-title:hover{
  color:var(--bs-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.kg-project-shell .kg-notification-meta-line{
  margin-top:.18rem;
  display:flex;
  align-items:center;
  gap:.25rem;
  flex-wrap:wrap;
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.82rem;
}
.kg-project-shell .kg-notification-body{
  margin-top:.45rem;
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:.92rem;
  line-height:1.45;
}
.kg-project-shell .kg-notification-actions-inline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.75rem;
}
.kg-project-shell .kg-notification-more .kg-icon-btn{
  width:2rem;
  height:2rem;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.kg-project-shell .kg-notification-more form,
.kg-project-shell .kg-notification-more form .dropdown-item{
  width:100%;
  text-align:left;
}
.kg-project-shell .kg-notification-empty{
  padding:3rem 1.5rem;
  text-align:center;
}
.kg-project-shell .kg-notification-empty-icon{
  width:3.25rem;
  height:3.25rem;
  border:1px solid var(--kg-border, var(--bs-border-color));
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.8rem;
  background:var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  color:var(--kg-fg-muted, var(--bs-secondary-color));
  font-size:1.35rem;
}
@media (max-width: 991.98px){
  .kg-project-shell .kg-notifications-page aside{
    position:static;
  }
  .kg-project-shell .kg-notification-left-card + .kg-notification-left-card{
    margin-top:.75rem !important;
  }
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-notifications-page .kg-account-page-head{
    align-items:stretch !important;
  }
  .kg-project-shell .kg-notifications-toolbar{
    align-items:stretch;
  }
  .kg-project-shell .kg-notification-item{
    gap:.65rem;
    padding:.9rem .75rem;
  }
  .kg-project-shell .kg-notification-avatar-wrap{
    width:42px;
  }
  .kg-project-shell .kg-notification-item .kg-avatar{
    --kg-avatar-size:38px !important;
  }
  .kg-project-shell .kg-notification-title-line{
    gap:.35rem;
  }
  .kg-project-shell .kg-notification-more{
    margin-left:.25rem;
  }
}


/* ==========================
   Header normalization across all pages
   ========================== */
.kg-app-header,
.kg-app-header *{
  min-width:0;
}
.kg-app-header{
  background:var(--kg-panel-bg) !important;
  border-color:var(--kg-border) !important;
  box-shadow:var(--kg-shadow-soft);
}
.kg-app-header .container-xxl{
  max-width:1480px;
}
.kg-app-navbar{
  min-height:58px;
  padding:.45rem 0;
}
.kg-header-inner{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.kg-app-header .navbar-brand{
  color:var(--bs-body-color);
  letter-spacing:-.02em;
  line-height:1;
}
.kg-app-header .btn{
  border-radius:var(--kg-radius-sm);
  border-color:var(--kg-border);
  font-weight:600;
  box-shadow:var(--kg-shadow-soft);
  transition:background-color .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
}
.kg-app-header .btn:hover{
  transform:translateY(-1px);
}
.kg-app-header .btn:active{
  transform:translateY(0);
}
.kg-app-header .btn-outline-secondary,
.kg-app-header .btn-light{
  color:var(--bs-body-color);
  background:var(--kg-panel-bg);
  border-color:var(--kg-border);
}
.kg-app-header .btn-outline-secondary:hover,
.kg-app-header .btn-light:hover{
  color:var(--bs-body-color);
  background:var(--kg-panel-bg-hover);
  border-color:var(--kg-border);
}
.kg-app-header .dropdown-menu{
  border-color:var(--kg-border);
}
.kg-app-header .badge.text-bg-light,
.kg-app-header .badge.bg-light{
  color:var(--bs-body-color) !important;
  background:var(--kg-panel-bg-subtle) !important;
  border:1px solid var(--kg-border) !important;
}
.kg-header-actions > .dropdown > .btn.dropdown-toggle{
  max-width:14rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kg-header-actions > .dropdown > .btn.dropdown-toggle i{
  flex:0 0 auto;
}
.kg-header-dropdown{
  color:var(--bs-body-color);
}
.kg-header-dropdown .dropdown-divider{
  border-color:var(--kg-border-muted);
}
@media (max-width:575.98px){
  .kg-app-header .container-xxl{
    padding-left:.75rem;
    padding-right:.75rem;
  }
  .kg-app-navbar{
    min-height:54px;
  }
  .kg-app-header .navbar-brand{
    max-width:8rem;
  }
}

/* ==========================
   Final shared header icon normalization
   ========================== */
.kg-app-header .kg-header-icon-btn,
.kg-project-shell .kg-app-header .kg-header-icon-btn,
.kg-app-header .kg-header-actions > .dropdown > .kg-header-icon-btn.dropdown-toggle,
.kg-app-header .kg-header-mobile-actions .kg-header-icon-btn{
  width:2.5rem !important;
  min-width:2.5rem !important;
  max-width:2.5rem !important;
  height:2.5rem !important;
  min-height:2.5rem !important;
  padding:0 !important;
  border-radius:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 2.5rem !important;
  aspect-ratio:1 / 1;
  line-height:1 !important;
  position:relative;
  overflow:visible;
}
.kg-app-header .kg-header-icon-btn.dropdown-toggle::after,
.kg-project-shell .kg-app-header .kg-header-icon-btn.dropdown-toggle::after{
  display:none !important;
}
.kg-app-header .kg-header-notification-btn,
.kg-project-shell .kg-app-header .kg-header-notification-btn{
  gap:0 !important;
}
.kg-app-header .kg-header-count-badge,
.kg-project-shell .kg-app-header .kg-header-count-badge{
  position:absolute !important;
  top:-.32rem !important;
  right:-.32rem !important;
  min-width:1.16rem !important;
  max-width:2.25rem !important;
  height:1.16rem !important;
  padding:0 .34rem !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--bs-danger) !important;
  color:#fff !important;
  font-size:.66rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 2px var(--kg-panel-bg, var(--bs-body-bg));
  pointer-events:none;
}
@media (max-width:575.98px){
  .kg-app-header .kg-header-icon-btn,
  .kg-project-shell .kg-app-header .kg-header-icon-btn,
  .kg-app-header .kg-header-actions > .dropdown > .kg-header-icon-btn.dropdown-toggle,
  .kg-app-header .kg-header-mobile-actions .kg-header-icon-btn{
    width:2.35rem !important;
    min-width:2.35rem !important;
    max-width:2.35rem !important;
    height:2.35rem !important;
    min-height:2.35rem !important;
    flex-basis:2.35rem !important;
    border-radius:8px !important;
  }
  .kg-app-header .kg-header-count-badge,
  .kg-project-shell .kg-app-header .kg-header-count-badge{
    top:-.28rem !important;
    right:-.28rem !important;
  }
}

/* ==========================
   Notifications overflow and responsive polish
   ========================== */
.kg-project-shell .kg-notifications-page.kg-account-page{
  overflow-x:hidden;
  overflow-x:clip;
  padding-bottom:0;
}
.kg-project-shell .kg-notifications-page,
.kg-project-shell .kg-notifications-page *{
  min-width:0;
}
.kg-project-shell .kg-notifications-layout{
  --bs-gutter-x:1rem;
  margin-left:0;
  margin-right:0;
  width:100%;
}
.kg-project-shell .kg-notifications-layout > [class*="col-"]{
  padding-left:.5rem;
  padding-right:.5rem;
}
.kg-project-shell .kg-notifications-sidebar{
  min-width:0;
}
.kg-project-shell .kg-notifications-main{
  min-width:0;
}
@media (min-width: 1200px){
  .kg-project-shell .kg-notifications-sidebar{
    flex:0 0 260px;
    width:260px;
  }
  .kg-project-shell .kg-notifications-main{
    flex:1 1 0;
    width:auto;
    max-width:calc(100% - 260px);
  }
}
@media (min-width: 1400px){
  .kg-project-shell .kg-notifications-sidebar{
    flex-basis:280px;
    width:280px;
  }
  .kg-project-shell .kg-notifications-main{
    max-width:calc(100% - 280px);
  }
}
.kg-project-shell .kg-notification-content-card{
  overflow:visible !important;
}
.kg-project-shell .kg-notification-list{
  overflow:hidden;
  border-bottom-left-radius:var(--kg-radius);
  border-bottom-right-radius:var(--kg-radius);
}
.kg-project-shell .kg-notification-title,
.kg-project-shell .kg-notification-body,
.kg-project-shell .kg-notification-meta-line{
  overflow-wrap:anywhere;
}
.kg-project-shell .kg-notification-more{
  flex:0 0 auto;
}
.kg-project-shell .kg-notification-more .dropdown-menu{
  z-index:2050;
}
@media (max-width:575.98px){
  .kg-project-shell main > .container-xxl{
    overflow-x:hidden;
    overflow-x:clip;
  }
  .kg-project-shell .kg-notifications-layout{
    --bs-gutter-x:0;
  }
  .kg-project-shell .kg-notifications-layout > [class*="col-"]{
    padding-left:0;
    padding-right:0;
  }
  .kg-project-shell .kg-notification-content > .d-flex{
    gap:.5rem !important;
  }
}

/* ===== CultGeo achievements ===== */
.kg-project-shell .cgi{
  --cgi-size: 1em;
  --cgi-stroke: 1.85;
  display: inline-block;
  width: var(--cgi-size);
  height: var(--cgi-size);
  vertical-align: -0.14em;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--cgi-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.kg-project-shell .cg-achievement-mark{
  --mark-size: 44px;
  --mark-color: var(--bs-body-color);
  --mark-bg: var(--bs-tertiary-bg);
  --mark-border: var(--bs-border-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--mark-size);
  height: var(--mark-size);
  border: 1px solid var(--mark-border);
  border-radius: 50%;
  background: var(--mark-bg);
  color: var(--mark-color);
  box-shadow: 0 1px 2px rgba(27,31,36,.06);
  flex: 0 0 auto;
}

.kg-project-shell .cg-achievement-mark .cgi{
  --cgi-size: 1.35rem;
  --cgi-stroke: 1.9;
}

.kg-project-shell .cg-achievement-mark-sm{ --mark-size: 30px; }
.kg-project-shell .cg-achievement-mark-sm .cgi{ --cgi-size: 1rem; }
.kg-project-shell .cg-achievement-mark-lg{ --mark-size: 46px; }
.kg-project-shell .cg-achievement-mark-xl{ --mark-size: 76px; }
.kg-project-shell .cg-achievement-mark-xl .cgi{ --cgi-size: 2.55rem; }

.kg-project-shell .cg-achievement-mark.is-bronze{ --mark-color:#8a5a2b; --mark-bg:#fbf3e7; --mark-border:rgba(138,90,43,.38); }
.kg-project-shell .cg-achievement-mark.is-silver{ --mark-color:#6e7781; --mark-bg:#f0f3f6; --mark-border:rgba(110,119,129,.42); }
.kg-project-shell .cg-achievement-mark.is-gold{ --mark-color:#9a6700; --mark-bg:#fff5c2; --mark-border:rgba(154,103,0,.42); }
.kg-project-shell .cg-achievement-mark.is-blue{ --mark-color:#0969da; --mark-bg:#ddf4ff; --mark-border:rgba(9,105,218,.32); }
.kg-project-shell .cg-achievement-mark.is-green{ --mark-color:#1a7f37; --mark-bg:#dafbe1; --mark-border:rgba(26,127,55,.32); }
.kg-project-shell .cg-achievement-mark.is-purple{ --mark-color:#8250df; --mark-bg:#fbefff; --mark-border:rgba(130,80,223,.32); }
.kg-project-shell .cg-achievement-mark.is-indigo{ --mark-color:#5f5bd7; --mark-bg:#eef0ff; --mark-border:rgba(95,91,215,.32); }
.kg-project-shell .cg-achievement-mark.is-red{ --mark-color:#cf222e; --mark-bg:#ffebe9; --mark-border:rgba(207,34,46,.32); }
.kg-project-shell .cg-achievement-mark.is-gray{ --mark-color:#57606a; --mark-bg:#f6f8fa; --mark-border:#d0d7de; }

.kg-project-shell .star-mark .cgi{ --cgi-size: 1.58rem; }
.kg-project-shell .medal-mark .cgi{ --cgi-size: 1.55rem; }
.kg-project-shell .founder-mark .cgi{ --cgi-size: 1.46rem; }
.kg-project-shell .grade-letter-mark .cgi{ --cgi-size: 2.28rem; }
.kg-project-shell .cg-achievement-mark-xl.grade-letter-mark .cgi{ --cgi-size: 3rem; }

.kg-project-shell .cg-achievement-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.kg-project-shell .cg-achievement-card{
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  padding: .75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .75rem;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.kg-project-shell .cg-achievement-card:hover{
  border-color: rgba(9,105,218,.42);
  box-shadow: 0 8px 20px rgba(27,31,36,.08);
  transform: translateY(-1px);
}

.kg-project-shell .cg-achievement-title{
  display: block;
  font-weight: 650;
  font-size: .94rem;
  line-height: 1.2;
}

.kg-project-shell .cg-achievement-text{
  display: block;
  color: var(--bs-secondary-color);
  font-size: .8rem;
  margin-top: .12rem;
}

.kg-project-shell .cg-achievement-list-row{
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}

.kg-project-shell .cg-achievement-detail-hero{
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .9rem;
  background: var(--bs-tertiary-bg);
}

.kg-project-shell .cg-achievement-admin-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.kg-project-shell .cg-achievement-choice{
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 76px;
  padding: .75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .75rem;
  background: var(--bs-body-bg);
}

.kg-project-shell .form-check-input:checked + .cg-achievement-choice,
.kg-project-shell .btn-check:checked + .cg-achievement-choice{
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .18rem rgba(var(--bs-primary-rgb), .12);
}

@media (max-width: 991.98px){
  .kg-project-shell .cg-achievement-grid,
  .kg-project-shell .cg-achievement-admin-grid{
    grid-template-columns: 1fr;
  }
}

.kg-project-shell .kg-profile-sidebar-achievements{
  min-width:0;
}

.kg-project-shell .cg-achievement-orb-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
}

.kg-project-shell .cg-achievement-orb{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  line-height:1;
  border-radius:50%;
}

.kg-project-shell .cg-achievement-orb:hover .cg-achievement-mark,
.kg-project-shell .cg-achievement-orb:focus-visible .cg-achievement-mark{
  border-color:rgba(9,105,218,.55);
  box-shadow:0 0 0 .18rem rgba(var(--bs-primary-rgb), .12), 0 6px 18px rgba(27,31,36,.10);
  transform:translateY(-1px);
}

.kg-project-shell .cg-achievement-orb .cg-achievement-mark{
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.kg-project-shell .cg-achievement-click-modal .modal-content{
  border-radius:1rem;
  box-shadow:0 16px 40px rgba(27,31,36,.18);
}

.kg-project-shell .cg-achievement-click-modal .modal-header{
  align-items:flex-start;
}

/* Admin layout, tables and actions */
.kg-project-shell .kg-admin-page{
  width:100%;
  max-width:100%;
}
.kg-project-shell .kg-admin-layout-row{
  --bs-gutter-x:1rem;
}
.kg-project-shell .kg-admin-main-col{
  min-width:0;
}
.kg-project-shell .kg-admin-page .k-card{
  border-radius:.95rem;
}
.kg-project-shell .kg-admin-table th,
.kg-project-shell .kg-admin-table td{
  vertical-align:middle;
}
.kg-project-shell .kg-admin-mini-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.35rem;
}
.kg-project-shell .kg-admin-form-inline{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.5rem;
}
.kg-project-shell .kg-admin-form-inline .form-control,
.kg-project-shell .kg-admin-form-inline .form-select{
  width:auto;
  min-width:10rem;
}
.kg-project-shell .kg-admin-page .table{
  --bs-table-bg:transparent;
}
.kg-project-shell .kg-admin-page .card-header{
  background:var(--bs-body-bg);
}
@media (max-width: 767.98px){
  .kg-project-shell .kg-admin-form-inline,
  .kg-project-shell .kg-admin-mini-actions{
    justify-content:flex-start;
  }
  .kg-project-shell .kg-admin-form-inline .form-control,
  .kg-project-shell .kg-admin-form-inline .form-select{
    width:100%;
  }
}

/* =========================================================
   Project settings page aligned with profile settings UI
   ========================================================= */
.kg-project-shell .kg-project-settings-page,
.kg-project-shell .kg-project-settings-page *{
  min-width: 0;
}

.kg-project-shell .kg-project-settings-page{
  max-width: 100%;
  overflow-x: clip;
}

.kg-project-shell .kg-project-settings-page .kg-settings-layout{
  align-items: flex-start;
  margin-left: 0;
  margin-right: 0;
}

.kg-project-shell .kg-project-settings-page .kg-settings-layout > [class*="col-"]{
  padding-left: .5rem;
  padding-right: .5rem;
}

@media (min-width: 992px){
  .kg-project-shell .kg-project-settings-page .kg-settings-nav-card{
    position: sticky;
    top: 5.25rem;
  }
}

.kg-project-shell .kg-project-settings-page h2{
  font-weight: 750;
  letter-spacing: -.02em;
}

.kg-project-shell .kg-project-settings-page .kg-settings-row{
  margin-left: 0;
  margin-right: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--kg-border-muted, var(--bs-border-color));
}

.kg-project-shell .kg-project-settings-page .kg-settings-row:last-child{
  border-bottom: 0;
}

.kg-project-shell .kg-project-settings-page .kg-settings-card,
.kg-project-shell .kg-project-settings-page .border.rounded-3.p-3,
.kg-project-shell .kg-project-settings-page label.border.rounded-3.p-3{
  width: 100%;
  border-color: var(--kg-border, var(--bs-border-color)) !important;
  border-radius: .75rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
  box-shadow: var(--kg-shadow-soft, none);
}

.kg-project-shell .kg-project-settings-page .kg-settings-option{
  width: 100%;
  align-items: flex-start;
}

.kg-project-shell .kg-project-settings-page .kg-danger-card{
  border-color: rgba(var(--bs-danger-rgb), .45) !important;
  background: rgba(var(--bs-danger-rgb), .035) !important;
}

.kg-project-shell .kg-settings-nav .kg-settings-danger-link,
.kg-project-shell .kg-settings-nav .kg-settings-danger-link i{
  color: var(--bs-danger) !important;
}

.kg-project-shell .kg-settings-nav .kg-settings-danger-link.active{
  color: var(--bs-body-color) !important;
  border-left-color: var(--bs-danger) !important;
}

.kg-project-shell .kg-settings-nav .kg-settings-danger-link.active i{
  color: var(--bs-danger) !important;
}

.kg-project-shell .kg-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* =========================================================
   Admin dashboard, compact projects, roles and users
   ========================================================= */
.kg-project-shell .min-w-0{
  min-width:0;
}
.kg-project-shell .kg-admin-stat-card-advanced .card-body{
  padding:1rem;
}
.kg-project-shell .kg-admin-mini-chart{
  display:flex;
  align-items:end;
  gap:.45rem;
  min-height:178px;
  padding-top:1.25rem;
  overflow-x:auto;
  scrollbar-width:thin;
}
.kg-project-shell .kg-admin-mini-chart-col{
  min-width:2.5rem;
  flex:1 0 2.5rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem;
}
.kg-project-shell .kg-admin-mini-chart-value{
  font-size:.72rem;
  color:var(--kg-fg-muted);
  font-family:var(--bs-font-monospace);
  line-height:1;
}
.kg-project-shell .kg-admin-mini-chart-stick{
  width:100%;
  max-width:1.2rem;
  height:var(--h);
  min-height:.3rem;
  border-radius:999px 999px .35rem .35rem;
  background:var(--bs-body-color);
  opacity:.76;
}
.kg-project-shell .kg-admin-mini-chart-label{
  font-size:.68rem;
  color:var(--kg-fg-muted);
  white-space:nowrap;
  transform:rotate(-38deg);
  transform-origin:center top;
  margin-top:.2rem;
  min-height:1.6rem;
}
.kg-project-shell .kg-admin-bar-fill{
  width:var(--w, 0%);
}
.kg-project-shell .kg-admin-compact-table th,
.kg-project-shell .kg-admin-compact-table td,
.kg-project-shell .kg-admin-projects-table th,
.kg-project-shell .kg-admin-projects-table td,
.kg-project-shell .kg-admin-roles-table th,
.kg-project-shell .kg-admin-roles-table td{
  padding:.62rem .75rem;
}
.kg-project-shell .kg-admin-project-cell{
  min-width:20rem;
  max-width:32rem;
}
.kg-project-shell .kg-admin-project-preview,
.kg-project-shell .kg-admin-user-cell{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
}
.kg-project-shell .kg-admin-project-thumb,
.kg-project-shell .kg-admin-project-detail-thumb{
  width:2.45rem;
  height:2.45rem;
  border-radius:.85rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid var(--kg-border);
  background:var(--kg-panel-bg-subtle);
  color:var(--kg-fg-muted);
}
.kg-project-shell .kg-admin-project-detail-thumb{
  width:4.25rem;
  height:4.25rem;
  border-radius:1.1rem;
  font-size:1.75rem;
}
.kg-project-shell .kg-admin-project-thumb-public,
.kg-project-shell .kg-admin-project-thumb-protected,
.kg-project-shell .kg-admin-project-thumb-private{
  background:linear-gradient(135deg, var(--kg-panel-bg-subtle), var(--bs-body-bg));
}
.kg-project-shell .kg-admin-project-desc{
  max-width:28rem;
}
.kg-project-shell .kg-admin-project-metrics{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-top:.15rem;
  white-space:nowrap;
}
.kg-project-shell .kg-admin-icon-actions .btn{
  width:2.05rem;
  height:2.05rem;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.65rem;
}
.kg-project-shell .kg-admin-icon-actions form{
  display:inline-flex;
  margin:0;
}
.kg-project-shell .kg-admin-badge-list-tight{
  min-width:0;
  gap:.28rem;
}
.kg-project-shell .kg-admin-project-detail-hero{
  background:
    radial-gradient(circle at 95% 0%, rgba(var(--bs-primary-rgb), .07), transparent 30%),
    var(--kg-panel-bg);
}
.kg-project-shell .kg-admin-project-detail-desc{
  max-width:60rem;
}
.kg-project-shell .kg-admin-project-detail-meta{
  display:grid;
  gap:.35rem;
  min-width:18rem;
  margin-left:auto;
  font-size:.88rem;
}
.kg-project-shell .kg-admin-project-detail-meta div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid var(--kg-border-muted, var(--bs-border-color));
  padding-bottom:.25rem;
}
.kg-project-shell .kg-admin-project-stat-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:0;
  border-top:1px solid var(--kg-border);
  background:var(--kg-panel-bg-subtle);
}
.kg-project-shell .kg-admin-project-stat-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.45rem;
  padding:.7rem .85rem;
  border-right:1px solid var(--kg-border-muted, var(--bs-border-color));
  font-size:.84rem;
}
.kg-project-shell .kg-admin-project-stat-item i{
  color:var(--kg-fg-muted);
}
.kg-project-shell .kg-admin-permission-preview{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.28rem;
  max-width:52rem;
}
.kg-project-shell .kg-admin-user-dot{
  width:.72rem;
  height:.72rem;
  border-radius:999px;
  border:1px solid var(--kg-border);
  background:var(--kg-panel-bg-subtle);
  flex:0 0 auto;
}
.kg-project-shell .kg-admin-user-dot.is-online{
  background:var(--bs-success);
  border-color:var(--bs-success);
  box-shadow:0 0 0 .18rem rgba(var(--bs-success-rgb), .12);
}
@media (max-width: 991.98px){
  .kg-project-shell .kg-admin-project-detail-meta{
    width:100%;
    margin-left:0;
  }
  .kg-project-shell .kg-admin-mini-chart-col{
    flex:0 0 2.4rem;
  }
}
@media (max-width: 767.98px){
  .kg-project-shell .kg-admin-project-cell{
    min-width:16rem;
  }
  .kg-project-shell .kg-admin-project-metrics{
    flex-wrap:wrap;
    gap:.4rem;
  }
  .kg-project-shell .kg-admin-project-stat-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   Admin dashboard real charts, status request cards and plan actions
   ========================================================= */
.kg-project-shell .kg-admin-real-chart-card .card-body{
  padding: 1rem;
}
.kg-project-shell .kg-admin-real-chart{
  width: 100%;
  height: 210px;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .9rem;
  background:
    linear-gradient(180deg, rgba(var(--bs-primary-rgb), .045), transparent 58%),
    var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
  overflow: hidden;
}
.kg-project-shell .kg-admin-real-chart svg{
  display: block;
  width: 100%;
  height: 100%;
}
.kg-project-shell .kg-admin-chart-axis,
.kg-project-shell .kg-admin-chart-grid{
  stroke: var(--kg-border, var(--bs-border-color));
  stroke-width: .45;
  vector-effect: non-scaling-stroke;
}
.kg-project-shell .kg-admin-chart-grid{
  opacity: .75;
  stroke-dasharray: 2 3;
}
.kg-project-shell .kg-admin-chart-line{
  fill: none;
  stroke: var(--bs-primary);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.kg-project-shell .kg-admin-chart-dot{
  fill: var(--bs-primary);
  stroke: var(--kg-panel-bg, var(--bs-body-bg));
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}
.kg-project-shell .kg-admin-chart-bar{
  fill: var(--bs-primary);
  opacity: .78;
}
.kg-project-shell .kg-admin-real-chart-legend{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .35rem .5rem;
  margin-top: .75rem;
}
.kg-project-shell .kg-admin-real-chart-point{
  min-width: 0;
  padding: .35rem .45rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .65rem;
  background: var(--kg-panel-bg, var(--bs-body-bg));
}
.kg-project-shell .kg-admin-real-chart-label,
.kg-project-shell .kg-admin-real-chart-value{
  display: block;
  line-height: 1.1;
  text-align: center;
}
.kg-project-shell .kg-admin-real-chart-label{
  font-size: .68rem;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kg-project-shell .kg-admin-real-chart-value{
  margin-top: .15rem;
  font-size: .82rem;
  font-weight: 700;
}
.kg-project-shell .kg-admin-status-request-list{
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.kg-project-shell .kg-admin-status-request-card{
  overflow: hidden;
}
.kg-project-shell .kg-admin-status-request-head{
  display: flex;
  align-items: flex-start;
  gap: .85rem;
}
.kg-project-shell .kg-admin-status-request-icon{
  width: 2.65rem;
  height: 2.65rem;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.kg-project-shell .kg-admin-status-request-user-badges{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .3rem;
  max-width: 20rem;
}
.kg-project-shell .kg-admin-status-request-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 17rem;
  gap: 1rem;
  align-items: start;
}
.kg-project-shell .kg-admin-status-request-main{
  min-width: 0;
}
.kg-project-shell .kg-admin-request-section-title{
  font-size: .76rem;
  font-weight: 750;
  color: var(--kg-fg-muted, var(--bs-secondary-color));
  text-transform: uppercase;
  letter-spacing: .035em;
  margin-bottom: .35rem;
}
.kg-project-shell .kg-admin-request-box{
  padding: .75rem .85rem;
  border: 1px solid var(--kg-border-muted, var(--bs-border-color));
  border-radius: .8rem;
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-admin-status-request-panel{
  padding: .85rem;
  border: 1px solid var(--kg-border, var(--bs-border-color));
  border-radius: .9rem;
  background: var(--kg-panel-bg-subtle, var(--bs-tertiary-bg));
}
.kg-project-shell .kg-admin-icon-actions,
.kg-project-shell .kg-admin-plan-actions{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}
.kg-project-shell .kg-admin-plan-inline-btn{
  width: 2.05rem;
  height: 2.05rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .65rem;
}
@media (max-width: 1199.98px){
  .kg-project-shell .kg-admin-real-chart-legend{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px){
  .kg-project-shell .kg-admin-status-request-grid{
    grid-template-columns: 1fr;
  }
  .kg-project-shell .kg-admin-status-request-panel{
    width: 100%;
  }
}
@media (max-width: 767.98px){
  .kg-project-shell .kg-admin-real-chart{
    height: 180px;
  }
  .kg-project-shell .kg-admin-real-chart-legend{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kg-project-shell .kg-admin-status-request-head{
    flex-wrap: wrap;
  }
  .kg-project-shell .kg-admin-status-request-user-badges{
    width: 100%;
    justify-content: flex-start;
    max-width: none;
    padding-left: 3.5rem;
  }
}
@media (max-width: 575.98px){
  .kg-project-shell .kg-admin-real-chart-legend{
    max-height: 8.5rem;
    overflow: auto;
  }
  .kg-project-shell .kg-admin-status-request-user-badges{
    padding-left: 0;
  }
}
