:root {
  --lm-bg: #07131f;
  --lm-bg-elevated: #0b1b2b;
  --lm-surface: #0e2031;
  --lm-surface-raised: #14283b;
  --lm-surface-hover: #193249;
  --lm-border: #244057;
  --lm-border-strong: #385a73;
  --lm-text: #f3f7fd;
  --lm-text-muted: #b6c7da;
  --lm-text-soft: #88a1b7;
  --lm-primary: #39b7ff;
  --lm-blue: #65b6ff;
  --lm-cyan: #26d7e8;
  --lm-green: #22d8ab;
  --lm-purple: #b68aff;
  --lm-warning: #ffc54d;
  --lm-danger: #ff747e;
  --lm-font-data: .8125rem;
  --lm-font-table-header: .75rem;
  --lm-font-card-title: 1rem;
  --lm-font-card-body: .875rem;
  --lm-font-card-meta: var(--lm-font-data);
  --lm-font-tab: .875rem;
  --lm-radius-sm: .55rem;
  --lm-radius-md: .85rem;
  --lm-radius-lg: 1.15rem;
  --lm-radius-pill: 999px;
  --lm-shadow-sm: 0 5px 16px rgba(0, 5, 14, .12);
  --lm-shadow-md: 0 12px 30px rgba(0, 5, 14, .18);
  --lm-space-1: .25rem;
  --lm-space-2: .5rem;
  --lm-space-3: .75rem;
  --lm-space-4: 1rem;
  --lm-space-5: 1.5rem;
  --lm-space-6: 2rem;
}

.lm-page { color: var(--lm-text); background: var(--lm-bg); }
.lm-container { width: min(100% - 2rem, 1150px); margin-inline: auto; }
.lm-card { border: 1px solid var(--lm-border); border-radius: var(--lm-radius-lg); background: var(--lm-surface); box-shadow: var(--lm-shadow-sm); }
.lm-card-body { padding: var(--lm-space-4); }
.lm-badge, .lm-status { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; width: fit-content; max-width: 100%; border: 1px solid transparent; border-radius: var(--lm-radius-pill); font-size: .77rem; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.lm-badge { padding: .35rem .7rem; }
.lm-badge-primary { color: #071a2c; background: var(--lm-blue); }
.lm-badge-purple { color: #e7d7ff; border-color: #54368d; background: #2c2050; }
.lm-badge-warning { color: var(--lm-warning); border-color: #7b5a1c; background: #2c2518; }
.lm-status { padding: .38rem .68rem; letter-spacing: .02em; }
.lm-status-success { color: var(--lm-green); border-color: #197d68; background: #0b302e; }
.lm-status-live { color: var(--lm-cyan); border-color: #138897; background: #0a3038; }
.lm-status-info { color: var(--lm-blue); border-color: #376e9a; background: #122b42; }
.lm-status-warning { color: var(--lm-warning); border-color: #8c681e; background: #302817; }
.lm-status-danger { color: var(--lm-danger); border-color: #934148; background: #351e29; }
.lm-status-purple { color: var(--lm-purple); border-color: #66489c; background: #2a2141; }
.lm-status-neutral { color: var(--lm-text-muted); border-color: var(--lm-border); background: var(--lm-bg-elevated); }
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .table,
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .table :is(th, td, .small, small),
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) :is(.badge, .lm-badge, .lm-status) { font-size: var(--lm-font-data); }
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .table thead :is(th, .small, small) { font-size: var(--lm-font-table-header); }
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .card-header { font-size: var(--lm-font-card-title); }
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .card-body { font-size: var(--lm-font-card-body); }
:is(.masterdata-page, .judges-page, .dancers-page, .competitions-page, .tracking-page, .audience-vote-page) :is(.lm-org-main, .lm-modal) .card-body :is(.small, small) { font-size: var(--lm-font-card-meta); }
.lm-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; border: 1px solid var(--lm-border-strong); border-radius: var(--lm-radius-md); color: var(--lm-text); background: transparent; font-weight: 600; text-decoration: none; transition: background-color .15s ease, border-color .15s ease; }
.lm-btn { padding: .55rem .9rem; }
.lm-btn-secondary { background: var(--lm-surface-raised); }
.lm-btn:hover { color: var(--lm-text); border-color: var(--lm-primary); background: var(--lm-surface-hover); }
.lm-btn:disabled { opacity: .55; cursor: not-allowed; }
.lm-btn-primary { border-color: #278dc7; color: #061622; background: var(--lm-primary); }
.lm-btn-primary:hover { border-color: var(--lm-cyan); color: #061622; background: #70caff; }
.lm-btn-danger { border-color: #934148; color: #ffb7bd; background: #351e29; }
.lm-btn-danger:hover { border-color: var(--lm-danger); color: #fff; background: #4a2632; }
.lm-btn-danger-solid { border-color: #b64a55; color: #fff; background: #b64a55; }
.lm-btn-danger-solid:hover { border-color: var(--lm-danger); color: #fff; background: #9d3945; }
.lm-input.form-control, .lm-input.form-select { min-height: 44px; border: 1px solid var(--lm-border-strong); border-radius: var(--lm-radius-sm); color: var(--lm-text); background-color: var(--lm-bg-elevated); }
.lm-input.form-control::placeholder { color: var(--lm-text-soft); }
.lm-input.form-control:focus, .lm-input.form-select:focus { border-color: var(--lm-primary); color: var(--lm-text); background-color: var(--lm-bg-elevated); box-shadow: 0 0 0 .2rem rgba(38, 215, 232, .16); }
.lm-input:disabled { border-color: var(--lm-border); color: var(--lm-text-soft); background-color: var(--lm-surface); }
.lm-modal { color: var(--lm-text); }
.lm-modal .modal-content { overflow: hidden; border: 1px solid var(--lm-border-strong); border-radius: var(--lm-radius-lg); color: var(--lm-text); background: var(--lm-bg-elevated); box-shadow: var(--lm-shadow-md); }
.lm-modal .modal-header, .lm-modal .modal-footer { border-color: var(--lm-border); background: var(--lm-surface); }
.lm-modal .modal-title { color: var(--lm-text); font-weight: 750; }
.lm-modal .btn-close { filter: invert(1) grayscale(1); opacity: .85; }
.lm-modal :is(button, a, input, textarea, select):focus-visible { outline: 2px solid var(--lm-cyan); outline-offset: 2px; box-shadow: none; }
.lm-modal .text-muted { color: var(--lm-text-soft) !important; }
.lm-table { --bs-table-bg: transparent; --bs-table-color: var(--lm-text); --bs-table-border-color: var(--lm-border); margin-bottom: 0; color: var(--lm-text); }
.lm-table > :not(caption) > * > * { border-color: var(--lm-border); color: var(--lm-text); background: var(--lm-surface); }
.lm-table thead > tr > * { color: var(--lm-text-muted); background: var(--lm-surface-raised); font-size: .74rem; font-weight: 700; }
.lm-rich-select { min-width: 0; }
.lm-rich-select .ts-control { min-height: 52px; align-items: center; padding: .6rem .8rem; border: 1px solid var(--lm-border-strong); border-radius: var(--lm-radius-md); color: var(--lm-text); background: var(--lm-bg-elevated); box-shadow: none; }
.lm-rich-select.focus .ts-control { border-color: var(--lm-primary); box-shadow: 0 0 0 .2rem rgba(38, 215, 232, .16); }
.lm-rich-select.disabled .ts-control { opacity: .6; background: var(--lm-surface); }
.lm-rich-select .ts-control > .item { min-width: 0; max-width: 100%; }
.lm-rich-select .ts-control input { color: var(--lm-text); }
.lm-rich-select .ts-control input::placeholder { color: var(--lm-text-soft); }
.lm-rich-select .ts-dropdown { overflow: hidden; border: 1px solid var(--lm-border-strong); border-radius: var(--lm-radius-md); color: var(--lm-text); background: var(--lm-bg-elevated); box-shadow: var(--lm-shadow-md); }
.lm-rich-select .ts-dropdown .option { padding: .62rem .75rem; border-bottom: 1px solid var(--lm-border); color: var(--lm-text); background: var(--lm-bg-elevated); }
.lm-rich-select .ts-dropdown .option:last-child { border-bottom: 0; }
.lm-rich-select .ts-dropdown .option:hover, .lm-rich-select .ts-dropdown .active { color: var(--lm-text); background: var(--lm-surface-hover); }
.lm-rich-select .ts-dropdown .selected { background: #103347; }
.lm-rich-select-entry { display: flex; min-width: 0; flex-direction: column; gap: .35rem; }
.lm-rich-select-tags, .lm-rich-select-meta { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: .3rem .55rem; }
.lm-rich-select-tags .lm-badge, .lm-rich-select-tags .lm-status { overflow-wrap: anywhere; white-space: normal; text-align: left; }
.lm-rich-select-meta { color: var(--lm-text-muted); font-size: .73rem; }
.lm-rich-select-meta i { margin-right: .2rem; color: var(--lm-blue); }
.lm-collapse-trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.lm-list { margin: 0; padding: 0; list-style: none; }
.lm-list-item + .lm-list-item { border-top: 1px solid var(--lm-border); }
.lm-notice { padding: .9rem 3rem .9rem 1rem; border: 1px solid var(--lm-border); border-radius: var(--lm-radius-md); color: var(--lm-text); background: var(--lm-surface); }
.lm-notice.alert-danger { border-color: #8d434d; color: #ffd5d9; background: #35212b; }
.lm-notice.alert-success { border-color: #267b6c; color: #d0fff0; background: #17342f; }
.lm-notice.alert-info { border-color: #287a91; color: #c5f5ff; background: #102f3a; }
.lm-notice.alert-warning { border-color: #8c681e; color: #ffe2a5; background: #302817; }
.lm-notice .btn-close { top: 50%; transform: translateY(-50%); filter: invert(1) grayscale(1); opacity: .8; }
.lm-instagram-section { max-width: 48rem; margin: 0 auto 1.4rem; }
.lm-instagram-card { display: flex; align-items: center; gap: .45rem; min-width: 0; min-height: 40px; padding: .38rem .55rem; border: 1px solid #713c80; border-radius: var(--lm-radius-lg); color: #f9e9ff; background: #251632; text-decoration: none; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease; }
.lm-instagram-card:hover { border-color: #bd63ab; color: #fff; background: #2d1a3a; }
.lm-instagram-icon { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: .5rem; color: #fff; background: linear-gradient(135deg, #e77d42, #ce3b99 58%, #743fd6); font-size: .9rem; }
.lm-instagram-title { min-width: 0; flex: 1 1 auto; font-size: .76rem; font-weight: 600; letter-spacing: -.025em; }
.lm-instagram-handle { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .25rem; padding: .18rem .36rem; border: 1px solid #745183; border-radius: var(--lm-radius-pill); color: #edd8fa; font-size: .68rem; font-weight: 700; }
.lm-page :is(button, a):focus-visible { outline: 2px solid var(--lm-cyan); outline-offset: 3px; box-shadow: none; }

.lm-org-sidebar-sticky { top: 1rem; }
.lm-org-sidebar.card { max-height: calc(100vh - 2rem); overflow-y: auto; border: 1px solid var(--lm-border) !important; border-radius: var(--lm-radius-lg); color: var(--lm-text); background: var(--lm-bg-elevated); box-shadow: var(--lm-shadow-md) !important; scrollbar-color: var(--lm-border-strong) var(--lm-bg-elevated); }
.lm-org-sidebar-header { padding: 1.15rem !important; border-color: var(--lm-border) !important; background: var(--lm-surface); }
.lm-org-sidebar-kicker { color: var(--lm-cyan) !important; font-size: .66rem; letter-spacing: .12em; }
.lm-org-sidebar-title { overflow-wrap: anywhere; color: var(--lm-text); font-size: 1rem; font-weight: 750; line-height: 1.3; }
.lm-org-sidebar-subtitle { color: var(--lm-text-muted) !important; }
.lm-org-sidebar-nav { padding: .45rem; background: transparent; }
.lm-org-sidebar-nav .lm-org-sidebar-link.list-group-item { min-height: 46px; gap: .75rem !important; padding: .72rem .8rem !important; border: 0 !important; border-radius: var(--lm-radius-sm) !important; color: var(--lm-text-muted); background: transparent; font-size: .82rem; font-weight: 600; line-height: 1.3; }
.lm-org-sidebar-link i { flex: 0 0 1.15rem; color: var(--lm-blue); font-size: 1rem; text-align: center; }
.lm-org-sidebar-nav .lm-org-sidebar-link:hover { color: var(--lm-text); background: var(--lm-surface-hover); }
.lm-org-sidebar-nav .lm-org-sidebar-link.active { color: var(--lm-text); background: #16384b; box-shadow: inset 3px 0 var(--lm-cyan); }
.lm-org-sidebar-nav .lm-org-sidebar-link.active i { color: var(--lm-cyan); }
.lm-org-sidebar-nav .lm-org-sidebar-link:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--lm-cyan); outline-offset: -2px; }
.lm-org-sidebar-offcanvas.offcanvas { --bs-offcanvas-width: min(320px, 88vw); border-color: var(--lm-border); color: var(--lm-text); background: var(--lm-bg-elevated); }
.lm-org-sidebar-offcanvas .offcanvas-header { align-items: flex-start; }
.lm-org-sidebar-offcanvas .offcanvas-body { overflow-y: auto; }
.lm-org-sidebar-offcanvas .btn-close { flex: 0 0 auto; filter: invert(1) grayscale(1); opacity: .85; }
.lm-org-sidebar-offcanvas .btn-close:focus-visible { outline: 2px solid var(--lm-cyan); outline-offset: 3px; box-shadow: none; }

.lm-org-shell { width: 100%; padding: 1rem; }
.lm-org-layout { margin: 0 auto; }
.lm-org-main { min-width: 0; }

@media (min-width: 992px) {
  .lm-org-shell { padding: 0; }
  .lm-org-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 0 !important; margin: 0; }
  .lm-org-layout > * { width: auto; min-width: 0; padding: 0; }
  .lm-org-layout > .lm-org-sidebar-column { align-self: stretch; padding: 1rem 0 0 1.75rem; }
  .lm-org-layout > .lm-org-main { padding: 1rem 1.75rem 3rem; }
}

@media (min-width: 1250px) {
  .lm-org-layout { grid-template-columns: 300px minmax(0, 1fr); }
}

@media (max-width: 991px) {
  .lm-org-layout { margin-inline: -.75rem; }
}

@media (max-width: 359px) {
  .lm-instagram-section { margin-inline: -.5rem; }
  .lm-instagram-card { gap: .2rem; padding-inline: .3rem; }
  .lm-instagram-icon { width: 20px; height: 20px; flex-basis: 20px; font-size: .78rem; }
  .lm-instagram-title { font-size: .56rem; letter-spacing: -.035em; }
  .lm-instagram-handle { gap: .1rem; padding: 0; border: 0; font-size: .55rem; }
}

@media (min-width: 360px) and (max-width: 430px) {
  .lm-instagram-title { font-size: clamp(.58rem, 2.5vw, .68rem); }
  .lm-instagram-handle { padding: .1rem .2rem; font-size: clamp(.58rem, 2.4vw, .66rem); }
}

@media (prefers-reduced-motion: reduce) {
  .lm-btn, .lm-instagram-card { transition: none; }
}
