/* Shared, scoped refinements for listings, event administration and support. */
.kp-option-card .card-body { padding: .8rem !important; }
.kp-option-card-header { min-height: 1rem; margin-bottom: .3rem; padding-right: 2.5rem; }
.kp-option-card .kp-media { align-items: center !important; padding-right: 2.5rem; min-height: 5rem; }
.kp-option-image { width: 5rem; height: 5rem; object-fit: contain; border-radius: .5rem; background: var(--ct-tertiary-bg, #0001); }
.kp-option-card .kp-option-edit { position: absolute; right: .5rem; top: 2.75rem; width: 2rem; height: 2rem; padding: .25rem; z-index: 2; }
@media (hover:hover) and (pointer:fine) {
    .kp-option-edit { opacity: 0; transition: opacity .15s; }
    .kp-option-card:is(:hover, :focus-within) .kp-option-edit { opacity: 1; }
}
.kp-order-moved > td { box-shadow: inset 0 0 0 999px rgba(114,124,245,.16) !important; }
.kp-order-moved > td:first-child { border-left: 3px solid var(--ct-primary, #727cf5); }
.kp-sharing-shortcut { min-width: 2.5rem; min-height: 2.5rem; border: 1px solid transparent; }
.kp-sharing-shortcut:is(:hover, :focus-visible) { border-color: var(--ct-primary, #727cf5); color: var(--ct-primary, #727cf5) !important; }
#kpEventGoogleModal [hidden] { display: none !important; }
.kp-faction-visibility-preview [hidden] { display: none !important; }
/* Compact body rows do not imply a cramped header. Height is a table-cell
   minimum, so translated labels and controls can still grow/wrap. */
:root { --kp-table-head-height: 3rem; --kp-table-head-padding: .7rem; --kp-carousel-icon-size: 2.25rem; }
body .table:not(.kp-table-compact-head) > thead > tr > :is(th,td) {
    height: var(--kp-table-head-height); padding-block: var(--kp-table-head-padding) !important;
    line-height: 1.4; vertical-align: middle;
}
#kp-stats .kp-stats-avatar { width: 1.75rem; height: 1.75rem; object-fit: contain !important; }
#kp-stats img[data-stats-image] { width: 1.75rem; height: 1.75rem; object-fit: contain !important; }
#kp-stats .kp-stats-chart.alert { min-height: 5rem; }
#kp-stats .kp-stats-avatar { display:inline-flex; align-items:center; justify-content:center; }
#kp-stats .kp-stats-avatar .avatar-title { width:100%; height:100%; font-size:1rem; }
#kp-event-traffic-chart { min-height: 12.5rem; }
#kp-stats .widget-flat h3 { margin-top:.65rem !important; font-variant-numeric:tabular-nums; }
/* Reserve measurable space before lazy mounting; a zero-height chart cannot enter the viewport. */
#kp-stats .kp-stats-chart:not(.alert) { min-height: 12.5rem; }
#kp-stats .kp-traffic-kpis > div + div { border-left:1px solid var(--ct-border-color); }

/* The same themed controls serve every Bootstrap carousel, including detail galleries. */
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next) {
    width:2.75rem !important; min-width:2.75rem; min-height:2.75rem; opacity:1; filter:none !important;
}
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next) :is(.carousel-control-prev-icon,.carousel-control-next-icon) {
    display:inline-flex; align-items:center; justify-content:center; position:relative;
    width:var(--kp-carousel-icon-size) !important; height:var(--kp-carousel-icon-size) !important;
    border-radius:var(--ct-border-radius,.35rem); border:1px solid var(--ct-border-color,#ced4da);
    background:var(--ct-secondary-bg,#fff) !important; color:var(--ct-body-color,#343a40);
    filter:none !important; box-shadow:0 2px 7px #0005;
}
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev-icon,.carousel-control-next-icon)::after {
    content:""; width:.5rem; height:.5rem; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-right:.2rem;
}
body :is(.carousel,.kp-card-carousel)[class] .carousel-control-prev-icon::after { transform:rotate(-135deg); margin-right:0; margin-left:.2rem; }
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next):is(:hover,:focus-visible) { outline:0; }
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next):is(:hover,:focus-visible) > span:first-child { box-shadow:0 0 0 3px var(--ct-primary,#727cf5); }
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next):active > span:first-child { transform:scale(.93); }
body :is(.carousel,.kp-card-carousel)[class] :is(.carousel-control-prev,.carousel-control-next):is(:disabled,[aria-disabled="true"]) { opacity:.4; pointer-events:none; }
.kp-option-kind { display:inline-flex; align-items:center; gap:.3rem; color:var(--ct-secondary-color); font-size:.7rem; line-height:1.25; }
.kp-option-kind::before { content:""; width:.35rem; height:.35rem; border-radius:50%; background:currentColor; }
.kp-option-card-list[id^="handle-active-"] .kp-option-card { border-left:2px solid var(--ct-success,#0acf97); }
.kp-option-card-list[id^="handle-available-"] .kp-option-card { border-left:2px solid var(--ct-border-color); }
[data-kp-option-count] { font-size:.8rem; font-variant-numeric:tabular-nums; }
#kp-vehicles-table > tbody > tr > td { padding: .75rem; vertical-align: middle; }
#kp-vehicles-table .dt-column-title { font-size: inherit; }
.kp-admin-hero { padding: 1.5rem; border-radius: .6rem; background: var(--ct-card-bg, var(--ct-secondary-bg)); border: 1px solid var(--ct-border-color); border-top: 3px solid var(--ct-primary, #727cf5); }
.kp-admin-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 1rem; align-items: start; }
.kp-admin-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.kp-admin-kpi { padding: 1rem; border-radius: .5rem; background: var(--ct-card-bg, var(--ct-secondary-bg)); border: 1px solid var(--ct-border-color); }
.kp-admin-kpi h3 { font-variant-numeric: tabular-nums; margin: .5rem 0; }
.kp-admin-nav a { padding: .7rem .75rem; border-radius: .35rem; display: flex; gap: .6rem; align-items: center; color: inherit; }
.kp-admin-nav a:is(:hover,:focus-visible) { background: var(--ct-tertiary-bg, #727cf51a); color: var(--ct-primary, #727cf5); }
.kp-admin-nav h5 { margin: 1.25rem .75rem .3rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.kp-admin-nav h5:first-child { margin-top: 0; }
.kp-admin-activity > a:last-child { border-bottom: 0 !important; }
.kp-bug-layout { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1.5rem; align-items: start; max-width: 78rem; margin: auto; }
.kp-bug-layout .card { margin-bottom: 1rem; }
.kp-bug-layout textarea { resize: vertical; }
.kp-bug-types { display: flex; flex-wrap: wrap; gap: .5rem; }
.kp-bug-types label { border: 1px solid var(--ct-border-color); border-radius: .4rem; padding: .5rem .7rem; display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.kp-bug-types label:has(:checked) { border-color: var(--ct-primary, #727cf5); background: #727cf51a; }
#kp-bug-dropzone { border: 1px dashed var(--ct-border-color); border-radius: .5rem; padding: 1.25rem; text-align: center; }
.kp-cookie-dialog { position: fixed; inset: auto 1rem 1rem auto; width: min(28rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; z-index: 1090; }
.kp-cookie-dialog .card-body { padding: 1.25rem; }
.kp-cookie-choice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-top: 1px solid var(--ct-border-color); }
.kp-cookie-choice .form-check { margin: 0; flex-shrink: 0; }
/* Search metadata should not use the notification menu's large title spacing. */
.kp-search-count, .kp-search-loading { padding: .15rem .75rem; color: var(--ct-secondary-color); font-size: .75rem; line-height: 1.4; }
.kp-search-category { padding: .2rem .75rem; }
.kp-search-category h6 { color: var(--ct-secondary-color); font-size: .6875rem; line-height: 1.4; letter-spacing: .035em; }
.kp-search-status { padding: .5rem .75rem; }
.kp-search-status > :last-child { margin: 0; font-size: .8125rem; }
#search-dropdown { border: 1px solid var(--ct-border-color); box-shadow: 0 .8rem 2rem #0003; }
:is(#search_results, #search_results_mobile) .dropdown-item { padding: .4rem .75rem; min-height: 44px; border-radius: .35rem; white-space: normal; }
:is(#search_results, #search_results_mobile) .kp-search-selected { background: #727cf526; box-shadow: inset 3px 0 var(--ct-primary, #727cf5); }
:is(#search_results, #search_results_mobile) mark { color: inherit; background: #ffbc0040; padding: 0; }
@media (max-width: 1199.98px) { .kp-admin-workspace { grid-template-columns: minmax(0,1fr) 16rem; } }
@media (max-width: 991.98px) {
    .kp-admin-workspace, .kp-bug-layout { grid-template-columns: minmax(0,1fr); }
    .kp-admin-workspace > aside { order: -1; }
    .kp-admin-nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .kp-admin-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .kp-option-card .kp-media { flex-wrap: wrap; padding-right: 1.5rem; }
    .kp-option-card-actions { flex-basis: 100%; }
    .kp-option-image { width: 4rem; height: 4rem; }
    .kp-admin-hero { padding: 1rem; }
}

/* Event navigation: section links retain their labels in the DOM when collapsed. */
.kp-event-sidebar #mainTabs > a { display:flex; align-items:center; gap:.45rem; padding:.65rem .6rem; border-radius:var(--ct-border-radius,.35rem); min-height:2.75rem; }
.kp-event-sidebar #mainTabs > a > i { flex:0 0 1.25rem; font-size:1.15rem; text-align:center; margin:0 !important; }
.kp-event-sidebar .kp-event-nav-label { min-width:0; overflow-wrap:anywhere; line-height:1.3; }
.kp-event-sidebar #mainTabs > a.active { background:var(--ct-primary,#727cf5); color:white; box-shadow:inset 3px 0 0 currentColor; }
.kp-event-sidebar #mainTabs > a:focus-visible { outline:2px solid var(--ct-primary,#727cf5); outline-offset:2px; }
.kp-event-sidebar .sidebar-header-title { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; padding:.8rem .6rem .25rem; margin:.5rem 0 0; color:var(--ct-secondary-color); }
.kp-event-sidebar .kp-event-secondary-tools > button { font-size:.75rem; color:var(--ct-secondary-color); min-height:2rem; }
.kp-event-sidebar-collapsed .sidebar-card-body { padding:.5rem; }
.kp-event-sidebar-collapsed .menu-collapsed,.kp-event-sidebar-collapsed #event_image,.kp-event-sidebar-collapsed .inbox-item-img { display:none !important; }
.kp-event-sidebar-collapsed #mainTabs .kp-event-nav-label,.kp-event-sidebar-collapsed #collapse-text,.kp-event-sidebar-collapsed .kp-event-secondary-tools > button .kp-event-nav-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.kp-event-sidebar-collapsed #mainTabs > a { justify-content:center; position:relative; }
.kp-event-sidebar-collapsed #mainTabs .badge { position:absolute; top:0; right:0; font-size:.55rem; }
.kp-event-sidebar-collapsed .sidebar-header-title { font-size:0; height:.4rem; padding:0; margin:.4rem 0; }
.kp-event-sidebar-collapsed #event_factions_card,.kp-event-sidebar-collapsed #event_notices_row { display:none !important; }
.kp-event-sidebar-collapsed #event_state { display:none; }
/* Category hierarchy: the grip owns dragging; labels and edit buttons remain selectable. */
body.kp-marketplace-admin-page .mp-admin-category-editor-panel { min-height: 0; }
body.kp-marketplace-admin-page #mp-admin-category-tree { min-height: 12rem; max-height: 62vh; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-node { position: relative; min-height: 42px; margin-left: 24px; background: none; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-children .jstree-children { border-left: 1px solid var(--ct-border-color, #dee2e6); margin-left: 12px; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-anchor { display: inline-flex; align-items: center; height: auto; min-height: 40px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; max-width: calc(100% - 72px); padding: .4rem .5rem; border-radius: .3rem; cursor: pointer; color: var(--ct-body-color); }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-themeicon { flex: 0 0 28px; cursor: grab; font-size: 1.3rem; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-anchor:active { cursor: pointer; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-clicked { background: rgba(var(--ct-primary-rgb, 114,124,245), .2); box-shadow: inset 3px 0 var(--ct-primary, #727cf5); }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-hovered { background: rgba(var(--ct-primary-rgb, 114,124,245), .1); }
#mp-admin-category-tree .kp-category-edit { position: absolute; top: 2px; right: 2px; width: 38px; height: 38px; }
#mp-admin-category-tree .jstree-anchor:focus-visible { outline: 2px solid var(--ct-primary, #727cf5); outline-offset: 1px; }
#mp-admin-category-tree .kp-drop-before { border-top: 3px solid var(--ct-success, #0acf97); }
#mp-admin-category-tree .kp-drop-after { border-bottom: 3px solid var(--ct-success, #0acf97); }
#mp-admin-category-tree .kp-drop-inside { outline: 2px solid var(--ct-success, #0acf97); background: rgba(10,207,151,.15) !important; }
#mp-admin-category-tree .kp-drop-invalid { outline: 2px solid var(--ct-danger, #fa5c7c); }
#mp-admin-category-tree .kp-category-moved { animation: kp-category-moved 1.2s ease-out; }
@keyframes kp-category-moved { from { background: rgba(10,207,151,.4); } }
@media (prefers-reduced-motion: reduce) { #mp-admin-category-tree .kp-category-moved { animation: none; outline: 2px solid var(--ct-success, #0acf97); } }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-node { margin-left: 0; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-children .jstree-children { margin-left: 22px; }
body.kp-marketplace-admin-page #mp-admin-category-tree > .jstree-container-ul { min-width: 260px; }
body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-ocl { background: none; position: relative; height: 40px; }
#mp-admin-category-tree :is(.jstree-open,.jstree-closed) > .jstree-ocl::before { content:""; position:absolute; top:15px; left:7px; width:7px; height:7px; border:solid currentColor; border-width:2px 2px 0 0; transform:rotate(45deg); }
#mp-admin-category-tree .jstree-open > .jstree-ocl::before { transform:rotate(135deg); }
@media (max-width: 575.98px) {
    body.kp-marketplace-admin-page #mp-admin-category-tree { padding: .5rem !important; }
    body.kp-marketplace-admin-page #mp-admin-category-tree .jstree-children .jstree-children { margin-left: 16px; }
}

@media (min-width: 992px) {
    .kp-event-sidebar-collapsed { flex: 0 0 5.25rem; width: 5.25rem; }
    .kp-event-sidebar-collapsed ~ #main_edit_container { flex: 1 1 0; width: auto; min-width: 0; }
}

.kp-event-sidebar-collapsed #mainTabs > a:is(:hover,:focus-visible)::after {
    content: attr(aria-label); position: absolute; left: calc(100% + .5rem); top: 50%; transform: translateY(-50%);
    width: max-content; max-width: 18rem; padding: .45rem .65rem; border-radius: .35rem; font-size: .85rem; line-height: 1.4;
    color: var(--ct-body-color); background: var(--ct-secondary-bg); border: 1px solid var(--ct-border-color);
    box-shadow: 0 3px 12px #0003; z-index: 1080; white-space: normal; pointer-events: none;
}
