/* =====================================================================
   Orange Kiosk :: kiosk layouts (V4 + Classic) — SESA brand colours
   ===================================================================== */

:root,
.kv4-theme-light {
    --kv-primary: #F16523;          /* --sesa-orange */
    --kv-primary-80: #F4844F;
    --kv-primary-10: #FEF0E9;
    --kv-secondary: #1F438A;        /* --sesa-blue */
    --kv-secondary-80: #4C69A1;
    --kv-ink: #252930;              /* --sesa-grey-90 */
    --kv-muted: #5D6778;            /* --sesa-grey-70 */
    --kv-border: #E7E9ED;
    --kv-bg: #F5F5F5;               /* --sesa-grey-05 */
    --kv-surface: #FFFFFF;
    --kv-bar: var(--kv-primary);
    --kv-bar-text: #FFFFFF;
    --kv-tile: var(--kv-secondary);
    --kv-tile-text: #FFFFFF;
    --kv-key: var(--kv-ink);
    --kv-accent: var(--kv-primary);
    --kv-shadow: 0 .35rem 1rem rgba(37, 41, 48, .06);
}

.kv4-theme-blue {
    --kv-bar: var(--kv-secondary);
    --kv-tile: var(--kv-secondary);
    --kv-key: var(--kv-secondary);
    --kv-bg: #E9ECF3;               /* --sesa-blue-10 */
}

.kv4-theme-dark {
    --kv-ink: #F5F5F5;
    --kv-muted: #ADB4C0;
    --kv-border: #3A404B;
    --kv-bg: #1A1D22;
    --kv-surface: #252930;
    --kv-bar: #252930;
    --kv-bar-text: #FFFFFF;
    --kv-tile: #2E3D63;
    --kv-key: #3A404B;
    --kv-shadow: 0 .35rem 1rem rgba(0, 0, 0, .35);
}

html, body.kv4 { height: 100%; }

body.kv4 {
    margin: 0;
    font-family: "Public Sans", system-ui, sans-serif;
    background: var(--kv-bg);
    color: var(--kv-ink);
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior: none;
}
body.kv4 input, body.kv4 select { -webkit-user-select: text; user-select: text; }

.kv4-theme-dark .form-control, .kv4-theme-dark .form-select { background: #1A1D22; color: #F5F5F5; border-color: #3A404B; }
.kv4-theme-dark .form-control::placeholder { color: #7B8494; }

/* ---------- Top bar (every screen) ---------- */

.kv4-top {
    display: flex; align-items: center; gap: 1.5rem;
    padding: .75rem 2rem; background: var(--kv-bar); color: var(--kv-bar-text);
}
.kv4-top-brand { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.kv4-top-logo { height: 40px; width: auto; }
.kv4-top-unit { font-weight: 800; font-size: 1.1rem; line-height: 1.1; }
.kv4-top-location { font-size: .85rem; opacity: .85; }
.kv4-quick { flex: 1; max-width: 520px; margin-left: auto; position: relative; }
.kv4-quick i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); opacity: .7; }
.kv4-quick input {
    width: 100%; height: 44px; border: 0; border-radius: .5rem; padding: 0 1rem 0 2.6rem;
    background: rgba(255, 255, 255, .18); color: inherit; font-size: 1rem; font-weight: 600;
}
.kv4-quick input::placeholder { color: inherit; opacity: .75; font-weight: 400; }
.kv4-quick input:focus { outline: 2px solid rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .25); }
.kv4-clock { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 900px) { .kv4-top-location, .kv4-clock { display: none; } }

/* ---------- Screens ---------- */

.kv4-screen { display: none; padding: 2.5rem; min-height: calc(100vh - 68px); }
.kv4-screen.is-active { display: block; animation: kv4-in .18s ease-out; }
@keyframes kv4-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.kv4-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; }
.kv4-head h1 { font-weight: 800; font-size: clamp(2rem, 3.4vw, 2.8rem); margin: 0; }
.kv4-h2 { font-weight: 800; font-size: 1.35rem; margin-bottom: 1rem; }
.kv4-sub { color: var(--kv-muted); font-size: 1.1rem; }

.kv4-btn {
    border: 0; background: var(--kv-ink); color: var(--kv-surface); font-weight: 700;
    padding: .85rem 1.5rem; border-radius: .5rem; font-size: 1.1rem; min-height: 56px;
    display: inline-flex; align-items: center; justify-content: center;
}
.kv4-theme-dark .kv4-btn { background: #F5F5F5; color: #252930; }
.kv4-btn-go { background: var(--kv-primary) !important; color: #fff !important; min-width: 240px; }
.kv4-btn-ghost { background: transparent !important; color: var(--kv-ink) !important; border: 2px solid var(--kv-border); }
.kv4-btn-split { background: var(--kv-primary-10); color: #C24C14; margin-top: .5rem; }
.kv4-theme-dark .kv4-btn-split { background: #3A2A22; color: #F4844F; }
.kv4-btn:active, .kv4-tile:active { transform: scale(.98); }

.kv4-error { color: #D7372F; font-weight: 600; min-height: 1.6rem; margin: .6rem 0; }

/* ---------- Tiles: icon + plain label ---------- */

.kv4-tiles, .kv4-grid { display: flex; gap: 1.25rem; flex-wrap: wrap; }

.kv4-tile {
    width: 168px; min-height: 168px; border: 0; border-radius: 1rem; background: var(--kv-tile); color: var(--kv-tile-text);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .9rem;
    padding: 1.25rem 1rem; text-align: center; box-shadow: var(--kv-shadow); font-size: 2.6rem; text-decoration: none;
}
.kv4-tile:hover { color: var(--kv-tile-text); }
.kv4-tile .kv4-tile-label { font-size: 1.05rem; font-weight: 700; line-height: 1.25; }
.kv4-tile-figure { font-size: 3rem; font-weight: 800; line-height: 1; }
.kv4-tile.is-orange { background: var(--kv-primary); }
.kv4-tile.is-muted { background: #5D6778; }
.kv4-tile small { font-size: .85rem; font-weight: 600; opacity: .9; }
.kv4-tile:disabled { opacity: .45; }

/* ---------- Home (V4) ---------- */

.kv4-home {
    display: flex; gap: 5rem; align-items: center; justify-content: center;
    min-height: calc(100vh - 68px - 5rem); flex-wrap: wrap;
}
.kv4-home-left { width: min(560px, 100%); }
.kv4-welcome { font-weight: 800; font-size: clamp(3rem, 6vw, 4.75rem); line-height: 1; margin-bottom: .6rem; }

.kv4-entry {
    width: 100%; height: 80px; border: 2px solid var(--kv-ink); border-radius: .75rem; background: var(--kv-surface); color: var(--kv-ink);
    font-size: 2.4rem; font-weight: 700; letter-spacing: .18em; padding: 0 1.25rem; font-variant-numeric: tabular-nums;
    caret-color: var(--kv-primary);
}
.kv4-entry:focus { outline: none; border-color: var(--kv-primary); box-shadow: 0 0 0 4px var(--kv-primary-10); }
.kv4-entry::placeholder { color: #BCC1CB; }
.kv4-home-left .kv4-tiles { margin-top: 1.25rem; }

.kv4-keypad { display: grid; grid-template-columns: repeat(3, 96px); gap: 1.1rem; }
.kv4-keypad button {
    width: 96px; height: 96px; border-radius: 50%; border: 0; background: var(--kv-key); color: #fff;
    font-size: 2rem; font-weight: 700; box-shadow: var(--kv-shadow);
}
.kv4-keypad button:active { background: var(--kv-primary); }
.kv4-keypad .kv4-key-muted { background: #9FA7B5; }
.kv4-keypad .kv4-key-go { grid-column: 1 / -1; width: 100%; border-radius: .75rem; height: 72px; background: var(--kv-primary); }
.kv4-keypad[hidden] { display: none; }

/* ---------- Centre message ---------- */

.kv4-centre {
    min-height: calc(100vh - 68px - 5rem); display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
}
.kv4-salute { font-size: 7rem; color: var(--kv-primary); }

/* ---------- Avatars (rank / photo / initials) ---------- */

.kv4-avatar, .kv4-avatar-lg {
    display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden;
    background: var(--kv-primary-10); color: #C24C14; font-weight: 800; border-radius: 50%;
}
.kv4-avatar { width: 48px; height: 48px; font-size: 1.05rem; }
.kv4-avatar-lg { width: 120px; height: 120px; font-size: 2.6rem; margin-bottom: 1.25rem; }
.kv4-avatar img, .kv4-avatar-lg img { width: 100%; height: 100%; object-fit: cover; }
.kv4-avatar.is-rank, .kv4-avatar-lg.is-rank { background: transparent; border-radius: 0; }
.kv4-avatar.is-rank img, .kv4-avatar-lg.is-rank img { object-fit: contain; }
.kv4-avatar-lg:empty { display: none; }

/* ---------- Lists ---------- */

.kv4-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.kv4-person {
    background: var(--kv-surface); border: 0; border-radius: 1rem; padding: 1rem 1.25rem; display: flex; gap: 1rem; align-items: center;
    box-shadow: var(--kv-shadow); text-align: left; color: var(--kv-ink); width: 100%;
}
button.kv4-person:active { transform: scale(.99); }
.kv4-person .name { font-weight: 700; font-size: 1.1rem; }
.kv4-person .meta { color: var(--kv-muted); font-size: .95rem; }
.kv4-person .go { margin-left: auto; color: var(--kv-muted); }

/* ---------- Sign out ---------- */

.kv4-signout { display: grid; grid-template-columns: 330px 1fr; gap: 2rem; align-items: start; }
@media (max-width: 960px) { .kv4-signout { grid-template-columns: 1fr; } }

.kv4-panel { background: var(--kv-surface); border-radius: 1rem; padding: 1.5rem; box-shadow: var(--kv-shadow); }
.kv4-panel hr { border-color: var(--kv-border); opacity: 1; }
.kv4-panel-name { font-weight: 800; font-size: 1.35rem; display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.kv4-panel-title { font-weight: 700; margin-bottom: .5rem; }
.kv4-today { color: var(--kv-muted); }

.kv4-time-row { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.kv4-time-label { color: var(--kv-muted); font-size: .95rem; }
.kv4-round { width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--kv-key); color: #fff; flex: 0 0 52px; }
.kv4-time {
    font-size: 1.9rem; font-weight: 800; border: 0; background: transparent; padding: 0; color: var(--kv-ink);
    font-variant-numeric: tabular-nums; width: 9.5rem;
}
.kv4-time:focus { outline: 2px solid var(--kv-primary); border-radius: .4rem; }
.kv4-theme-dark .kv4-time::-webkit-calendar-picker-indicator { filter: invert(1); }

.kv4-parts { margin-top: .75rem; }
.kv4-part { border-left: 4px solid var(--kv-border); padding: .25rem 0 .25rem .75rem; margin-bottom: .5rem; font-size: .95rem; }
.kv4-part.is-current { border-color: var(--kv-primary); font-weight: 700; }
.kv4-part.is-done { border-color: #2E7D32; }

.kv4-step-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.kv4-step-title { font-weight: 800; font-size: 1.35rem; display: block; margin-bottom: 1rem; }
.kv4-step-title:empty { display: none; }

.kv4-search { position: relative; margin-bottom: 1.5rem; }
.kv4-search input {
    width: 100%; height: 64px; border: 2px solid var(--kv-border); border-radius: .75rem; padding: 0 3.5rem 0 1.25rem;
    font-size: 1.25rem; background: var(--kv-surface); color: var(--kv-ink);
}
.kv4-search input:focus { outline: none; border-color: var(--kv-primary); }
.kv4-search i { position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: 1.3rem; color: var(--kv-muted); }

.kv4-confirm { background: var(--kv-surface); border-radius: 1rem; padding: 2rem; max-width: 640px; box-shadow: var(--kv-shadow); }
.kv4-confirm-row { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.kv4-confirm-row > span { color: var(--kv-muted); width: 90px; flex: 0 0 90px; }
.kv4-confirm-row strong { font-size: 1.5rem; flex: 1; }
.kv4-countdown { color: var(--kv-muted); margin-top: .75rem; }

.kv4-reminder { background: #FFF4D6; color: #7A4B00; border-radius: .75rem; padding: .75rem 1rem; margin-top: 1rem; font-weight: 600; }
.kv4-reminder a { color: inherit; }

/* ---------- Forms / modules ---------- */

.kv4-form { background: var(--kv-surface); border-radius: 1rem; padding: 2rem; max-width: 860px; box-shadow: var(--kv-shadow); }
.kv4-form .form-label { font-weight: 600; }
.kv4-modules { display: grid; grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)); gap: 2rem; }
.kv4-group { background: var(--kv-surface); border-radius: 1rem; padding: 1.5rem; box-shadow: var(--kv-shadow); }
.kv4-group-title { font-weight: 800; font-size: 1.25rem; margin-bottom: 1rem; }
.kv4-vehicle img { width: 84px; height: 52px; object-fit: contain; background: #fff; border-radius: .5rem; padding: .2rem; }
.kv4-booking { background: var(--kv-surface); border-radius: 1rem; padding: 1rem 1.25rem; margin-bottom: .75rem; display: flex; justify-content: space-between; gap: 1rem; box-shadow: var(--kv-shadow); }
.kv4-check { display: flex; gap: .75rem; align-items: center; background: var(--kv-surface); border: 2px solid var(--kv-border); border-radius: .75rem; padding: .9rem 1rem; font-weight: 600; }
.kv4-check input { width: 1.4rem; height: 1.4rem; accent-color: var(--kv-primary); }
.kv4-check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; margin-bottom: 1.5rem; }

/* ---------- Setup ---------- */

.kv4-setup { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.kv4-card { background: #fff; border-radius: 1.25rem; padding: 2.5rem; width: min(560px, 100%); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .08); }
.kv4-setup .kv4-brand { color: var(--kv-primary); font-weight: 800; }
.kv4-title { font-weight: 800; color: var(--kv-secondary); font-size: 2rem; }
.kv4-code { max-width: 320px; text-align: center; font-size: 2.4rem; font-weight: 800; letter-spacing: .35em; font-family: ui-monospace, Menlo, monospace; text-transform: uppercase; height: 76px; }
.kv4 .btn-primary { background: var(--kv-primary); border-color: var(--kv-primary); }

/* =====================================================================
   Classic layout (original Orange Sign In kiosk)
   ===================================================================== */

.kv4-layout-classic .kv4-screen[data-screen="home"] { padding: 0; }
.kv4-layout-classic.on-home .kv4-top { display: none; }
.kv4-layout-classic.on-home .kv4-screen { min-height: 100vh; }

.kc-header { background: var(--kv-surface); border-bottom: 1px solid var(--kv-border); text-align: center; padding: 1.25rem 1rem; }
.kc-logo { height: 75px; width: auto; }
.kc-logo-dark, .kv4-theme-dark .kc-logo-light { display: none; }
.kv4-theme-dark .kc-logo-dark { display: inline; }
.kc-unit { font-weight: 700; font-size: 1.6rem; color: var(--kv-muted); margin-top: .75rem; }
.kc-location { color: var(--kv-muted); }

.kc-wrap { max-width: 1140px; margin: 0 auto; padding: 2rem 1rem; }
.kc-card { background: var(--kv-surface); border: 0; border-radius: 2rem; box-shadow: var(--kv-shadow); color: var(--kv-ink); }
.kc-quick { padding: 1.5rem 1.75rem; margin-bottom: 2rem; }
.kc-quick-title { color: var(--kv-primary); font-weight: 700; margin-bottom: .75rem; }
.kc-quick-form { display: flex; }
.kc-quick-form input { height: 68px; font-size: 1.7rem; border-radius: 1.2rem 0 0 1.2rem; letter-spacing: .1em; }
.kc-go { border: 1px solid var(--kv-border); border-left: 0; background: var(--kv-bg); color: var(--kv-ink); border-radius: 0 1.2rem 1.2rem 0; padding: 0 3rem; font-size: 1.5rem; }

.kc-clock { text-align: center; font-size: clamp(4rem, 12vw, 9rem); font-weight: 800; font-variant-numeric: tabular-nums; margin: 1rem 0 2rem; }

/* Flip clock */
.kc-flip { display: flex; justify-content: center; gap: 2.5rem; margin: 1rem 0 2.5rem; }
.kc-flip-group { display: flex; gap: .6rem; }
.kc-flip-card {
    position: relative; width: clamp(80px, 9vw, 130px); height: clamp(110px, 12.5vw, 180px);
    background: #252930; color: #fff; border-radius: .9rem; display: grid; place-items: center;
    font-size: clamp(4rem, 9vw, 7.5rem); font-weight: 800; font-variant-numeric: tabular-nums;
    box-shadow: 0 .6rem 1.4rem rgba(0, 0, 0, .25); perspective: 400px; overflow: hidden;
}
.kc-flip-card::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(0, 0, 0, .55); }
.kc-flip-card.is-flipping { animation: kc-flip .45s ease-in-out; }
@keyframes kc-flip { 0% { transform: rotateX(0); } 50% { transform: rotateX(-90deg); } 100% { transform: rotateX(0); } }

.kc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.75rem; }
.kc-action { padding: 2.25rem 1rem; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }
.kc-action > i { font-size: 5rem; color: var(--kv-primary); }
.kc-action:disabled { opacity: .5; }
.kc-action-label { font-weight: 700; font-size: 1.2rem; }
.kc-count { display: inline-block; min-width: 2rem; background: var(--kv-ink); color: var(--kv-surface); border-radius: 999px; padding: .1rem .55rem; margin-right: .35rem; }

/* Quick box isn't needed on the V4 home screen (it has its own entry) */
.kv4-layout-v4.on-home .kv4-quick { visibility: hidden; }

/* ---------- 1.3: sign-out avatar, vehicles, calendar, pickers ---------- */

.kv4-so-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.kv4-so-avatar.is-rank img { height: 84px; width: auto; }
.kv4-so-avatar.is-photo { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--kv-primary-10); color: #C24C14; font-weight: 800; font-size: 1.3rem; }
.kv4-so-avatar.is-photo img { width: 100%; height: 100%; object-fit: cover; }
.kv4-so-avatar[hidden] { display: none; }

.kv4-vehicle-tile {
    width: 180px; min-height: 168px; border: 2px solid var(--kv-border); border-radius: 1rem; background: #fff; color: #252930;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; box-shadow: var(--kv-shadow);
}
.kv4-vehicle-tile img { width: 120px; height: 72px; object-fit: contain; }
.kv4-vehicle-tile .kv4-tile-label { font-weight: 800; font-size: 1.1rem; }
.kv4-vehicle-tile small { color: #5D6778; font-weight: 600; }
.kv4-vehicle-tile:hover, .kv4-vehicle-tile:focus-visible { border-color: var(--kv-primary); }
.kv4-vehicle-tile:active { transform: scale(.98); }
.kv4-vehicle-tile.is-offline { opacity: .5; }
.kv4-vehicle-tile.is-offline small { color: #D7372F; }

.kv4-op { background: #FDECEC; color: #9C1C17; }

.kv4-seg { display: inline-flex; background: var(--kv-surface); border-radius: .6rem; padding: .3rem; box-shadow: var(--kv-shadow); }
.kv4-seg button { border: 0; background: transparent; color: var(--kv-ink); font-weight: 700; padding: .6rem 1.2rem; border-radius: .45rem; min-height: 48px; }
.kv4-seg button.is-on { background: var(--kv-secondary); color: #fff; }

.kv4-calendar { background: var(--kv-surface); border-radius: 1rem; padding: 1.25rem; box-shadow: var(--kv-shadow); color: var(--kv-ink); }
.kv4-calendar .fc .fc-button-primary { background: var(--kv-secondary); border-color: var(--kv-secondary); }
.kv4-theme-dark .kv4-calendar .fc { --fc-border-color: #3A404B; --fc-page-bg-color: #252930; --fc-neutral-bg-color: #1A1D22; --fc-list-event-hover-bg-color: #3A404B; }

.kv4-time { cursor: pointer; }
.flatpickr-calendar.hasTime.noCalendar { width: 260px; }
.flatpickr-time input, .flatpickr-time .flatpickr-time-separator { font-size: 1.8rem !important; font-weight: 700; }
.flatpickr-time { height: 64px !important; max-height: 64px !important; }

/* Mini flip clock in the Modern layout's top bar */
.kv4-miniflip { display: flex; align-items: center; gap: .25rem; }
.kv4-miniflip-card {
    width: 2.1rem; height: 2.7rem; display: grid; place-items: center; position: relative; overflow: hidden;
    background: rgba(0, 0, 0, .35); color: #fff; border-radius: .4rem; font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums;
}
.kv4-miniflip-card::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0, 0, 0, .45); }
.kv4-miniflip-card.is-flipping { animation: kc-flip .45s ease-in-out; }
.kv4-miniflip-sep { font-weight: 800; font-size: 1.4rem; margin: 0 .1rem; }

/* Open-issue count on vehicle tiles */
.kv4-vehicle-tile { position: relative; }
.kv4-issue-badge { position: absolute; top: .5rem; right: .5rem; background: #FFF4D6; color: #8A5300; border-radius: 999px; padding: .1rem .55rem; font-size: .8rem; font-weight: 800; }

/* Rank insignia: never cropped (they're tall and narrow) */
.kv4-avatar.is-rank { width: auto; height: 60px; min-width: 32px; border-radius: 0; overflow: visible; background: transparent; }
.kv4-avatar.is-rank img { width: auto; height: 60px; object-fit: contain; }
.kv4-avatar-lg.is-rank { width: auto; height: 120px; border-radius: 0; overflow: visible; background: transparent; }
.kv4-avatar-lg.is-rank img { width: auto; height: 120px; }
.kc-logo-dark { display: none !important; }

/* Modal: asset still assigned */
.kv4-overlay { position: fixed; inset: 0; background: rgba(20, 24, 32, .65); display: grid; place-items: center; z-index: 1500; padding: 1.5rem; }
.kv4-overlay[hidden] { display: none; }
.kv4-overlay-card { background: var(--kv-surface); color: var(--kv-ink); border-radius: 1.25rem; padding: 2.25rem; width: min(560px, 100%); text-align: center; box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .3); }
.kv4-overlay-icon { font-size: 4rem; color: var(--kv-primary); margin-bottom: 1rem; }
.kv4-relabel { background: var(--kv-primary-10); color: #7A3A10; border-radius: .75rem; padding: .75rem 1rem; margin-top: 1rem; font-weight: 600; }
.kv4-theme-dark .kv4-relabel { background: #3A2A22; color: #F4844F; }

/* Tom Select inside the kiosk forms */
.kv4-form .ts-control { min-height: 48px; font-size: 1.1rem; border-radius: .5rem; }
.kv4-theme-dark .ts-control, .kv4-theme-dark .ts-dropdown { background: #1A1D22; color: #F5F5F5; border-color: #3A404B; }
.kv4-theme-dark .ts-dropdown .active { background: #3A404B; color: #fff; }
