/* Theme customizations. Original Champions layout and functionality remain unchanged. */
.theme-builder{display:grid;gap:14px}.theme-builder h3{margin:0;color:var(--gold2)}.theme-builder .theme-help{color:var(--muted);font-size:.84rem;line-height:1.5}.theme-builder .theme-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:9px}.theme-builder .theme-option{display:flex;gap:10px;align-items:center;background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:10px 12px;border-radius:12px;text-align:left;cursor:pointer}.theme-builder .theme-option strong{font-size:.65rem;color:var(--gold2);margin-left:auto}.theme-swatches{display:flex;gap:2px;flex-shrink:0}.theme-swatches i{width:13px;height:24px;display:block;border:1px solid rgba(127,127,127,.35);border-radius:3px}.theme-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-color-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.8rem}.theme-color-grid input[type=color]{height:42px;width:100%;background:transparent;border:1px solid var(--line);border-radius:9px;padding:3px}.theme-actions{display:flex;gap:8px;flex-wrap:wrap}.theme-active{color:var(--gold2);font-weight:800}.theme-builder .theme-name-field{width:min(100%,400px)}.theme-builder .theme-preview{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--panel);color:var(--text)}.theme-builder .theme-preview-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.theme-builder .theme-preview-header{color:var(--gold2);font-weight:800;font-size:.72rem;letter-spacing:.07em}.theme-builder .theme-preview button{pointer-events:none}.theme-builder .theme-logo-upload{padding:12px;border:1px dashed var(--gold);border-radius:12px;background:var(--panel2)}.theme-builder .theme-logo-upload input{max-width:100%}
@media(max-width:620px){.theme-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root[data-cbl-theme="custom"] body{background:var(--bg);color:var(--text)}
:root[data-cbl-theme="custom"] .dashboard-card,:root[data-cbl-theme="custom"] .management-panel,:root[data-cbl-theme="custom"] .customer-profile-card,:root[data-cbl-theme="custom"] .stat-card,:root[data-cbl-theme="custom"] .report-section,:root[data-cbl-theme="custom"] .admin-row,:root[data-cbl-theme="custom"] .rotation-chip,:root[data-cbl-theme="custom"] .modal-card,:root[data-cbl-theme="custom"] .setting-box{background:var(--panel);color:var(--text)}
:root[data-cbl-theme="custom"] .queue-table th,:root[data-cbl-theme="custom"] .week-table th{background:var(--theme-header-bg);color:var(--theme-header-ink);padding-top:9px;padding-bottom:9px}
:root[data-cbl-theme="custom"] .queue-table tr:not([data-status]) td{background:var(--panel2)}
:root[data-cbl-theme="custom"] .primary-btn,:root[data-cbl-theme="custom"] .rotation-chip.next b,:root[data-cbl-theme="custom"] .theme-preview button{color:var(--theme-button-ink)}
:root[data-cbl-theme="custom"] .field,:root[data-cbl-theme="custom"] .mini-select{background:var(--panel2);color:var(--text)}
:root[data-cbl-theme="custom"] .management-home-tile{border-color:var(--line)}
:root[data-cbl-theme="custom"] .home-checkin-card,:root[data-cbl-theme="custom"] .booking-qr-card,:root[data-cbl-theme="custom"] .luxury-card,:root[data-cbl-theme="custom"] .flow-card,:root[data-cbl-theme="custom"] .center-card,:root[data-cbl-theme="custom"] .staff-access-panel,:root[data-cbl-theme="custom"] .barber-profile-card,:root[data-cbl-theme="custom"] .busy-card,:root[data-cbl-theme="custom"] .calendar-card,:root[data-cbl-theme="custom"] .identity-card,:root[data-cbl-theme="custom"] .queue-rotation-panel,:root[data-cbl-theme="custom"] .away-status-panel,:root[data-cbl-theme="custom"] .busy-cutting-panel{background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-cbl-theme="custom"] .queue-table td:not([data-status]){color:var(--text)}
:root[data-cbl-theme="custom"] .dashboard-header,:root[data-cbl-theme="custom"] .dashboard-brand,:root[data-cbl-theme="custom"] .card-heading,:root[data-cbl-theme="custom"] .section-heading-row{color:var(--text)}
:root[data-cbl-theme="custom"] .home-checkin-card .primary-btn,:root[data-cbl-theme="custom"] .staff-access-panel .primary-btn{color:var(--theme-button-ink)}

/* V26.54 backgrounds are a separate decorative layer. Queue status appearance is immune. */
:root[data-cbl-wallpaper] body::before{content:"";position:fixed;inset:-18px;z-index:-1;background-image:linear-gradient(rgba(0,0,0,var(--theme-wallpaper-overlay)),rgba(0,0,0,var(--theme-wallpaper-overlay))),var(--theme-wallpaper-image);background-position:center center;background-size:cover;background-repeat:no-repeat;filter:blur(var(--theme-wallpaper-blur));pointer-events:none}
:root[data-cbl-wallpaper] body{background:transparent!important;isolation:isolate}
:root[data-cbl-wallpaper] body::before{z-index:-1}
.theme-wallpaper-settings{padding:14px;border:1px dashed var(--line);border-radius:12px;display:grid;gap:10px;background:var(--panel)}
.theme-wallpaper-settings input[type=file]{max-width:100%}
.theme-wallpaper-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.theme-wallpaper-sliders label{display:grid;gap:7px;font-size:.82rem;color:var(--text)}
.theme-wallpaper-sliders input{width:100%;accent-color:var(--gold)}
.theme-wallpaper-settings #theme-remove-background{justify-self:start}
.theme-preview-status-notice{font-weight:800;color:#f4d17c;font-size:.76rem;letter-spacing:.05em}
.theme-status-examples{display:flex;flex-wrap:wrap;gap:8px}
.theme-status-examples span{font-size:.8rem;padding:10px 14px;border-radius:9px;border:1px solid transparent;font-weight:800;color:#f8f8f8}
.theme-status-examples .status-waiting{background:rgba(176,137,25,.26);border-color:rgba(217,173,84,.38);color:#fff}
.theme-status-examples .status-seated{background:rgba(39,122,80,.28);border-color:rgba(62,166,112,.35);color:#fff}
.theme-status-examples .status-walked{background:rgba(166,61,53,.31);border-color:rgba(211,80,70,.38);color:#fff}
.theme-status-examples .status-converted{background:#171713;border-color:rgba(255,255,255,.06);color:#eee}
/* Preserve original status backgrounds / borders (original styles.css colors),
   and prevent custom font colors or surface colors from washing out status rows. */
:root[data-cbl-theme="custom"] .queue-table tr[data-status="Waiting"] td{background:rgba(176,137,25,.26)!important;border-color:rgba(217,173,84,.38)!important;color:#f7f5ef!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status="Seated"] td{background:rgba(39,122,80,.28)!important;border-color:rgba(62,166,112,.35)!important;color:#f7f5ef!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status="Walked Out"] td{background:rgba(166,61,53,.31)!important;border-color:rgba(211,80,70,.38)!important;color:#f7f5ef!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status="Converted to Appointment"] td{background:#171713!important;border-color:rgba(255,255,255,.06)!important;color:#f7f5ef!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status] .mini-select{background:#171713!important;color:#eee!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status] .system-status-badge.seated{color:#c8f0d9!important;background:rgba(39,122,80,.22)!important;border-color:rgba(62,166,112,.38)!important}
@media(max-width:620px){.theme-wallpaper-sliders{grid-template-columns:1fr}}


/* Supabase cloud theme adapter: protect ALL statuses from theme changes. */
:root[data-cbl-theme="custom"] .queue-table tr[data-status] td,
:root[data-cbl-theme="custom"] .queue-table tr[data-status] td:first-child,
:root[data-cbl-theme="custom"] .queue-table tr[data-status] td:last-child{color:#f7f5ef!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status="Converted to Appointment"] td{background:#171713!important;border-color:rgba(255,255,255,.06)!important}
:root[data-cbl-theme="custom"] .queue-table tr[data-status] select{color:#f7f5ef!important;background:#171713!important}
:root[data-cbl-theme="custom"] .dashboard-card,:root[data-cbl-theme="custom"] .luxury-card {background:var(--panel);color:var(--text)}
:root[data-cbl-theme="custom"] .settings-toggle-row,:root[data-cbl-theme="custom"] .switch-setting,:root[data-cbl-theme="custom"] .os-settings-section{background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-cbl-theme="custom"] .os-settings-form input,:root[data-cbl-theme="custom"] .os-settings-form select{color:var(--text);background:var(--panel2)}
:root[data-cbl-theme="custom"] .queue-table th{color:var(--theme-header-ink);background:var(--theme-header-bg)}
:root[data-cbl-theme="custom"] .primary-btn{color:var(--theme-button-ink)}
.theme-builder .theme-preview{color:var(--text)}
.theme-builder .theme-option{color:var(--text)}
.theme-builder .theme-option:focus-visible{outline:2px solid var(--gold)}
