.james-module {
    border: 1px solid #dcdcde;
    padding: 1.25rem;
    border-radius: 8px;
    margin: 1rem 0;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.james-module h2 {
    margin: 0 0 1rem;
}

.james-notice {
    background: #fff;
    padding: 0.9rem 1rem;
    border-radius: 4px;
    margin: 0 0 1rem;
}

.james-notice--error {
    border-left: 4px solid #d63638;
}

.james-notice--info {
    border-left: 4px solid #2271b1;
}

.james-login {
    max-width: 36rem;
}

.james-login__shell {
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 1rem;
}

.james-login__form form {
    display: grid;
    gap: 0.9rem;
}

.james-login__form p {
    margin: 0;
}

.james-login__form label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.james-login__form input[type="text"],
.james-login__form input[type="password"],
.james-login__form input[type="email"] {
    width: 100%;
    padding: 0.7rem 0.8rem;
    border: 1px solid #8c8f94;
    border-radius: 6px;
    box-sizing: border-box;
    background: #fff;
}

.james-login__form input[type="text"]:focus,
.james-login__form input[type="password"]:focus,
.james-login__form input[type="email"]:focus {
    border-color: #2271b1;
    outline: 2px solid transparent;
    box-shadow: 0 0 0 1px #2271b1;
}

.james-login__form .login-remember label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 400;
    margin-bottom: 0;
}

.james-login__form .button,
.james-login__form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.7rem 1.2rem;
    border-radius: 6px;
}

.james-login__actions {
    margin-top: 1rem;
    font-size: 0.95rem;
}

.james-login__logout {
    margin: 0;
}

.james-login__logout-button {
    min-height: 42px;
    padding: 0.7rem 1.2rem;
    border-radius: 6px;
    text-decoration: none;
}

.james-terminal {
    --james-terminal-current-max-width: var(--james-terminal-desktop-max-width, 1200px);
    --james-terminal-current-columns: var(--james-terminal-desktop-columns, 3);
    background: #f2f2f2;
    width: min(100%, var(--james-terminal-current-max-width));
    max-width: var(--james-terminal-current-max-width);
    margin: 1rem auto;
}

.james-terminal--theme-safe {
    display: block;
    position: relative;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    clear: both;
    padding: 1.25rem clamp(16px, 2.2vw, 28px);
    box-sizing: border-box;
}

.james-terminal__header {
    margin-bottom: 1rem;
}


.james-terminal__section {
    border: 1px solid #1d2327;
    border-radius: 6px;
    background: #fff;
    margin-top: 1rem;
    overflow: hidden;
}

.james-terminal__section--primary {
    padding: 1rem;
}

.james-terminal__section-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.james-terminal__section-title-row--barcode {
    align-items: flex-start;
}

.james-terminal__section-title-row h3,
.james-terminal__section summary {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.james-terminal__section summary {
    cursor: pointer;
    padding: 0.85rem 1rem;
    background: #fff;
}

.james-terminal__section[open] > summary {
    border-bottom: 1px solid #dcdcde;
}

.james-terminal__section-body {
    padding: 0 1rem 1rem;
}

.james-terminal__barcode-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.james-terminal__barcode-row--compact {
    align-items: flex-start;
}

.james-terminal__field-label {
    font-weight: 600;
}

.james-terminal__created-updated-wrap {
    display: grid;
    gap: 0.1rem;
    justify-items: end;
    margin-left: auto;
    text-align: right;
}

.james-terminal__created-updated-label {
    font-size: 0.78rem;
    color: #50575e;
}

.james-terminal__placeholder-field input[readonly] {
    background: #f6f7f7;
    color: #1d2327;
}

.james-terminal__created-updated {
    font-size: 0.9rem;
    color: #50575e;
}

.james-terminal__input {
    min-height: 42px;
    border: 1px solid #8c8f94;
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
    box-sizing: border-box;
}

.james-terminal__input--barcode {
    flex: 0 1 15rem;
    max-width: 16rem;
}

.james-terminal__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.james-terminal .button,
.james-terminal .button-primary {
    min-height: 42px;
    padding: 0.72rem 1.1rem;
    border-radius: 8px;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}

.james-terminal .button-primary {
    box-shadow: 0 3px 10px rgba(34, 113, 177, 0.18);
}

.james-terminal__status-wrap {
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid #c3c4c7;
    border-radius: 6px;
    background: #f6f7f7;
}

.james-terminal__field-grid {
    display: grid;
    grid-template-columns: repeat(var(--james-terminal-current-columns, 3), minmax(0, 1fr));
    gap: 0.8rem 1rem;
}

.james-terminal__field-grid--single {
    grid-template-columns: 1fr;
}

.james-terminal__field-grid--notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
}

.james-terminal__field-grid--notes .james-terminal__field-card {
    min-width: 0;
}

.james-terminal__field-card,
.james-terminal__field-input-wrap {
    min-width: 0;
}

.james-terminal__field-control {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 0.5rem;
    align-items: start;
}

.james-terminal__field-checkbox-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding-top: 1.9rem;
}

.james-terminal__field-stack,
.james-terminal__combo-stack {
    display: grid;
}

.james-terminal__field-stack {
    gap: 0.35rem;
    font-weight: 600;
}

.james-terminal__combo-stack {
    gap: 0.45rem;
}

.james-terminal__field-stack .james-terminal__input {
    width: 100%;
}

.james-terminal__field-input-wrap [data-checkbox-state="false"] {
    opacity: 0.75;
}

.james-terminal__textarea {
    min-height: 110px;
    resize: vertical;
}

.james-terminal__textarea--notes {
    font: inherit;
    line-height: 1.4;
    color: inherit;
}

.james-terminal__history-action,
.james-terminal__footer-actions {
    margin-bottom: 1rem;
}

.james-terminal__footer-actions {
    margin-top: 1rem;
}

.james-terminal__history-action--below {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.james-terminal__history-action--below .button {
    min-width: 280px;
}

.james-terminal__series-mode-toggle {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    font-weight: 600;
    text-align: right;
}

.james-terminal__series-mode-toggle input {
    margin: 0;
}

.james-terminal__images-wrap { display:grid; gap:16px; }
.james-terminal__images-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.james-terminal__image-item { border:1px solid #d0d7de; background:#fff; padding:6px; border-radius:8px; }
.james-terminal__image-item.is-dragging { opacity:.55; }
.james-terminal__image-thumb { display:block; position:relative; width:100%; border:0; background:transparent; padding:0; cursor:zoom-in; }
.james-terminal__image-thumb img { display:block; width:100%; height:140px; object-fit:cover; border-radius:4px; }
.james-terminal__image-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:6px; }
.james-terminal__image-drag-handle { cursor:grab; color:#5b6470; font-weight:700; }
.james-terminal__images-empty { margin:0; color:#5b6470; }
.james-terminal__image-upload { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.james-terminal__image-drop-zone { position:relative; }
.james-terminal__image-drop-zone.is-drag-over { outline:2px dashed currentColor; outline-offset:-6px; }
.james-terminal__image-drop-hint { margin:6px 0 10px; font-size:12px; opacity:.75; }
.james-terminal__image-drop-zone.is-drag-over .james-terminal__image-drop-hint { font-weight:700; opacity:1; }

.james-terminal__lightbox { border:none; padding:16px; max-width:min(90vw,1000px); width:auto; background:#fff; position:relative; }
.james-terminal__lightbox::backdrop { background:rgba(0,0,0,0.7); }
.james-terminal__lightbox img { display:block; max-width:80vw; max-height:80vh; width:auto; height:auto; }
.james-terminal__lightbox-close { position:absolute; top:8px; right:8px; border:none; background:#fff; font-size:28px; line-height:1; cursor:pointer; }
.james-terminal__image-lightbox[hidden] {
    display: none !important;
}
.james-terminal__image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.72);
    box-sizing: border-box;
}
.james-terminal__image-lightbox-inner {
    position: relative;
    max-width: min(96vw, 1200px);
    max-height: 92vh;
}
.james-terminal__image-lightbox img {
    display: block;
    max-width: min(92vw, 1100px);
    max-height: 86vh;
    width: auto;
    height: auto;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.38);
}
.james-terminal__image-lightbox-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--james-frontend-color-border, #c3c4c7);
    border-radius: 50%;
    background: var(--james-frontend-color-card-background, #fff);
    color: var(--james-frontend-color-text, #1d2327);
    font-size: 24px;
    line-height: 30px;
    cursor: pointer;
}


@media (min-width: 1200px) {
    .james-terminal__field-grid--notes {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr);
    }
}

@media (max-width: 1024px) {
    .james-terminal {
        --james-terminal-current-max-width: var(--james-terminal-tablet-max-width, 1000px);
        --james-terminal-current-columns: var(--james-terminal-tablet-columns, 2);
    }
}

@media (max-width: 900px) {
    .james-terminal__field-grid--notes {
        grid-template-columns: 1fr;
    }

    .james-terminal__input--barcode {
        flex-basis: 100%;
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .james-terminal {
        --james-terminal-current-max-width: var(--james-terminal-mobile-max-width, 100%);
        --james-terminal-current-columns: var(--james-terminal-mobile-columns, 1);
    }

    .james-terminal__section-title-row,
    .james-terminal__barcode-topline,
    .james-terminal__history-action--below {
        align-items: flex-start;
        flex-direction: column;
    }

    .james-terminal__series-mode-toggle {
        margin-left: 0;
        text-align: left;
    }

    .james-terminal__created-updated-wrap {
        justify-items: start;
    }
}

/* Responsive terminal field visibility per device */
@media (min-width: 1025px) {
    .james-terminal [data-visible-desktop="0"] { display: none !important; }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .james-terminal [data-visible-tablet="0"] { display: none !important; }
}

@media (max-width: 640px) {
    .james-terminal [data-visible-mobile="0"] { display: none !important; }
}


.james-terminal__scanner { border:none; padding:0; width:min(100vw, 760px); max-width:100vw; background:#000; color:#fff; }
.james-terminal__scanner::backdrop { background:rgba(0,0,0,0.86); }
.james-terminal__scanner-shell { position:relative; background:#000; }

.james-terminal__scanner-header { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 72px 8px 20px; background:#000; }
.james-terminal__scanner-header-copy { flex:1 1 auto; min-width:0; width:100%; text-align:left; padding-right:56px; }
.james-terminal__scanner-title { color:#fff; font-size:1.25rem; font-weight:600; line-height:1.3; word-break:break-word; text-align:left; }
.james-terminal__scanner-preview-wrap { position:relative; aspect-ratio:9 / 16; width:100%; background:#000; overflow:hidden; }
.james-terminal__scanner-video { display:block; width:100%; height:100%; object-fit:cover; cursor:pointer; }
.james-terminal__scanner-focus-frame { position:absolute; left:8%; right:8%; top:34%; height:24%; border:3px solid rgba(255,255,255,0.96); border-radius:10px; pointer-events:none; box-sizing:border-box; background:rgba(255,255,255,0.08); box-shadow:0 0 0 200vmax rgba(0,0,0,0.52), inset 0 0 28px rgba(255,255,255,0.12); }
.james-terminal__scanner-focus-frame::before { content:""; position:absolute; left:14px; right:14px; top:50%; height:2px; transform:translateY(-50%); background:rgba(255,0,0,0.78); box-shadow:0 0 8px rgba(255,0,0,0.4); }
.james-terminal__scanner-focus-frame::after { content:""; position:absolute; left:14px; right:14px; top:50%; height:10px; transform:translateY(-50%); background:linear-gradient(90deg, rgba(255,230,0,0.95) 0 10px, transparent 10px calc(100% - 10px), rgba(255,230,0,0.95) calc(100% - 10px) 100%); border-radius:999px; }
.james-terminal__scanner-focus-indicator { position:absolute; width:74px; height:74px; margin-left:-37px; margin-top:-37px; border:3px solid rgba(255,255,255,0.92); border-radius:14px; box-shadow:0 0 0 200vmax rgba(0,0,0,0); pointer-events:none; }
.james-terminal__scanner-top-actions { position:absolute; top:18px; right:18px; display:flex; gap:10px; z-index:2; }
.james-terminal__scanner-icon-button,
.james-terminal__scanner-close { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:none; border-radius:999px; background:rgba(0,0,0,0.45); color:#fff; cursor:pointer; }
.james-terminal__scanner-icon-button.is-active { background:rgba(255,255,255,0.18); }
.james-terminal__scanner-settings-panel { position:absolute; top:76px; right:18px; left:18px; z-index:3; max-width:420px; margin-left:auto; padding:14px; border:1px solid rgba(255,255,255,0.22); border-radius:16px; background:rgba(0,0,0,0.78); box-shadow:0 18px 40px rgba(0,0,0,0.35); backdrop-filter:blur(10px); }
.james-terminal__scanner-settings-panel[hidden] { display:none !important; }
.james-terminal__scanner-settings-panel .james-terminal__scanner-camera { padding:0; background:transparent; }
.james-terminal__scanner-close { position:absolute; top:18px; right:18px; z-index:3; font-size:34px; line-height:1; }
.james-terminal__scanner-camera { display:flex; align-items:center; gap:12px; padding:14px 20px 0; background:#000; }
.james-terminal__scanner-camera-label { min-width:72px; font-size:0.95rem; color:#fff; }
.james-terminal__scanner-camera-select { flex:1 1 auto; min-height:44px; border:1px solid rgba(255,255,255,0.22); border-radius:10px; background:rgba(255,255,255,0.08); color:#fff; padding:0 12px; }
.james-terminal__scanner-camera-select option { color:#111; }
.james-terminal__scanner-hint { padding:16px 20px 10px; text-align:center; font-size:0.95rem; background:#000; }
.james-terminal__scanner-actions { padding:0 20px 24px; display:flex; justify-content:center; background:#000; }
.james-terminal__scanner-actions .button.button-primary { min-width:min(100%, 320px); min-height:54px; font-size:1rem; }
@media (max-width: 640px) {
  .james-terminal__scanner { width:100vw; max-width:100vw; margin:0; }
  .james-terminal__scanner-header { padding:18px 16px 10px; }
  .james-terminal__scanner-header-copy { padding-right:56px; }
  .james-terminal__scanner-title { font-size:1.125rem; }
  .james-terminal__scanner-close { top:12px; right:12px; }
  .james-terminal__scanner-preview-wrap { aspect-ratio:9 / 16; }
  .james-terminal__scanner-focus-frame { left:5%; right:5%; top:33%; height:25%; border-width:3px; }
  .james-terminal__scanner-settings-panel { top:70px; right:12px; left:12px; max-width:none; }
  .james-terminal__scanner-camera { padding:14px 16px 0; }
  .james-terminal__scanner-settings-panel .james-terminal__scanner-camera { padding:0; }
  .james-terminal__scanner-hint { padding:16px 16px 10px; }
}


/* Rental ban warning */
.rental-ban-warning {
    border: 2px solid #d63638 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
    background-color: #fff1f1 !important;
}


.james-terminal[data-scan-mode="barcode"] [data-terminal-action="barcode-mode"],
.james-terminal[data-scan-mode="chip"] [data-terminal-action="chip-mode"] {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
}

.james-terminal[data-scan-mode="barcode"] [data-terminal-action="barcode-mode"]:hover,
.james-terminal[data-scan-mode="barcode"] [data-terminal-action="barcode-mode"]:focus,
.james-terminal[data-scan-mode="chip"] [data-terminal-action="chip-mode"]:hover,
.james-terminal[data-scan-mode="chip"] [data-terminal-action="chip-mode"]:focus {
    background: #135e96;
    border-color: #135e96;
    color: #fff;
}
.james-costume-lists{padding:1.25rem}.james-costume-lists__header,.james-costume-lists__builder-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.james-costume-lists__toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:1rem 0}.james-costume-lists label{display:flex;flex-direction:column;gap:.25rem}.james-costume-lists__grid{display:grid;grid-template-columns:minmax(280px,34%) 1fr;gap:1rem}.james-costume-lists__search,.james-costume-lists__builder,.james-costume-lists__section,.james-costume-lists__result,.james-costume-lists__item{border:1px solid var(--james-frontend-color-border,#dcdcde);background:var(--james-frontend-color-card-background,#fff);border-radius:10px;padding:1rem}.james-costume-lists__filters{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.75rem 0}.james-costume-lists__results{display:grid;gap:.5rem;margin-top:.75rem;max-height:68vh;overflow:auto}.james-costume-lists__result{cursor:grab;padding:.75rem}.james-costume-lists__result span,.james-costume-lists__item span{display:block;font-size:.9em;opacity:.78}.james-costume-lists__sections{display:grid;gap:1rem;margin-top:1rem}.james-costume-lists__section-title{width:100%;font-weight:700;font-size:1.1em;margin-bottom:.5rem}.james-costume-lists__drop{min-height:70px;display:grid;gap:.5rem;border:1px dashed var(--james-frontend-color-border,#dcdcde);border-radius:8px;padding:.5rem}.james-costume-lists__item{position:relative}.james-costume-lists__item textarea,.james-costume-lists__builder textarea{width:100%;min-height:64px;margin-top:.5rem}.james-costume-lists__remove{position:absolute;right:.35rem;top:.35rem;border:0;background:transparent;font-size:1.4rem;cursor:pointer}.james-costume-lists__section-remove{border:0;background:var(--james-frontend-color-card-background,#fef3f2);color:var(--james-frontend-color-error,#b42318);border-radius:99px;width:28px;height:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1;flex:0 0 auto}.james-costume-lists__upload{display:inline-flex!important;margin-top:.4rem}.james-costume-lists__upload input{display:none}.james-costume-lists__status{min-height:1.4rem;margin:.5rem 0}.james-costume-lists__status.is-error{color:var(--james-frontend-color-error,#b32d2e)}@media(max-width:900px){.james-costume-lists__grid{grid-template-columns:1fr}.james-costume-lists__header,.james-costume-lists__builder-head{display:block}.james-costume-lists__filters{grid-template-columns:1fr}}
.james-costume-lists__thumbs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.james-costume-lists__thumbs img{width:72px;height:72px;object-fit:cover;border:1px solid var(--james-frontend-color-border,#dcdcde);border-radius:8px;background:var(--james-frontend-color-list-item-background,#f6f7f7)}
.james-costume-lists__item--image{border-style:dashed;background:#fbfcfd}
.james-costume-lists__item--image strong{display:block;margin-bottom:.35rem}
.james-costume-lists__thumb{position:relative;display:inline-block}
.james-costume-lists__delete-image{position:absolute;right:-.35rem;top:-.35rem;border:0;border-radius:999px;background:#dbe3f0;cursor:pointer;line-height:1}

/* Costume list image elements: compact horizontal gallery, no notes field. */
.james-costume-lists__item--image{cursor:grab}
.james-costume-lists__item--image textarea{display:none!important}
.james-costume-lists__image-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:8px}
.james-costume-lists__item--image .james-costume-lists__thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.james-costume-lists__item--image .james-costume-lists__thumb{position:relative;display:inline-flex}
.james-costume-lists__item--image .james-costume-lists__thumb img{width:92px;height:92px;object-fit:cover;border:1px solid #d0d5dd;border-radius:8px}
.james-costume-lists__upload--image{margin:0}
.james-costume-lists__upload--image .button{width:72px;height:92px;padding:0;display:flex;align-items:center;justify-content:center}

.james-costume-lists__preview-image{cursor:zoom-in}
.james-costume-lists__image-popup{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:999999;padding:24px;box-sizing:border-box}
.james-costume-lists__image-popup img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 30px rgba(0,0,0,.35);background:#fff}
.james-costume-lists__image-popup-close{position:fixed;right:24px;top:18px;border:0;border-radius:999px;background:#fff;color:#111;width:40px;height:40px;font-size:28px;line-height:36px;cursor:pointer}

/* Costume list editor: clearer action hierarchy and sticky add toolbar */
.james-costume-lists__builder{padding:0;overflow:visible}.james-costume-lists__builder-head{position:sticky;top:0;z-index:30;display:block!important;background:var(--james-frontend-color-card-background,#fff);border-bottom:1px solid var(--james-frontend-color-border,#dcdcde);border-radius:10px 10px 0 0;padding:1rem 1.25rem;box-shadow:0 8px 22px rgba(15,23,42,.06)}.james-costume-lists__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.james-costume-lists__title-row h3{margin:0;line-height:1.25}.james-costume-lists__save-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.james-costume-lists__button{display:inline-flex!important;align-items:center;gap:.45rem;min-height:38px;padding:.45rem .9rem!important;border-radius:8px!important;font-weight:700!important}.james-costume-lists__button--primary{background:var(--james-frontend-color-primary,#1f6fcb)!important;border-color:var(--james-frontend-color-primary,#1f6fcb)!important;color:var(--james-frontend-color-primary-text,#fff)!important;box-shadow:0 2px 6px rgba(31,111,203,.25)}.james-costume-lists__button--secondary{background:#fff!important;border-color:#d0d7e2!important;color:#1f2a44!important}.james-costume-lists__button-icon{font-size:1.25em;line-height:1}.james-costume-lists__builder-actions{margin-top:1.15rem;display:block}.james-costume-lists__tools-label{display:block;margin:0 0 .55rem;font-size:.95rem;color:#111827}.james-costume-lists__builder-tools{display:flex;gap:.75rem;flex-wrap:wrap}.james-costume-lists__tool-button{display:inline-flex!important;align-items:center;gap:.7rem;min-height:50px;padding:.55rem 1rem!important;border-radius:9px!important;background:var(--james-frontend-color-card-background,#fff)!important;border:1px solid var(--james-frontend-color-card-border,#d7dee9)!important;color:var(--james-frontend-color-text,#17233c)!important;font-weight:700!important;box-shadow:0 1px 3px rgba(15,23,42,.08)}.james-costume-lists__tool-button:hover{border-color:var(--james-frontend-color-primary,#7aa7df)!important;box-shadow:0 2px 8px rgba(31,111,203,.12)}.james-costume-lists__tool-icon{font-size:1.8rem;line-height:1;color:var(--james-frontend-color-primary,#1f6fcb);min-width:1.4rem;text-align:center}.james-costume-lists__scroll-area{padding:1.25rem}.james-costume-lists__bottom-actions{padding:0 1.25rem 1.25rem}.james-costume-lists__save-actions--bottom .button{display:inline-flex!important;align-items:center;gap:.45rem;border-radius:8px!important;font-weight:700!important}.james-costume-lists__save-actions--bottom [data-jcl-save]{background:#1f6fcb!important;border-color:var(--james-frontend-color-primary,#1f6fcb)!important;color:#fff!important}@media(max-width:900px){.james-costume-lists__builder-head{position:static}.james-costume-lists__title-row{display:block}.james-costume-lists__save-actions{justify-content:flex-start;margin-top:.75rem}.james-costume-lists__tool-button{flex:1 1 150px;justify-content:center}}

.james-costume-lists__builder-head{padding:1rem 1.25rem 0!important;}
.james-costume-lists__builder-actions{
    display:block!important;
    align-items:stretch!important;
    margin:1.35rem -1.25rem 0!important;
    padding:1rem 1.25rem 1.15rem!important;
    border-top:1px solid #e5e7eb!important;
    background:#fff!important;
    text-align:left!important;
}
.james-costume-lists__tools-label{
    display:block!important;
    text-align:left!important;
    margin:0 0 .65rem!important;
    font-weight:700!important;
}
.james-costume-lists__builder-tools{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:.75rem!important;
    flex-wrap:wrap!important;
}
.james-costume-lists__tool-button{justify-content:center!important;}


.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-close],
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-save] {
    cursor: pointer !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .08s ease !important;
    will-change: transform, box-shadow;
}

.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-close]:not(:disabled):hover,
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-close]:not(.disabled):hover {
    background: #f3f6fb !important;
    border-color: #8ea4bf !important;
    color: #111827 !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .16) !important;
    transform: translateY(-1px) !important;
}

.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-save]:not(:disabled):hover,
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-save]:not(.disabled):hover {
    background: #155fb4 !important;
    border-color: #155fb4 !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(31, 111, 203, .36) !important;
    transform: translateY(-1px) !important;
}

.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-close]:not(:disabled):active,
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-save]:not(:disabled):active {
    transform: translateY(1px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .22) !important;
}

.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-close]:focus-visible,
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .button.james-costume-lists__button[data-jcl-save]:focus-visible {
    outline: 3px solid rgba(31, 111, 203, .32) !important;
    outline-offset: 2px !important;
}


.james-costume-lists__bottom-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:1.1rem!important;
    flex-wrap:wrap!important;
    padding:1rem 1.25rem 1.25rem!important;
    border-top:1px solid #e5e7eb!important;
    background:#fff!important;
}
.james-costume-lists__bottom-group{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.65rem!important;
    flex-wrap:wrap!important;
}
.james-costume-lists__bottom-group + .james-costume-lists__bottom-group{
    padding-left:1.1rem!important;
    border-left:1px solid #dbe2ec!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__tool-button{
    min-height:44px!important;
    padding:.45rem .85rem!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__tool-icon{
    font-size:1.45rem!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__button{
    min-height:44px!important;
}
.james-costume-lists__export-button{
    display:inline-flex!important;
    align-items:center!important;
    gap:.5rem!important;
    min-height:44px!important;
    padding:.45rem .9rem!important;
    border-radius:8px!important;
    background:#fff!important;
    border:1px solid #d7dee9!important;
    color:#17233c!important;
    font-weight:700!important;
    box-shadow:0 1px 3px rgba(15,23,42,.08)!important;
    transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease!important;
}
.james-costume-lists__export-button:hover{
    border-color:var(--james-frontend-color-primary,#7aa7df)!important;
    box-shadow:0 2px 8px rgba(31,111,203,.12)!important;
    transform:translateY(-1px)!important;
}
.james-costume-lists__export-button:active{
    transform:translateY(1px)!important;
    box-shadow:0 1px 3px rgba(15,23,42,.18)!important;
}
.james-costume-lists__export-icon{
    color:var(--james-frontend-color-primary,#1f6fcb)!important;
    font-size:1.25rem!important;
    line-height:1!important;
}
.james-costume-lists__export-button--pdf .james-costume-lists__export-icon{color:#d63638!important;}
.james-costume-lists__export-button--word .james-costume-lists__export-icon{color:var(--james-frontend-color-primary,#1f6fcb)!important;}
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-close],
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-save]{
    cursor:pointer!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-close]:not(:disabled):hover{
    background:#f3f6fb!important;
    border-color:#8ea4bf!important;
    color:#111827!important;
    box-shadow:0 4px 10px rgba(15,23,42,.16)!important;
    transform:translateY(-1px)!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-save]:not(:disabled):hover{
    background:#155fb4!important;
    border-color:#155fb4!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(31,111,203,.36)!important;
    transform:translateY(-1px)!important;
}
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-close]:not(:disabled):active,
.james-costume-lists__bottom-actions .james-costume-lists__button[data-jcl-save]:not(:disabled):active{
    transform:translateY(1px)!important;
    box-shadow:0 1px 3px rgba(15,23,42,.22)!important;
}
@media(max-width:900px){
    .james-costume-lists__bottom-actions{align-items:stretch!important;}
    .james-costume-lists__bottom-group{width:100%!important;}
    .james-costume-lists__bottom-group + .james-costume-lists__bottom-group{border-left:0!important;border-top:1px solid #dbe2ec!important;padding-left:0!important;padding-top:.9rem!important;}
    .james-costume-lists__bottom-actions .button{flex:1 1 140px!important;justify-content:center!important;}
}


.james-costume-lists__results{
    gap:4px!important;
}
.james-costume-lists__result{
    padding-top:5px!important;
    padding-bottom:5px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    margin-top:4px!important;
    margin-bottom:4px!important;
    border-radius:8px!important;
}
.james-costume-lists__result strong{
    margin:0 0 1px!important;
    line-height:1.15!important;
}
.james-costume-lists__result small{
    margin:0!important;
    line-height:1.22!important;
}


.james-costume-lists__scroll-area{
    padding-top:.65rem!important;
    padding-bottom:.65rem!important;
}
.james-costume-lists__sections{
    gap:.45rem!important;
    margin-top:.45rem!important;
}
.james-costume-lists__section{
    margin:6px 0!important;
    padding:6px 8px!important;
    border-radius:9px!important;
}
.james-costume-lists__section-head{
    margin-bottom:4px!important;
    gap:5px!important;
}
.james-costume-lists__section-title input{
    min-height:28px!important;
    height:28px!important;
    padding:2px 6px!important;
    margin-top:0!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
}
.james-costume-lists__drop{
    min-height:34px!important;
    gap:4px!important;
    padding:4px!important;
    border-radius:7px!important;
}
.james-costume-lists__item{
    margin:4px 0!important;
    padding-top:5px!important;
    padding-right:26px!important;
    padding-bottom:5px!important;
    padding-left:30px!important;
    border-radius:8px!important;
}
.james-costume-lists__item-head{
    margin:0 0 1px!important;
}
.james-costume-lists__item strong{
    margin:0!important;
    line-height:1.15!important;
}
.james-costume-lists__item small{
    margin:0!important;
    line-height:1.16!important;
}
.james-costume-lists__item textarea,
.james-costume-lists__builder textarea{
    min-height:32px!important;
    height:32px;
    margin-top:4px!important;
    padding:4px 6px!important;
    line-height:1.2!important;
}
.james-costume-lists__item--text label{
    margin-top:3px!important;
}
.jcl-item-handle{
    left:8px!important;
    top:6px!important;
}
.james-costume-lists__remove{
    right:4px!important;
    top:4px!important;
    width:20px!important;
    height:20px!important;
    font-size:1rem!important;
}
.james-costume-lists__section-remove,
.james-costume-lists__section-toggle{
    width:22px!important;
    height:22px!important;
}
.james-costume-lists__section[data-type="performer"]{
    padding:4px 8px!important;
    margin:5px 0!important;
}

.james-costume-lists__export-language-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #344054;
    margin-right: 4px;
}
.james-costume-lists__export-language {
    min-height: 30px;
    border-radius: 8px;
    border: 1px solid #cfd6df;
    background: #fff;
    padding: 2px 28px 2px 8px;
    font-size: 12px;
}

.james-costume-lists__export-layout{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin:0 .35rem 0 0;
    padding:0;
    border:0;
    font-size:.78rem;
}
.james-costume-lists__export-layout legend{
    font-weight:700;
    margin-right:.15rem;
    padding:0;
}
.james-costume-lists__export-layout label{
    display:inline-flex;
    align-items:center;
    gap:.2rem;
    white-space:nowrap;
}

/* Costume lists: make only the custom text field body ("Weiteres") 5 lines high. */
.james-costume-lists__item--text textarea.james-costume-lists__text-body{
    min-height:6em!important;
    height:auto!important;
    resize:vertical;
}

/* Costume database panel uses flex layout; the results list fills remaining height. */
.james-costume-lists__search{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:hidden!important;
}
.james-costume-lists__results{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    align-content:start!important;
    scrollbar-gutter:stable!important;
}
.james-costume-lists__result{
    flex:0 0 auto!important;
    align-self:stretch!important;
}



.james-terminal__matching-parts {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid var(--james-color-border, #ccd0d4);
    background: var(--james-frontend-color-card-background, #fff) !important;
}
.james-terminal__matching-header {
    display: flex;
    gap: 10px;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.james-terminal__matching-header span,
.james-terminal__matching-hint {
    color: #646970;
    font-size: 12px;
}
.james-terminal__matching-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
    margin-bottom: 8px;
}
.james-terminal__matching-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid #c3c4c7;
    border-radius: 3px;
    background: #f6f7f7;
    font-weight: 600;
}
.james-terminal__matching-remove {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0 2px;
    font-size: 16px;
    line-height: 1;
}
.james-terminal__matching-input-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.james-terminal__matching-input-row .james-terminal__input,
.james-terminal__matching-input {
    flex: 0 0 270px;
    width: 270px;
    min-width: 270px;
    max-width: 270px;
}
.james-terminal__matching-input-row .button {
    flex: 0 0 auto;
}
@media (max-width: 420px) {
    .james-terminal__matching-input-row {
        flex-wrap: wrap;
    }
    .james-terminal__matching-input-row .james-terminal__input,
    .james-terminal__matching-input {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}
.james-terminal__matching-hint {
    margin: 6px 0 0;
}


.james-terminal__matching-label {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0;
    text-align: left;
}
.james-terminal__matching-label:hover,
.james-terminal__matching-label:focus {
    text-decoration: underline;
}
.james-terminal__matching-modal[hidden] {
    display: none;
}
.james-terminal__matching-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
}
.james-terminal__matching-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.james-terminal__matching-modal-dialog {
    position: relative;
    width: min(920px, calc(100vw - 32px));
    max-height: calc(100vh - 64px);
    overflow: auto;
    margin: 48px auto;
    padding: 18px;
    border: 1px solid var(--james-frontend-color-border, #c3c4c7);
    border-radius: 6px;
    background: var(--james-frontend-color-card-background, #fff) !important;
    color: var(--james-frontend-color-text, #1d2327);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
}
.james-terminal__matching-modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    padding: 0;
    line-height: 1;
}
.james-terminal__matching-detail-card {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.james-terminal__matching-detail-image {
    display: block;
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    text-align: left;
}
.james-terminal__matching-detail-image img {
    display: block;
    width: 160px;
    height: 213px;
    object-fit: cover;
    border: 1px solid var(--james-frontend-color-border, #dcdcde);
    border-radius: 4px;
}
.james-terminal__matching-detail-list {
    display: grid;
    grid-template-columns: minmax(120px, 24%) minmax(0, 1fr);
    gap: 7px 18px;
    margin: 0;
}
.james-terminal__matching-detail-list dt {
    font-weight: 700;
}
.james-terminal__matching-detail-list dd {
    margin: 0;
    min-width: 0;
}
.james-terminal__matching-detail-value--matching-parts {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: flex-start;
    white-space: normal;
}
.james-terminal__matching-detail-value--matching-parts .james-terminal__matching-part-chip {
    appearance: none;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    border: 1px solid #c3d4e8;
    border-radius: 999px;
    background: #f0f6fc;
    padding: .18rem .55rem;
    font: inherit;
    font-size: .92em;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
    cursor: pointer;
    color: #1d2327;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}
.james-terminal__matching-detail-value--matching-parts .james-terminal__matching-part-chip:hover,
.james-terminal__matching-detail-value--matching-parts .james-terminal__matching-part-chip:focus {
    border-color: #2271b1;
    background: #e8f2fb;
    color: #0a4b78;
    box-shadow: none;
}
.james-terminal__matching-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}
@media (max-width: 600px) {
    .james-terminal__matching-detail-card {
        grid-template-columns: 1fr;
    }
}


/* Legacy master-data values in terminal dropdowns */
.james-terminal__field-card--legacy-missing .james-terminal__field-stack > span{color:#b42318;font-weight:700;}
.james-terminal__input--legacy-missing{background:#fff8e6!important;border-color:#d97706!important;color:#7a2e0e!important;box-shadow:0 0 0 1px rgba(217,119,6,.18)!important;}
.james-terminal__input--legacy-missing:focus{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626!important;}

.james-terminal__photo-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1d2327;
    line-height: 1;
    vertical-align: middle;
}

.james-terminal__photo-indicator[hidden] {
    display: none !important;
}

.james-terminal__photo-indicator svg {
    display: block;
    width: 18px;
    height: 18px;
}

.james-terminal__barcode-row .james-terminal__photo-indicator {
    align-self: center;
    margin-right: 0.15rem;
}

.james-terminal__section summary .james-terminal__photo-indicator {
    margin-left: 0.35rem;
}


.james-slip__photo-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1d2327;
    line-height: 1;
    vertical-align: middle;
    margin-left: 0.35rem;
}

.james-slip__photo-indicator svg {
    display: block;
    width: 18px;
    height: 18px;
}

.james-help__section {
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 1rem;
    margin-top: 1rem;
    background: #fff;
}

.james-help__section h3 {
    margin-top: 0;
}

.james-support-form {
    display: grid;
    gap: 1rem;
    max-width: 48rem;
}

.james-support-form__field label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.james-support-form__field textarea,
.james-support-form__field input[type="file"] {
    width: 100%;
    box-sizing: border-box;
}

.james-support-form__field textarea {
    min-height: 9rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid #8c8f94;
    border-radius: 6px;
}

.james-support-form__meta {
    padding: 0.85rem 1rem;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    background: #f6f7f7;
    font-size: 0.95rem;
}

.james-support-form__meta p {
    margin: 0.25rem 0;
}

.james-support-form__status {
    min-height: 1.5rem;
    font-weight: 600;
}

.james-support-form__status--success {
    color: #00a32a;
}

.james-support-form__status--error {
    color: #d63638;
}

.james-support-form__status--info {
    color: #2271b1;
}

.james-support-launcher {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 99999;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}


.james-support-launcher--top-left {
    top: 24px;
    left: 24px;
    right: auto;
    bottom: auto;
}

.james-support-launcher--top-right {
    top: 24px;
    right: 24px;
    bottom: auto;
    left: auto;
}

.james-support-launcher--bottom-left {
    bottom: 24px;
    left: 24px;
    top: auto;
    right: auto;
}

.james-support-launcher--bottom-right {
    right: 24px;
    bottom: 24px;
    top: auto;
    left: auto;
}


.james-support-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.45);
}

.james-support-modal.is-open {
    display: flex;
}

.james-support-modal__panel {
    width: min(100%, 52rem);
    max-height: min(90vh, 52rem);
    overflow: auto;
    padding: 1.25rem;
    border-radius: 10px;
    background: #fff;
    color: #1d2327;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.james-support-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.james-support-modal__header h2 {
    margin: 0;
}


/* Costume lists UI polish: active list row and matching top save button. */
.james-frontend.james-costume-lists .james-costume-lists__status.is-ok,
.james-costume-lists .james-costume-lists__status.is-ok{
    color:var(--james-frontend-color-text,#1d2327)!important;
}
.james-frontend.james-costume-lists .james-costume-lists__existing-row,
.james-costume-lists .james-costume-lists__existing-row{
    background:#fff!important;
}
.james-costume-lists__save-actions:not(.james-costume-lists__save-actions--bottom) .james-costume-lists__button[data-jcl-save]{
    min-height:44px!important;
    background:#1f6fcb!important;
    border-color:var(--james-frontend-color-primary,#1f6fcb)!important;
    color:#fff!important;
}

/* Costume list action buttons use shared frontend color settings. */
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-save],
.james-costume-lists .james-costume-lists__button[data-jcl-save]{
    background:var(--james-frontend-color-terminal-save-button,var(--james-frontend-color-primary,#2271b1))!important;
    border-color:var(--james-frontend-color-terminal-save-button,var(--james-frontend-color-primary,#2271b1))!important;
    color:var(--james-frontend-color-terminal-save-button-text,var(--james-frontend-color-primary-text,#fff))!important;
}
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-save]:not(:disabled):hover,
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-save]:not(:disabled):focus,
.james-costume-lists .james-costume-lists__button[data-jcl-save]:not(:disabled):hover,
.james-costume-lists .james-costume-lists__button[data-jcl-save]:not(:disabled):focus{
    background:var(--james-frontend-color-terminal-save-button-hover,var(--james-frontend-color-button-hover,#135e96))!important;
    border-color:var(--james-frontend-color-terminal-save-button-hover,var(--james-frontend-color-button-hover,#135e96))!important;
    color:var(--james-frontend-color-terminal-save-button-text,var(--james-frontend-color-primary-text,#fff))!important;
}
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-close],
.james-costume-lists .james-costume-lists__button[data-jcl-close]{
    background:var(--james-frontend-color-tab-button,var(--james-frontend-color-pagination-button,#f6f7f7))!important;
    border-color:var(--james-frontend-color-border,#c3c4c7)!important;
    color:var(--james-frontend-color-tab-button-text,var(--james-frontend-color-pagination-button-text,#1d2327))!important;
}
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-close]:not(:disabled):hover,
.james-frontend.james-costume-lists .james-costume-lists__button[data-jcl-close]:not(:disabled):focus,
.james-costume-lists .james-costume-lists__button[data-jcl-close]:not(:disabled):hover,
.james-costume-lists .james-costume-lists__button[data-jcl-close]:not(:disabled):focus{
    background:var(--james-frontend-color-tab-button-hover,var(--james-frontend-color-button-hover,#ffffff))!important;
    border-color:var(--james-frontend-color-border,#c3c4c7)!important;
    color:var(--james-frontend-color-tab-button-text,var(--james-frontend-color-pagination-button-text,#1d2327))!important;
}

.james-costume-lists__result strong,
.james-costume-lists__item strong{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    flex-wrap:wrap;
}

.james-costume-lists__result-head,
.james-costume-lists__item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
}
.james-costume-lists__result-head strong,
.james-costume-lists__item-head strong{
    flex:1 1 auto;
    min-width:0;
}
.james-costume-lists__result-head .james-costume-lists__photo-indicator,
.james-costume-lists__item-head .james-costume-lists__photo-indicator{
    flex:0 0 auto;
}
.james-costume-lists__photo-indicator{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#1d2327;
    line-height:1;
    vertical-align:middle;
}
.james-costume-lists__photo-indicator svg{
    display:block;
    width:18px;
    height:18px;
}

/* Costume database read-only detail modal. Reuses the terminal/search matching part chip styles. */
.james-costume-lists__result{
    cursor:pointer;
}
.james-costume-lists__result-head,
.james-costume-lists__item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
}
.james-costume-lists__result-head strong,
.james-costume-lists__item-head strong{
    min-width:0;
}
.james-costume-lists__detail-modal .james-terminal__matching-modal-dialog{
    width:min(980px, calc(100vw - 32px));
}
.james-costume-lists__detail-modal .james-terminal__matching-detail-card{
    grid-template-columns:180px minmax(0, 1fr);
}
.james-costume-lists__detail-modal .james-terminal__matching-detail-image img{
    width:180px;
    height:240px;
}
.james-costume-lists__detail-no-image{
    width:180px;
    min-height:1px;
}
@media (max-width: 600px){
    .james-costume-lists__detail-modal .james-terminal__matching-detail-card{
        grid-template-columns:1fr;
    }

}

/* Costume database detail: visible image placeholder and terminal-style zoom support. */
.james-costume-lists__detail-no-image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:180px;
    height:240px;
    box-sizing:border-box;
    border:1px solid var(--james-frontend-color-border, #d0d7de);
    border-radius:4px;
    background:#f6f7f7;
    color:#5b6470;
    font-weight:600;
    text-align:center;
    line-height:1.25;
}
.james-costume-lists__detail-modal .james-terminal__matching-detail-image:focus{
    outline:2px solid #2271b1;
    outline-offset:2px;
}
@media (max-width: 600px){
    .james-costume-lists__detail-no-image{
        width:100%;
        max-width:220px;
        height:220px;
        margin-bottom:12px;
    }
}

.james-costume-lists__section-head{
    display:flex;
    align-items:center;
}
.james-costume-lists__section-title{
    flex:0 0 auto;
}
.james-costume-lists__costume-label{
    flex:1 1 240px;
    min-width:160px;
}
.james-costume-lists__costume-label[hidden]{
    display:none!important;
}
.james-costume-lists__costume-label input{
    width:100%;
    min-height:28px!important;
    height:28px!important;
    padding:2px 6px!important;
    margin-top:0!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
    font-weight:500;
}
@media(max-width:700px){
    .james-costume-lists__section-head{
        flex-wrap:wrap;
    }
    .james-costume-lists__costume-label{
        flex:1 1 100%;
        order:4;
    }
}
.james-costume-lists__section.is-collapsed .james-costume-lists__drop{
    display:none!important;
}
.james-costume-lists__section.is-collapsed .james-costume-lists__section-toggle{
    transform:rotate(-90deg);
}

/* 0.10.45: Sticky costume database with collapsible controls.
   The search panel stays visible on desktop while the builder is scrolled.
   Only the result list scrolls internally; controls are open by default. */
.james-costume-lists__grid{
    align-items:flex-start;
    overflow:visible;
}
.james-costume-lists__search{
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.james-costume-lists__search-toggle{
    flex:0 0 auto;
    width:100%;
    border:0;
    background:transparent;
    padding:0 0 14px 0;
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
    text-align:left;
    cursor:pointer;
    color:var(--james-frontend-color-text,#1d2327);
    font-size:1.25rem;
    font-weight:700;
    line-height:1.25;
    box-shadow:none;
}
.james-costume-lists__search-toggle-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border-radius:999px;
    border:1px solid var(--james-frontend-color-border,#d0d5dd);
    background:var(--james-frontend-color-card-background,#fff);
    font-size:14px;
    line-height:1;
    transition:transform .15s ease;
    flex:0 0 auto;
}
.james-costume-lists__search-controls{
    flex:0 0 auto;
}
.james-costume-lists__search.is-search-collapsed .james-costume-lists__search-controls{
    display:none;
}
.james-costume-lists__search.is-search-collapsed .james-costume-lists__search-toggle{
    padding-bottom:8px;
}
.james-costume-lists__search.is-search-collapsed .james-costume-lists__search-toggle-icon{
    transform:rotate(-90deg);
}
.james-costume-lists__results{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
    align-content:flex-start;
}
@media (min-width:981px){
    .james-costume-lists__search{
        position:-webkit-sticky;
        position:sticky;
        top:calc(var(--wp-admin--admin-bar--height, 32px) + 12px);
        align-self:flex-start;
        height:calc(100vh - var(--wp-admin--admin-bar--height, 32px) - 24px);
        max-height:calc(100vh - var(--wp-admin--admin-bar--height, 32px) - 24px);
        min-height:240px;
        z-index:20;
    }
    .james-costume-lists__builder{
        align-self:flex-start;
        height:var(--jcl-list-height);
        max-height:var(--jcl-list-height);
        min-height:0;
        display:flex;
        flex-direction:column;
        overflow:hidden;
    }
    .james-costume-lists__scroll-area{
        flex:1 1 auto;
        min-height:0;
        height:auto;
        max-height:none;
        overflow-y:auto;
        overflow-x:hidden;
        scrollbar-gutter:stable;
    }
}
@media (max-width:980px){
    .james-costume-lists__search{
        position:relative;
        top:auto;
        height:var(--jcl-scroll-height);
        max-height:var(--jcl-scroll-height);
    }
}


/* 0.10.46: Keep the costume-number header row aligned.
   This block only touches the builder row header (drag/toggle/title/label/delete)
   and leaves the sticky costume database behavior unchanged. */
.james-costume-lists__section-head{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-height:32px!important;
    margin-bottom:4px!important;
}
.james-costume-lists__section-head > *{
    align-self:center!important;
}
.james-costume-lists__section-title,
.james-costume-lists__costume-label{
    display:block!important;
    min-width:0!important;
    margin:0!important;
}
.james-costume-lists__section-title{
    flex:0 1 360px!important;
}
.james-costume-lists__costume-label{
    flex:1 1 auto!important;
}
.james-costume-lists__section-title input,
.james-costume-lists__costume-label input{
    display:block!important;
    width:100%!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:3px 8px!important;
    box-sizing:border-box!important;
    line-height:1.25!important;
}
.james-costume-lists__section-head .jcl-handle,
.james-costume-lists__section-toggle,
.james-costume-lists__section-remove{
    flex:0 0 auto!important;
    margin:0!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
}
.james-costume-lists__section-head .jcl-handle{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
}
.james-costume-lists__section-toggle,
.james-costume-lists__section-remove{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:0!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.james-costume-lists__section-remove{
    margin-left:4px!important;
}
@media (max-width:700px){
    .james-costume-lists__section-head{
        flex-wrap:wrap!important;
    }
    .james-costume-lists__section-title,
    .james-costume-lists__costume-label{
        flex:1 1 100%!important;
    }
}

/* 0.10.48: Image elements accept desktop file drag and drop. */
.james-frontend.james-costume-lists .james-costume-lists__upload--image,.james-frontend.james-costume-lists .james-costume-lists__image-row{position:relative}.james-frontend.james-costume-lists .james-costume-lists__upload--image.is-drag-over .button,.james-frontend.james-costume-lists .james-costume-lists__image-row.is-drag-over .james-costume-lists__upload--image .button{outline:2px dashed #2271b1;outline-offset:3px;background:#f0f6fc}

/* 0.10.49: Reserve a permanent gutter for the costume database scrollbar so it does not cover result cards. */
.james-frontend.james-costume-lists .james-costume-lists__results{
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable!important;
    padding-right:14px!important;
    box-sizing:border-box!important;
}
.james-frontend.james-costume-lists .james-costume-lists__result{
    margin-right:0!important;
    box-sizing:border-box!important;
}

/* 0.10.52: James Search result cards open their editable detail view in a modal. */
.james-search__section--results .james-search__result-card {
    cursor: pointer;
}
.james-search__section--results .james-search__result-card button,
.james-search__section--results .james-search__result-card a,
.james-search__section--results .james-search__result-card input,
.james-search__section--results .james-search__result-card select,
.james-search__section--results .james-search__result-card textarea,
.james-search__section--results .james-search__result-card details,
.james-search__section--results .james-search__result-card label {
    cursor: auto;
}
.james-search__detail-modal-dialog {
    max-width: min(980px, calc(100vw - 48px));
    max-height: calc(100vh - 72px);
    overflow: auto;
}
.james-search__detail-modal-content .james-search__edit-form {
    margin-top: 0.75rem;
}

/* 0.12.15: Optional item location update during slip returns. */
.james-cleaning__return-location{
    margin:1rem 0;
    padding:0.75rem;
    border:1px solid rgba(0,0,0,.12);
    border-radius:4px;
    background:rgba(255,255,255,.55);
}
.james-cleaning__return-location .james-cleaning__checkbox-label{
    display:flex;
    align-items:center;
    gap:.45rem;
    font-weight:600;
    margin-bottom:.65rem;
}
.james-cleaning__return-location-fields{
    display:grid;
    grid-template-columns:minmax(180px, 1fr) minmax(180px, 1fr);
    gap:.5rem 1rem;
    align-items:end;
}
.james-cleaning__return-location-field{
    display:grid;
    gap:.45rem;
}
.james-cleaning__return-location-field label{
    font-weight:600;
}
.james-cleaning__return-location-field select{
    width:100%;
}
@media (max-width: 700px){
    .james-cleaning__return-location-fields{grid-template-columns:1fr;}
}


/* Measurement-list PDF mail panel (1.3.0). */
.james-names-output__preview-actions{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.james-names-output__mail-panel{width:min(100%,42rem);border:1px solid #1d2327;border-radius:10px;background:#fff;overflow:hidden}
.james-names-output__mail-panel>summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;padding:1rem 1.1rem;background:#f6f7f7;font-size:1rem;font-weight:700;list-style:none}
.james-names-output__mail-panel>summary::-webkit-details-marker{display:none}
.james-names-output__mail-panel>summary::before{content:'▸';display:inline-block;transition:transform .15s ease}
.james-names-output__mail-panel[open]>summary::before{transform:rotate(90deg)}
.james-names-output__mail-panel[open]>summary{border-bottom:1px solid #dcdcde}
.james-names-output__mail-fields{display:grid;gap:1rem;padding:1rem 1.1rem}
.james-names-output__mail-fields label{display:grid;gap:.45rem;margin:0;font-weight:600}
.james-names-output__mail-fields input[type=text],.james-names-output__mail-fields textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #8c8f94;border-radius:4px;background:#fff;color:#1d2327;font:inherit;font-weight:400;box-shadow:0 0 0 transparent}
.james-names-output__mail-fields input[type=text]{min-height:42px;padding:0 12px}
.james-names-output__mail-fields textarea{min-height:180px;padding:10px 12px;line-height:1.45;resize:vertical}
.james-names-output__mail-fields input:focus,.james-names-output__mail-fields textarea:focus{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1;outline:2px solid transparent}
.james-names-output__mail-fields small{display:block;margin:0;color:#646970;font-size:.9rem;font-weight:400;line-height:1.4}
.james-names-output__mail-fields .button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:42px!important;height:42px!important;padding:0 1.5rem!important;border-radius:8px!important;font-size:1.05rem!important;font-weight:700!important;text-align:center}
.james-names-detail-pdf-form{display:flex;justify-content:flex-end;margin-top:16px;padding-top:12px;border-top:1px solid #d5d9dd}.james-names-detail-pdf-form .button{min-height:44px;padding:0 22px}.james-names-modal .name-detail-document{max-height:68vh;overflow:auto}.james-names-modal .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.james-names-modal .detail-grid{grid-template-columns:1fr}}

/* Name detail PDF and e-mail actions. */
.james-names-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #d5d9dd}
.james-names-detail-actions .james-names-detail-pdf-form{margin:0;padding:0;border:0}
.james-names-detail-actions .button{min-height:44px;padding:0 22px}
.james-name-detail-email-form{margin-top:14px;padding:16px;border:1px solid #d5d9dd;border-radius:8px;background:#f8fafc}
.james-name-detail-email-form[hidden]{display:none}
.james-name-detail-email-form label{display:block;margin:0 0 12px;font-weight:600}
.james-name-detail-email-form input[type="text"],.james-name-detail-email-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;border:1px solid #8c8f94;border-radius:4px;background:#fff;font:inherit;color:inherit}
.james-name-detail-email-form input[type="text"]{min-height:44px}
.james-name-detail-email-form textarea{min-height:140px;resize:vertical}
.james-name-detail-email-form .description{margin:-5px 0 14px;color:#646970;font-size:.9em}
.james-name-detail-email-form .button{min-height:44px;padding:0 22px}
.james-name-detail-email-status{min-height:1.4em;margin:0 0 10px;font-weight:600}
.james-name-detail-email-status.is-success{color:#227124}.james-name-detail-email-status.is-error{color:#b32d2e}.james-name-detail-email-status.is-pending{color:#50575e}
@media(max-width:700px){.james-names-detail-actions{align-items:stretch;flex-direction:column}.james-names-detail-actions .button,.james-names-detail-actions form{width:100%}}
.james-name-detail-email-modal{position:fixed;inset:0;z-index:100060;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55)}
.james-name-detail-email-modal.is-open{display:flex}
.james-name-detail-email-modal__dialog{width:min(94vw,760px);max-height:92vh;overflow:auto;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.james-name-detail-email-modal__header{display:flex;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid #dcdcde;background:#f6f7f7}
.james-name-detail-email-modal__header h3{flex:1;margin:0}
.james-name-detail-email-modal__close{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid #c3c4c7;border-radius:50%;background:#fff;font-size:26px;line-height:1;cursor:pointer}
.james-name-detail-email-modal .james-name-detail-email-form{margin:0;border:0;border-radius:0;background:#fff}
.james-name-detail-email-modal__footer{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:640px){.james-name-detail-email-modal{padding:10px}.james-name-detail-email-modal__dialog{width:100%;max-height:96vh}.james-name-detail-email-modal__footer{flex-direction:column-reverse}.james-name-detail-email-modal__footer .button{width:100%}}
