/* KLBG's shared interface: brown surfaces, orange actions, readable mobile controls.
   Deliberately scoped away from game demos and the 3D pack entrance. */
.klbg-ux {
  --ux-bg: #171310; --ux-surface: #211b17; --ux-raised: #2b231d;
  --ux-text: #f7f0e8; --ux-muted: #c1b3a6; --ux-border: #49392e;
  --ux-brand: #ff8b4d; --ux-on-brand: #24170f;
  --card-bg: var(--ux-surface); --text-primary: var(--ux-text);
  --text-secondary: var(--ux-muted); --border-color: var(--ux-border);
  --accent-cyan: #ffac7c; --accent-pink: #ffac7c;
  color: var(--ux-text); font-family: 'Be Vietnam Pro', sans-serif !important;
  background: var(--ux-bg) !important; line-height: 1.6;
}
.klbg-ux *, .klbg-ux *::before, .klbg-ux *::after { box-sizing: border-box; }
.klbg-ux button, .klbg-ux input, .klbg-ux select, .klbg-ux textarea { font-family: inherit; }
.klbg-ux :is(h1,h2,h3,h4,p,label,small,span,nav,summary,td,th) { font-family: inherit; }
.klbg-ux button, .klbg-ux a { -webkit-tap-highlight-color: transparent; }
.klbg-ux :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid #ffac7c; outline-offset: 3px; }
.klbg-ux :is(.btn,.store-button,.add-to-cart-btn,.clear-filters-btn,.filter-btn) {
  min-height: 44px; border-radius: 12px; font-size: 14px; font-weight: 600;
  transition: background-color 150ms, border-color 150ms, color 150ms;
}
.klbg-ux :is(.btn,.store-button,.add-to-cart-btn):hover { transform: none; box-shadow: none; }
.klbg-ux :is(.btn-primary,.store-button-primary,.add-to-cart-btn) {
  background: var(--ux-brand); color: var(--ux-on-brand); border: 1px solid var(--ux-brand); box-shadow: none;
}
.klbg-ux :is(.btn-primary,.store-button-primary,.add-to-cart-btn):hover { background: #ffac7c; border-color: #ffac7c; }
.klbg-ux .btn-secondary { background: transparent; color: var(--ux-text); border: 1px solid #715442; }
.klbg-ux .btn-secondary:hover { background: var(--ux-raised); }
.klbg-ux :is(button,.btn):disabled { opacity: 1; background: #3c322b; color: #c1b3a6; border-color: #49392e; cursor: not-allowed; }
.klbg-ux :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea) {
  min-height: 44px; max-width: 100%; border: 1px solid #715442; border-radius: 12px;
  padding: 10px 12px; background: var(--ux-bg); color: var(--ux-text); font-size: 14px;
  box-shadow: none;
}
.klbg-ux input::placeholder, .klbg-ux textarea::placeholder { color: #c1b3a6; opacity: 1; }
.klbg-ux input[type=checkbox], .klbg-ux input[type=radio] {
  appearance: none; width: 22px; height: 22px; min-width: 22px; min-height: 22px; padding: 0; margin: 0;
  border: 1px solid #9b8070; border-radius: 6px; background: var(--ux-bg); vertical-align: middle; cursor: pointer;
}
.klbg-ux input[type=radio] { border-radius: 50%; }
.klbg-ux input[type=checkbox]:checked { background: var(--ux-brand); border-color: var(--ux-brand); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324170f' stroke-width='2.5'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E"); }
.klbg-ux input[type=radio]:checked { border: 6px solid var(--ux-brand); }
.klbg-ux input[type=checkbox]:indeterminate { background: var(--ux-brand); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%2324170f' stroke-width='2.5'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E"); }
.klbg-ux .klbg-header { background: #171310 !important; border-bottom: 1px solid var(--ux-border); box-shadow: none !important; backdrop-filter: none; }
.klbg-ux .store-nav-link { font-size: 14px; border-radius: 12px; min-height: 44px; }
.klbg-ux .brand-caption { font-size: 12px; letter-spacing: .5px; }
.klbg-ux .store-icon-button { border-radius: 12px; min-width: 44px; min-height: 44px; }
.klbg-ux .nav-dropdown-menu { background: var(--ux-surface); border: 1px solid #715442; border-radius: 16px; padding: 6px; box-shadow: 0 12px 32px #0005; }
.klbg-ux .nav-dropdown-menu a { min-height: 44px; border-radius: 10px; font-size: 14px; color: var(--ux-text); }
.klbg-ux .eyebrow, .klbg-ux .store-product-series { font-size: 12px; letter-spacing: .8px; }
.klbg-ux .store-hero-copy > p, .klbg-ux .hero-subtitle, .klbg-ux .store-contact p { font-size: 15px !important; }
.klbg-ux .store-text-link, .klbg-ux .store-footer-top a, .klbg-ux .store-footer-bottom :is(p,a), .klbg-ux .collection-list p { font-size: 14px !important; }
.klbg-ux .store-section-heading h2 { font-size: clamp(26px,3vw,36px); }
.klbg-ux .category-strip small, .klbg-ux .store-deal-details summary small { font-size: 13px; }
.klbg-ux .store-product-info h3 { font-size: 14px; line-height: 1.6; }
.klbg-ux .store-product-bottom strong { font-size: 16px; }
.klbg-ux .store-rarity { font-size: 12px; }
.klbg-ux .store-product-media, .klbg-ux .experience-card, .klbg-ux .collection-feature { border-radius: 16px; }
.klbg-ux .gallery-caption { font-size: 11px; line-height: 1.5; letter-spacing: 0; }
.klbg-ux .hero-photo figcaption { font-size: 9px; }
.klbg-ux .shop-category-tabs { gap: 8px; padding-bottom: 24px; }
.klbg-ux .shop-category-tabs a { border-radius: 12px; min-height: 44px; font-size: 14px; background: transparent; color: var(--ux-muted); }
.klbg-ux .shop-category-tabs a[aria-current] { background: var(--ux-raised); border-color: var(--ux-brand); color: var(--ux-text); box-shadow: inset 0 -2px var(--ux-brand); }
.klbg-ux .shop-categories { display: contents; }
.klbg-ux .shop-categories > summary { display: none; }
.klbg-ux .search-filter-container { border-radius: 16px; }
.klbg-ux .shop-filter-details summary { font-size: 14px; }
.klbg-ux .filter-label, .klbg-ux .results-counter { font-size: 13px; color: var(--ux-muted); }
.klbg-ux .product-card { border-radius: 16px; }
.klbg-ux .series-tag, .klbg-ux .product-image-placeholder small { font-size: 12px; }
.klbg-ux .product-name { font-size: 14px; line-height: 1.55; }
.klbg-ux .product-price { font-size: 18px; background: none; color: #ffac7c; -webkit-text-fill-color: currentColor; white-space: normal; }
.klbg-ux :is(.product-category,.stock-tag,.rarity-badge) { font-size: 12px; line-height: 1.5; border-radius: 8px; letter-spacing: 0; }
.klbg-ux .product-category { background: #34281f; color: #e7cebc; text-transform: none; }
.klbg-ux .stock-tag { color: #c1b3a6; background: #302820; }
.klbg-ux .stock-tag.stock-out { color: #ffb4a9; text-decoration: none; }
.klbg-ux .series-tag { color: #c1b3a6; opacity: 1; }
.klbg-ux .footer-logo { background: none; color: #f7f0e8; -webkit-text-fill-color: currentColor; }
.klbg-ux .footer-bottom { color: #c1b3a6; }
.klbg-ux .footer-links { gap: 8px 16px; align-items: center; }
.klbg-ux .footer-links a { min-height: 44px; display: inline-flex; align-items: center; padding: 6px 0; font-size: 14px; }
.klbg-ux .footer-meta { overflow-wrap: anywhere; }
.klbg-ux #klbg-notice-overlay { backdrop-filter: none; }
.klbg-ux #klbg-notice-box { background: #211b17; border-color: #715442; border-radius: 16px; box-shadow: 0 12px 36px #0008; max-height: calc(100dvh - 32px); overflow-y: auto; }
.klbg-ux #klbg-notice-title { padding-right: 38px; color: #f7f0e8; }
.klbg-ux #klbg-notice-body { color: #c1b3a6; font-size: 14px; }
.klbg-ux #klbg-notice-badge { color: #e7cebc; background: #34281f; font-size: 12px; border-radius: 8px; letter-spacing: 0; }
.klbg-ux #klbg-notice-close { width: 44px; height: 44px; border-radius: 12px; color: #f7f0e8; }
.klbg-ux #klbg-notice-cta { min-height: 44px; background: #ff8b4d; color: #24170f; border-radius: 12px; }
.klbg-ux #klbg-notice-cta:hover { transform: none; filter: none; background: #ffac7c; }
.klbg-ux #klbg-notice-dismiss { min-height: 44px; color: #f7f0e8; border-color: #715442; border-radius: 12px; font-size: 14px; }
.klbg-ux #klbg-w { color: #f7f0e8; -webkit-text-fill-color: currentColor; }
.klbg-ux #klbg-w .klbg-name { color: #f7f0e8; font-size: 14px; }
.klbg-ux #klbg-w :is(.klbg-status,#klbg-pw) { color: #c1b3a6; font-size: 12px; }
.klbg-ux #klbg-w #klbg-inp { color: #f7f0e8; background: #171310; border-color: #715442; }
.klbg-ux #klbg-w #klbg-box { transform: scale(.95) translateY(4px); transition: transform 150ms ease-out,opacity 150ms ease-out; }
.klbg-ux #klbg-w #klbg-box.open { transform: none; }
.klbg-ux #klbg-w :is(#klbg-toggle,#klbg-send,.klbg-qb):hover { transform: none; }
.klbg-ux #klbg-w .klbg-qr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.klbg-ux #klbg-w .klbg-qb { border-radius: 12px; min-height: 44px; font-size: 12px; }
.klbg-ux :is(.checkout-section,.settings-card,.login-card,.auth-card,.profile-card,.modal-content,.variant-picker,.tool-card,.policy-card) {
  background: var(--ux-surface); border: 1px solid var(--ux-border); border-radius: 16px; box-shadow: none; backdrop-filter: none;
}
.klbg-ux .variant-picker { padding: 28px; color: var(--ux-text); }
.klbg-ux .variant-option { border-radius: 12px; font-size: 14px; }
.klbg-ux .variant-option :is(span,small) { font-size: 12px; }
.klbg-ux .variant-option[aria-pressed=true] { border-color: var(--ux-brand); box-shadow: inset 0 0 0 1px var(--ux-brand); }
.klbg-ux .variant-options button :is(strong,span,small) { font-size: 13px; }
.klbg-ux :is(.checkout-btn,.submit-btn,.member-auth-submit,.member-submit,.checkout-auth-btn) { background: #ff8b4d; color: #24170f; border: 1px solid #ff8b4d; min-height: 44px; border-radius: 12px; font-size: 14px; box-shadow: none; }
.klbg-ux :is(.checkout-btn,.submit-btn,.member-auth-submit,.member-submit,.checkout-auth-btn):hover { transform: none; box-shadow: none; background: #ffac7c; }
.klbg-ux :is(.continue-btn,.deal-apply-btn,.member-auth-tabs button) { border-radius: 12px; min-height: 44px; font-size: 14px; }
.klbg-ux :is(.member-auth-card,.member-panel,.member-brand-card) { background: #211b17; border: 1px solid #49392e; border-radius: 16px; backdrop-filter: none; box-shadow: none; }
.klbg-ux .member-auth-toggle { min-width: 44px; min-height: 44px; }
.klbg-ux .member-auth-card { padding: 28px; }
.klbg-ux .member-auth-head h1 { font-size: 26px; line-height: 1.35; }
.klbg-ux .member-auth-head p { font-size: 14px; color: #c1b3a6; }
.klbg-ux .member-auth-switcher button { min-height: 44px; border-radius: 12px; }
.klbg-ux .member-auth-switcher button.is-active { color: #24170f; background: #ff8b4d; }
.klbg-ux .member-auth-human-check { background: #171310; border-radius: 12px; }
.klbg-ux .member-auth-human-check small { color: #c1b3a6; font-size: 12px; }
.klbg-ux .cart-item-name { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 14px; }
.klbg-ux .qty-btn { width: 44px; height: 44px; min-width: 44px; border-radius: 12px; font-size: 18px; }
.klbg-ux .qty-btn:hover { background: #37291f; color: #f7f0e8; }
.klbg-ux .qty-value { min-width: 24px; font-size: 16px; font-variant-numeric: tabular-nums; }
.klbg-ux .remove-item-btn { width: 44px; height: 44px; min-width: 44px; border-radius: 12px; }
.klbg-ux .member-auth-field input, .klbg-ux .member-auth-submit { min-height: 48px; }
.klbg-ux .member-auth-field .member-auth-input { height: 48px; padding-block: 10px; }
.klbg-ux .member-auth-submit { height: 52px; }
.klbg-ux .member-brand-card::before, .klbg-ux .member-auth-card::before { display: none; }
.klbg-ux .deal-wheel-spin-core, .klbg-ux .daily-deal-modal-spin-btn { background: #ff8b4d; color: #24170f; box-shadow: none; }
.klbg-ux .deal-wheel-spin-core :is(span,strong,small), .klbg-ux .daily-deal-modal-spin-btn :is(span,strong,small) { color: #24170f; }
.klbg-ux .deal-wheel-spin-core :is(span,small) { font-size: 12px; }
.klbg-ux .deal-wheel-spin-core:disabled { opacity: 1; }
.klbg-ux .deal-wheel-spin-core:hover:not(:disabled) { transform: none; background: #ffac7c; box-shadow: none; }
.klbg-ux .deal-wheel-label-content strong { color: #532900; }
.klbg-ux .experience-note, .klbg-ux .deal-open-label, .klbg-ux .store-footer-top h3 { font-size: 12px; }
.klbg-ux .daily-deal-prizes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.klbg-ux .daily-deal-prize-chip { border-radius: 12px; font-size: 13px; }
.klbg-ux .daily-deal-action { border-radius: 12px; }
.klbg-ux .variant-options button[aria-pressed=true] { border-width: 1px; padding: 12px; box-shadow: inset 0 0 0 1px #ffac7c; }
.klbg-ux .variant-options button:disabled { opacity: 1; background: #29231f; color: #c1b3a6; }
.klbg-ux #variantAdd:disabled { opacity: 1; background: #3c322b; color: #c1b3a6; }
.klbg-ux .product-card.out-of-stock { opacity: 1; }
.klbg-ux .footer-links a { min-width: 44px; }
.klbg-ux .product-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.klbg-ux .product-meta .series-tag { color: #c1b3a6; opacity: 1; }
.klbg-ux .product-image-placeholder small { color: #c1b3a6; }
.klbg-ux .store-footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.klbg-ux .store-product-bottom > span { font-size: 18px; }
.klbg-ux .store-hero-gallery :is(figcaption,.gallery-caption) { font-size: 12px; }
.klbg-ux .gallery-stamp { font-size: 12px; }
.klbg-ux .gallery-stamp strong { font-size: 10px; }
.klbg-ux .collection-index { font-size: 12px; }
.klbg-ux #klbg-w #klbg-box:not(.open) { visibility: hidden; transition: transform 150ms ease-in,opacity 150ms ease-in,visibility 0s 150ms; }
.klbg-ux #dailyDealWinOverlay:not(.is-open) { visibility: hidden; }
.klbg-ux .daily-deal-modal-footer { flex-wrap: wrap; gap: 12px; }
.klbg-ux .daily-deal-modal-link { white-space: nowrap; }
.klbg-ux .footer-links-secondary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.klbg-ux .shop-category-tabs { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.klbg-ux .shop-category-tabs a { padding-inline: 8px; text-align: center; white-space: nowrap; }
@media (max-width: 1100px) and (min-width: 801px) {
  .klbg-ux .shop-category-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .klbg-ux .shop-category-tabs a:first-child { grid-column: 1/-1; }
}
.klbg-ux :is(dialog,.modal-overlay)::backdrop { background: #0009; backdrop-filter: none; }
.klbg-ux dialog[open] { animation: ux-enter 180ms ease-out; }
.klbg-ux .close-btn { width: 44px; height: 44px; border-radius: 12px; }
@keyframes ux-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
/* Selects retain their native value, name and change handlers. */
.klbg-ux .ux-select { display: inline-block; position: relative; min-width: 0; width: 100%; }
.klbg-ux .ux-select > select { position: absolute; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; opacity: 0; pointer-events: none; }
.klbg-ux .ux-select-trigger { width: 100%; min-height: 44px; display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid #715442; border-radius: 12px; background: var(--ux-bg); color: var(--ux-text); text-align: left; font-size: 14px; cursor: pointer; }
.klbg-ux .ux-select-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.klbg-ux .ux-select-trigger svg { width: 18px; height: 18px; flex-shrink: 0; }
.ux-select-popover { position: fixed; z-index: 10050; width: min(360px,calc(100vw - 24px)); background: #211b17; color: #f7f0e8; border: 1px solid #715442; border-radius: 16px; padding: 6px; box-shadow: 0 12px 32px #0008; font: 14px/1.6 'Be Vietnam Pro',sans-serif; }
.ux-select-popover[hidden] { display: none; }
.ux-select-popover { opacity: 0; transform: scale(.95) translateY(-4px); transition: opacity 150ms ease-out, transform 150ms ease-out; }
.ux-select-popover[data-state=open] { opacity: 1; transform: none; }
.ux-select-popover[data-state=closed] { transition-duration: 100ms; }
.ux-select-popover .ux-select-search { margin-bottom: 6px; width: 100%; }
.ux-select-options { max-height: min(352px,60dvh); overflow: auto; overscroll-behavior: contain; transition: opacity 150ms ease-out; }
.ux-select-popover[data-state=closed] .ux-select-options { opacity: 0; }
.ux-select-option { min-height: 44px; padding: 10px 12px; border-radius: 10px; cursor: pointer; outline: none; display: flex; align-items: center; gap: 12px; }
.ux-select-option[aria-selected=true] { color: #ffac7c; background: #37291f; }
.ux-select-option[aria-selected=true]::after { content: '✓'; margin-left: auto; }
.ux-select-option:focus { outline: 2px solid #ffac7c; outline-offset: -2px; background: #37291f; }
.ux-select-option[aria-disabled=true] { opacity: .5; cursor: not-allowed; }
.ux-select-empty { margin: 12px; color: #c1b3a6; }
/* Admin shell */
.klbg-admin .admin-layout { display: grid; grid-template-columns: 232px minmax(0,1fr); min-height: 100dvh; }
.klbg-admin .sidebar { position: sticky; top: 0; width: auto; height: 100dvh; padding: 24px 16px 16px; background: #1c1713; border-right: 1px solid var(--ux-border); display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.klbg-admin .sidebar-logo { display: flex; align-items: center; gap: 12px; padding: 0 10px 24px; margin: 0; color: var(--ux-text); font-size: 16px; }
.klbg-admin .sidebar-logo .brand-monogram { width: 36px; height: 40px; font-size: 28px; }
.klbg-admin .sidebar-logo small { display: block; color: var(--ux-muted); font-size: 12px; font-weight: 400; }
.klbg-admin .sidebar-group-label { margin: 20px 12px 8px; color: var(--ux-muted); font-size: 12px; }
.klbg-admin .sidebar-btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid transparent; border-radius: 12px; text-align: left; font-size: 14px; font-weight: 400; color: var(--ux-muted); background: transparent; flex-shrink: 0; white-space: normal; }
.klbg-admin .sidebar-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.klbg-admin .sidebar-btn:hover { background: var(--ux-raised); color: var(--ux-text); }
.klbg-admin .sidebar-btn.active { color: var(--ux-text); background: #38291f; border-color: #75533c; font-weight: 600; box-shadow: none; }
.klbg-admin .sidebar-btn.active svg { color: #ffac7c; }
.klbg-admin .sidebar-spacer { min-height: 24px; flex: 1; }
.klbg-admin .admin-main { margin: 0; width: auto; padding: 32px; min-width: 0; }
.klbg-admin .admin-topbar { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--ux-border); font-size: 13px; color: var(--ux-muted); }
.klbg-admin .admin-topbar strong { color: var(--ux-text); font-weight: 500; }
.klbg-admin .admin-topbar small { font-size: 12px; }
.klbg-admin .admin-mobile-toggle { display: none; width: 44px; height: 44px; border: 1px solid #715442; background: var(--ux-surface); color: var(--ux-text); border-radius: 12px; }
.klbg-admin .admin-mobile-toggle svg { width: 20px; height: 20px; }
.klbg-admin .admin-drawer-backdrop { display: none; }
.klbg-admin .admin-page > h2, .klbg-admin .section-actions h2, .klbg-admin .inv-heading h2 { font-size: 28px !important; font-weight: 650; letter-spacing: -.6px; line-height: 1.35; }
.klbg-admin .inv-eyebrow { display: none; }
.klbg-admin .inv-heading p { font-size: 14px; max-width: 65ch; }
.klbg-admin .settings-card { padding: 24px; margin-bottom: 24px; }
.klbg-admin :is(.settings-card,.modal-content) h3 { font-size: 18px; line-height: 1.5; }
.klbg-admin .form-group { margin-bottom: 20px; }
.klbg-admin .form-group label { font-size: 14px; margin-bottom: 8px; color: var(--ux-text); }
.klbg-admin .form-group input, .klbg-admin .form-group textarea { width: 100%; }
.klbg-admin .section-tools { gap: 8px; flex-wrap: wrap; }
.klbg-admin .stats-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.klbg-admin .stat-card { background: var(--ux-surface); border: 1px solid var(--ux-border); padding: 20px; border-radius: 16px; box-shadow: none; }
.klbg-admin .stat-icon { display: none; }
.klbg-admin .stat-value { color: var(--ux-text); background: none; -webkit-text-fill-color: var(--ux-text); font-size: 30px; font-variant-numeric: tabular-nums; }
.klbg-admin .stat-label { font-size: 13px; color: var(--ux-muted); }
.klbg-admin .inv-stats { gap: 12px; }
.klbg-admin .inv-stat { padding: 18px; border-radius: 16px; }
.klbg-admin .inv-stat strong { color: var(--ux-text); font-size: 28px; font-variant-numeric: tabular-nums; }
.klbg-admin .inv-stat span { font-size: 13px; }
.klbg-admin #invSource { overflow-wrap: anywhere; font-size: 12px; margin-bottom: 8px; }
.klbg-admin .inv-note { padding: 12px 16px; border-left: 3px solid #ffac7c; background: #30231b; color: #e7cebc; border-radius: 0 12px 12px 0; font-size: 13px; margin: 0 0 24px; }
.klbg-admin .inv-toolbar { gap: 16px; }
.klbg-admin .inv-toolbar label, .klbg-admin .inv-bulk label, .klbg-admin .inv-savebar label { font-size: 13px; line-height: 1.5; }
.klbg-admin .inv-status { font-size: 13px; min-height: 24px; margin: 14px 0; }
.klbg-admin .inv-workspace { grid-template-columns: 300px minmax(0,1fr); gap: 20px; align-items: start; }
.klbg-admin .inv-catalog-head { font-size: 14px; font-weight: 600; padding: 16px; }
.klbg-admin .inv-list { max-height: 720px; overscroll-behavior: contain; scrollbar-width: thin; }
.klbg-admin .inv-product { padding: 16px; gap: 12px; }
.klbg-admin .inv-product strong { font-size: 13px; line-height: 1.65; }
.klbg-admin .inv-product small { font-size: 12px; line-height: 1.6; }
.klbg-admin .inv-detail-head { align-items: start; gap: 16px; }
.klbg-admin .inv-detail-head h3 { font-size: 18px; line-height: 1.5; }
.klbg-admin .inv-detail-head small { font-size: 12px; line-height: 1.6; }
.klbg-admin .inv-detail-head .btn { flex-shrink: 0; }
.klbg-admin .inv-empty { padding: 48px 24px; font-size: 14px; text-align: center; }
.klbg-admin .inv-empty strong { display: block; color: var(--ux-text); font-size: 18px; margin: 12px 0 8px; }
.klbg-admin .inv-empty svg { width: 36px; height: 36px; color: #ffac7c; }
.klbg-admin .inv-table { min-width: 0; width: 100%; table-layout: fixed; }
.klbg-admin .inv-table th { color: var(--ux-muted); font-size: 12px; font-weight: 500; background: var(--ux-surface); }
.klbg-admin .inv-table :is(td,th) { padding: 12px 6px; }
.klbg-admin .inv-table th:first-child { width: 48px; }
.klbg-admin .inv-table th:nth-child(2) { width: auto; }
.klbg-admin .inv-table th:nth-child(3) { width: 16%; }
.klbg-admin .inv-table th:nth-child(4) { width: 20%; }
.klbg-admin .inv-table th:nth-child(5) { width: 14%; }
.klbg-admin .inv-table th:last-child { width: 138px; }
.klbg-admin .inv-table td { width: auto; min-width: 0; }
.klbg-admin .inv-selection { width: 44px; min-height: 44px; display: flex; align-items: center; gap: 10px; cursor: pointer; }
.klbg-admin .inv-selection > span { display: none; }
.klbg-admin .inv-pager { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--ux-border); padding: 16px 0; font-size: 13px; }
.klbg-admin .inv-pager[hidden] { display: none; }
.klbg-admin .inv-pager nav { display: flex; align-items: center; gap: 8px; }
.klbg-admin .inv-pager .btn { min-width: 44px; padding: 6px; font-size: 22px; }
.klbg-admin #invPagePosition { font-variant-numeric: tabular-nums; min-width: 40px; text-align: center; }
.klbg-admin .inv-table tr[data-id][hidden] { display: none !important; }
.klbg-admin .inv-table input:not([type=checkbox]), .klbg-admin .inv-table .ux-select-trigger { padding-inline: 8px; font-size: 13px; border-radius: 10px; }
.klbg-admin .inv-table small { font-size: 12px; overflow-wrap: anywhere; }
.klbg-admin .inv-savebar { position: sticky; bottom: 12px; z-index: 3; padding: 16px; background: #2b231d; border: 1px solid #715442; border-radius: 16px; margin-top: 20px; gap: 16px; box-shadow: 0 8px 24px #0004; }
.klbg-admin #invPending { font-size: 12px; margin: 8px 0 0; }
.klbg-admin .inv-history { font-size: 14px; padding-top: 20px; }
.klbg-admin .inv-history summary { cursor: pointer; min-height: 44px; }
.klbg-admin .inv-history li small { font-size: 12px; }
.klbg-admin .data-table { background: var(--ux-surface); border: 1px solid var(--ux-border); border-radius: 16px; font-size: 14px; }
.klbg-admin .data-table :is(th,td) { padding: 16px 12px; }
.klbg-admin .data-table th { background: #2b231d; color: var(--ux-muted); font-size: 12px; font-weight: 500; white-space: nowrap; }
.klbg-admin .data-table tbody tr:hover { background: #2b231d; }
.klbg-admin .ux-category { background: #34281f; color: #e7cebc; border: 1px solid #5c4636; padding: 4px 8px; border-radius: 8px; font-size: 12px; display: inline-block; }
.klbg-admin .ux-row-menu { position: relative; }
.klbg-admin .ux-row-menu summary { width: 44px; min-height: 44px; display: grid; place-content: center; list-style: none; border: 1px solid #715442; border-radius: 12px; font-size: 22px; cursor: pointer; }
.klbg-admin .ux-row-menu summary::-webkit-details-marker { display: none; }
.klbg-admin .ux-row-menu > div { position: fixed; z-index: 100; width: 190px; padding: 6px; border: 1px solid #715442; background: #211b17; border-radius: 16px; box-shadow: 0 8px 24px #0008; }
.klbg-admin .ux-row-menu .btn { display: block; width: 100%; text-align: left; border: 0; background: transparent; }
.klbg-admin .ux-row-menu .btn:hover { background: #37291f; }
.klbg-admin .ux-row-menu .btn-danger { color: #ffb4a9; }
.klbg-admin .login-wrapper { background: var(--ux-bg); }
.klbg-admin .login-card { padding: 32px; width: min(420px,calc(100vw - 32px)); }
.klbg-admin .login-logo { display: inline-grid; place-items: center; width: 48px; height: 52px; border-radius: 12px; background: var(--ux-brand); color: #24170f; font-weight: 800; font-size: 32px; }
.klbg-admin .login-title { color: var(--ux-text); background: none; -webkit-text-fill-color: var(--ux-text); font-size: 26px; margin-top: 20px; }
.klbg-admin .login-caption { color: var(--ux-muted); font-size: 14px; margin: 0 0 24px; }
@media (max-width: 1200px) {
  .klbg-admin .admin-main { padding: 24px; }
  .klbg-admin .inv-workspace { grid-template-columns: 250px minmax(0,1fr); }
  .klbg-admin .inv-detail-head { flex-direction: column; }
  .klbg-admin .inv-detail-head .btn { align-self: flex-start; }
  .klbg-admin .inv-toolbar { grid-template-columns: minmax(0,1fr) 180px; }
  .klbg-admin .inv-toolbar > label:first-child { grid-column: 1/-1; }
}
@media (max-width: 1050px) {
  .klbg-admin .inv-workspace { grid-template-columns: minmax(0,1fr); }
  .klbg-admin .inv-list { max-height: 340px; }
  .klbg-admin .inv-detail-head { flex-direction: row; }
}
@media (max-width: 900px) {
  .klbg-admin .admin-layout { display: block; }
  .klbg-admin .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1100; width: min(288px,calc(100vw - 56px)); height: 100dvh; transform: translateX(-100%); transition: transform 350ms cubic-bezier(.32,.72,0,1); padding: 24px 16px; flex-wrap: nowrap; }
  .klbg-admin .sidebar-logo { display: flex; }
  .klbg-admin .sidebar-spacer { display: block; }
  .klbg-admin.admin-menu-open .sidebar { transform: translateX(0); transition-duration: 500ms; }
  .klbg-admin.admin-menu-open .admin-drawer-backdrop { display: block; position: fixed; inset: 0; background: #0009; z-index: 1090; border: 0; }
  .klbg-admin .admin-mobile-toggle { display: grid; place-items: center; }
  .klbg-admin .admin-topbar { gap: 12px; padding-bottom: 16px; margin-bottom: 24px; }
  .klbg-admin .admin-topbar > span { margin-right: auto; }
  .klbg-admin .admin-topbar > small { display: none; }
  .klbg-admin .admin-main { padding: 20px; }
  .klbg-admin .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .klbg-ux .member-auth-head { flex-direction: row; gap: 12px; }
  .klbg-ux .member-auth-logo { width: 44px; height: 48px; min-width: 44px; border-radius: 12px; }
  .klbg-ux .member-auth-logo-fallback { font-size: 24px; }
  .klbg-ux .member-auth-head h1 { font-size: 22px; }
  .klbg-ux .cart-item { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 12px; padding: 16px; }
  .klbg-ux .cart-item-image { width: 52px; height: 64px; }
  .klbg-ux .cart-item-info { padding-right: 0; }
  .klbg-ux .remove-item-btn { position: static; grid-column: 1; grid-row: 2; }
  .klbg-ux .modal-body, .klbg-ux .modal-footer { padding: 20px 16px; }
  .klbg-ux .member-auth-layout { grid-template-columns: minmax(0,1fr); }
  .klbg-ux .member-auth-card { order: 1; padding: 24px 20px; }
  .klbg-ux .member-brand-card { order: 2; min-height: 0; padding: 24px 20px; }
  .klbg-ux .member-brand-card :is(.member-brand-points,.member-brand-visual) { display: none; }
  .klbg-ux .member-brand-title { font-size: 24px; }
  .klbg-ux .member-brand-subtitle { font-size: 14px; }
  .klbg-ux .daily-deal-actions { grid-template-columns: minmax(0,1fr); }
  .klbg-ux .daily-deal-action { width: 100%; }
  .klbg-ux .daily-deal-prizes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .klbg-ux .daily-deal-prize-chip:last-child { grid-column: 1/-1; }
  .klbg-ux .shop-categories { display: block; margin-bottom: 20px; }
  .klbg-ux .shop-categories > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; font-size: 14px; color: #f7f0e8; list-style: none; cursor: pointer; }
  .klbg-ux .shop-categories > summary::-webkit-details-marker { display: none; }
  .klbg-ux .shop-categories > summary::after { content: '+'; font-size: 22px; }
  .klbg-ux .shop-categories[open] > summary::after { content: '−'; }
  .klbg-ux .shop-categories .shop-category-tabs { padding-top: 12px; padding-bottom: 8px; }
  .klbg-ux .footer-links-secondary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .klbg-ux :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select) { font-size: 16px !important; }
  .klbg-ux .ux-select-trigger { font-size: 16px; }
  .klbg-ux .store-brand { font-size: 12px; }
  .klbg-ux .brand-caption { display: none; }
  .klbg-ux .store-nav-link { font-size: 14px; }
  .klbg-ux .klbg-header.menu-open .store-nav { grid-template-columns: minmax(0,1fr); }
  .klbg-ux .shop-category-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .klbg-ux .shop-category-tabs a { padding-inline: 12px; font-size: 13px; text-align: center; }
  .klbg-ux .shop-category-tabs a:first-child { grid-column: 1/-1; }
  .klbg-ux .products-grid { gap: 12px; }
  .klbg-ux .product-info { padding: 12px; }
  .klbg-ux .product-price { font-size: 16px; overflow-wrap: anywhere; }
  .klbg-ux .add-to-cart-btn { font-size: 13px; padding-inline: 8px; }
  .klbg-ux .store-hero-copy > p { font-size: 14px !important; }
  .klbg-ux .store-hero-actions { gap: 16px; flex-wrap: wrap; }
  .klbg-ux .store-text-link { font-size: 13px !important; }
  .klbg-ux .gallery-caption { font-size: 10px; }
  .klbg-ux .hero-photo figcaption { font-size: 8px; }
  .klbg-ux .store-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .klbg-ux .store-footer-bottom > div { flex-wrap: wrap; }
  .klbg-ux .variant-picker { padding: 20px; }
  .klbg-ux .variant-options { grid-template-columns: minmax(0,1fr); }
  .klbg-admin .admin-main { padding: 16px; }
  .klbg-admin .inv-heading, .klbg-admin .section-actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .klbg-admin .inv-heading h2, .klbg-admin .admin-page > h2, .klbg-admin .section-actions h2 { font-size: 26px !important; }
  .klbg-admin .inv-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .klbg-admin .inv-stat:last-child { grid-column: 1/-1; }
  .klbg-admin .inv-toolbar { grid-template-columns: minmax(0,1fr); }
  .klbg-admin .inv-toolbar > label:first-child { grid-column: auto; }
  .klbg-admin .inv-detail { padding: 16px; scroll-margin-top: 16px; }
  .klbg-admin .inv-detail-head { flex-direction: column; }
  .klbg-admin .inv-bulk { flex-direction: column; align-items: stretch; }
  .klbg-admin .inv-bulk label { width: 100%; }
  .klbg-admin .inv-bulk .btn { width: 100%; }
  .klbg-admin .inv-scroll { max-height: none; overflow: visible; }
  .klbg-admin .inv-table, .klbg-admin .inv-table tbody { display: block; min-width: 0; }
  .klbg-admin .inv-table thead { display: block; }
  .klbg-admin .inv-table thead tr { display: flex; align-items: center; padding: 12px 0; }
  .klbg-admin .inv-table thead th:not(:first-child) { display: none; }
  .klbg-admin .inv-table thead tr::after { content: 'Chọn tất cả phân loại'; font-size: 13px; color: var(--ux-muted); }
  .klbg-admin .inv-table tr[data-id] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 12px; border: 1px solid var(--ux-border); border-radius: 16px; background: #1a1512; padding: 16px; margin-bottom: 16px; }
  .klbg-admin .inv-table tr.inv-dirty { border-color: var(--ux-brand); background: #30231b; }
  .klbg-admin .inv-table td { display: block; min-width: 0; padding: 0; border: 0; }
  .klbg-admin .inv-table td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; color: var(--ux-muted); margin-bottom: 6px; }
  .klbg-admin .inv-table td:first-child { display: flex; gap: 10px; align-items: center; grid-column: 1/-1; }
  .klbg-admin .inv-table td:first-child::after { content: none; }
  .klbg-admin .inv-selection { width: 100%; font-size: 13px; }
  .klbg-admin .inv-selection > span { display: inline; }
  .klbg-admin .inv-table thead tr::after { content: none; }
  .klbg-admin .inv-table thead th:first-child { width: 100%; }
  .klbg-admin .inv-table td:nth-child(2) { grid-column: 1/-1; }
  .klbg-admin .inv-table td:last-child { grid-column: 1/-1; }
  .klbg-admin .inv-table input:not([type=checkbox]), .klbg-admin .inv-table .ux-select-trigger { font-size: 16px; width: 100%; }
  .klbg-admin .inv-savebar { position: static; grid-template-columns: minmax(0,1fr); margin-top: 8px; }
  .klbg-admin .inv-savebar .btn { width: 100%; }
  .klbg-admin .settings-card { padding: 20px; }
  .klbg-admin .data-table, .klbg-admin .data-table tbody { display: block; width: 100%; min-width: 0; border: 0; background: transparent; }
  .klbg-admin .data-table thead { display: none; }
  .klbg-admin .data-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; border: 1px solid var(--ux-border); border-radius: 16px; padding: 16px; margin: 0 0 16px; background: var(--ux-surface); }
  .klbg-admin .data-table td { display: block; min-width: 0; border: 0; padding: 0; max-width: none !important; overflow-wrap: anywhere; }
  .klbg-admin .data-table td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; color: var(--ux-muted); margin-bottom: 4px; }
  .klbg-admin .data-table td.ux-product-name, .klbg-admin .data-table td[colspan] { grid-column: 1/-1; }
  .klbg-admin .data-table .ux-row-menu { justify-self: end; }
  .klbg-admin .table-container { overflow: visible; }
  .klbg-admin .form-row { grid-template-columns: minmax(0,1fr); flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .klbg-ux *, .klbg-ux *::before, .klbg-ux *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
