/* ============================================================
   orc-iviu-theme.css  –  Partner-matched design for ORC UI
   ============================================================ */

/* ── Design tokens (mirrors iviu-partner) ───────────────────────────────── */
:root {
  --orc-brand:        #2189D0;
  --orc-brand-dark:   #1a72b8;
  --orc-ink:          #0f172a;
  --orc-ink-muted:    #475569;
  --orc-surface:      #f8fafc;
  --orc-card:         #ffffff;
  --orc-accent:       #F07F21;
  --orc-input-bg:     #ffffff;
  --orc-input-border: #b8d8f0;
}

/* ── Base typography ────────────────────────────────────────────────────── */
html {
  font-size: 16px;  /* 120% of prior 13px base — scales all rem units up */
}

body, html {
  font-family: "Roboto", "Gill Sans", "Trebuchet MS", sans-serif;
  color: var(--orc-ink);
  background: var(--orc-surface) !important;  /* remove the blue banner image */
}

/* Content containers: sit flush just below the 52px fixed navbar */
#location_container {
  padding-top: 56px !important;
}

#nav_container {
  padding-top: 100px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Override the util.css pixel-fixed fs-* classes to match the smaller scale */
.fs-20 { font-size: 15px !important; }
.fs-24 { font-size: 16px !important; }
.fs-18 { font-size: 14px !important; }
.fs-16 { font-size: 13px !important; }
.fs-15 { font-size: 13px !important; }

/* Compact form controls to fit single-line layouts */
.form-control {
  font-size: 0.8rem !important;
  padding: 0.25rem 0.5rem !important;
  height: calc(1.5em + 0.5rem + 2px) !important;
  line-height: 1.5 !important;
}

/* Compact buttons */
.btn {
  font-size: 0.8rem !important;
  padding: 0.25rem 0.65rem !important;
  line-height: 1.5 !important;
}

/* select2 must match form-control size */
.select2-container--default .select2-selection--single {
  height: calc(1.5em + 0.5rem + 2px) !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(1.5em + 0.5rem) !important;
  font-size: 0.8rem !important;
  padding-left: 0.5rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(1.5em + 0.5rem) !important;
}

/* Table cells — compact rows that don't wrap */
.table td, .table th {
  padding: 0.3rem 0.6rem !important;
  white-space: nowrap;
}
.table thead th {
  font-size: 0.75rem !important;
  padding: 0.3rem 0.6rem !important;
}

/* ── DataTables sort indicators — match Partner Status list style ──────── */
table.dataTable > thead > tr > th {
  background: #2189D0 !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  border-bottom: none !important;
  white-space: nowrap;
}
table.dataTable > thead > tr > th:not(.sorting_disabled) {
  padding-right: 1.6em !important;
}
/* replace ↑↓ pseudo-element arrows with ▲▼ */
table.dataTable > thead .sorting::before,
table.dataTable > thead .sorting_asc::before,
table.dataTable > thead .sorting_desc::before,
table.dataTable > thead .sorting_asc_disabled::before,
table.dataTable > thead .sorting_desc_disabled::before { content: "\25b2"; font-size: 0.65em; opacity: 0.35; right: 0.9em; }
table.dataTable > thead .sorting::after,
table.dataTable > thead .sorting_asc::after,
table.dataTable > thead .sorting_desc::after,
table.dataTable > thead .sorting_asc_disabled::after,
table.dataTable > thead .sorting_desc_disabled::after  { content: "\25bc"; font-size: 0.65em; opacity: 0.35; right: 0.3em; }
table.dataTable > thead .sorting_asc::before  { opacity: 0.85; }
table.dataTable > thead .sorting_desc::after  { opacity: 0.85; }
table.dataTable > thead .sorting_asc,
table.dataTable > thead .sorting_desc { text-decoration: underline; }
table.dataTable > thead .sorting_asc_disabled::before,
table.dataTable > thead .sorting_desc_disabled::after  { opacity: 0; }
table.dataTable > thead > tr > th.sorting:hover,
table.dataTable > thead > tr > th.sorting_asc:hover,
table.dataTable > thead > tr > th.sorting_desc:hover { background: #1a72b8 !important; cursor: pointer; user-select: none; }

/* Location table rows are directly clickable — show pointer cursor */
#location_table tbody tr {
  cursor: pointer;
}

/* ── Sub-nav bar (location name + tabs, fixed below navbar) ─────────────── */
#orc-sub-nav {
  position:   fixed;
  top:        52px;
  left:       0;
  right:      0;
  z-index:    99;
  background: #ffffff;
  border-bottom: 1px solid rgba(33, 137, 208, 0.18);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.orc-sub-nav-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             0;
  padding:         0 16px;
  min-height:      44px;
}

.orc-sub-nav-loc {
  display:     flex;
  align-items: center;
  flex:        1 1 auto;
  min-width:   0;
  padding-right: 14px;
  margin-right: 14px;
  border-right: 1px solid rgba(33, 137, 208, 0.18);
}

a.orc-sub-nav-loc-link {
  font-size:       13px;
  font-weight:     600;
  color:           var(--orc-ink) !important;
  white-space:     nowrap;
  overflow:        hidden;
  text-overflow:   ellipsis;
  max-width:       100%;
  text-decoration: none;
}

a.orc-sub-nav-loc-link:hover {
  color:           var(--orc-brand) !important;
  text-decoration: underline;
}

.orc-sub-nav-tabs {
  display:     flex;
  align-items: center;
  gap:         4px;
  flex-wrap:   nowrap;
  flex-shrink: 0;
  margin-left: auto;
}

/* ── DataTable toolbar (title/filter left, search right) ─────────────────── */
.orc-dt-toolbar {
  display:     flex;
  align-items: center;
  margin-bottom: 0.4rem;
}

.orc-dt-toolbar .dt-buttons {
  display:     flex;
  align-items: center;
  gap:         4px;
  flex:        0 0 auto;
}

/* Back button pushes CSV/Excel to the right within .dt-buttons */
.orc-dt-toolbar .dt-buttons .orc-dt-back,
.orc-dt-toolbar .dt-buttons .btn:first-child:not(.loc-filter-btn) {
  margin-right: auto !important;
}

.orc-dt-toolbar .ml-auto {
  margin-left: auto !important;
}

.orc-dt-toolbar .dataTables_filter {
  float:  none !important;
  margin: 0 !important;
}

.orc-dt-toolbar .dataTables_filter label {
  margin:    0 !important;
  display:   flex;
  align-items: center;
  gap:       0.35rem;
  font-size: 0.78rem;
}

/* Location table title heading */
.orc-loc-title {
  font-size:   1rem;
  font-weight: 700;
  color:       var(--orc-ink);
  white-space: nowrap;
  display:     flex;
  align-items: center;
  margin-right: 16px;
  flex-shrink: 0;
}

/* Background-loading indicator shown next to the title */
.orc-loc-loading {
  font-size:   0.72rem;
  font-weight: 400;
  color:       var(--orc-ink-muted, #888);
  margin-left: 8px;
  opacity:     0.8;
}

/* Filter label */
.orc-filter-label {
  font-size:   0.78rem;
  font-weight: 400;
  color:       var(--orc-ink);
  white-space: nowrap;
  display:     flex;
  align-items: center;
  padding-right: 6px;
}

/* Location filter buttons — 3 explicit state buttons */
.loc-filter-btn {
  font-size:     0.72rem !important;
  font-weight:   600 !important;
  padding:       0.22rem 0.75rem !important;
  border-radius: 999px !important;
  line-height:   1.5 !important;
  border:        1px solid var(--orc-brand) !important;
  background:    transparent !important;
  color:         var(--orc-brand) !important;
  transition:    background 0.15s, color 0.15s !important;
  white-space:   nowrap;
}

.loc-filter-btn.loc-filter-selected,
.orc-dt-toolbar .dt-buttons button.loc-filter-btn.loc-filter-selected {
  background:   var(--orc-brand) !important;
  border-color: var(--orc-brand) !important;
  color:        #ffffff !important;
}

/* Event devices filter buttons (All / Visitors Only) — same pill style */
.filter-all-edt-button.btn,
.filter-visitor-edt-button.btn {
  border:        1px solid var(--orc-brand) !important;
  color:         var(--orc-brand) !important;
  background:    transparent !important;
  border-radius: 999px !important;
  font-size:     0.72rem !important;
  font-weight:   600 !important;
  padding:       0.22rem 0.75rem !important;
  line-height:   1.5 !important;
  transition:    background 0.15s, color 0.15s !important;
  white-space:   nowrap;
}

.filter-all-edt-button.btn.active,
.filter-visitor-edt-button.btn.active {
  background:   var(--orc-brand) !important;
  border-color: var(--orc-brand) !important;
  color:        #ffffff !important;
}

/* ── Navbar ─────────────────────────────────────────────────────────────── */
#navbar.navbar {
  background:    #ffffff !important;
  border-bottom: 2px solid var(--orc-brand) !important;
  box-shadow:    0 1px 6px rgba(15, 23, 42, 0.10) !important;
  padding:       0 !important;
  min-height:    52px;
}

/* Full-width inner flex row */
.orc-nav-inner {
  display:     flex;
  align-items: center;
  width:       100%;
  min-height:  52px;
}

/* ── Left: logo + app title ─────────────────────────────────────────────── */
.orc-nav-logo {
  display:      flex;
  align-items:  center;
  gap:          12px;
  padding:      0 16px;
  border-right: 1px solid rgba(33, 137, 208, 0.15);
  flex-shrink:  0;
  min-height:   52px;
}

#header_logo {
  height: 40px;
  width: auto;
  display: block;
}

.orc-nav-appname {
  font-size:      16px;
  font-weight:    600;
  color:          var(--orc-ink) !important;
  white-space:    nowrap;
  letter-spacing: 0.01em;
}

.orc-nav-appname {
  font-size:      16px;
  font-weight:    600;
  color:          var(--orc-ink) !important;
  white-space:    nowrap;
  letter-spacing: 0.01em;
}

/* orc-nav-centre removed — tabs moved to #orc-sub-nav */

#navbar_title {
  pointer-events: none;
}

/* ── Nav tab buttons ────────────────────────────────────────────────────── */
.nav_header_button.btn {
  background:    transparent !important;
  color:         var(--orc-ink-muted) !important;
  border:        1px solid rgba(33, 137, 208, 0.22) !important;
  border-radius: 0.45rem !important;
  font-size:     0.78rem !important;
  font-weight:   500 !important;
  padding:       3px 10px !important;
  height:        28px !important;
  line-height:   1 !important;
  transition:    background 0.15s, border-color 0.15s, color 0.15s !important;
  box-shadow:    none !important;
}

.nav_header_button.btn:hover {
  background:    rgba(33, 137, 208, 0.09) !important;
  border-color:  var(--orc-brand) !important;
  color:         var(--orc-ink) !important;
}

.nav_header_button.btn.active,
.nav_header_button.btn:active {
  background:    var(--orc-brand) !important;
  border-color:  var(--orc-brand) !important;
  color:         #ffffff !important;
  box-shadow:    0 2px 8px rgba(33, 137, 208, 0.35) !important;
}

/* Add button: outlined brand colour, left separator gap */
.orc-tab-add.btn {
  margin-left:   8px !important;
  border-color:  var(--orc-brand) !important;
  color:         var(--orc-brand) !important;
  width:         28px !important;
  padding:       3px 0 !important;
}

.orc-tab-add.btn:hover {
  background:  rgba(33, 137, 208, 0.12) !important;
}

/* Edit / Delete: icon-only, grey, fade when disabled */
.orc-tab-icon.btn {
  width:       28px !important;
  padding:     3px 0 !important;
}

/* ── Right: text+icon buttons (Back / Refresh / Sign out) ──────────────── */
.orc-nav-right {
  display:     flex;
  align-items: center;
  gap:         6px;
  padding:     0 16px;
  flex-shrink: 0;
  margin-left: auto;
  border-left: 1px solid rgba(33, 137, 208, 0.12);
}

/* Keep old icon-btn rule so it doesn't break if referenced elsewhere */
.orc-nav-icon-btn.btn {
  background:    transparent !important;
  border:        1px solid rgba(33, 137, 208, 0.22) !important;
  border-radius: 0.45rem !important;
  color:         var(--orc-ink-muted) !important;
  width:         32px !important;
  height:        32px !important;
  padding:       0 !important;
  line-height:   30px !important;
  text-align:    center !important;
  transition:    background 0.15s, color 0.15s !important;
  box-shadow:    none !important;
}

/* New text+icon buttons */
.orc-nav-text-btn.btn {
  background:    transparent !important;
  border:        1px solid rgba(33, 137, 208, 0.25) !important;
  border-radius: 0.45rem !important;
  color:         var(--orc-ink-muted) !important;
  height:        32px !important;
  padding:       0 10px !important;
  font-size:     0.78rem !important;
  font-weight:   500 !important;
  white-space:   nowrap !important;
  display:       inline-flex !important;
  align-items:   center !important;
  gap:           5px !important;
  transition:    background 0.15s, border-color 0.15s, color 0.15s !important;
  box-shadow:    none !important;
}

.orc-nav-text-btn.btn:hover {
  background:   rgba(33, 137, 208, 0.09) !important;
  border-color: var(--orc-brand) !important;
  color:        var(--orc-ink) !important;
}

.orc-nav-icon-btn.btn:hover {
  background:   rgba(33, 137, 208, 0.09) !important;
  border-color: var(--orc-brand) !important;
  color:        var(--orc-ink) !important;
}

/* ── Primary buttons ────────────────────────────────────────────────────── */
.btn-primary {
  background-color: var(--orc-brand) !important;
  border-color:     var(--orc-brand) !important;
  color:            #ffffff !important;
  font-weight:      600 !important;
  letter-spacing:   0.02em !important;
  transition:       background 0.15s, border-color 0.15s !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--orc-brand-dark) !important;
  border-color:     var(--orc-brand-dark) !important;
}

/* ── Secondary buttons ──────────────────────────────────────────────────── */
.btn-secondary:not(.nav_header_button) {
  background-color: transparent !important;
  border:           1px solid rgba(15, 23, 42, 0.25) !important;
  color:            var(--orc-ink-muted) !important;
  font-weight:      500 !important;
  transition:       background 0.15s, border-color 0.15s, color 0.15s !important;
}

.btn-secondary:not(.nav_header_button):hover {
  background-color: rgba(15, 23, 42, 0.06) !important;
  border-color:     rgba(15, 23, 42, 0.4) !important;
  color:            var(--orc-ink) !important;
}

/* ── Danger button ──────────────────────────────────────────────────────── */
.btn-danger {
  background-color: #dc2626 !important;
  border-color:     #dc2626 !important;
  color:            #ffffff !important;
}

.btn-danger:hover {
  background-color: #b91c1c !important;
  border-color:     #b91c1c !important;
}

/* ── Login page button ──────────────────────────────────────────────────── */
.login100-form-btn {
  background-color: var(--orc-brand) !important;
  border-radius:    0.5rem !important;
  font-family:      "Roboto", Ubuntu-Bold, sans-serif !important;
  letter-spacing:   0.04em !important;
}

.login100-form-btn:hover {
  background-color: var(--orc-brand-dark) !important;
}

/* ── Tables ─────────────────────────────────────────────────────────────── */
.table thead th {
  background:     var(--orc-brand) !important;
  color:          #ffffff !important;
  border-bottom:  none !important;
  font-weight:    600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(33, 137, 208, 0.03) !important;
}

.table-striped tbody tr:nth-of-type(even) {
  background-color: #ffffff !important;
}

.table tbody tr:hover td {
  background: rgba(33, 137, 208, 0.07) !important;
}

.table td, .table th {
  border-bottom:    1px solid rgba(15, 23, 42, 0.07) !important;
  color:            var(--orc-ink) !important;
  vertical-align:   middle !important;
}

/* DataTables pagination / filter overrides */
/* DataTables pagination — compact, small font */
.dataTables_wrapper .dataTables_paginate .paginate_button {
  font-size: 0.08rem !important;
  padding: 0.08rem 0.35rem !important;
  line-height: 1.4 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background:    var(--orc-brand) !important;
  border-color:  var(--orc-brand) !important;
  color:         #ffffff !important;
  border-radius: 0.35rem !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background:    rgba(33, 137, 208, 0.12) !important;
  border-color:  var(--orc-brand) !important;
  color:         var(--orc-brand) !important;
  border-radius: 0.35rem !important;
}

/* Row highlight / select */
tr.highlight, tr.highlight td {
  background-color: rgba(33, 137, 208, 0.08) !important;
}

tr.select, tr.select td {
  background-color: rgba(33, 137, 208, 0.22) !important;
}

/* ── Form controls ──────────────────────────────────────────────────────── */
.form-control {
  background:    var(--orc-input-bg) !important;
  border-color:  #c8d9ea !important;
  color:         var(--orc-ink) !important;
  border-radius: 0.4rem !important;
  transition:    border-color 0.15s !important;
  font-family:   "Roboto", Ubuntu-Regular, sans-serif !important;
}

.form-control:focus {
  border-color: var(--orc-brand) !important;
  box-shadow:   0 0 0 0.18rem rgba(33, 137, 208, 0.2) !important;
}

.form-control:disabled {
  background: rgba(15, 23, 42, 0.04) !important;
  color:      var(--orc-ink-muted) !important;
}

/* ── Main content area: flat/flush, no card window ──────────────────────── */
#nav_container .white,
#location_container .white {
  background: var(--orc-card) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.75rem 1.25rem !important;
}

/* ── Dialog / modal cards ───────────────────────────────────────────────── */
#busy_container .white,
#event_form_container .white,
#release_mob_container .white,
#release_mob_alert_container .white,
#edit_release_container .white,
#user_form_container .white,
#event_filter_container .white,
#out_location_container .white {
  border-radius: 0.9rem !important;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.22) !important;
}

/* ── Footer text ────────────────────────────────────────────────────────── */
#footer, #login_footer {
  color: var(--orc-ink-muted) !important;
  font-size: 0.82rem !important;
}

/* ── btn-group "radio" tabs (Alert Delivery, User Type, etc.) ───────────── */
.btn-group-toggle .btn {
  border-radius: 0.4rem !important;
  font-weight:   500 !important;
}

.btn-group-toggle .btn-secondary.active {
  background-color: var(--orc-brand) !important;
  border-color:     var(--orc-brand) !important;
  color:            #ffffff !important;
}

/* ── Edit + Delete fade when nothing selected; Add disappears when N/A ───── */
/* Edit / Delete: smooth fade (keep space in row) */
#edit_radio,
#delete_radio {
  transition: opacity 0.18s ease, visibility 0.18s ease;
}

#edit_radio.disabled,
#delete_radio.disabled {
  opacity:        0 !important;
  visibility:     hidden !important;
  pointer-events: none !important;
}

/* Add: completely removed from layout when not applicable on this tab */
#action_radio.disabled {
  display:        none !important;
}

/* ── Rules form ─────────────────────────────────────────────────────────── */

/* Outer container – add breathing room and a max-width */
#rule_form_container {
  max-width: 960px;
  padding: 0.5rem 1rem 2rem;
}

/* Back button bar above forms (Rules) — matches DataTable toolbar spacing */
.orc-back-bar {
  padding: 0.4rem 0 0.8rem;
}

/* Each named section block */
.rule-section {
  margin-bottom: 0.75rem;
}

/* Section heading – blue underline strip matching partner style */
.rule-section-title-row {
  display:        flex;
  align-items:    center;
  justify-content: space-between;
  padding-bottom: 0.4rem;
  border-bottom:  2px solid var(--orc-brand);
  margin-bottom:  1rem;
}

.rule-section-title-row .rule-section-title {
  padding-bottom: 0;
  border-bottom:  none;
  margin-bottom:  0;
}

.orc-refresh-btn {
  font-size:      0.72rem;
  padding:        0.2rem 0.55rem;
  color:          var(--orc-brand);
  border:         1px solid var(--orc-brand);
  background:     transparent;
  border-radius:  4px;
  line-height:    1.4;
  white-space:    nowrap;
  cursor:         pointer;
}
.orc-refresh-btn:hover {
  background: var(--orc-brand);
  color:      #fff;
}

.rule-section-title {
  font-size:      0.82rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color:          var(--orc-brand);
  padding-bottom: 0.4rem;
  border-bottom:  2px solid var(--orc-brand);
  margin-bottom:  1rem;
}

/* Auto-fill grid: 4 columns on wide screens, collapses nicely */
.rule-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.55rem 1rem;
}

@media (max-width: 900px)  { .rule-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px)  { .rule-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px)  { .rule-grid { grid-template-columns: 1fr; } }

/* A single label+input cell */
.rule-field {
  display:        flex;
  flex-direction: column;
  gap:            0.22rem;
}

/* Span all columns (e.g. for the radio group row) */
.rule-field-full {
  grid-column: 1 / -1;
}

/* Two-column span */
.rule-field-half {
  grid-column: span 2;
}

/* Field label */
.rule-field-label {
  font-size:      10px;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color:          var(--orc-ink-muted);
  margin-bottom:  0;
  display:        block;
  white-space:    nowrap;
}

/* Status row (read-only inputs): lighter background label */
.rule-field-status .rule-field-label {
  color: var(--orc-ink-muted);
}

.rule-field-status .form-control {
  background: rgba(15, 23, 42, 0.035) !important;
  color:      var(--orc-ink-muted) !important;
}

/* Save button row */
.rule-save-row {
  padding-top: 1.25rem;
  border-top:  1px solid rgba(15, 23, 42, 0.08);
  margin-top:  0.5rem;
}

/* ── Rule Slider ───────────────────────────────────────────── */

/* Nav bar: prev arrow | tabs | next arrow */
.rule-slider-nav {
  display:         flex;
  align-items:     center;
  gap:             0.4rem;
  margin-bottom:   0.65rem;
}

.rule-slide-arrow {
  flex-shrink:     0;
  background:      none;
  border:          1px solid var(--orc-brand);
  color:           var(--orc-brand);
  font-size:       1.3rem;
  line-height:     1;
  width:           28px;
  height:          28px;
  border-radius:   4px;
  cursor:          pointer;
  padding:         0;
  display:         flex;
  align-items:     center;
  justify-content: center;
  transition:      background 0.15s, color 0.15s;
}
.rule-slide-arrow:hover {
  background: var(--orc-brand);
  color:      #fff;
}
.rule-slide-arrow:disabled {
  opacity:    0.35;
  cursor:     default;
}

/* Tab strip */
.rule-slide-tabs {
  display:   flex;
  gap:       0.25rem;
  flex-wrap: wrap;
}

.rule-slide-tab {
  background:    none;
  border:        1px solid transparent;
  border-radius: 4px;
  color:         var(--orc-ink-muted);
  font-size:     0.72rem;
  font-weight:   600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding:       3px 10px;
  cursor:        pointer;
  white-space:   nowrap;
  transition:    background 0.15s, color 0.15s, border-color 0.15s;
}
.rule-slide-tab:hover {
  background:    rgba(15,23,42,0.06);
  border-color:  var(--orc-brand);
  color:         var(--orc-brand);
}
.rule-slide-tab.active {
  background:    var(--orc-brand);
  border-color:  var(--orc-brand);
  color:         #fff;
}

/* Panel tab view – only the active slide is shown */
.rule-slider-viewport {
  /* no clipping needed in panel mode */
}

.rule-slider-track {
  /* no flex layout in panel mode */
}

.rule-slide {
  display: none;
}

.rule-slide.active {
  display: block;
}

/* Admin-only fields: hidden by default, shown via JS for user_type=0 */
.rule-admin-only { display: none; }
